1 /* Do not modify this file. Changes will be overwritten.                      */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler       */
3 /* packet-ansi_map.c                                                          */
4 /* asn2wrs.py -b -p ansi_map -c ./ansi_map.cnf -s ./packet-ansi_map-template -D . -O ../.. ansi_map.asn */
5 
6 /* Input file: packet-ansi_map-template.c */
7 
8 #line 1 "./asn1/ansi_map/packet-ansi_map-template.c"
9 /* packet-ansi_map.c
10  * Routines for ANSI 41 Mobile Application Part (IS41 MAP) dissection
11  * Specications from 3GPP2 (www.3gpp2.org)
12  * Based on the dissector by :
13  * Michael Lum <mlum [AT] telostech.com>
14  * In association with Telos Technology Inc.
15  *
16  * Copyright 2005 - 2009, Anders Broman <anders.broman@ericsson.com>
17  *
18  * Wireshark - Network traffic analyzer
19  * By Gerald Combs <gerald@wireshark.org>
20  * Copyright 1998 Gerald Combs
21  *
22  * SPDX-License-Identifier: GPL-2.0-or-later
23  *
24  * Credit to Tomas Kukosa for developing the asn2wrs compiler.
25  *
26  * Title                3GPP2                   Other
27  *
28  *   Cellular Radiotelecommunications Intersystem Operations
29  *                      3GPP2 N.S0005-0 v 1.0           ANSI/TIA/EIA-41-D
30  *
31  *   Network Support for MDN-Based Message Centers
32  *                      3GPP2 N.S0024-0 v1.0    IS-841
33  *
34  *   Enhanced International Calling
35  *                      3GPP2 N.S0027           IS-875
36  *
37  *   ANSI-41-D Miscellaneous Enhancements Revision 0
38  *                      3GPP2 N.S0015           PN-3590 (ANSI-41-E)
39  *
40  *   Authentication Enhancements
41  *                      3GPP2 N.S0014-0 v1.0    IS-778
42  *
43  *   Features In CDMA
44  *                      3GPP2 N.S0010-0 v1.0    IS-735
45  *
46  *   OTASP and OTAPA
47  *                      3GPP2 N.S0011-0 v1.0    IS-725-A
48  *
49  *   Circuit Mode Services
50  *                      3GPP2 N.S0008-0 v1.0    IS-737
51  *      XXX SecondInterMSCCircuitID not implemented, parameter ID conflicts with ISLP Information!
52  *
53  *   IMSI
54  *                      3GPP2 N.S0009-0 v1.0    IS-751
55  *
56  *   WIN Phase 1
57  *                      3GPP2 N.S0013-0 v1.0    IS-771
58  *
59  *       DCCH (Clarification of Audit Order with Forced
60  *         Re-Registration in pre-TIA/EIA-136-A Implementation
61  *                      3GPP2 A.S0017-B                 IS-730
62  *
63  *   UIM
64  *                      3GPP2 N.S0003
65  *
66  *   WIN Phase 2
67  *                      3GPP2 N.S0004-0 v1.0    IS-848
68  *
69  *   TIA/EIA-41-D Pre-Paid Charging
70  *                      3GPP2 N.S0018-0 v1.0    IS-826
71  *
72  *   User Selective Call Forwarding
73  *                      3GPP2 N.S0021-0 v1.0    IS-838
74  *
75  *
76  *   Answer Hold
77  *                      3GPP2 N.S0022-0 v1.0    IS-837
78  *
79  */
80 
81 #include "config.h"
82 
83 #include <epan/packet.h>
84 #include <epan/prefs.h>
85 #include <epan/expert.h>
86 #include <epan/tap.h>
87 #include <epan/stat_tap_ui.h>
88 #include <epan/asn1.h>
89 
90 #include "packet-ber.h"
91 #include "packet-ansi_map.h"
92 #include "packet-ansi_a.h"
93 #include "packet-gsm_map.h"
94 #include "packet-tcap.h"
95 #include "packet-ansi_tcap.h"
96 
97 #define PNAME  "ANSI Mobile Application Part"
98 #define PSNAME "ANSI MAP"
99 #define PFNAME "ansi_map"
100 
101 
102 void proto_register_ansi_map(void);
103 void proto_reg_handoff_ansi_map(void);
104 
105 /* Preference settings */
106 #define MAX_SSN 254
107 static range_t *global_ssn_range;
108 #define ANSI_MAP_TID_ONLY            0
109 #define ANSI_MAP_TID_AND_SOURCE      1
110 #define ANSI_MAP_TID_SOURCE_AND_DEST 2
111 static gint ansi_map_response_matching_type = ANSI_MAP_TID_AND_SOURCE;
112 
113 static dissector_handle_t ansi_map_handle=NULL;
114 
115 /* Initialize the protocol and registered fields */
116 static int ansi_map_tap = -1;
117 static int proto_ansi_map = -1;
118 
119 static int hf_ansi_map_op_code_fam = -1;
120 static int hf_ansi_map_op_code = -1;
121 
122 static int hf_ansi_map_reservedBitH = -1;
123 static int hf_ansi_map_reservedBitHG = -1;
124 static int hf_ansi_map_reservedBitHGFE = -1;
125 static int hf_ansi_map_reservedBitFED = -1;
126 static int hf_ansi_map_reservedBitD = -1;
127 static int hf_ansi_map_reservedBitED = -1;
128 
129 static int hf_ansi_map_type_of_digits = -1;
130 static int hf_ansi_map_na = -1;
131 static int hf_ansi_map_pi = -1;
132 static int hf_ansi_map_navail = -1;
133 static int hf_ansi_map_si = -1;
134 static int hf_ansi_map_digits_enc = -1;
135 static int hf_ansi_map_np = -1;
136 static int hf_ansi_map_nr_digits = -1;
137 static int hf_ansi_map_bcd_digits = -1;
138 static int hf_ansi_map_ia5_digits = -1;
139 static int hf_ansi_map_subaddr_type = -1;
140 static int hf_ansi_map_subaddr_odd_even = -1;
141 static int hf_ansi_alertcode_cadence = -1;
142 static int hf_ansi_alertcode_pitch = -1;
143 static int hf_ansi_alertcode_alertaction = -1;
144 static int hf_ansi_map_announcementcode_tone = -1;
145 static int hf_ansi_map_announcementcode_class = -1;
146 static int hf_ansi_map_announcementcode_std_ann = -1;
147 static int hf_ansi_map_announcementcode_cust_ann = -1;
148 static int hf_ansi_map_authorizationperiod_period = -1;
149 static int hf_ansi_map_value = -1;
150 static int hf_ansi_map_msc_type = -1;
151 static int hf_ansi_map_handoffstate_pi = -1;
152 static int hf_ansi_map_tgn = -1;
153 static int hf_ansi_map_tmn = -1;
154 static int hf_ansi_map_messagewaitingnotificationcount_tom = -1;
155 static int hf_ansi_map_messagewaitingnotificationcount_no_mw = -1;
156 static int hf_ansi_map_messagewaitingnotificationtype_mwi = -1;
157 static int hf_ansi_map_messagewaitingnotificationtype_apt = -1;
158 static int hf_ansi_map_messagewaitingnotificationtype_pt = -1;
159 
160 static int hf_ansi_map_trans_cap_prof = -1;
161 static int hf_ansi_map_trans_cap_busy = -1;
162 static int hf_ansi_map_trans_cap_ann = -1;
163 static int hf_ansi_map_trans_cap_rui = -1;
164 static int hf_ansi_map_trans_cap_spini = -1;
165 static int hf_ansi_map_trans_cap_uzci = -1;
166 static int hf_ansi_map_trans_cap_ndss = -1;
167 static int hf_ansi_map_trans_cap_nami = -1;
168 static int hf_ansi_trans_cap_multerm = -1;
169 static int hf_ansi_map_terminationtriggers_busy = -1;
170 static int hf_ansi_map_terminationtriggers_rf = -1;
171 static int hf_ansi_map_terminationtriggers_npr = -1;
172 static int hf_ansi_map_terminationtriggers_na = -1;
173 static int hf_ansi_map_terminationtriggers_nr = -1;
174 static int hf_ansi_trans_cap_tl = -1;
175 static int hf_ansi_map_cdmaserviceoption = -1;
176 static int hf_ansi_trans_cap_waddr = -1;
177 static int hf_ansi_map_MarketID = -1;
178 static int hf_ansi_map_swno = -1;
179 static int hf_ansi_map_idno = -1;
180 static int hf_ansi_map_segcount = -1;
181 static int hf_ansi_map_sms_originationrestrictions_fmc = -1;
182 static int hf_ansi_map_sms_originationrestrictions_direct = -1;
183 static int hf_ansi_map_sms_originationrestrictions_default = -1;
184 static int hf_ansi_map_systemcapabilities_auth = -1;
185 static int hf_ansi_map_systemcapabilities_se = -1;
186 static int hf_ansi_map_systemcapabilities_vp = -1;
187 static int hf_ansi_map_systemcapabilities_cave = -1;
188 static int hf_ansi_map_systemcapabilities_ssd = -1;
189 static int hf_ansi_map_systemcapabilities_dp = -1;
190 
191 static int hf_ansi_map_mslocation_lat = -1;
192 static int hf_ansi_map_mslocation_long = -1;
193 static int hf_ansi_map_mslocation_res = -1;
194 static int hf_ansi_map_nampscallmode_namps = -1;
195 static int hf_ansi_map_nampscallmode_amps = -1;
196 static int hf_ansi_map_nampschanneldata_navca = -1;
197 static int hf_ansi_map_nampschanneldata_CCIndicator = -1;
198 
199 static int hf_ansi_map_callingfeaturesindicator_cfufa = -1;
200 static int hf_ansi_map_callingfeaturesindicator_cfbfa = -1;
201 static int hf_ansi_map_callingfeaturesindicator_cfnafa = -1;
202 static int hf_ansi_map_callingfeaturesindicator_cwfa = -1;
203 static int hf_ansi_map_callingfeaturesindicator_3wcfa = -1;
204 static int hf_ansi_map_callingfeaturesindicator_pcwfa =-1;
205 static int hf_ansi_map_callingfeaturesindicator_dpfa = -1;
206 static int hf_ansi_map_callingfeaturesindicator_ahfa = -1;
207 static int hf_ansi_map_callingfeaturesindicator_uscfvmfa = -1;
208 static int hf_ansi_map_callingfeaturesindicator_uscfmsfa = -1;
209 static int hf_ansi_map_callingfeaturesindicator_uscfnrfa = -1;
210 static int hf_ansi_map_callingfeaturesindicator_cpdsfa = -1;
211 static int hf_ansi_map_callingfeaturesindicator_ccsfa = -1;
212 static int hf_ansi_map_callingfeaturesindicator_epefa = -1;
213 static int hf_ansi_map_callingfeaturesindicator_cdfa = -1;
214 static int hf_ansi_map_callingfeaturesindicator_vpfa = -1;
215 static int hf_ansi_map_callingfeaturesindicator_ctfa = -1;
216 static int hf_ansi_map_callingfeaturesindicator_cnip1fa = -1;
217 static int hf_ansi_map_callingfeaturesindicator_cnip2fa = -1;
218 static int hf_ansi_map_callingfeaturesindicator_cnirfa = -1;
219 static int hf_ansi_map_callingfeaturesindicator_cniroverfa = -1;
220 static int hf_ansi_map_cdmacallmode_cdma = -1;
221 static int hf_ansi_map_cdmacallmode_amps = -1;
222 static int hf_ansi_map_cdmacallmode_namps = -1;
223 static int hf_ansi_map_cdmacallmode_cls1 = -1;
224 static int hf_ansi_map_cdmacallmode_cls2 = -1;
225 static int hf_ansi_map_cdmacallmode_cls3 = -1;
226 static int hf_ansi_map_cdmacallmode_cls4 = -1;
227 static int hf_ansi_map_cdmacallmode_cls5 = -1;
228 static int hf_ansi_map_cdmacallmode_cls6 = -1;
229 static int hf_ansi_map_cdmacallmode_cls7 = -1;
230 static int hf_ansi_map_cdmacallmode_cls8 = -1;
231 static int hf_ansi_map_cdmacallmode_cls9 = -1;
232 static int hf_ansi_map_cdmacallmode_cls10 = -1;
233 static int hf_ansi_map_cdmachanneldata_Frame_Offset = -1;
234 static int hf_ansi_map_cdmachanneldata_CDMA_ch_no = -1;
235 static int hf_ansi_map_cdmachanneldata_band_cls = -1;
236 static int hf_ansi_map_cdmachanneldata_lc_mask_b6 = -1;
237 static int hf_ansi_map_cdmachanneldata_lc_mask_b5 = -1;
238 static int hf_ansi_map_cdmachanneldata_lc_mask_b4 = -1;
239 static int hf_ansi_map_cdmachanneldata_lc_mask_b3 = -1;
240 static int hf_ansi_map_cdmachanneldata_lc_mask_b2 = -1;
241 static int hf_ansi_map_cdmachanneldata_lc_mask_b1 = -1;
242 static int hf_ansi_map_cdmachanneldata_np_ext = -1;
243 static int hf_ansi_map_cdmachanneldata_nominal_pwr = -1;
244 static int hf_ansi_map_cdmachanneldata_nr_preamble = -1;
245 
246 static int hf_ansi_map_cdmastationclassmark_pc = -1;
247 static int hf_ansi_map_cdmastationclassmark_dtx = -1;
248 static int hf_ansi_map_cdmastationclassmark_smi = -1;
249 static int hf_ansi_map_cdmastationclassmark_dmi = -1;
250 static int hf_ansi_map_channeldata_vmac = -1;
251 static int hf_ansi_map_channeldata_dtx = -1;
252 static int hf_ansi_map_channeldata_scc = -1;
253 static int hf_ansi_map_channeldata_chno = -1;
254 static int hf_ansi_map_ConfidentialityModes_vp = -1;
255 static int hf_ansi_map_controlchanneldata_dcc = -1;
256 static int hf_ansi_map_controlchanneldata_cmac = -1;
257 static int hf_ansi_map_controlchanneldata_chno = -1;
258 static int hf_ansi_map_controlchanneldata_sdcc1 = -1;
259 static int hf_ansi_map_controlchanneldata_sdcc2 = -1;
260 static int hf_ansi_map_ConfidentialityModes_se = -1;
261 static int hf_ansi_map_deniedauthorizationperiod_period = -1;
262 static int hf_ansi_map_ConfidentialityModes_dp = -1;
263 
264 static int hf_ansi_map_originationtriggers_all = -1;
265 static int hf_ansi_map_originationtriggers_local = -1;
266 static int hf_ansi_map_originationtriggers_ilata = -1;
267 static int hf_ansi_map_originationtriggers_olata = -1;
268 static int hf_ansi_map_originationtriggers_int = -1;
269 static int hf_ansi_map_originationtriggers_wz = -1;
270 static int hf_ansi_map_originationtriggers_unrec = -1;
271 static int hf_ansi_map_originationtriggers_rvtc = -1;
272 static int hf_ansi_map_originationtriggers_star = -1;
273 static int hf_ansi_map_originationtriggers_ds = -1;
274 static int hf_ansi_map_originationtriggers_pound = -1;
275 static int hf_ansi_map_originationtriggers_dp = -1;
276 static int hf_ansi_map_originationtriggers_pa = -1;
277 static int hf_ansi_map_originationtriggers_nodig = -1;
278 static int hf_ansi_map_originationtriggers_onedig = -1;
279 static int hf_ansi_map_originationtriggers_twodig = -1;
280 static int hf_ansi_map_originationtriggers_threedig = -1;
281 static int hf_ansi_map_originationtriggers_fourdig = -1;
282 static int hf_ansi_map_originationtriggers_fivedig = -1;
283 static int hf_ansi_map_originationtriggers_sixdig = -1;
284 static int hf_ansi_map_originationtriggers_sevendig = -1;
285 static int hf_ansi_map_originationtriggers_eightdig = -1;
286 static int hf_ansi_map_originationtriggers_ninedig = -1;
287 static int hf_ansi_map_originationtriggers_tendig = -1;
288 static int hf_ansi_map_originationtriggers_elevendig = -1;
289 static int hf_ansi_map_originationtriggers_twelvedig = -1;
290 static int hf_ansi_map_originationtriggers_thirteendig = -1;
291 static int hf_ansi_map_originationtriggers_fourteendig = -1;
292 static int hf_ansi_map_originationtriggers_fifteendig = -1;
293 static int hf_ansi_map_triggercapability_init = -1;
294 static int hf_ansi_map_triggercapability_kdigit = -1;
295 static int hf_ansi_map_triggercapability_all = -1;
296 static int hf_ansi_map_triggercapability_rvtc = -1;
297 static int hf_ansi_map_triggercapability_oaa = -1;
298 static int hf_ansi_map_triggercapability_oans = -1;
299 static int hf_ansi_map_triggercapability_odisc = -1;
300 static int hf_ansi_map_triggercapability_ona = -1;
301 static int hf_ansi_map_triggercapability_ct = -1;
302 static int hf_ansi_map_triggercapability_unrec =-1;
303 static int hf_ansi_map_triggercapability_pa = -1;
304 static int hf_ansi_map_triggercapability_at = -1;
305 static int hf_ansi_map_triggercapability_cgraa = -1;
306 static int hf_ansi_map_triggercapability_it = -1;
307 static int hf_ansi_map_triggercapability_cdraa = -1;
308 static int hf_ansi_map_triggercapability_obsy = -1;
309 static int hf_ansi_map_triggercapability_tra = -1;
310 static int hf_ansi_map_triggercapability_tbusy = -1;
311 static int hf_ansi_map_triggercapability_tna = -1;
312 static int hf_ansi_map_triggercapability_tans = -1;
313 static int hf_ansi_map_triggercapability_tdisc = -1;
314 static int hf_ansi_map_winoperationscapability_conn = -1;
315 static int hf_ansi_map_winoperationscapability_ccdir = -1;
316 static int hf_ansi_map_winoperationscapability_pos = -1;
317 static int hf_ansi_map_PACA_Level = -1;
318 static int hf_ansi_map_pacaindicator_pa = -1;
319 
320 static int hf_ansi_map_point_code = -1;
321 static int hf_ansi_map_SSN = -1;
322 static int hf_ansi_map_win_trigger_list = -1;
323 
324 
325 /*--- Included file: packet-ansi_map-hf.c ---*/
326 #line 1 "./asn1/ansi_map/packet-ansi_map-hf.c"
327 static int hf_ansi_map_electronicSerialNumber = -1;  /* ElectronicSerialNumber */
328 static int hf_ansi_map_msid = -1;                 /* MSID */
329 static int hf_ansi_map_authenticationAlgorithmVersion = -1;  /* AuthenticationAlgorithmVersion */
330 static int hf_ansi_map_authenticationResponseReauthentication = -1;  /* AuthenticationResponseReauthentication */
331 static int hf_ansi_map_authenticationResponseUniqueChallenge = -1;  /* AuthenticationResponseUniqueChallenge */
332 static int hf_ansi_map_callHistoryCount = -1;     /* CallHistoryCount */
333 static int hf_ansi_map_cdmaPrivateLongCodeMask = -1;  /* CDMAPrivateLongCodeMask */
334 static int hf_ansi_map_carrierDigits = -1;        /* CarrierDigits */
335 static int hf_ansi_map_caveKey = -1;              /* CaveKey */
336 static int hf_ansi_map_denyAccess = -1;           /* DenyAccess */
337 static int hf_ansi_map_destinationDigits = -1;    /* DestinationDigits */
338 static int hf_ansi_map_locationAreaID = -1;       /* LocationAreaID */
339 static int hf_ansi_map_randomVariableReauthentication = -1;  /* RandomVariableReauthentication */
340 static int hf_ansi_map_meid = -1;                 /* MEID */
341 static int hf_ansi_map_mobileStationMIN = -1;     /* MobileStationMIN */
342 static int hf_ansi_map_mscid = -1;                /* MSCID */
343 static int hf_ansi_map_randomVariableSSD = -1;    /* RandomVariableSSD */
344 static int hf_ansi_map_randomVariableUniqueChallenge = -1;  /* RandomVariableUniqueChallenge */
345 static int hf_ansi_map_routingDigits = -1;        /* RoutingDigits */
346 static int hf_ansi_map_senderIdentificationNumber = -1;  /* SenderIdentificationNumber */
347 static int hf_ansi_map_sharedSecretData = -1;     /* SharedSecretData */
348 static int hf_ansi_map_signalingMessageEncryptionKey = -1;  /* SignalingMessageEncryptionKey */
349 static int hf_ansi_map_ssdnotShared = -1;         /* SSDNotShared */
350 static int hf_ansi_map_updateCount = -1;          /* UpdateCount */
351 static int hf_ansi_map_interMSCCircuitID = -1;    /* InterMSCCircuitID */
352 static int hf_ansi_map_mobileIdentificationNumber = -1;  /* MobileIdentificationNumber */
353 static int hf_ansi_map_countUpdateReport = -1;    /* CountUpdateReport */
354 static int hf_ansi_map_uniqueChallengeReport = -1;  /* UniqueChallengeReport */
355 static int hf_ansi_map_reportType = -1;           /* ReportType */
356 static int hf_ansi_map_systemAccessType = -1;     /* SystemAccessType */
357 static int hf_ansi_map_systemCapabilities = -1;   /* SystemCapabilities */
358 static int hf_ansi_map_callHistoryCountExpected = -1;  /* CallHistoryCountExpected */
359 static int hf_ansi_map_reportType2 = -1;          /* ReportType */
360 static int hf_ansi_map_terminalType = -1;         /* TerminalType */
361 static int hf_ansi_map_authenticationData = -1;   /* AuthenticationData */
362 static int hf_ansi_map_authenticationResponse = -1;  /* AuthenticationResponse */
363 static int hf_ansi_map_cdmaNetworkIdentification = -1;  /* CDMANetworkIdentification */
364 static int hf_ansi_map_confidentialityModes = -1;  /* ConfidentialityModes */
365 static int hf_ansi_map_controlChannelMode = -1;   /* ControlChannelMode */
366 static int hf_ansi_map_digits = -1;               /* Digits */
367 static int hf_ansi_map_pc_ssn = -1;               /* PC_SSN */
368 static int hf_ansi_map_randomVariable = -1;       /* RandomVariable */
369 static int hf_ansi_map_serviceRedirectionCause = -1;  /* ServiceRedirectionCause */
370 static int hf_ansi_map_suspiciousAccess = -1;     /* SuspiciousAccess */
371 static int hf_ansi_map_transactionCapability = -1;  /* TransactionCapability */
372 static int hf_ansi_map_analogRedirectRecord = -1;  /* AnalogRedirectRecord */
373 static int hf_ansi_map_cdmaRedirectRecord = -1;   /* CDMARedirectRecord */
374 static int hf_ansi_map_dataKey = -1;              /* DataKey */
375 static int hf_ansi_map_roamingIndication = -1;    /* RoamingIndication */
376 static int hf_ansi_map_serviceRedirectionInfo = -1;  /* ServiceRedirectionInfo */
377 static int hf_ansi_map_voicePrivacyMask = -1;     /* VoicePrivacyMask */
378 static int hf_ansi_map_reauthenticationReport = -1;  /* ReauthenticationReport */
379 static int hf_ansi_map_serviceIndicator = -1;     /* ServiceIndicator */
380 static int hf_ansi_map_signalingMessageEncryptionReport = -1;  /* SignalingMessageEncryptionReport */
381 static int hf_ansi_map_ssdUpdateReport = -1;      /* SSDUpdateReport */
382 static int hf_ansi_map_voicePrivacyReport = -1;   /* VoicePrivacyReport */
383 static int hf_ansi_map_randomVariableBaseStation = -1;  /* RandomVariableBaseStation */
384 static int hf_ansi_map_authenticationResponseBaseStation = -1;  /* AuthenticationResponseBaseStation */
385 static int hf_ansi_map_billingID = -1;            /* BillingID */
386 static int hf_ansi_map_channelData = -1;          /* ChannelData */
387 static int hf_ansi_map_interSwitchCount = -1;     /* InterSwitchCount */
388 static int hf_ansi_map_servingCellID = -1;        /* ServingCellID */
389 static int hf_ansi_map_stationClassMark = -1;     /* StationClassMark */
390 static int hf_ansi_map_targetCellID = -1;         /* TargetCellID */
391 static int hf_ansi_map_handoffReason = -1;        /* HandoffReason */
392 static int hf_ansi_map_handoffState = -1;         /* HandoffState */
393 static int hf_ansi_map_tdmaBurstIndicator = -1;   /* TDMABurstIndicator */
394 static int hf_ansi_map_tdmaCallMode = -1;         /* TDMACallMode */
395 static int hf_ansi_map_tdmaChannelData = -1;      /* TDMAChannelData */
396 static int hf_ansi_map_baseStationManufacturerCode = -1;  /* BaseStationManufacturerCode */
397 static int hf_ansi_map_alertCode = -1;            /* AlertCode */
398 static int hf_ansi_map_cdma2000HandoffInvokeIOSData = -1;  /* CDMA2000HandoffInvokeIOSData */
399 static int hf_ansi_map_cdmaBandClassList = -1;    /* CDMABandClassList */
400 static int hf_ansi_map_cdmaCallMode = -1;         /* CDMACallMode */
401 static int hf_ansi_map_cdmaChannelData = -1;      /* CDMAChannelData */
402 static int hf_ansi_map_cdmaConnectionReferenceList = -1;  /* CDMAConnectionReferenceList */
403 static int hf_ansi_map_cdmaMobileProtocolRevision = -1;  /* CDMAMobileProtocolRevision */
404 static int hf_ansi_map_cdmaMSMeasuredChannelIdentity = -1;  /* CDMAMSMeasuredChannelIdentity */
405 static int hf_ansi_map_cdmaServiceConfigurationRecord = -1;  /* CDMAServiceConfigurationRecord */
406 static int hf_ansi_map_cdmaServiceOptionList = -1;  /* CDMAServiceOptionList */
407 static int hf_ansi_map_cdmaServingOneWayDelay = -1;  /* CDMAServingOneWayDelay */
408 static int hf_ansi_map_cdmaStationClassMark = -1;  /* CDMAStationClassMark */
409 static int hf_ansi_map_cdmaStationClassMark2 = -1;  /* CDMAStationClassMark2 */
410 static int hf_ansi_map_cdmaTargetMAHOList = -1;   /* CDMATargetMAHOList */
411 static int hf_ansi_map_cdmaTargetMeasurementList = -1;  /* CDMATargetMeasurementList */
412 static int hf_ansi_map_dataPrivacyParameters = -1;  /* DataPrivacyParameters */
413 static int hf_ansi_map_ilspInformation = -1;      /* ISLPInformation */
414 static int hf_ansi_map_msLocation = -1;           /* MSLocation */
415 static int hf_ansi_map_nampsCallMode = -1;        /* NAMPSCallMode */
416 static int hf_ansi_map_nampsChannelData = -1;     /* NAMPSChannelData */
417 static int hf_ansi_map_nonPublicData = -1;        /* NonPublicData */
418 static int hf_ansi_map_pdsnAddress = -1;          /* PDSNAddress */
419 static int hf_ansi_map_pdsnProtocolType = -1;     /* PDSNProtocolType */
420 static int hf_ansi_map_qosPriority = -1;          /* QoSPriority */
421 static int hf_ansi_map_systemOperatorCode = -1;   /* SystemOperatorCode */
422 static int hf_ansi_map_tdmaBandwidth = -1;        /* TDMABandwidth */
423 static int hf_ansi_map_tdmaServiceCode = -1;      /* TDMAServiceCode */
424 static int hf_ansi_map_tdmaTerminalCapability = -1;  /* TDMATerminalCapability */
425 static int hf_ansi_map_tdmaVoiceCoder = -1;       /* TDMAVoiceCoder */
426 static int hf_ansi_map_userZoneData = -1;         /* UserZoneData */
427 static int hf_ansi_map_bsmcstatus = -1;           /* BSMCStatus */
428 static int hf_ansi_map_cdma2000HandoffResponseIOSData = -1;  /* CDMA2000HandoffResponseIOSData */
429 static int hf_ansi_map_cdmaCodeChannelList = -1;  /* CDMACodeChannelList */
430 static int hf_ansi_map_cdmaSearchParameters = -1;  /* CDMASearchParameters */
431 static int hf_ansi_map_cdmaSearchWindow = -1;     /* CDMASearchWindow */
432 static int hf_ansi_map_sOCStatus = -1;            /* SOCStatus */
433 static int hf_ansi_map_releaseReason = -1;        /* ReleaseReason */
434 static int hf_ansi_map_acgencountered = -1;       /* ACGEncountered */
435 static int hf_ansi_map_callingPartyName = -1;     /* CallingPartyName */
436 static int hf_ansi_map_callingPartyNumberDigits1 = -1;  /* CallingPartyNumberDigits1 */
437 static int hf_ansi_map_callingPartyNumberDigits2 = -1;  /* CallingPartyNumberDigits2 */
438 static int hf_ansi_map_callingPartySubaddress = -1;  /* CallingPartySubaddress */
439 static int hf_ansi_map_conferenceCallingIndicator = -1;  /* ConferenceCallingIndicator */
440 static int hf_ansi_map_mobileDirectoryNumber = -1;  /* MobileDirectoryNumber */
441 static int hf_ansi_map_mSCIdentificationNumber = -1;  /* MSCIdentificationNumber */
442 static int hf_ansi_map_oneTimeFeatureIndicator = -1;  /* OneTimeFeatureIndicator */
443 static int hf_ansi_map_systemMyTypeCode = -1;     /* SystemMyTypeCode */
444 static int hf_ansi_map_featureResult = -1;        /* FeatureResult */
445 static int hf_ansi_map_accessDeniedReason = -1;   /* AccessDeniedReason */
446 static int hf_ansi_map_actionCode = -1;           /* ActionCode */
447 static int hf_ansi_map_announcementList = -1;     /* AnnouncementList */
448 static int hf_ansi_map_callingPartyNumberString1 = -1;  /* CallingPartyNumberString1 */
449 static int hf_ansi_map_callingPartyNumberString2 = -1;  /* CallingPartyNumberString2 */
450 static int hf_ansi_map_digits_Destination = -1;   /* Digits */
451 static int hf_ansi_map_displayText = -1;          /* DisplayText */
452 static int hf_ansi_map_displayText2 = -1;         /* DisplayText2 */
453 static int hf_ansi_map_dmh_AccountCodeDigits = -1;  /* DMH_AccountCodeDigits */
454 static int hf_ansi_map_dmh_AlternateBillingDigits = -1;  /* DMH_AlternateBillingDigits */
455 static int hf_ansi_map_dmh_BillingDigits = -1;    /* DMH_BillingDigits */
456 static int hf_ansi_map_dmh_RedirectionIndicator = -1;  /* DMH_RedirectionIndicator */
457 static int hf_ansi_map_groupInformation = -1;     /* GroupInformation */
458 static int hf_ansi_map_noAnswerTime = -1;         /* NoAnswerTime */
459 static int hf_ansi_map_pACAIndicator = -1;        /* PACAIndicator */
460 static int hf_ansi_map_pilotNumber = -1;          /* PilotNumber */
461 static int hf_ansi_map_preferredLanguageIndicator = -1;  /* PreferredLanguageIndicator */
462 static int hf_ansi_map_redirectingNumberDigits = -1;  /* RedirectingNumberDigits */
463 static int hf_ansi_map_redirectingNumberString = -1;  /* RedirectingNumberString */
464 static int hf_ansi_map_redirectingSubaddress = -1;  /* RedirectingSubaddress */
465 static int hf_ansi_map_resumePIC = -1;            /* ResumePIC */
466 static int hf_ansi_map_terminationList = -1;      /* TerminationList */
467 static int hf_ansi_map_terminationTriggers = -1;  /* TerminationTriggers */
468 static int hf_ansi_map_triggerAddressList = -1;   /* TriggerAddressList */
469 static int hf_ansi_map_emergencyServicesRoutingDigits = -1;  /* EmergencyServicesRoutingDigits */
470 static int hf_ansi_map_targetCellIDList = -1;     /* TargetCellIDList */
471 static int hf_ansi_map_signalQuality = -1;        /* SignalQuality */
472 static int hf_ansi_map_targetMeasurementList = -1;  /* TargetMeasurementList */
473 static int hf_ansi_map_alertResult = -1;          /* AlertResult */
474 static int hf_ansi_map_messageWaitingNotificationCount = -1;  /* MessageWaitingNotificationCount */
475 static int hf_ansi_map_messageWaitingNotificationType = -1;  /* MessageWaitingNotificationType */
476 static int hf_ansi_map_cdmaBandClass = -1;        /* CDMABandClass */
477 static int hf_ansi_map_cdmaServiceOption = -1;    /* CDMAServiceOption */
478 static int hf_ansi_map_cdmaSlotCycleIndex = -1;   /* CDMASlotCycleIndex */
479 static int hf_ansi_map_extendedMSCID = -1;        /* ExtendedMSCID */
480 static int hf_ansi_map_extendedSystemMyTypeCode = -1;  /* ExtendedSystemMyTypeCode */
481 static int hf_ansi_map_imsi = -1;                 /* IMSI */
482 static int hf_ansi_map_legInformation = -1;       /* LegInformation */
483 static int hf_ansi_map_mSIDUsage = -1;            /* MSIDUsage */
484 static int hf_ansi_map_networkTMSI = -1;          /* NetworkTMSI */
485 static int hf_ansi_map_pageCount = -1;            /* PageCount */
486 static int hf_ansi_map_pageIndicator = -1;        /* PageIndicator */
487 static int hf_ansi_map_pageResponseTime = -1;     /* PageResponseTime */
488 static int hf_ansi_map_pilotBillingID = -1;       /* PilotBillingID */
489 static int hf_ansi_map_redirectingPartyName = -1;  /* RedirectingPartyName */
490 static int hf_ansi_map_tdmaDataFeaturesIndicator = -1;  /* TDMADataFeaturesIndicator */
491 static int hf_ansi_map_terminationTreatment = -1;  /* TerminationTreatment */
492 static int hf_ansi_map_conditionallyDeniedReason = -1;  /* ConditionallyDeniedReason */
493 static int hf_ansi_map_pagingFrameClass = -1;     /* PagingFrameClass */
494 static int hf_ansi_map_pSID_RSIDList = -1;        /* PSID_RSIDList */
495 static int hf_ansi_map_randc = -1;                /* RANDC */
496 static int hf_ansi_map_tdmaDataMode = -1;         /* TDMADataMode */
497 static int hf_ansi_map_changeServiceAttributes = -1;  /* ChangeServiceAttributes */
498 static int hf_ansi_map_edirectingSubaddress = -1;  /* RedirectingSubaddress */
499 static int hf_ansi_map_setupResult = -1;          /* SetupResult */
500 static int hf_ansi_map_terminationAccessType = -1;  /* TerminationAccessType */
501 static int hf_ansi_map_triggerType = -1;          /* TriggerType */
502 static int hf_ansi_map_winCapability = -1;        /* WINCapability */
503 static int hf_ansi_map_callingPartyCategory = -1;  /* CallingPartyCategory */
504 static int hf_ansi_map_controlNetworkID = -1;     /* ControlNetworkID */
505 static int hf_ansi_map_digits_carrier = -1;       /* Digits */
506 static int hf_ansi_map_digits_dest = -1;          /* Digits */
507 static int hf_ansi_map_dmh_ServiceID = -1;        /* DMH_ServiceID */
508 static int hf_ansi_map_lectronicSerialNumber = -1;  /* ElectronicSerialNumber */
509 static int hf_ansi_map_deregistrationType = -1;   /* DeregistrationType */
510 static int hf_ansi_map_servicesResult = -1;       /* ServicesResult */
511 static int hf_ansi_map_sms_MessageWaitingIndicator = -1;  /* SMS_MessageWaitingIndicator */
512 static int hf_ansi_map_originationTriggers = -1;  /* OriginationTriggers */
513 static int hf_ansi_map_featureIndicator = -1;     /* FeatureIndicator */
514 static int hf_ansi_map_dmh_ChargeInformation = -1;  /* DMH_ChargeInformation */
515 static int hf_ansi_map_qualificationInformationCode = -1;  /* QualificationInformationCode */
516 static int hf_ansi_map_authorizationDenied = -1;  /* AuthorizationDenied */
517 static int hf_ansi_map_authorizationPeriod = -1;  /* AuthorizationPeriod */
518 static int hf_ansi_map_deniedAuthorizationPeriod = -1;  /* DeniedAuthorizationPeriod */
519 static int hf_ansi_map_authenticationCapability = -1;  /* AuthenticationCapability */
520 static int hf_ansi_map_callingFeaturesIndicator = -1;  /* CallingFeaturesIndicator */
521 static int hf_ansi_map_geographicAuthorization = -1;  /* GeographicAuthorization */
522 static int hf_ansi_map_meidValidated = -1;        /* MEIDValidated */
523 static int hf_ansi_map_mobilePositionCapability = -1;  /* MobilePositionCapability */
524 static int hf_ansi_map_originationIndicator = -1;  /* OriginationIndicator */
525 static int hf_ansi_map_restrictionDigits = -1;    /* RestrictionDigits */
526 static int hf_ansi_map_sms_OriginationRestrictions = -1;  /* SMS_OriginationRestrictions */
527 static int hf_ansi_map_sms_TerminationRestrictions = -1;  /* SMS_TerminationRestrictions */
528 static int hf_ansi_map_spinipin = -1;             /* SPINIPIN */
529 static int hf_ansi_map_spiniTriggers = -1;        /* SPINITriggers */
530 static int hf_ansi_map_terminationRestrictionCode = -1;  /* TerminationRestrictionCode */
531 static int hf_ansi_map_userGroup = -1;            /* UserGroup */
532 static int hf_ansi_map_lirMode = -1;              /* LIRMode */
533 static int hf_ansi_map_randValidTime = -1;        /* RANDValidTime */
534 static int hf_ansi_map_redirectionReason = -1;    /* RedirectionReason */
535 static int hf_ansi_map_cancellationType = -1;     /* CancellationType */
536 static int hf_ansi_map_controlChannelData = -1;   /* ControlChannelData */
537 static int hf_ansi_map_receivedSignalQuality = -1;  /* ReceivedSignalQuality */
538 static int hf_ansi_map_systemAccessData = -1;     /* SystemAccessData */
539 static int hf_ansi_map_cancellationDenied = -1;   /* CancellationDenied */
540 static int hf_ansi_map_availabilityType = -1;     /* AvailabilityType */
541 static int hf_ansi_map_borderCellAccess = -1;     /* BorderCellAccess */
542 static int hf_ansi_map_msc_Address = -1;          /* MSC_Address */
543 static int hf_ansi_map_sms_Address = -1;          /* SMS_Address */
544 static int hf_ansi_map_mpcAddress = -1;           /* MPCAddress */
545 static int hf_ansi_map_mpcAddressList = -1;       /* MPCAddressList */
546 static int hf_ansi_map_digits_Carrier = -1;       /* Digits */
547 static int hf_ansi_map_digitCollectionControl = -1;  /* DigitCollectionControl */
548 static int hf_ansi_map_trunkStatus = -1;          /* TrunkStatus */
549 static int hf_ansi_map_voiceMailboxNumber = -1;   /* VoiceMailboxNumber */
550 static int hf_ansi_map_voiceMailboxPIN = -1;      /* VoiceMailboxPIN */
551 static int hf_ansi_map_sms_BearerData = -1;       /* SMS_BearerData */
552 static int hf_ansi_map_sms_TeleserviceIdentifier = -1;  /* SMS_TeleserviceIdentifier */
553 static int hf_ansi_map_sms_ChargeIndicator = -1;  /* SMS_ChargeIndicator */
554 static int hf_ansi_map_sms_DestinationAddress = -1;  /* SMS_DestinationAddress */
555 static int hf_ansi_map_sms_OriginalDestinationAddress = -1;  /* SMS_OriginalDestinationAddress */
556 static int hf_ansi_map_sms_OriginalDestinationSubaddress = -1;  /* SMS_OriginalDestinationSubaddress */
557 static int hf_ansi_map_sms_OriginalOriginatingAddress = -1;  /* SMS_OriginalOriginatingAddress */
558 static int hf_ansi_map_sms_OriginalOriginatingSubaddress = -1;  /* SMS_OriginalOriginatingSubaddress */
559 static int hf_ansi_map_sms_OriginatingAddress = -1;  /* SMS_OriginatingAddress */
560 static int hf_ansi_map_sms_CauseCode = -1;        /* SMS_CauseCode */
561 static int hf_ansi_map_cdmaServingOneWayDelay2 = -1;  /* CDMAServingOneWayDelay2 */
562 static int hf_ansi_map_interMessageTime = -1;     /* InterMessageTime */
563 static int hf_ansi_map_newlyAssignedIMSI = -1;    /* NewlyAssignedIMSI */
564 static int hf_ansi_map_newlyAssignedMIN = -1;     /* NewlyAssignedMIN */
565 static int hf_ansi_map_newMINExtension = -1;      /* NewMINExtension */
566 static int hf_ansi_map_sms_MessageCount = -1;     /* SMS_MessageCount */
567 static int hf_ansi_map_sms_NotificationIndicator = -1;  /* SMS_NotificationIndicator */
568 static int hf_ansi_map_teleservice_Priority = -1;  /* Teleservice_Priority */
569 static int hf_ansi_map_temporaryReferenceNumber = -1;  /* TemporaryReferenceNumber */
570 static int hf_ansi_map_mobileStationMSID = -1;    /* MobileStationMSID */
571 static int hf_ansi_map_sms_TransactionID = -1;    /* SMS_TransactionID */
572 static int hf_ansi_map_sms_AccessDeniedReason = -1;  /* SMS_AccessDeniedReason */
573 static int hf_ansi_map_seizureType = -1;          /* SeizureType */
574 static int hf_ansi_map_requiredParametersMask = -1;  /* RequiredParametersMask */
575 static int hf_ansi_map_reasonList = -1;           /* ReasonList */
576 static int hf_ansi_map_networkTMSIExpirationTime = -1;  /* NetworkTMSIExpirationTime */
577 static int hf_ansi_map_newNetworkTMSI = -1;       /* NewNetworkTMSI */
578 static int hf_ansi_map_serviceID = -1;            /* ServiceID */
579 static int hf_ansi_map_dataAccessElementList = -1;  /* DataAccessElementList */
580 static int hf_ansi_map_timeDateOffset = -1;       /* TimeDateOffset */
581 static int hf_ansi_map_timeOfDay = -1;            /* TimeOfDay */
582 static int hf_ansi_map_dmd_BillingIndicator = -1;  /* DMH_BillingIndicator */
583 static int hf_ansi_map_failureType = -1;          /* FailureType */
584 static int hf_ansi_map_failureCause = -1;         /* FailureCause */
585 static int hf_ansi_map_outingDigits = -1;         /* RoutingDigits */
586 static int hf_ansi_map_databaseKey = -1;          /* DatabaseKey */
587 static int hf_ansi_map_modificationRequestList = -1;  /* ModificationRequestList */
588 static int hf_ansi_map_modificationResultList = -1;  /* ModificationResultList */
589 static int hf_ansi_map_serviceDataAccessElementList = -1;  /* ServiceDataAccessElementList */
590 static int hf_ansi_map_privateSpecializedResource = -1;  /* PrivateSpecializedResource */
591 static int hf_ansi_map_specializedResource = -1;  /* SpecializedResource */
592 static int hf_ansi_map_executeScript = -1;        /* ExecuteScript */
593 static int hf_ansi_map_scriptResult = -1;         /* ScriptResult */
594 static int hf_ansi_map_tdmaVoiceMode = -1;        /* TDMAVoiceMode */
595 static int hf_ansi_map_callStatus = -1;           /* CallStatus */
596 static int hf_ansi_map_releaseCause = -1;         /* ReleaseCause */
597 static int hf_ansi_map_callRecoveryIDList = -1;   /* CallRecoveryIDList */
598 static int hf_ansi_map_positionInformationCode = -1;  /* PositionInformationCode */
599 static int hf_ansi_map_mSStatus = -1;             /* MSStatus */
600 static int hf_ansi_map_pSID_RSIDInformation = -1;  /* PSID_RSIDInformation */
601 static int hf_ansi_map_positionRequestType = -1;  /* PositionRequestType */
602 static int hf_ansi_map_lcsBillingID = -1;         /* LCSBillingID */
603 static int hf_ansi_map_lcs_Client_ID = -1;        /* LCS_Client_ID */
604 static int hf_ansi_map_dtxIndication = -1;        /* DTXIndication */
605 static int hf_ansi_map_cdmaCodeChannel = -1;      /* CDMACodeChannel */
606 static int hf_ansi_map_cdmaMobileCapabilities = -1;  /* CDMAMobileCapabilities */
607 static int hf_ansi_map_cdmaPSMMList = -1;         /* CDMAPSMMList */
608 static int hf_ansi_map_tdma_MAHO_CELLID = -1;     /* TDMA_MAHO_CELLID */
609 static int hf_ansi_map_tdma_MAHO_CHANNEL = -1;    /* TDMA_MAHO_CHANNEL */
610 static int hf_ansi_map_tdma_TimeAlignment = -1;   /* TDMA_TimeAlignment */
611 static int hf_ansi_map_pqos_HorizontalPosition = -1;  /* PQOS_HorizontalPosition */
612 static int hf_ansi_map_pqos_HorizontalVelocity = -1;  /* PQOS_HorizontalVelocity */
613 static int hf_ansi_map_pqos_MaximumPositionAge = -1;  /* PQOS_MaximumPositionAge */
614 static int hf_ansi_map_pqos_PositionPriority = -1;  /* PQOS_PositionPriority */
615 static int hf_ansi_map_pqos_ResponseTime = -1;    /* PQOS_ResponseTime */
616 static int hf_ansi_map_pqos_VerticalPosition = -1;  /* PQOS_VerticalPosition */
617 static int hf_ansi_map_pqos_VerticalVelocity = -1;  /* PQOS_VerticalVelocity */
618 static int hf_ansi_map_cdmaPSMMCount = -1;        /* CDMAPSMMCount */
619 static int hf_ansi_map_lirAuthorization = -1;     /* LIRAuthorization */
620 static int hf_ansi_map_mpcid = -1;                /* MPCID */
621 static int hf_ansi_map_tdma_MAHORequest = -1;     /* TDMA_MAHORequest */
622 static int hf_ansi_map_positionResult = -1;       /* PositionResult */
623 static int hf_ansi_map_positionInformation = -1;  /* PositionInformation */
624 static int hf_ansi_map_controlType = -1;          /* ControlType */
625 static int hf_ansi_map_destinationAddress = -1;   /* DestinationAddress */
626 static int hf_ansi_map_gapDuration = -1;          /* GapDuration */
627 static int hf_ansi_map_gapInterval = -1;          /* GapInterval */
628 static int hf_ansi_map_invokingNEType = -1;       /* InvokingNEType */
629 static int hf_ansi_map_range = -1;                /* Range */
630 static int hf_ansi_map_meidStatus = -1;           /* MEIDStatus */
631 static int hf_ansi_map_aKeyProtocolVersion = -1;  /* AKeyProtocolVersion */
632 static int hf_ansi_map_mobileStationPartialKey = -1;  /* MobileStationPartialKey */
633 static int hf_ansi_map_newlyAssignedMSID = -1;    /* NewlyAssignedMSID */
634 static int hf_ansi_map_baseStationPartialKey = -1;  /* BaseStationPartialKey */
635 static int hf_ansi_map_modulusValue = -1;         /* ModulusValue */
636 static int hf_ansi_map_otasp_ResultCode = -1;     /* OTASP_ResultCode */
637 static int hf_ansi_map_primitiveValue = -1;       /* PrimitiveValue */
638 static int hf_ansi_map_record_Type = -1;          /* Record_Type */
639 static int hf_ansi_map_information_Record = -1;   /* Information_Record */
640 static int hf_ansi_map_cdma2000MobileSupportedCapabilities = -1;  /* CDMA2000MobileSupportedCapabilities */
641 static int hf_ansi_map_announcementCode1 = -1;    /* AnnouncementCode */
642 static int hf_ansi_map_announcementCode2 = -1;    /* AnnouncementCode */
643 static int hf_ansi_map_cdmaPilotPN = -1;          /* CDMAPilotPN */
644 static int hf_ansi_map_cdmaPowerCombinedIndicator = -1;  /* CDMAPowerCombinedIndicator */
645 static int hf_ansi_map_CDMACodeChannelList_item = -1;  /* CDMACodeChannelInformation */
646 static int hf_ansi_map_cdmaPilotStrength = -1;    /* CDMAPilotStrength */
647 static int hf_ansi_map_cdmaTargetOneWayDelay = -1;  /* CDMATargetOneWayDelay */
648 static int hf_ansi_map_CDMATargetMAHOList_item = -1;  /* CDMATargetMAHOInformation */
649 static int hf_ansi_map_cdmaSignalQuality = -1;    /* CDMASignalQuality */
650 static int hf_ansi_map_CDMATargetMeasurementList_item = -1;  /* CDMATargetMeasurementInformation */
651 static int hf_ansi_map_TargetMeasurementList_item = -1;  /* TargetMeasurementInformation */
652 static int hf_ansi_map_TerminationList_item = -1;  /* TerminationList_item */
653 static int hf_ansi_map_intersystemTermination = -1;  /* IntersystemTermination */
654 static int hf_ansi_map_localTermination = -1;     /* LocalTermination */
655 static int hf_ansi_map_pstnTermination = -1;      /* PSTNTermination */
656 static int hf_ansi_map_CDMABandClassList_item = -1;  /* CDMABandClassInformation */
657 static int hf_ansi_map_CDMAServiceOptionList_item = -1;  /* CDMAServiceOption */
658 static int hf_ansi_map_pSID_RSIDInformation1 = -1;  /* PSID_RSIDInformation */
659 static int hf_ansi_map_targetCellID1 = -1;        /* TargetCellID */
660 static int hf_ansi_map_cdmaConnectionReference = -1;  /* CDMAConnectionReference */
661 static int hf_ansi_map_cdmaState = -1;            /* CDMAState */
662 static int hf_ansi_map_cdmaServiceOptionConnectionIdentifier = -1;  /* CDMAServiceOptionConnectionIdentifier */
663 static int hf_ansi_map_CDMAConnectionReferenceList_item = -1;  /* CDMAConnectionReferenceList_item */
664 static int hf_ansi_map_cdmaConnectionReferenceInformation = -1;  /* CDMAConnectionReferenceInformation */
665 static int hf_ansi_map_cdmaConnectionReferenceInformation2 = -1;  /* CDMAConnectionReferenceInformation */
666 static int hf_ansi_map_analogRedirectInfo = -1;   /* AnalogRedirectInfo */
667 static int hf_ansi_map_CDMAChannelNumberList_item = -1;  /* CDMAChannelNumberList_item */
668 static int hf_ansi_map_cdmaChannelNumber = -1;    /* CDMAChannelNumber */
669 static int hf_ansi_map_cdmaChannelNumber2 = -1;   /* CDMAChannelNumber */
670 static int hf_ansi_map_cdmaChannelNumberList = -1;  /* CDMAChannelNumberList */
671 static int hf_ansi_map_dataID = -1;               /* DataID */
672 static int hf_ansi_map_change = -1;               /* Change */
673 static int hf_ansi_map_dataValue = -1;            /* DataValue */
674 static int hf_ansi_map_DataAccessElementList_item = -1;  /* DataAccessElementList_item */
675 static int hf_ansi_map_dataAccessElement1 = -1;   /* DataAccessElement */
676 static int hf_ansi_map_dataAccessElement2 = -1;   /* DataAccessElement */
677 static int hf_ansi_map_dataResult = -1;           /* DataResult */
678 static int hf_ansi_map_DataUpdateResultList_item = -1;  /* DataUpdateResult */
679 static int hf_ansi_map_globalTitle = -1;          /* GlobalTitle */
680 static int hf_ansi_map_pC_SSN = -1;               /* PC_SSN */
681 static int hf_ansi_map_scriptName = -1;           /* ScriptName */
682 static int hf_ansi_map_scriptArgument = -1;       /* ScriptArgument */
683 static int hf_ansi_map_allOrNone = -1;            /* AllOrNone */
684 static int hf_ansi_map_ModificationRequestList_item = -1;  /* ModificationRequest */
685 static int hf_ansi_map_serviceDataResultList = -1;  /* ServiceDataResultList */
686 static int hf_ansi_map_ModificationResultList_item = -1;  /* ModificationResult */
687 static int hf_ansi_map_ServiceDataAccessElementList_item = -1;  /* ServiceDataAccessElement */
688 static int hf_ansi_map_dataUpdateResultList = -1;  /* DataUpdateResultList */
689 static int hf_ansi_map_ServiceDataResultList_item = -1;  /* ServiceDataResult */
690 static int hf_ansi_map_triggerList = -1;          /* TriggerList */
691 static int hf_ansi_map_triggerListOpt = -1;       /* TriggerList */
692 static int hf_ansi_map_wIN_TriggerList = -1;      /* WIN_TriggerList */
693 static int hf_ansi_map_triggerCapability = -1;    /* TriggerCapability */
694 static int hf_ansi_map_wINOperationsCapability = -1;  /* WINOperationsCapability */
695 static int hf_ansi_map_CallRecoveryIDList_item = -1;  /* CallRecoveryID */
696 static int hf_ansi_map_generalizedTime = -1;      /* GeneralizedTime */
697 static int hf_ansi_map_geographicPosition = -1;   /* GeographicPosition */
698 static int hf_ansi_map_positionSource = -1;       /* PositionSource */
699 static int hf_ansi_map_horizontal_Velocity = -1;  /* Horizontal_Velocity */
700 static int hf_ansi_map_vertical_Velocity = -1;    /* Vertical_Velocity */
701 static int hf_ansi_map_sCFOverloadGapInterval = -1;  /* SCFOverloadGapInterval */
702 static int hf_ansi_map_serviceManagementSystemGapInterval = -1;  /* ServiceManagementSystemGapInterval */
703 static int hf_ansi_map_CDMAPSMMList_item = -1;    /* CDMAPSMMList_item */
704 static int hf_ansi_map_cdmaTargetMAHOList2 = -1;  /* CDMATargetMAHOList */
705 static int hf_ansi_map_mpcAddress2 = -1;          /* MPCAddress */
706 static int hf_ansi_map_mobileStationIMSI = -1;    /* MobileStationIMSI */
707 static int hf_ansi_map_handoffMeasurementRequest = -1;  /* HandoffMeasurementRequest */
708 static int hf_ansi_map_facilitiesDirective = -1;  /* FacilitiesDirective */
709 static int hf_ansi_map_handoffBack = -1;          /* HandoffBack */
710 static int hf_ansi_map_facilitiesRelease = -1;    /* FacilitiesRelease */
711 static int hf_ansi_map_qualificationRequest = -1;  /* QualificationRequest */
712 static int hf_ansi_map_qualificationDirective = -1;  /* QualificationDirective */
713 static int hf_ansi_map_blocking = -1;             /* Blocking */
714 static int hf_ansi_map_unblocking = -1;           /* Unblocking */
715 static int hf_ansi_map_resetCircuit = -1;         /* ResetCircuit */
716 static int hf_ansi_map_trunkTest = -1;            /* TrunkTest */
717 static int hf_ansi_map_trunkTestDisconnect = -1;  /* TrunkTestDisconnect */
718 static int hf_ansi_map_registrationNotification = -1;  /* RegistrationNotification */
719 static int hf_ansi_map_registrationCancellation = -1;  /* RegistrationCancellation */
720 static int hf_ansi_map_locationRequest = -1;      /* LocationRequest */
721 static int hf_ansi_map_routingRequest = -1;       /* RoutingRequest */
722 static int hf_ansi_map_featureRequest = -1;       /* FeatureRequest */
723 static int hf_ansi_map_unreliableRoamerDataDirective = -1;  /* UnreliableRoamerDataDirective */
724 static int hf_ansi_map_mSInactive = -1;           /* MSInactive */
725 static int hf_ansi_map_transferToNumberRequest = -1;  /* TransferToNumberRequest */
726 static int hf_ansi_map_redirectionRequest = -1;   /* RedirectionRequest */
727 static int hf_ansi_map_handoffToThird = -1;       /* HandoffToThird */
728 static int hf_ansi_map_flashRequest = -1;         /* FlashRequest */
729 static int hf_ansi_map_authenticationDirective = -1;  /* AuthenticationDirective */
730 static int hf_ansi_map_authenticationRequest = -1;  /* AuthenticationRequest */
731 static int hf_ansi_map_baseStationChallenge = -1;  /* BaseStationChallenge */
732 static int hf_ansi_map_authenticationFailureReport = -1;  /* AuthenticationFailureReport */
733 static int hf_ansi_map_countRequest = -1;         /* CountRequest */
734 static int hf_ansi_map_interSystemPage = -1;      /* InterSystemPage */
735 static int hf_ansi_map_unsolicitedResponse = -1;  /* UnsolicitedResponse */
736 static int hf_ansi_map_bulkDeregistration = -1;   /* BulkDeregistration */
737 static int hf_ansi_map_handoffMeasurementRequest2 = -1;  /* HandoffMeasurementRequest2 */
738 static int hf_ansi_map_facilitiesDirective2 = -1;  /* FacilitiesDirective2 */
739 static int hf_ansi_map_handoffBack2 = -1;         /* HandoffBack2 */
740 static int hf_ansi_map_handoffToThird2 = -1;      /* HandoffToThird2 */
741 static int hf_ansi_map_authenticationDirectiveForward = -1;  /* AuthenticationDirectiveForward */
742 static int hf_ansi_map_authenticationStatusReport = -1;  /* AuthenticationStatusReport */
743 static int hf_ansi_map_informationDirective = -1;  /* InformationDirective */
744 static int hf_ansi_map_informationForward = -1;   /* InformationForward */
745 static int hf_ansi_map_interSystemAnswer = -1;    /* InterSystemAnswer */
746 static int hf_ansi_map_interSystemPage2 = -1;     /* InterSystemPage2 */
747 static int hf_ansi_map_interSystemSetup = -1;     /* InterSystemSetup */
748 static int hf_ansi_map_originationRequest = -1;   /* OriginationRequest */
749 static int hf_ansi_map_randomVariableRequest = -1;  /* RandomVariableRequest */
750 static int hf_ansi_map_redirectionDirective = -1;  /* RedirectionDirective */
751 static int hf_ansi_map_remoteUserInteractionDirective = -1;  /* RemoteUserInteractionDirective */
752 static int hf_ansi_map_sMSDeliveryBackward = -1;  /* SMSDeliveryBackward */
753 static int hf_ansi_map_sMSDeliveryForward = -1;   /* SMSDeliveryForward */
754 static int hf_ansi_map_sMSDeliveryPointToPoint = -1;  /* SMSDeliveryPointToPoint */
755 static int hf_ansi_map_sMSNotification = -1;      /* SMSNotification */
756 static int hf_ansi_map_sMSRequest = -1;           /* SMSRequest */
757 static int hf_ansi_map_oTASPRequest = -1;         /* OTASPRequest */
758 static int hf_ansi_map_changeFacilities = -1;     /* ChangeFacilities */
759 static int hf_ansi_map_changeService = -1;        /* ChangeService */
760 static int hf_ansi_map_parameterRequest = -1;     /* ParameterRequest */
761 static int hf_ansi_map_tMSIDirective = -1;        /* TMSIDirective */
762 static int hf_ansi_map_numberPortabilityRequest = -1;  /* NumberPortabilityRequest */
763 static int hf_ansi_map_serviceRequest = -1;       /* ServiceRequest */
764 static int hf_ansi_map_analyzedInformation = -1;  /* AnalyzedInformation */
765 static int hf_ansi_map_connectionFailureReport = -1;  /* ConnectionFailureReport */
766 static int hf_ansi_map_connectResource = -1;      /* ConnectResource */
767 static int hf_ansi_map_facilitySelectedAndAvailable = -1;  /* FacilitySelectedAndAvailable */
768 static int hf_ansi_map_modify = -1;               /* Modify */
769 static int hf_ansi_map_search = -1;               /* Search */
770 static int hf_ansi_map_seizeResource = -1;        /* SeizeResource */
771 static int hf_ansi_map_sRFDirective = -1;         /* SRFDirective */
772 static int hf_ansi_map_tBusy = -1;                /* TBusy */
773 static int hf_ansi_map_tNoAnswer = -1;            /* TNoAnswer */
774 static int hf_ansi_map_smsDeliveryPointToPointAck = -1;  /* SMSDeliveryPointToPointAck */
775 static int hf_ansi_map_messageDirective = -1;     /* MessageDirective */
776 static int hf_ansi_map_bulkDisconnection = -1;    /* BulkDisconnection */
777 static int hf_ansi_map_callControlDirective = -1;  /* CallControlDirective */
778 static int hf_ansi_map_oAnswer = -1;              /* OAnswer */
779 static int hf_ansi_map_oDisconnect = -1;          /* ODisconnect */
780 static int hf_ansi_map_callRecoveryReport = -1;   /* CallRecoveryReport */
781 static int hf_ansi_map_tAnswer = -1;              /* TAnswer */
782 static int hf_ansi_map_tDisconnect = -1;          /* TDisconnect */
783 static int hf_ansi_map_unreliableCallData = -1;   /* UnreliableCallData */
784 static int hf_ansi_map_oCalledPartyBusy = -1;     /* OCalledPartyBusy */
785 static int hf_ansi_map_oNoAnswer = -1;            /* ONoAnswer */
786 static int hf_ansi_map_positionRequest = -1;      /* PositionRequest */
787 static int hf_ansi_map_positionRequestForward = -1;  /* PositionRequestForward */
788 static int hf_ansi_map_callTerminationReport = -1;  /* CallTerminationReport */
789 static int hf_ansi_map_geoPositionRequest = -1;   /* GeoPositionRequest */
790 static int hf_ansi_map_interSystemPositionRequest = -1;  /* InterSystemPositionRequest */
791 static int hf_ansi_map_interSystemPositionRequestForward = -1;  /* InterSystemPositionRequestForward */
792 static int hf_ansi_map_aCGDirective = -1;         /* ACGDirective */
793 static int hf_ansi_map_roamerDatabaseVerificationRequest = -1;  /* RoamerDatabaseVerificationRequest */
794 static int hf_ansi_map_addService = -1;           /* AddService */
795 static int hf_ansi_map_dropService = -1;          /* DropService */
796 static int hf_ansi_map_lcsParameterRequest = -1;  /* LCSParameterRequest */
797 static int hf_ansi_map_checkMEID = -1;            /* CheckMEID */
798 static int hf_ansi_map_positionEventNotification = -1;  /* PositionEventNotification */
799 static int hf_ansi_map_statusRequest = -1;        /* StatusRequest */
800 static int hf_ansi_map_interSystemSMSDeliveryPointToPoint = -1;  /* InterSystemSMSDeliveryPointToPoint */
801 static int hf_ansi_map_qualificationRequest2 = -1;  /* QualificationRequest2 */
802 static int hf_ansi_map_handoffMeasurementRequestRes = -1;  /* HandoffMeasurementRequestRes */
803 static int hf_ansi_map_facilitiesDirectiveRes = -1;  /* FacilitiesDirectiveRes */
804 static int hf_ansi_map_handoffBackRes = -1;       /* HandoffBackRes */
805 static int hf_ansi_map_facilitiesReleaseRes = -1;  /* FacilitiesReleaseRes */
806 static int hf_ansi_map_qualificationDirectiveRes = -1;  /* QualificationDirectiveRes */
807 static int hf_ansi_map_qualificationRequestRes = -1;  /* QualificationRequestRes */
808 static int hf_ansi_map_resetCircuitRes = -1;      /* ResetCircuitRes */
809 static int hf_ansi_map_registrationNotificationRes = -1;  /* RegistrationNotificationRes */
810 static int hf_ansi_map_registrationCancellationRes = -1;  /* RegistrationCancellationRes */
811 static int hf_ansi_map_locationRequestRes = -1;   /* LocationRequestRes */
812 static int hf_ansi_map_routingRequestRes = -1;    /* RoutingRequestRes */
813 static int hf_ansi_map_featureRequestRes = -1;    /* FeatureRequestRes */
814 static int hf_ansi_map_transferToNumberRequestRes = -1;  /* TransferToNumberRequestRes */
815 static int hf_ansi_map_handoffToThirdRes = -1;    /* HandoffToThirdRes */
816 static int hf_ansi_map_authenticationDirectiveRes = -1;  /* AuthenticationDirectiveRes */
817 static int hf_ansi_map_authenticationRequestRes = -1;  /* AuthenticationRequestRes */
818 static int hf_ansi_map_baseStationChallengeRes = -1;  /* BaseStationChallengeRes */
819 static int hf_ansi_map_authenticationFailureReportRes = -1;  /* AuthenticationFailureReportRes */
820 static int hf_ansi_map_countRequestRes = -1;      /* CountRequestRes */
821 static int hf_ansi_map_interSystemPageRes = -1;   /* InterSystemPageRes */
822 static int hf_ansi_map_unsolicitedResponseRes = -1;  /* UnsolicitedResponseRes */
823 static int hf_ansi_map_handoffMeasurementRequest2Res = -1;  /* HandoffMeasurementRequest2Res */
824 static int hf_ansi_map_facilitiesDirective2Res = -1;  /* FacilitiesDirective2Res */
825 static int hf_ansi_map_handoffBack2Res = -1;      /* HandoffBack2Res */
826 static int hf_ansi_map_handoffToThird2Res = -1;   /* HandoffToThird2Res */
827 static int hf_ansi_map_authenticationDirectiveForwardRes = -1;  /* AuthenticationDirectiveForwardRes */
828 static int hf_ansi_map_authenticationStatusReportRes = -1;  /* AuthenticationStatusReportRes */
829 static int hf_ansi_map_informationDirectiveRes = -1;  /* InformationDirectiveRes */
830 static int hf_ansi_map_informationForwardRes = -1;  /* InformationForwardRes */
831 static int hf_ansi_map_interSystemPage2Res = -1;  /* InterSystemPage2Res */
832 static int hf_ansi_map_interSystemSetupRes = -1;  /* InterSystemSetupRes */
833 static int hf_ansi_map_originationRequestRes = -1;  /* OriginationRequestRes */
834 static int hf_ansi_map_randomVariableRequestRes = -1;  /* RandomVariableRequestRes */
835 static int hf_ansi_map_remoteUserInteractionDirectiveRes = -1;  /* RemoteUserInteractionDirectiveRes */
836 static int hf_ansi_map_sMSDeliveryBackwardRes = -1;  /* SMSDeliveryBackwardRes */
837 static int hf_ansi_map_sMSDeliveryForwardRes = -1;  /* SMSDeliveryForwardRes */
838 static int hf_ansi_map_sMSDeliveryPointToPointRes = -1;  /* SMSDeliveryPointToPointRes */
839 static int hf_ansi_map_sMSNotificationRes = -1;   /* SMSNotificationRes */
840 static int hf_ansi_map_sMSRequestRes = -1;        /* SMSRequestRes */
841 static int hf_ansi_map_oTASPRequestRes = -1;      /* OTASPRequestRes */
842 static int hf_ansi_map_changeFacilitiesRes = -1;  /* ChangeFacilitiesRes */
843 static int hf_ansi_map_changeServiceRes = -1;     /* ChangeServiceRes */
844 static int hf_ansi_map_parameterRequestRes = -1;  /* ParameterRequestRes */
845 static int hf_ansi_map_tMSIDirectiveRes = -1;     /* TMSIDirectiveRes */
846 static int hf_ansi_map_numberPortabilityRequestRes = -1;  /* NumberPortabilityRequestRes */
847 static int hf_ansi_map_serviceRequestRes = -1;    /* ServiceRequestRes */
848 static int hf_ansi_map_analyzedInformationRes = -1;  /* AnalyzedInformationRes */
849 static int hf_ansi_map_facilitySelectedAndAvailableRes = -1;  /* FacilitySelectedAndAvailableRes */
850 static int hf_ansi_map_modifyRes = -1;            /* ModifyRes */
851 static int hf_ansi_map_searchRes = -1;            /* SearchRes */
852 static int hf_ansi_map_seizeResourceRes = -1;     /* SeizeResourceRes */
853 static int hf_ansi_map_sRFDirectiveRes = -1;      /* SRFDirectiveRes */
854 static int hf_ansi_map_tBusyRes = -1;             /* TBusyRes */
855 static int hf_ansi_map_tNoAnswerRes = -1;         /* TNoAnswerRes */
856 static int hf_ansi_map_callControlDirectiveRes = -1;  /* CallControlDirectiveRes */
857 static int hf_ansi_map_oDisconnectRes = -1;       /* ODisconnectRes */
858 static int hf_ansi_map_tDisconnectRes = -1;       /* TDisconnectRes */
859 static int hf_ansi_map_oCalledPartyBusyRes = -1;  /* OCalledPartyBusyRes */
860 static int hf_ansi_map_oNoAnswerRes = -1;         /* ONoAnswerRes */
861 static int hf_ansi_map_positionRequestRes = -1;   /* PositionRequestRes */
862 static int hf_ansi_map_positionRequestForwardRes = -1;  /* PositionRequestForwardRes */
863 static int hf_ansi_map_interSystemPositionRequestRes = -1;  /* InterSystemPositionRequestRes */
864 static int hf_ansi_map_interSystemPositionRequestForwardRes = -1;  /* InterSystemPositionRequestForwardRes */
865 static int hf_ansi_map_roamerDatabaseVerificationRequestRes = -1;  /* RoamerDatabaseVerificationRequestRes */
866 static int hf_ansi_map_addServiceRes = -1;        /* AddServiceRes */
867 static int hf_ansi_map_dropServiceRes = -1;       /* DropServiceRes */
868 static int hf_ansi_map_interSystemSMSPage = -1;   /* InterSystemSMSPage */
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 static int hf_ansi_map_interSystemSMSDeliveryPointToPointRes = -1;  /* InterSystemSMSDeliveryPointToPointRes */
873 static int hf_ansi_map_qualificationRequest2Res = -1;  /* QualificationRequest2Res */
874 
875 /*--- End of included file: packet-ansi_map-hf.c ---*/
876 #line 317 "./asn1/ansi_map/packet-ansi_map-template.c"
877 
878 /* Initialize the subtree pointers */
879 static gint ett_ansi_map = -1;
880 static gint ett_mintype = -1;
881 static gint ett_digitstype = -1;
882 static gint ett_billingid = -1;
883 static gint ett_sms_bearer_data = -1;
884 static gint ett_sms_teleserviceIdentifier = -1;
885 static gint ett_extendedmscid = -1;
886 static gint ett_extendedsystemmytypecode = -1;
887 static gint ett_handoffstate = -1;
888 static gint ett_mscid = -1;
889 static gint ett_cdmachanneldata = -1;
890 static gint ett_cdmastationclassmark = -1;
891 static gint ett_channeldata = -1;
892 static gint ett_confidentialitymodes = -1;
893 static gint ett_controlchanneldata = -1;
894 static gint ett_CDMA2000HandoffInvokeIOSData = -1;
895 static gint ett_CDMA2000HandoffResponseIOSData = -1;
896 static gint ett_originationtriggers = -1;
897 static gint ett_pacaindicator = -1;
898 static gint ett_callingpartyname = -1;
899 static gint ett_triggercapability = -1;
900 static gint ett_winoperationscapability = -1;
901 static gint ett_win_trigger_list = -1;
902 static gint ett_controlnetworkid = -1;
903 static gint ett_transactioncapability = -1;
904 static gint ett_cdmaserviceoption = -1;
905 static gint ett_systemcapabilities = -1;
906 static gint ett_sms_originationrestrictions = -1;
907 
908 
909 /*--- Included file: packet-ansi_map-ett.c ---*/
910 #line 1 "./asn1/ansi_map/packet-ansi_map-ett.c"
911 static gint ett_ansi_map_AuthenticationDirective_U = -1;
912 static gint ett_ansi_map_AuthenticationDirectiveRes_U = -1;
913 static gint ett_ansi_map_AuthenticationDirectiveForward_U = -1;
914 static gint ett_ansi_map_AuthenticationDirectiveForwardRes_U = -1;
915 static gint ett_ansi_map_AuthenticationFailureReport_U = -1;
916 static gint ett_ansi_map_AuthenticationFailureReportRes_U = -1;
917 static gint ett_ansi_map_AuthenticationRequest_U = -1;
918 static gint ett_ansi_map_AuthenticationRequestRes_U = -1;
919 static gint ett_ansi_map_AuthenticationStatusReport_U = -1;
920 static gint ett_ansi_map_AuthenticationStatusReportRes_U = -1;
921 static gint ett_ansi_map_BaseStationChallenge_U = -1;
922 static gint ett_ansi_map_BaseStationChallengeRes_U = -1;
923 static gint ett_ansi_map_Blocking_U = -1;
924 static gint ett_ansi_map_BulkDeregistration_U = -1;
925 static gint ett_ansi_map_CountRequest_U = -1;
926 static gint ett_ansi_map_CountRequestRes_U = -1;
927 static gint ett_ansi_map_FacilitiesDirective_U = -1;
928 static gint ett_ansi_map_FacilitiesDirectiveRes_U = -1;
929 static gint ett_ansi_map_FacilitiesDirective2_U = -1;
930 static gint ett_ansi_map_FacilitiesDirective2Res_U = -1;
931 static gint ett_ansi_map_FacilitiesRelease_U = -1;
932 static gint ett_ansi_map_FacilitiesReleaseRes_U = -1;
933 static gint ett_ansi_map_FeatureRequest_U = -1;
934 static gint ett_ansi_map_FeatureRequestRes_U = -1;
935 static gint ett_ansi_map_FlashRequest_U = -1;
936 static gint ett_ansi_map_HandoffBack_U = -1;
937 static gint ett_ansi_map_HandoffBackRes_U = -1;
938 static gint ett_ansi_map_HandoffBack2_U = -1;
939 static gint ett_ansi_map_HandoffBack2Res_U = -1;
940 static gint ett_ansi_map_HandoffMeasurementRequest_U = -1;
941 static gint ett_ansi_map_HandoffMeasurementRequestRes_U = -1;
942 static gint ett_ansi_map_HandoffMeasurementRequest2_U = -1;
943 static gint ett_ansi_map_HandoffMeasurementRequest2Res_U = -1;
944 static gint ett_ansi_map_HandoffToThird_U = -1;
945 static gint ett_ansi_map_HandoffToThirdRes_U = -1;
946 static gint ett_ansi_map_HandoffToThird2_U = -1;
947 static gint ett_ansi_map_HandoffToThird2Res_U = -1;
948 static gint ett_ansi_map_InformationDirective_U = -1;
949 static gint ett_ansi_map_InformationDirectiveRes_U = -1;
950 static gint ett_ansi_map_InformationForward_U = -1;
951 static gint ett_ansi_map_InformationForwardRes_U = -1;
952 static gint ett_ansi_map_InterSystemAnswer_U = -1;
953 static gint ett_ansi_map_InterSystemPage_U = -1;
954 static gint ett_ansi_map_InterSystemPageRes_U = -1;
955 static gint ett_ansi_map_InterSystemPage2_U = -1;
956 static gint ett_ansi_map_InterSystemPage2Res_U = -1;
957 static gint ett_ansi_map_InterSystemSetup_U = -1;
958 static gint ett_ansi_map_InterSystemSetupRes_U = -1;
959 static gint ett_ansi_map_LocationRequest_U = -1;
960 static gint ett_ansi_map_LocationRequestRes_U = -1;
961 static gint ett_ansi_map_MSInactive_U = -1;
962 static gint ett_ansi_map_OriginationRequest_U = -1;
963 static gint ett_ansi_map_OriginationRequestRes_U = -1;
964 static gint ett_ansi_map_QualificationDirective_U = -1;
965 static gint ett_ansi_map_QualificationDirectiveRes_U = -1;
966 static gint ett_ansi_map_QualificationRequest_U = -1;
967 static gint ett_ansi_map_QualificationRequestRes_U = -1;
968 static gint ett_ansi_map_RandomVariableRequest_U = -1;
969 static gint ett_ansi_map_RandomVariableRequestRes_U = -1;
970 static gint ett_ansi_map_RedirectionDirective_U = -1;
971 static gint ett_ansi_map_RedirectionRequest_U = -1;
972 static gint ett_ansi_map_RegistrationCancellation_U = -1;
973 static gint ett_ansi_map_RegistrationCancellationRes_U = -1;
974 static gint ett_ansi_map_RegistrationNotification_U = -1;
975 static gint ett_ansi_map_RegistrationNotificationRes_U = -1;
976 static gint ett_ansi_map_RemoteUserInteractionDirective_U = -1;
977 static gint ett_ansi_map_RemoteUserInteractionDirectiveRes_U = -1;
978 static gint ett_ansi_map_ResetCircuit_U = -1;
979 static gint ett_ansi_map_ResetCircuitRes_U = -1;
980 static gint ett_ansi_map_RoutingRequest_U = -1;
981 static gint ett_ansi_map_RoutingRequestRes_U = -1;
982 static gint ett_ansi_map_SMSDeliveryBackward_U = -1;
983 static gint ett_ansi_map_SMSDeliveryBackwardRes_U = -1;
984 static gint ett_ansi_map_SMSDeliveryForward_U = -1;
985 static gint ett_ansi_map_SMSDeliveryForwardRes_U = -1;
986 static gint ett_ansi_map_SMSDeliveryPointToPoint_U = -1;
987 static gint ett_ansi_map_SMSDeliveryPointToPointRes_U = -1;
988 static gint ett_ansi_map_SMSDeliveryPointToPointAck_U = -1;
989 static gint ett_ansi_map_SMSNotification_U = -1;
990 static gint ett_ansi_map_SMSNotificationRes_U = -1;
991 static gint ett_ansi_map_SMSRequest_U = -1;
992 static gint ett_ansi_map_SMSRequestRes_U = -1;
993 static gint ett_ansi_map_TransferToNumberRequest_U = -1;
994 static gint ett_ansi_map_TransferToNumberRequestRes_U = -1;
995 static gint ett_ansi_map_TrunkTest_U = -1;
996 static gint ett_ansi_map_TrunkTestDisconnect_U = -1;
997 static gint ett_ansi_map_Unblocking_U = -1;
998 static gint ett_ansi_map_UnreliableRoamerDataDirective_U = -1;
999 static gint ett_ansi_map_UnsolicitedResponse_U = -1;
1000 static gint ett_ansi_map_UnsolicitedResponseRes_U = -1;
1001 static gint ett_ansi_map_ParameterRequest_U = -1;
1002 static gint ett_ansi_map_ParameterRequestRes_U = -1;
1003 static gint ett_ansi_map_TMSIDirective_U = -1;
1004 static gint ett_ansi_map_TMSIDirectiveRes_U = -1;
1005 static gint ett_ansi_map_NumberPortabilityRequest_U = -1;
1006 static gint ett_ansi_map_NumberPortabilityRequestRes_U = -1;
1007 static gint ett_ansi_map_ServiceRequest_U = -1;
1008 static gint ett_ansi_map_ServiceRequestRes_U = -1;
1009 static gint ett_ansi_map_AnalyzedInformation_U = -1;
1010 static gint ett_ansi_map_AnalyzedInformationRes_U = -1;
1011 static gint ett_ansi_map_ConnectionFailureReport_U = -1;
1012 static gint ett_ansi_map_ConnectResource_U = -1;
1013 static gint ett_ansi_map_FacilitySelectedAndAvailable_U = -1;
1014 static gint ett_ansi_map_FacilitySelectedAndAvailableRes_U = -1;
1015 static gint ett_ansi_map_Modify_U = -1;
1016 static gint ett_ansi_map_ModifyRes_U = -1;
1017 static gint ett_ansi_map_Search_U = -1;
1018 static gint ett_ansi_map_SearchRes_U = -1;
1019 static gint ett_ansi_map_SeizeResource_U = -1;
1020 static gint ett_ansi_map_SeizeResourceRes_U = -1;
1021 static gint ett_ansi_map_SRFDirective_U = -1;
1022 static gint ett_ansi_map_SRFDirectiveRes_U = -1;
1023 static gint ett_ansi_map_TBusy_U = -1;
1024 static gint ett_ansi_map_TBusyRes_U = -1;
1025 static gint ett_ansi_map_TNoAnswer_U = -1;
1026 static gint ett_ansi_map_TNoAnswerRes_U = -1;
1027 static gint ett_ansi_map_ChangeFacilities_U = -1;
1028 static gint ett_ansi_map_ChangeFacilitiesRes_U = -1;
1029 static gint ett_ansi_map_ChangeService_U = -1;
1030 static gint ett_ansi_map_ChangeServiceRes_U = -1;
1031 static gint ett_ansi_map_MessageDirective_U = -1;
1032 static gint ett_ansi_map_BulkDisconnection_U = -1;
1033 static gint ett_ansi_map_CallControlDirective_U = -1;
1034 static gint ett_ansi_map_CallControlDirectiveRes_U = -1;
1035 static gint ett_ansi_map_OAnswer_U = -1;
1036 static gint ett_ansi_map_ODisconnect_U = -1;
1037 static gint ett_ansi_map_ODisconnectRes_U = -1;
1038 static gint ett_ansi_map_CallRecoveryReport_U = -1;
1039 static gint ett_ansi_map_TAnswer_U = -1;
1040 static gint ett_ansi_map_TDisconnect_U = -1;
1041 static gint ett_ansi_map_TDisconnectRes_U = -1;
1042 static gint ett_ansi_map_UnreliableCallData_U = -1;
1043 static gint ett_ansi_map_OCalledPartyBusy_U = -1;
1044 static gint ett_ansi_map_OCalledPartyBusyRes_U = -1;
1045 static gint ett_ansi_map_ONoAnswer_U = -1;
1046 static gint ett_ansi_map_ONoAnswerRes_U = -1;
1047 static gint ett_ansi_map_PositionRequest_U = -1;
1048 static gint ett_ansi_map_PositionRequestRes_U = -1;
1049 static gint ett_ansi_map_PositionRequestForward_U = -1;
1050 static gint ett_ansi_map_PositionRequestForwardRes_U = -1;
1051 static gint ett_ansi_map_CallTerminationReport_U = -1;
1052 static gint ett_ansi_map_GeoPositionRequest_U = -1;
1053 static gint ett_ansi_map_InterSystemPositionRequest_U = -1;
1054 static gint ett_ansi_map_InterSystemPositionRequestRes_U = -1;
1055 static gint ett_ansi_map_InterSystemPositionRequestForward_U = -1;
1056 static gint ett_ansi_map_InterSystemPositionRequestForwardRes_U = -1;
1057 static gint ett_ansi_map_ACGDirective_U = -1;
1058 static gint ett_ansi_map_RoamerDatabaseVerificationRequest_U = -1;
1059 static gint ett_ansi_map_RoamerDatabaseVerificationRequestRes_U = -1;
1060 static gint ett_ansi_map_LCSParameterRequest_U = -1;
1061 static gint ett_ansi_map_LCSParameterRequestRes_U = -1;
1062 static gint ett_ansi_map_CheckMEID_U = -1;
1063 static gint ett_ansi_map_CheckMEIDRes_U = -1;
1064 static gint ett_ansi_map_AddService_U = -1;
1065 static gint ett_ansi_map_AddServiceRes_U = -1;
1066 static gint ett_ansi_map_DropService_U = -1;
1067 static gint ett_ansi_map_DropServiceRes_U = -1;
1068 static gint ett_ansi_map_PositionEventNotification_U = -1;
1069 static gint ett_ansi_map_OTASPRequest_U = -1;
1070 static gint ett_ansi_map_OTASPRequestRes_U = -1;
1071 static gint ett_ansi_map_StatusRequest_U = -1;
1072 static gint ett_ansi_map_StatusRequestRes_U = -1;
1073 static gint ett_ansi_map_InterSystemSMSDeliveryPointToPoint_U = -1;
1074 static gint ett_ansi_map_InterSystemSMSDeliveryPointToPointRes_U = -1;
1075 static gint ett_ansi_map_InterSystemSMSPage_U = -1;
1076 static gint ett_ansi_map_QualificationRequest2_U = -1;
1077 static gint ett_ansi_map_QualificationRequest2Res_U = -1;
1078 static gint ett_ansi_map_AnnouncementList = -1;
1079 static gint ett_ansi_map_CDMACodeChannelInformation = -1;
1080 static gint ett_ansi_map_CDMACodeChannelList = -1;
1081 static gint ett_ansi_map_CDMATargetMAHOInformation = -1;
1082 static gint ett_ansi_map_CDMATargetMAHOList = -1;
1083 static gint ett_ansi_map_CDMATargetMeasurementInformation = -1;
1084 static gint ett_ansi_map_CDMATargetMeasurementList = -1;
1085 static gint ett_ansi_map_IntersystemTermination = -1;
1086 static gint ett_ansi_map_LocalTermination = -1;
1087 static gint ett_ansi_map_PSTNTermination = -1;
1088 static gint ett_ansi_map_TargetMeasurementInformation = -1;
1089 static gint ett_ansi_map_TargetMeasurementList = -1;
1090 static gint ett_ansi_map_TerminationList = -1;
1091 static gint ett_ansi_map_TerminationList_item = -1;
1092 static gint ett_ansi_map_CDMABandClassInformation = -1;
1093 static gint ett_ansi_map_CDMABandClassList = -1;
1094 static gint ett_ansi_map_CDMAServiceOptionList = -1;
1095 static gint ett_ansi_map_PSID_RSIDList = -1;
1096 static gint ett_ansi_map_TargetCellIDList = -1;
1097 static gint ett_ansi_map_CDMAConnectionReferenceInformation = -1;
1098 static gint ett_ansi_map_CDMAConnectionReferenceList = -1;
1099 static gint ett_ansi_map_CDMAConnectionReferenceList_item = -1;
1100 static gint ett_ansi_map_AnalogRedirectRecord = -1;
1101 static gint ett_ansi_map_CDMAChannelNumberList = -1;
1102 static gint ett_ansi_map_CDMAChannelNumberList_item = -1;
1103 static gint ett_ansi_map_CDMARedirectRecord = -1;
1104 static gint ett_ansi_map_MSID = -1;
1105 static gint ett_ansi_map_DataAccessElement = -1;
1106 static gint ett_ansi_map_DataAccessElementList = -1;
1107 static gint ett_ansi_map_DataAccessElementList_item = -1;
1108 static gint ett_ansi_map_DataUpdateResult = -1;
1109 static gint ett_ansi_map_DataUpdateResultList = -1;
1110 static gint ett_ansi_map_DestinationAddress = -1;
1111 static gint ett_ansi_map_ExecuteScript = -1;
1112 static gint ett_ansi_map_ModificationRequest = -1;
1113 static gint ett_ansi_map_ModificationRequestList = -1;
1114 static gint ett_ansi_map_ModificationResult = -1;
1115 static gint ett_ansi_map_ModificationResultList = -1;
1116 static gint ett_ansi_map_ServiceDataAccessElement = -1;
1117 static gint ett_ansi_map_ServiceDataAccessElementList = -1;
1118 static gint ett_ansi_map_ServiceDataResult = -1;
1119 static gint ett_ansi_map_ServiceDataResultList = -1;
1120 static gint ett_ansi_map_TriggerAddressList = -1;
1121 static gint ett_ansi_map_TriggerList = -1;
1122 static gint ett_ansi_map_WINCapability = -1;
1123 static gint ett_ansi_map_CallRecoveryID = -1;
1124 static gint ett_ansi_map_CallRecoveryIDList = -1;
1125 static gint ett_ansi_map_PositionInformation = -1;
1126 static gint ett_ansi_map_GapInterval = -1;
1127 static gint ett_ansi_map_CDMAPSMMList = -1;
1128 static gint ett_ansi_map_CDMAPSMMList_item = -1;
1129 static gint ett_ansi_map_MPCAddressList = -1;
1130 static gint ett_ansi_map_MobileStationMSID = -1;
1131 static gint ett_ansi_map_NewlyAssignedMSID = -1;
1132 static gint ett_ansi_map_InvokeData = -1;
1133 static gint ett_ansi_map_ReturnData = -1;
1134 
1135 /*--- End of included file: packet-ansi_map-ett.c ---*/
1136 #line 349 "./asn1/ansi_map/packet-ansi_map-template.c"
1137 
1138 static expert_field ei_ansi_map_nr_not_used = EI_INIT;
1139 static expert_field ei_ansi_map_unknown_invokeData_blob = EI_INIT;
1140 static expert_field ei_ansi_map_no_data = EI_INIT;
1141 
1142 /* Global variables */
1143 static dissector_table_t is637_tele_id_dissector_table; /* IS-637 Teleservice ID */
1144 static dissector_table_t is683_dissector_table; /* IS-683-A (OTA) */
1145 static dissector_table_t is801_dissector_table; /* IS-801 (PLD) */
1146 static packet_info *g_pinfo;
1147 static proto_tree *g_tree;
1148 tvbuff_t *SMS_BearerData_tvb = NULL;
1149 gint32    ansi_map_sms_tele_id = -1;
1150 static gboolean is683_ota;
1151 static gboolean is801_pld;
1152 static gboolean ansi_map_is_invoke;
1153 static guint32 OperationCode;
1154 static guint8 ServiceIndicator;
1155 
1156 
1157 struct ansi_map_invokedata_t {
1158     guint32 opcode;
1159     guint8 ServiceIndicator;
1160 };
1161 
1162 static void dissect_ansi_map_win_trigger_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_);
1163 
1164 
1165 /* Transaction table */
1166 static wmem_map_t *TransactionId_table=NULL;
1167 
1168 /* Store Invoke information needed for the corresponding reply */
1169 static void
update_saved_invokedata(packet_info * pinfo,struct ansi_tcap_private_t * p_private_tcap)1170 update_saved_invokedata(packet_info *pinfo, struct ansi_tcap_private_t *p_private_tcap){
1171     struct ansi_map_invokedata_t *ansi_map_saved_invokedata;
1172     address* src = &(pinfo->src);
1173     address* dst = &(pinfo->dst);
1174     guint8 *src_str;
1175     guint8 *dst_str;
1176     const char *buf = NULL;
1177 
1178     src_str = address_to_str(pinfo->pool, src);
1179     dst_str = address_to_str(pinfo->pool, dst);
1180 
1181     /* Data from the TCAP dissector */
1182     if ((!pinfo->fd->visited)&&(p_private_tcap->TransactionID_str)){
1183         /* Only do this once XXX I hope it's the right thing to do */
1184         /* The hash string needs to contain src and dest to distiguish differnt flows */
1185         switch(ansi_map_response_matching_type){
1186             case ANSI_MAP_TID_ONLY:
1187                 buf = wmem_strdup(pinfo->pool, p_private_tcap->TransactionID_str);
1188                 break;
1189             case ANSI_MAP_TID_AND_SOURCE:
1190                 buf = wmem_strdup_printf(pinfo->pool, "%s%s",p_private_tcap->TransactionID_str,src_str);
1191                 break;
1192             case ANSI_MAP_TID_SOURCE_AND_DEST:
1193             default:
1194                 buf = wmem_strdup_printf(pinfo->pool, "%s%s%s",p_private_tcap->TransactionID_str,src_str,dst_str);
1195                 break;
1196         }
1197         /* If the entry allready exists don't owervrite it */
1198         ansi_map_saved_invokedata = (struct ansi_map_invokedata_t *)wmem_map_lookup(TransactionId_table,buf);
1199         if(ansi_map_saved_invokedata)
1200             return;
1201 
1202         ansi_map_saved_invokedata = wmem_new(wmem_file_scope(), struct ansi_map_invokedata_t);
1203         ansi_map_saved_invokedata->opcode = p_private_tcap->d.OperationCode_private;
1204         ansi_map_saved_invokedata->ServiceIndicator = ServiceIndicator;
1205 
1206         wmem_map_insert(TransactionId_table,
1207                             wmem_strdup(wmem_file_scope(), buf),
1208                             ansi_map_saved_invokedata);
1209 
1210         /*ws_warning("Invoke Hash string %s pkt: %u",buf,pinfo->num);*/
1211     }
1212 }
1213 /* value strings */
1214 const value_string ansi_map_opr_code_strings[] = {
1215     {   1, "Handoff Measurement Request" },
1216     {   2, "Facilities Directive" },
1217     {   3, "Mobile On Channel" },
1218     {   4, "Handoff Back" },
1219     {   5, "Facilities Release" },
1220     {   6, "Qualification Request" },
1221     {   7, "Qualification Directive" },
1222     {   8, "Blocking" },
1223     {   9, "Unblocking" },
1224     {  10,  "Reset Circuit" },
1225     {  11, "Trunk Test" },
1226     {  12, "Trunk Test Disconnect" },
1227     {  13, "Registration Notification" },
1228     {  14, "Registration Cancellation" },
1229     {  15, "Location Request" },
1230     {  16, "Routing Request" },
1231     {  17, "Feature Request" },
1232     {  18, "Reserved 18 (Service Profile Request, IS-41-C)" },
1233     {  19, "Reserved 19 (Service Profile Directive, IS-41-C)" },
1234     {  20, "Unreliable Roamer Data Directive" },
1235     {  21, "Reserved 21 (Call Data Request, IS-41-C)" },
1236     {  22, "MS Inactive" },
1237     {  23, "Transfer To Number Request" },
1238     {  24, "Redirection Request" },
1239     {  25, "Handoff To Third" },
1240     {  26, "Flash Request" },
1241     {  27, "Authentication Directive" },
1242     {  28, "Authentication Request" },
1243     {  29, "Base Station Challenge" },
1244     {  30, "Authentication Failure Report" },
1245     {  31, "Count Request" },
1246     {  32, "Inter System Page" },
1247     {  33, "Unsolicited Response" },
1248     {  34, "Bulk Deregistration" },
1249     {  35, "Handoff Measurement Request 2" },
1250     {  36, "Facilities Directive 2" },
1251     {  37, "Handoff Back 2" },
1252     {  38, "Handoff To Third 2" },
1253     {  39, "Authentication Directive Forward" },
1254     {  40, "Authentication Status Report" },
1255     {  41, "Reserved 41" },
1256     {  42, "Information Directive" },
1257     {  43, "Information Forward" },
1258     {  44, "Inter System Answer" },
1259     {  45, "Inter System Page 2" },
1260     {  46, "Inter System Setup" },
1261     {  47, "Origination Request" },
1262     {  48, "Random Variable Request" },
1263     {  49, "Redirection Directive" },
1264     {  50, "Remote User Interaction Directive" },
1265     {  51, "SMS Delivery Backward" },
1266     {  52, "SMS Delivery Forward" },
1267     {  53, "SMS Delivery Point to Point" },
1268     {  54, "SMS Notification" },
1269     {  55, "SMS Request" },
1270     {  56, "OTASP Request" },
1271     {  57, "Information Backward" },
1272     {  58, "Change Facilities" },
1273     {  59, "Change Service" },
1274     {  60, "Parameter Request" },
1275     {  61, "TMSI Directive" },
1276     {  62, "NumberPortabilityRequest" },
1277     {  63, "Service Request" },
1278     {  64, "Analyzed Information Request" },
1279     {  65, "Connection Failure Report" },
1280     {  66, "Connect Resource" },
1281     {  67, "Disconnect Resource" },
1282     {  68, "Facility Selected and Available" },
1283     {  69, "Instruction Request" },
1284     {  70, "Modify" },
1285     {  71, "Reset Timer" },
1286     {  72, "Search" },
1287     {  73, "Seize Resource" },
1288     {  74, "SRF Directive" },
1289     {  75, "T Busy" },
1290     {  76, "T NoAnswer" },
1291     {  77, "Release" },
1292     {  78, "SMS Delivery Point to Point Ack" },
1293     {  79, "Message Directive" },
1294     {  80, "Bulk Disconnection" },
1295     {  81, "Call Control Directive" },
1296     {  82, "O Answer" },
1297     {  83, "O Disconnect" },
1298     {  84, "Call Recovery Report" },
1299     {  85, "T Answer" },
1300     {  86, "T Disconnect" },
1301     {  87, "Unreliable Call Data" },
1302     {  88, "O CalledPartyBusy" },
1303     {  89, "O NoAnswer" },
1304     {  90, "Position Request" },
1305     {  91, "Position Request Forward" },
1306     {  92, "Call Termination Report" },
1307     {  93, "Geo Position Directive" },
1308     {  94, "Geo Position Request" },
1309     {  95, "Inter System Position Request" },
1310     {  96, "Inter System Position Request Forward" },
1311     {  97, "ACG Directive" },
1312     {  98, "Roamer Database Verification Request" },
1313     {  99, "Add Service" },
1314     { 100, "Drop Service" },
1315     { 101, "InterSystemSMSPage" },
1316     { 102, "LCSParameterRequest" },
1317     { 103, "Unknown ANSI-MAP PDU" },
1318     { 104, "Unknown ANSI-MAP PDU" },
1319     { 105, "Unknown ANSI-MAP PDU" },
1320     { 106, "PositionEventNotification" },
1321     { 107, "Unknown ANSI-MAP PDU" },
1322     { 108, "Unknown ANSI-MAP PDU" },
1323     { 109, "Unknown ANSI-MAP PDU" },
1324     { 110, "Unknown ANSI-MAP PDU" },
1325     { 111, "InterSystemSMSDelivery-PointToPoint" },
1326     { 112, "QualificationRequest2" },
1327     {   0, NULL },
1328 };
1329 static value_string_ext ansi_map_opr_code_strings_ext = VALUE_STRING_EXT_INIT(ansi_map_opr_code_strings);
1330 
1331 static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx);
1332 static int dissect_returnData(proto_tree *tree, tvbuff_t *tvb, int offset,  asn1_ctx_t *actx);
1333 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_);
1334 
1335 /* Type of Digits (octet 1, bits A-H) */
1336 static const value_string ansi_map_type_of_digits_vals[] = {
1337     {   0, "Not Used" },
1338     {   1, "Dialed Number or Called Party Number" },
1339     {   2, "Calling Party Number" },
1340     {   3, "Caller Interaction" },
1341     {   4, "Routing Number" },
1342     {   5, "Billing Number" },
1343     {   6, "Destination Number" },
1344     {   7, "LATA" },
1345     {   8, "Carrier" },
1346     {   0, NULL }
1347 };
1348 /* Nature of Number (octet 2, bits A-H )*/
1349 static const true_false_string ansi_map_na_bool_val  = {
1350     "International",
1351     "National"
1352 };
1353 static const true_false_string ansi_map_pi_bool_val  = {
1354     "Presentation Restricted",
1355     "Presentation Allowed"
1356 };
1357 static const true_false_string ansi_map_navail_bool_val  = {
1358     "Number is not available",
1359     "Number is available"
1360 };
1361 #if 0
1362 static const true_false_string ansi_map_si_bool_val  = {
1363     "User provided, screening passed",
1364     "User provided, not screened"
1365 };
1366 #endif
1367 static const value_string ansi_map_si_vals[]  = {
1368     {   0, "User provided, not screened"},
1369     {   1, "User provided, screening passed"},
1370     {   2, "User provided, screening failed"},
1371     {   3, "Network provided"},
1372     {   0, NULL }
1373 };
1374 /* Encoding (octet 3, bits A-D) */
1375 static const value_string ansi_map_digits_enc_vals[]  = {
1376     {   0, "Not used"},
1377     {   1, "BCD"},
1378     {   2, "IA5"},
1379     {   3, "Octet string"},
1380     {   0, NULL }
1381 };
1382 /* Numbering Plan (octet 3, bits E-H) */
1383 static const value_string ansi_map_np_vals[]  = {
1384     {   0, "Unknown or not applicable"},
1385     {   1, "ISDN Numbering"},
1386     {   2, "Telephony Numbering (ITU-T Rec. E.164,E.163)"},
1387     {   3, "Data Numbering (ITU-T Rec. X.121)"},
1388     {   4, "Telex Numbering (ITU-T Rec. F.69)"},
1389     {   5, "Maritime Mobile Numbering"},
1390     {   6, "Land Mobile Numbering (ITU-T Rec. E.212)"},
1391     {   7, "Private Numbering Plan"},
1392     {  13, "SS7 Point Code (PC) and Subsystem Number (SSN)"},
1393     {  14, "Internet Protocol (IP) Address."},
1394     {  15, "Reserved for extension"},
1395     {   0, NULL }
1396 };
1397 
1398 static void
dissect_ansi_map_min_type(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)1399 dissect_ansi_map_min_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1400     char *digit_str;
1401     int   offset = 0;
1402 
1403     proto_tree *subtree;
1404 
1405 
1406     subtree = proto_item_add_subtree(actx->created_item, ett_mintype);
1407 
1408     proto_tree_add_item_ret_display_string(subtree, hf_ansi_map_bcd_digits, tvb, offset, tvb_reported_length_remaining(tvb, offset), ENC_BCD_DIGITS_0_9, pinfo->pool, &digit_str);
1409     proto_item_append_text(actx->created_item, " - %s", digit_str);
1410 }
1411 
1412 static void
dissect_ansi_map_digits_type(tvbuff_t * tvb,packet_info * pinfo,proto_tree * tree _U_,asn1_ctx_t * actx _U_)1413 dissect_ansi_map_digits_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1414 
1415     guint8 octet , octet_len;
1416     guint8 b1,b2,b3,b4;
1417     int    offset = 0;
1418     char  *digit_str;
1419 
1420     proto_tree *subtree;
1421 
1422 
1423     subtree = proto_item_add_subtree(actx->created_item, ett_digitstype);
1424 
1425     /* Octet 1 */
1426     proto_tree_add_item(subtree, hf_ansi_map_type_of_digits, tvb, offset, 1, ENC_BIG_ENDIAN);
1427     offset++;
1428     /* Octet 2 */
1429     proto_tree_add_item(subtree, hf_ansi_map_reservedBitHG, tvb, offset, 1, ENC_BIG_ENDIAN);
1430     proto_tree_add_item(subtree, hf_ansi_map_si, tvb, offset, 1, ENC_BIG_ENDIAN);
1431     proto_tree_add_item(subtree, hf_ansi_map_reservedBitD, tvb, offset, 1, ENC_BIG_ENDIAN);
1432     proto_tree_add_item(subtree, hf_ansi_map_navail, tvb, offset, 1, ENC_BIG_ENDIAN);
1433     proto_tree_add_item(subtree, hf_ansi_map_pi, tvb, offset, 1, ENC_BIG_ENDIAN);
1434     proto_tree_add_item(subtree, hf_ansi_map_na, tvb, offset, 1, ENC_BIG_ENDIAN);
1435     offset++;
1436     /* Octet 3 */
1437     octet = tvb_get_guint8(tvb,offset);
1438     proto_tree_add_item(subtree, hf_ansi_map_np, tvb, offset, 1, ENC_BIG_ENDIAN);
1439     proto_tree_add_item(subtree, hf_ansi_map_digits_enc, tvb, offset, 1, ENC_BIG_ENDIAN);
1440     offset++;
1441     /* Octet 4 - */
1442     switch(octet>>4){
1443     case 0:/* Unknown or not applicable */
1444         switch ((octet&0xf)){
1445         case 1:
1446             /* BCD Coding */
1447             octet_len = tvb_get_guint8(tvb,offset);
1448             proto_tree_add_item(subtree, hf_ansi_map_nr_digits, tvb, offset, 1, ENC_BIG_ENDIAN);
1449             if(octet_len == 0)
1450                 return;
1451             offset++;
1452             proto_tree_add_item_ret_display_string(subtree, hf_ansi_map_bcd_digits, tvb, offset, -1, ENC_KEYPAD_BC_TBCD, pinfo->pool, &digit_str);
1453             proto_item_append_text(actx->created_item, " - %s", digit_str);
1454             break;
1455         case 2:
1456             {
1457             const guint8* digits;
1458             /* IA5 Coding */
1459             octet_len = tvb_get_guint8(tvb,offset);
1460             proto_tree_add_item(subtree, hf_ansi_map_nr_digits, tvb, offset, 1, ENC_BIG_ENDIAN);
1461             if(octet_len == 0)
1462                 return;
1463             offset++;
1464             proto_tree_add_item_ret_string(subtree, hf_ansi_map_ia5_digits, tvb, offset, tvb_reported_length_remaining(tvb,offset),
1465                                             ENC_ASCII|ENC_NA, pinfo->pool, &digits);
1466             proto_item_append_text(actx->created_item, " - %s", digits);
1467             }
1468             break;
1469         case 3:
1470             /* Octet string */
1471             break;
1472         default:
1473             break;
1474         }
1475         break;
1476     case 1:/* ISDN Numbering (not used in this Standard). */
1477     case 3:/* Data Numbering (ITU-T Rec. X.121) (not used in this Standard). */
1478     case 4:/* Telex Numbering (ITU-T Rec. F.69) (not used in this Standard). */
1479     case 5:/* Maritime Mobile Numbering (not used in this Standard). */
1480         proto_tree_add_expert(subtree, pinfo, &ei_ansi_map_nr_not_used, tvb, offset, -1);
1481         break;
1482     case 2:/* Telephony Numbering (ITU-T Rec. E.164,E.163). */
1483     case 6:/* Land Mobile Numbering (ITU-T Rec. E.212) */
1484     case 7:/* Private Numbering Plan */
1485         octet_len = tvb_get_guint8(tvb,offset);
1486         proto_tree_add_item(subtree, hf_ansi_map_nr_digits, tvb, offset, 1, ENC_BIG_ENDIAN);
1487         if(octet_len == 0)
1488             return;
1489         offset++;
1490         switch ((octet&0xf)){
1491         case 1:
1492             /* BCD Coding */
1493             proto_tree_add_item_ret_display_string(subtree, hf_ansi_map_bcd_digits, tvb, offset, -1, ENC_KEYPAD_BC_TBCD, pinfo->pool, &digit_str);
1494             proto_item_append_text(actx->created_item, " - %s", digit_str);
1495             break;
1496         case 2:
1497             {
1498             const guint8* digits;
1499             /* IA5 Coding */
1500             proto_tree_add_item_ret_string(subtree, hf_ansi_map_ia5_digits, tvb, offset, tvb_reported_length_remaining(tvb,offset),
1501                                             ENC_ASCII|ENC_NA, pinfo->pool, &digits);
1502             proto_item_append_text(actx->created_item, " - %s", digits);
1503             }
1504             break;
1505         case 3:
1506             /* Octet string */
1507             break;
1508         default:
1509             break;
1510         }
1511         break;
1512     case 13:/* ANSI SS7 Point Code (PC) and Subsystem Number (SSN). */
1513         switch ((octet&0xf)){
1514         case 3:
1515             /* Octet string */
1516             /* Point Code Member Number octet 2 */
1517             b1 = tvb_get_guint8(tvb,offset);
1518             offset++;
1519             /* Point Code Cluster Number octet 3 */
1520             b2 = tvb_get_guint8(tvb,offset);
1521             offset++;
1522             /* Point Code Network Number octet 4 */
1523             b3 = tvb_get_guint8(tvb,offset);
1524             offset++;
1525             proto_tree_add_bytes_format_value(subtree, hf_ansi_map_point_code, tvb, offset-3, 3, NULL, "%u-%u-%u", b3, b2, b1);
1526             /* Subsystem Number (SSN) octet 5 */
1527             b4 = tvb_get_guint8(tvb,offset);
1528             proto_tree_add_item(subtree, hf_ansi_map_SSN, tvb, offset, 1, ENC_NA);
1529             proto_item_append_text(actx->created_item, " - Point Code %u-%u-%u  SSN %u", b3, b2, b1, b4);
1530             break;
1531         default:
1532             break;
1533         }
1534         break;
1535     case 14:/* Internet Protocol (IP) Address. */
1536         break;
1537     default:
1538         proto_tree_add_expert(subtree, pinfo, &ei_ansi_map_nr_not_used, tvb, offset, -1);
1539         break;
1540     }
1541 
1542 }
1543 /* 6.5.3.13. Subaddress */
1544 
1545 #if 0
1546 static const true_false_string ansi_map_Odd_Even_Ind_bool_val  = {
1547   "Odd",
1548   "Even"
1549 };
1550 #endif
1551 /* Type of Subaddress (octet 1, bits E-G) */
1552 static const value_string ansi_map_sub_addr_type_vals[]  = {
1553     {   0, "NSAP (CCITT Rec. X.213 or ISO 8348 AD2)"},
1554     {   1, "User specified"},
1555     {   2, "Reserved"},
1556     {   3, "Reserved"},
1557     {   4, "Reserved"},
1558     {   5, "Reserved"},
1559     {   6, "Reserved"},
1560     {   7, "Reserved"},
1561     {   0, NULL }
1562 };
1563 
1564 static void
dissect_ansi_map_subaddress(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)1565 dissect_ansi_map_subaddress(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1566     int offset = 0;
1567 
1568     proto_tree *subtree;
1569 
1570 
1571     subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
1572     /* Type of Subaddress (octet 1, bits E-G) */
1573     proto_tree_add_item(subtree, hf_ansi_map_subaddr_type, tvb, offset, 1, ENC_BIG_ENDIAN);
1574     /* Odd/Even Indicator (O/E) (octet 1, bit D) */
1575     proto_tree_add_item(subtree, hf_ansi_map_subaddr_odd_even, tvb, offset, 1, ENC_BIG_ENDIAN);
1576 
1577 }
1578 /*
1579  * 6.5.2.2 ActionCode
1580  * Table 114 ActionCode value
1581  *
1582  * 6.5.2.2 ActionCode(TIA/EIA-41.5-D, page 5-129) */
1583 
1584 static const value_string ansi_map_ActionCode_vals[]  = {
1585     {   0, "Not used"},
1586     {   1, "Continue processing"},
1587     {   2, "Disconnect call"},
1588     {   3, "Disconnect call leg"},
1589     {   4, "Conference Calling Drop Last Party"},
1590     {   5, "Bridge call leg(s) to conference call"},
1591     {   6, "Drop call leg on busy or routing failure"},
1592     {   7, "Disconnect all call legs"},
1593     {   8, "Attach MSC to OTAF"},
1594     {   9, "Initiate RegistrationNotification"},
1595     {  10, "Generate Public Encryption values"},
1596     {  11, "Generate A-key"},
1597     {  12, "Perform SSD Update procedure"},
1598     {  13, "Perform Re-authentication procedure"},
1599     {  14, "Release TRN"},
1600     {  15, "Commit A-key"},
1601     {  16, "Release Resources (e.g., A-key, Traffic Channel)"},
1602     {  17, "Record NEWMSID"},
1603     {  18, "Allocate Resources (e.g., Multiple message traffic channel delivery)."},
1604     {  19, "Generate Authentication Signature"},
1605     {  20, "Release leg and redirect subscriber"},
1606     {  21, "Do Not Wait For MS User Level Response"},
1607     {  22, "Prepare for CDMA Handset-Based Position Determination"},
1608     {  23, "CDMA Handset-Based Position Determination Complete"},
1609     {   0, NULL }
1610 };
1611 static value_string_ext ansi_map_ActionCode_vals_ext = VALUE_STRING_EXT_INIT(ansi_map_ActionCode_vals);
1612 
1613 /* 6.5.2.3 AlertCode */
1614 
1615 /* Pitch (octet 1, bits G-H) */
1616 static const value_string ansi_map_AlertCode_Pitch_vals[]  = {
1617     {   0, "Medium pitch"},
1618     {   1, "High pitch"},
1619     {   2, "Low pitch"},
1620     {   3, "Reserved"},
1621     {   0, NULL }
1622 };
1623 /* Cadence (octet 1, bits A-F) */
1624 static const value_string ansi_map_AlertCode_Cadence_vals[]  = {
1625     {   0, "NoTone"},
1626     {   1, "Long"},
1627     {   2, "ShortShort"},
1628     {   3, "ShortShortLong"},
1629     {   4, "ShortShort2"},
1630     {   5, "ShortLongShort"},
1631     {   6, "ShortShortShortShort"},
1632     {   7, "PBXLong"},
1633     {   8, "PBXShortShort"},
1634     {   9, "PBXShortShortLong"},
1635 
1636     {  10, "PBXShortLongShort"},
1637     {  11, "PBXShortShortShortShort"},
1638     {  12, "PipPipPipPip"},
1639     {  13, "Reserved. Treat the same as value 0, NoTone"},
1640     {  14, "Reserved. Treat the same as value 0, NoTone"},
1641     {  15, "Reserved. Treat the same as value 0, NoTone"},
1642     {  16, "Reserved. Treat the same as value 0, NoTone"},
1643     {  17, "Reserved. Treat the same as value 0, NoTone"},
1644     {  18, "Reserved. Treat the same as value 0, NoTone"},
1645     {  19, "Reserved. Treat the same as value 0, NoTone"},
1646     {   0, NULL }
1647 };
1648 
1649 /* Alert Action (octet 2, bits A-C) */
1650 static const value_string ansi_map_AlertCode_Alert_Action_vals[]  = {
1651     {   0, "Alert without waiting to report"},
1652     {   1, "Apply a reminder alert once"},
1653     {   2, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1654     {   3, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1655     {   4, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1656     {   5, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1657     {   6, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1658     {   7, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1659     {   0, NULL }
1660 };
1661 static void
dissect_ansi_map_alertcode(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)1662 dissect_ansi_map_alertcode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1663 
1664     int offset = 0;
1665 
1666     proto_tree *subtree;
1667 
1668 
1669     subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
1670     /* Pitch (octet 1, bits G-H) */
1671     proto_tree_add_item(subtree, hf_ansi_alertcode_pitch, tvb, offset, 1, ENC_BIG_ENDIAN);
1672     /* Cadence (octet 1, bits A-F) */
1673     proto_tree_add_item(subtree, hf_ansi_alertcode_cadence, tvb, offset, 1, ENC_BIG_ENDIAN);
1674     offset++;
1675 
1676     /* Alert Action (octet 2, bits A-C) */
1677     proto_tree_add_item(subtree, hf_ansi_alertcode_alertaction, tvb, offset, 1, ENC_BIG_ENDIAN);
1678 
1679 }
1680 /* 6.5.2.4 AlertResult */
1681 /* Result (octet 1) */
1682 static const value_string ansi_map_AlertResult_result_vals[]  = {
1683     {   0, "Not specified"},
1684     {   1, "Success"},
1685     {   2, "Failure"},
1686     {   3, "Denied"},
1687     {   4, "NotAttempted"},
1688     {   5, "NoPageResponse"},
1689     {   6, "Busy"},
1690     {   0, NULL }
1691 };
1692 
1693 /* 6.5.2.5 AnnouncementCode Updatef from NS0018Re*/
1694 /* Tone (octet 1) */
1695 static const value_string ansi_map_AnnouncementCode_tone_vals[]  = {
1696     {   0, "DialTone"},
1697     {   1, "RingBack or AudibleAlerting"},
1698     {   2, "InterceptTone or MobileReorder"},
1699     {   3, "CongestionTone or ReorderTone"},
1700     {   4, "BusyTone"},
1701     {   5, "ConfirmationTone"},
1702     {   6, "AnswerTone"},
1703     {   7, "CallWaitingTone"},
1704     {   8, "OffHookTone"},
1705     {  17, "RecallDialTone"},
1706     {  18, "BargeInTone"},
1707     {  20, "PPCInsufficientTone"},
1708     {  21, "PPCWarningTone1"},
1709     {  22, "PPCWarningTone2"},
1710     {  23, "PPCWarningTone3"},
1711     {  24, "PPCDisconnectTone"},
1712     {  25, "PPCRedirectTone"},
1713     {  63, "TonesOff"},
1714     { 192, "PipTone"},
1715     { 193, "AbbreviatedIntercept"},
1716     { 194, "AbbreviatedCongestion"},
1717     { 195, "WarningTone"},
1718     { 196, "DenialToneBurst"},
1719     { 197, "DialToneBurst"},
1720     { 250, "IncomingAdditionalCallTone"},
1721     { 251, "PriorityAdditionalCallTone"},
1722     {   0, NULL }
1723 };
1724 /* Class (octet 2, bits A-D) */
1725 static const value_string ansi_map_AnnouncementCode_class_vals[]  = {
1726     {   0, "Concurrent"},
1727     {   1, "Sequential"},
1728     {   0, NULL }
1729 };
1730 /* Standard Announcement (octet 3) Updated with N.S0015 */
1731 static const value_string ansi_map_AnnouncementCode_std_ann_vals[]  = {
1732     {   0, "None"},
1733     {   1, "UnauthorizedUser"},
1734     {   2, "InvalidESN"},
1735     {   3, "UnauthorizedMobile"},
1736     {   4, "SuspendedOrigination"},
1737     {   5, "OriginationDenied"},
1738     {   6, "ServiceAreaDenial"},
1739     {  16, "PartialDial"},
1740     {  17, "Require1Plus"},
1741     {  18, "Require1PlusNPA"},
1742     {  19, "Require0Plus"},
1743     {  20, "Require0PlusNPA"},
1744     {  21, "Deny1Plus"},
1745     {  22, "Unsupported10plus"},
1746     {  23, "Deny10plus"},
1747     {  24, "Unsupported10XXX"},
1748     {  25, "Deny10XXX"},
1749     {  26, "Deny10XXXLocally"},
1750     {  27, "Require10Plus"},
1751     {  28, "RequireNPA"},
1752     {  29, "DenyTollOrigination"},
1753     {  30, "DenyInternationalOrigination"},
1754     {  31, "Deny0Minus"},
1755     {  48, "DenyNumber"},
1756     {  49, "AlternateOperatorServices"},
1757     {  64, "No Circuit or AllCircuitsBusy or FacilityProblem"},
1758     {  65, "Overload"},
1759     {  66, "InternalOfficeFailure"},
1760     {  67, "NoWinkReceived"},
1761     {  68, "InterofficeLinkFailure"},
1762     {  69, "Vacant"},
1763     {  70, "InvalidPrefix or InvalidAccessCode"},
1764     {  71, "OtherDialingIrregularity"},
1765     {  80, "VacantNumber or DisconnectedNumber"},
1766     {  81, "DenyTermination"},
1767     {  82, "SuspendedTermination"},
1768     {  83, "ChangedNumber"},
1769     {  84, "InaccessibleSubscriber"},
1770     {  85, "DenyIncomingTol"},
1771     {  86, "RoamerAccessScreening"},
1772     {  87, "RefuseCall"},
1773     {  88, "RedirectCall"},
1774     {  89, "NoPageResponse"},
1775     {  90, "NoAnswer"},
1776     {  96, "RoamerIntercept"},
1777     {  97, "GeneralInformation"},
1778     { 112, "UnrecognizedFeatureCode"},
1779     { 113, "UnauthorizedFeatureCode"},
1780     { 114, "RestrictedFeatureCode"},
1781     { 115, "InvalidModifierDigits"},
1782     { 116, "SuccessfulFeatureRegistration"},
1783     { 117, "SuccessfulFeatureDeRegistration"},
1784     { 118, "SuccessfulFeatureActivation"},
1785     { 119, "SuccessfulFeatureDeActivation"},
1786     { 120, "InvalidForwardToNumber"},
1787     { 121, "CourtesyCallWarning"},
1788     { 128, "EnterPINSendPrompt"},
1789     { 129, "EnterPINPrompt"},
1790     { 130, "ReEnterPINSendPrompt"},
1791     { 131, "ReEnterPINPrompt"},
1792     { 132, "EnterOldPINSendPrompt"},
1793     { 133, "EnterOldPINPrompt"},
1794     { 134, "EnterNewPINSendPrompt"},
1795     { 135, "EnterNewPINPrompt"},
1796     { 136, "ReEnterNewPINSendPrompt"},
1797     { 137, "ReEnterNewPINPrompt"},
1798     { 138, "EnterPasswordPrompt"},
1799     { 139, "EnterDirectoryNumberPrompt"},
1800     { 140, "ReEnterDirectoryNumberPrompt"},
1801     { 141, "EnterFeatureCodePrompt"},
1802     { 142, "EnterEnterCreditCardNumberPrompt"},
1803     { 143, "EnterDestinationNumberPrompt"},
1804     { 152, "PPCInsufficientAccountBalance"},
1805     { 153, "PPCFiveMinuteWarning"},
1806     { 154, "PPCThreeMinuteWarning"},
1807     { 155, "PPCTwoMinuteWarning"},
1808     { 156, "PPCOneMinuteWarning"},
1809     { 157, "PPCDisconnect"},
1810     { 158, "PPCRedirect"},
1811     {   0, NULL }
1812 };
1813 
1814 
1815 
1816 static void
dissect_ansi_map_announcementcode(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)1817 dissect_ansi_map_announcementcode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1818 
1819     int offset = 0;
1820 
1821     proto_tree *subtree;
1822 
1823 
1824     subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
1825 
1826     /* Tone (octet 1) */
1827     proto_tree_add_item(subtree, hf_ansi_map_announcementcode_tone, tvb, offset, 1, ENC_BIG_ENDIAN);
1828     offset++;
1829     /* Class (octet 2, bits A-D) */
1830     proto_tree_add_item(subtree, hf_ansi_map_announcementcode_class, tvb, offset, 1, ENC_BIG_ENDIAN);
1831     offset++;
1832     /* Standard Announcement (octet 3) */
1833     proto_tree_add_item(subtree, hf_ansi_map_announcementcode_std_ann, tvb, offset, 1, ENC_BIG_ENDIAN);
1834     offset++;
1835     /* Custom Announcement ( octet 4 )
1836        e.       The assignment of this octet is left to bilateral agreement. When a Custom
1837        Announcement is specified it takes precedence over either the Standard
1838        Announcement or Tone
1839     */
1840     proto_tree_add_item(subtree, hf_ansi_map_announcementcode_cust_ann, tvb, offset, 1, ENC_BIG_ENDIAN);
1841 
1842 }
1843 /* 6.5.2.8 AuthenticationCapability Updated N.S0003*/
1844 static const value_string ansi_map_AuthenticationCapability_vals[]  = {
1845     {   0, "Not used"},
1846     {   1, "No authentication required"},
1847     {   2, "Authentication required"},
1848     { 128, "Authentication required and UIM capable."},
1849     {   0, NULL }
1850 };
1851 
1852 /* 6.5.2.14 AuthorizationPeriod*/
1853 
1854 /* Period (octet 1) */
1855 static const value_string ansi_map_authorizationperiod_period_vals[]  = {
1856     {   0, "Not used"},
1857     {   1, "Per Call"},
1858     {   2, "Hours"},
1859     {   3, "Days"},
1860     {   4, "Weeks"},
1861     {   5, "Per Agreement"},
1862     {   6, "Indefinite (i.e., authorized until canceled or deregistered)"},
1863     {   7, "Number of calls. Re-authorization should be attempted after this number of (rejected) call attempts"},
1864     {   0, NULL }
1865 };
1866 /* Value (octet 2)
1867 Number of minutes hours, days, weeks, or
1868 number of calls (as per Period). If Period
1869 indicates anything else the Value is set to zero
1870 on sending and ignored on receipt.
1871 */
1872 static void
dissect_ansi_map_authorizationperiod(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)1873 dissect_ansi_map_authorizationperiod(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1874 
1875     int offset = 0;
1876 
1877     proto_tree *subtree;
1878 
1879 
1880     subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
1881     proto_tree_add_item(subtree, hf_ansi_map_authorizationperiod_period, tvb, offset, 1, ENC_BIG_ENDIAN);
1882     offset++;
1883     proto_tree_add_item(subtree, hf_ansi_map_value, tvb, offset, 1, ENC_BIG_ENDIAN);
1884 
1885 }
1886 /* 6.5.2.15 AvailabilityType */
1887 static const value_string ansi_map_AvailabilityType_vals[]  = {
1888     {   0, "Not used"},
1889     {   1, "Unspecified MS inactivity type"},
1890     {   0, NULL }
1891 };
1892 
1893 /* 6.5.2.16 BillingID */
1894 static void
dissect_ansi_map_billingid(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)1895 dissect_ansi_map_billingid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1896 
1897     int offset = 0;
1898 
1899     proto_tree *subtree;
1900 
1901 
1902     subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
1903 
1904     proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, ENC_BIG_ENDIAN);
1905     offset = offset + 2;
1906     proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, ENC_BIG_ENDIAN);
1907     offset++;
1908     /* ID Number */
1909     proto_tree_add_item(subtree, hf_ansi_map_idno, tvb, offset, 3, ENC_BIG_ENDIAN);
1910     offset = offset + 3;
1911     proto_tree_add_item(subtree, hf_ansi_map_segcount, tvb, offset, 1, ENC_BIG_ENDIAN);
1912 
1913 }
1914 
1915 
1916 /* 6.5.2.20 CallingFeaturesIndicator */
1917 static const value_string ansi_map_FeatureActivity_vals[]  = {
1918     {   0, "Not used"},
1919     {   1, "Not authorized"},
1920     {   2, "Authorized but de-activated"},
1921     {   3, "Authorized and activated"},
1922     {   0, NULL }
1923 };
1924 
1925 
1926 static void
dissect_ansi_map_callingfeaturesindicator(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)1927 dissect_ansi_map_callingfeaturesindicator(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1928     int offset = 0;
1929     int length;
1930 
1931     proto_tree *subtree;
1932 
1933     length = tvb_reported_length_remaining(tvb,offset);
1934 
1935     subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
1936 
1937     /* Call Waiting: FeatureActivity, CW-FA (Octet 1 bits GH )          */
1938     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cwfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1939     /* Call Forwarding No Answer FeatureActivity, CFNA-FA (Octet 1 bits EF )    */
1940     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cfnafa, tvb, offset, 1, ENC_BIG_ENDIAN);
1941     /* Call Forwarding Busy FeatureActivity, CFB-FA (Octet 1 bits CD )  */
1942     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cfbfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1943     /* Call Forwarding Unconditional FeatureActivity, CFU-FA (Octet 1 bits AB ) */
1944     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cfufa, tvb, offset, 1, ENC_BIG_ENDIAN);
1945     offset++;
1946     length--;
1947 
1948     /* Call Transfer: FeatureActivity, CT-FA (Octet 2 bits GH )         */
1949     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_ctfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1950     /* Voice Privacy FeatureActivity, VP-FA (Octet 2 bits EF )  */
1951     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_vpfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1952     /* Call Delivery: FeatureActivity (not interpreted on reception by IS-41-C or later)
1953        CD-FA (Octet 2 bits CD )         */
1954     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cdfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1955     /* Three-Way Calling FeatureActivity, 3WC-FA (Octet 2 bits AB )     */
1956     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_3wcfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1957     offset++;
1958     length--;
1959 
1960 
1961     /* Calling Number Identification Restriction Override FeatureActivity CNIROver-FA (Octet 3 bits GH )        */
1962     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cniroverfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1963     /* Calling Number Identification Restriction: FeatureActivity CNIR-FA (Octet 3 bits EF )    */
1964     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cnirfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1965     /* Calling Number Identification Presentation: FeatureActivity CNIP2-FA (Octet 3 bits CD )  */
1966     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cnip2fa, tvb, offset, 1, ENC_BIG_ENDIAN);
1967     /* Calling Number Identification Presentation: FeatureActivity CNIP1-FA (Octet 3 bits AB )  */
1968     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cnip1fa, tvb, offset, 1, ENC_BIG_ENDIAN);
1969     length--;
1970     if ( length == 0)
1971         return;
1972     offset++;
1973 
1974     /* USCF divert to voice mail: FeatureActivity USCFvm-FA (Octet 4 bits GH )  */
1975     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_uscfvmfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1976     /* Answer Hold: FeatureActivity AH-FA (Octet 4 bits EF ) N.S0029-0 v1.0     */
1977     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_ahfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1978     /* Data Privacy Feature Activity DP-FA (Octet 4 bits CD ) N.S0008-0 v 1.0   */
1979     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_dpfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1980     /* Priority Call Waiting FeatureActivity PCW-FA (Octet 4 bits AB )  */
1981     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_pcwfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1982     length--;
1983     if ( length == 0)
1984         return;
1985     offset++;
1986 
1987     /* USCF divert to mobile station provided DN:FeatureActivity.USCFms-FA (Octet 5 bits AB ) */
1988     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_uscfmsfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1989     /* USCF divert to network registered DN:FeatureActivity. USCFnr-FA (Octet 5 bits CD )*/
1990     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_uscfnrfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1991     /* CDMA-Packet Data Service: FeatureActivity. CPDS-FA (Octet 5 bits EF ) N.S0029-0 v1.0*/
1992     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cpdsfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1993     /* CDMA-Concurrent Service:FeatureActivity. CCS-FA (Octet 5 bits GH ) N.S0029-0 v1.0*/
1994     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_ccsfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1995     length--;
1996     if ( length == 0)
1997         return;
1998     offset++;
1999 
2000     /* TDMA Enhanced Privacy and Encryption:FeatureActivity.TDMA EPE-FA (Octet 6 bits AB ) N.S0029-0 v1.0*/
2001     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_epefa, tvb, offset, 1, ENC_BIG_ENDIAN);
2002 }
2003 
2004 
2005 /* 6.5.2.27 CancellationType */
2006 static const value_string ansi_map_CancellationType_vals[]  = {
2007     {   0, "Not used"},
2008     {   1, "ServingSystemOption"},
2009     {   2, "ReportInCall."},
2010     {   3, "Discontinue"},
2011     {   0, NULL }
2012 };
2013 
2014 /* 6.5.2.29 CDMACallMode Updated with N.S0029-0 v1.0*/
2015 /* Call Mode (octet 1, bit A) */
2016 static const true_false_string ansi_map_CDMACallMode_cdma_bool_val  = {
2017   "CDMA 800 MHz channel (Band Class 0) acceptable.",
2018   "CDMA 800 MHz channel (Band Class 0) not acceptable"
2019 };
2020 /* Call Mode (octet 1, bit B) */
2021 static const true_false_string ansi_map_CallMode_amps_bool_val  = {
2022     "AAMPS 800 MHz channel acceptable",
2023     "AMPS 800 MHz channel not acceptable"
2024 };
2025 /* Call Mode (octet 1, bit C) */
2026 static const true_false_string ansi_map_CallMode_namps_bool_val  = {
2027     "NAMPS 800 MHz channel acceptable",
2028     "NAMPS 800 MHz channel not acceptable"
2029 };
2030 /* Call Mode (octet 1, bit D) */
2031 static const true_false_string ansi_map_CDMACallMode_cls1_bool_val  = {
2032     "CDMA 1900 MHz channel (Band Class 1) acceptable.",
2033     "CDMA 1900 MHz channel (Band Class 1) not acceptable"
2034 };
2035 /* Call Mode (octet 1, bit E) */
2036 static const true_false_string ansi_map_CDMACallMode_cls2_bool_val  = {
2037     "TACS channel (Band Class 2) acceptable",
2038     "TACS channel (Band Class 2) not acceptable"
2039 };
2040 /* Call Mode (octet 1, bit F) */
2041 static const true_false_string ansi_map_CDMACallMode_cls3_bool_val  = {
2042     "JTACS channel (Band Class 3) acceptable",
2043     "JTACS channel (Band Class 3) not acceptable"
2044 };
2045 /* Call Mode (octet 1, bit G) */
2046 static const true_false_string ansi_map_CDMACallMode_cls4_bool_val  = {
2047     "Korean PCS channel (Band Class 4) acceptable",
2048     "Korean PCS channel (Band Class 4) not acceptable"
2049 };
2050 /* Call Mode (octet 1, bit H) */
2051 static const true_false_string ansi_map_CDMACallMode_cls5_bool_val  = {
2052     "450 MHz channel (Band Class 5) acceptable",
2053     "450 MHz channel (Band Class 5) not acceptable"
2054 };
2055 /* Call Mode (octet 2, bit A) */
2056 static const true_false_string ansi_map_CDMACallMode_cls6_bool_val  = {
2057     "2 GHz channel (Band Class 6) acceptable.",
2058     "2 GHz channel (Band Class 6) not acceptable."
2059 };
2060 
2061 /* Call Mode (octet 2, bit B) */
2062 static const true_false_string ansi_map_CDMACallMode_cls7_bool_val  = {
2063     "700 MHz channel (Band Class 7) acceptable",
2064     "700 MHz channel (Band Class 7) not acceptable"
2065 };
2066 
2067 /* Call Mode (octet 2, bit C) */
2068 static const true_false_string ansi_map_CDMACallMode_cls8_bool_val  = {
2069     "1800 MHz channel (Band Class 8) acceptable",
2070     "1800 MHz channel (Band Class 8) not acceptable"
2071 };
2072 /* Call Mode (octet 2, bit D) */
2073 static const true_false_string ansi_map_CDMACallMode_cls9_bool_val  = {
2074     "900 MHz channel (Band Class 9) acceptable",
2075     "900 MHz channel (Band Class 9) not acceptable"
2076 };
2077 /* Call Mode (octet 2, bit E) */
2078 static const true_false_string ansi_map_CDMACallMode_cls10_bool_val  = {
2079     "Secondary 800 MHz channel (Band Class 10) acceptable.",
2080     "Secondary 800 MHz channel (Band Class 10) not acceptable."
2081 };
2082 
2083 static void
dissect_ansi_map_cdmacallmode(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)2084 dissect_ansi_map_cdmacallmode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2085     int offset = 0;
2086     int length;
2087 
2088     proto_tree *subtree;
2089 
2090     length = tvb_reported_length_remaining(tvb,offset);
2091 
2092 
2093     subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2094     /* Call Mode (octet 1, bit H) */
2095     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls5, tvb, offset, 1, ENC_BIG_ENDIAN);
2096     /* Call Mode (octet 1, bit G) */
2097     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls4, tvb, offset, 1, ENC_BIG_ENDIAN);
2098     /* Call Mode (octet 1, bit F) */
2099     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls3, tvb, offset, 1, ENC_BIG_ENDIAN);
2100     /* Call Mode (octet 1, bit E) */
2101     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls2, tvb, offset, 1, ENC_BIG_ENDIAN);
2102     /* Call Mode (octet 1, bit D) */
2103     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls1, tvb, offset, 1, ENC_BIG_ENDIAN);
2104     /* Call Mode (octet 1, bit C) */
2105     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_namps, tvb, offset, 1, ENC_BIG_ENDIAN);
2106     /* Call Mode (octet 1, bit B) */
2107     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_amps, tvb, offset, 1, ENC_BIG_ENDIAN);
2108     /* Call Mode (octet 1, bit A) */
2109     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cdma, tvb, offset, 1, ENC_BIG_ENDIAN);
2110 
2111     length--;
2112     if ( length == 0)
2113         return;
2114     offset++;
2115 
2116     /* Call Mode (octet 2, bit E) */
2117     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls10, tvb, offset, 1, ENC_BIG_ENDIAN);
2118     /* Call Mode (octet 2, bit D) */
2119     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls9, tvb, offset, 1, ENC_BIG_ENDIAN);
2120     /* Call Mode (octet 2, bit C) */
2121     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls8, tvb, offset, 1, ENC_BIG_ENDIAN);
2122     /* Call Mode (octet 2, bit B) */
2123     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls7, tvb, offset, 1, ENC_BIG_ENDIAN);
2124     /* Call Mode (octet 2, bit A) */
2125     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls6, tvb, offset, 1, ENC_BIG_ENDIAN);
2126 
2127 }
2128 /* 6.5.2.30 CDMAChannelData */
2129 /* Updated with N.S0010-0 v 1.0 */
2130 
2131 static const value_string ansi_map_cdmachanneldata_band_cls_vals[]  = {
2132     {   0, "800 MHz Cellular System"},
2133     {   0, NULL }
2134 };
2135 
2136 static void
dissect_ansi_map_cdmachanneldata(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)2137 dissect_ansi_map_cdmachanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2138 
2139     int offset = 0;
2140     int length;
2141 
2142     proto_tree *subtree;
2143 
2144     length = tvb_reported_length_remaining(tvb,offset);
2145 
2146 
2147     subtree = proto_item_add_subtree(actx->created_item, ett_cdmachanneldata);
2148 
2149     proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, ENC_BIG_ENDIAN);
2150     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_Frame_Offset, tvb, offset, 1, ENC_BIG_ENDIAN);
2151     /* CDMA Channel Number */
2152     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_CDMA_ch_no, tvb, offset, 2, ENC_BIG_ENDIAN);
2153     offset = offset + 2;
2154     length = length -2;
2155     /* Band Class */
2156     proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, ENC_BIG_ENDIAN);
2157     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_band_cls, tvb, offset, 1, ENC_BIG_ENDIAN);
2158     /* Long Code Mask */
2159     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b6, tvb, offset, 1, ENC_BIG_ENDIAN);
2160     offset++;
2161     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b5, tvb, offset, 1, ENC_BIG_ENDIAN);
2162     offset++;
2163     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b4, tvb, offset, 1, ENC_BIG_ENDIAN);
2164     offset++;
2165     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b3, tvb, offset, 1, ENC_BIG_ENDIAN);
2166     offset++;
2167     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b2, tvb, offset, 1, ENC_BIG_ENDIAN);
2168     offset++;
2169     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b1, tvb, offset, 1, ENC_BIG_ENDIAN);
2170     length = length - 6;
2171     if (length == 0)
2172         return;
2173     offset++;
2174     /* NP_EXT */
2175     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_np_ext, tvb, offset, 1, ENC_BIG_ENDIAN);
2176     /* Nominal Power */
2177     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_nominal_pwr, tvb, offset, 1, ENC_BIG_ENDIAN);
2178     /* Number Preamble */
2179     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_nr_preamble, tvb, offset, 1, ENC_BIG_ENDIAN);
2180 
2181 }
2182 /* 6.5.2.31 CDMACodeChannel */
2183 
2184 /* 6.5.2.41 CDMAStationClassMark */
2185 /* Power Class: (PC) (octet 1, bits A and B) */
2186 static const value_string ansi_map_CDMAStationClassMark_pc_vals[]  = {
2187     {   0, "Class I"},
2188     {   1, "Class II"},
2189     {   2, "Class III"},
2190     {   3, "Reserved"},
2191     {   0, NULL }
2192 };
2193 /* Analog Transmission: (DTX) (octet 1, bit C) */
2194 static const true_false_string ansi_map_CDMAStationClassMark_dtx_bool_val  = {
2195     "Discontinuous",
2196     "Continuous"
2197 };
2198 /* Slotted Mode Indicator: (SMI) (octet 1, bit F) */
2199 static const true_false_string ansi_map_CDMAStationClassMark_smi_bool_val  = {
2200     "Slotted capable",
2201     "Slotted incapable"
2202 };
2203 /* Dual-mode Indicator(DMI) (octet 1, bit G) */
2204 static const true_false_string ansi_map_CDMAStationClassMark_dmi_bool_val  = {
2205     "Dual-mode CDMA",
2206     "CDMA only"
2207 };
2208 
2209 
2210 static void
dissect_ansi_map_cdmastationclassmark(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)2211 dissect_ansi_map_cdmastationclassmark(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2212     int offset = 0;
2213 
2214     proto_tree *subtree;
2215 
2216 
2217     subtree = proto_item_add_subtree(actx->created_item, ett_cdmastationclassmark);
2218 
2219     proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, ENC_BIG_ENDIAN);
2220     /* Dual-mode Indicator(DMI) (octet 1, bit G) */
2221     proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_dmi, tvb, offset, 1, ENC_BIG_ENDIAN);
2222     /* Slotted Mode Indicator: (SMI) (octet 1, bit F) */
2223     proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_smi, tvb, offset, 1, ENC_BIG_ENDIAN);
2224     proto_tree_add_item(subtree, hf_ansi_map_reservedBitED, tvb, offset, 1, ENC_BIG_ENDIAN);
2225     /* Analog Transmission: (DTX) (octet 1, bit C) */
2226     proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_dtx, tvb, offset, 1, ENC_BIG_ENDIAN);
2227     /* Power Class: (PC) (octet 1, bits A and B) */
2228     proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_pc, tvb, offset, 1, ENC_BIG_ENDIAN);
2229 }
2230 /* 6.5.2.47 ChannelData */
2231 /* Discontinuous Transmission Mode (DTX) (octet 1, bits E and D) */
2232 static const value_string ansi_map_ChannelData_dtx_vals[]  = {
2233     {   0, "DTX disabled"},
2234     {   1, "Reserved. Treat the same as value 00, DTX disabled."},
2235     {   2, "DTX-low mode"},
2236     {   3, "DTX mode active or acceptable"},
2237     {   0, NULL }
2238 };
2239 
2240 
2241 static void
dissect_ansi_map_channeldata(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)2242 dissect_ansi_map_channeldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2243     int offset = 0;
2244 
2245     proto_tree *subtree;
2246 
2247 
2248     subtree = proto_item_add_subtree(actx->created_item, ett_channeldata);
2249 
2250     /* SAT Color Code (SCC) (octet 1, bits H and G) */
2251     proto_tree_add_item(subtree, hf_ansi_map_channeldata_scc, tvb, offset, 1, ENC_BIG_ENDIAN);
2252     /* Discontinuous Transmission Mode (DTX) (octet 1, bits E and D) */
2253     proto_tree_add_item(subtree, hf_ansi_map_channeldata_dtx, tvb, offset, 1, ENC_BIG_ENDIAN);
2254     /* Voice Mobile Attenuation Code (VMAC) (octet 1, bits A - C)*/
2255     proto_tree_add_item(subtree, hf_ansi_map_channeldata_vmac, tvb, offset, 1, ENC_BIG_ENDIAN);
2256 
2257     offset++;
2258     /* Channel Number (CHNO) ( octet 2 and 3 ) */
2259     proto_tree_add_item(subtree, hf_ansi_map_channeldata_chno, tvb, offset, 2, ENC_BIG_ENDIAN);
2260 
2261 }
2262 
2263 /* 6.5.2.50 ConfidentialityModes */
2264 /* Updated with N.S0008-0 v 1.0*/
2265 /* Voice Privacy (VP) Confidentiality Status (octet 1, bit A) */
2266 
2267 static const true_false_string ansi_map_ConfidentialityModes_bool_val  = {
2268     "On",
2269     "Off"
2270 };
2271 static void
dissect_ansi_map_confidentialitymodes(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)2272 dissect_ansi_map_confidentialitymodes(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2273     int offset = 0;
2274 
2275     proto_tree *subtree;
2276 
2277 
2278     subtree = proto_item_add_subtree(actx->created_item, ett_confidentialitymodes);
2279 
2280     /* DataPrivacy (DP) Confidentiality Status (octet 1, bit C) */
2281     proto_tree_add_item(subtree, hf_ansi_map_ConfidentialityModes_dp, tvb, offset, 1, ENC_BIG_ENDIAN);
2282     /* Signaling Message Encryption (SE) Confidentiality Status (octet 1, bit B) */
2283     proto_tree_add_item(subtree, hf_ansi_map_ConfidentialityModes_se, tvb, offset, 1, ENC_BIG_ENDIAN);
2284     /* Voice Privacy (VP) Confidentiality Status (octet 1, bit A) */
2285     proto_tree_add_item(subtree, hf_ansi_map_ConfidentialityModes_vp, tvb, offset, 1, ENC_BIG_ENDIAN);
2286 
2287 }
2288 
2289 /* 6.5.2.51 ControlChannelData */
2290 
2291 /* Digital Color Code (DCC) (octet 1, bit H and G) */
2292 /* Control Mobile Attenuation Code (CMAC) (octet 1, bit A - C) */
2293 /* Channel Number (CHNO) ( octet 2 and 3 ) */
2294 /* Supplementary Digital Color Codes (SDCC1 and SDCC2) */
2295 /* SDCC1 ( octet 4, bit D and C )*/
2296 /* SDCC2 ( octet 4, bit A and B )*/
2297 
2298 static void
dissect_ansi_map_controlchanneldata(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)2299 dissect_ansi_map_controlchanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2300     int offset = 0;
2301 
2302     proto_tree *subtree;
2303 
2304 
2305     subtree = proto_item_add_subtree(actx->created_item, ett_controlchanneldata);
2306 
2307     /* Digital Color Code (DCC) (octet 1, bit H and G) */
2308     proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_dcc, tvb, offset, 1, ENC_BIG_ENDIAN);
2309     proto_tree_add_item(subtree, hf_ansi_map_reservedBitFED, tvb, offset, 1, ENC_BIG_ENDIAN);
2310     /* Control Mobile Attenuation Code (CMAC) (octet 1, bit A - C) */
2311     proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_cmac, tvb, offset, 1, ENC_BIG_ENDIAN);
2312     offset++;
2313     /* Channel Number (CHNO) ( octet 2 and 3 ) */
2314     proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_chno, tvb, offset, 2, ENC_BIG_ENDIAN);
2315     /* Supplementary Digital Color Codes (SDCC1 and SDCC2) */
2316     offset = offset +2;
2317     /* SDCC1 ( octet 4, bit D and C )*/
2318     proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_sdcc1, tvb, offset, 1, ENC_BIG_ENDIAN);
2319     proto_tree_add_item(subtree, hf_ansi_map_reservedBitHGFE, tvb, offset, 1, ENC_BIG_ENDIAN);
2320     /* SDCC2 ( octet 4, bit A and B )*/
2321     proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_sdcc2, tvb, offset, 1, ENC_BIG_ENDIAN);
2322 
2323 }
2324 
2325 /* 6.5.2.52 CountUpdateReport */
2326 static const value_string ansi_map_CountUpdateReport_vals[]  = {
2327     {   0, "Class I"},
2328     {   1, "Class II"},
2329     {   2, "Class III"},
2330     {   3, "Reserved"},
2331     {   0, NULL }
2332 };
2333 
2334 /* 6.5.2.53 DeniedAuthorizationPeriod */
2335 /* Period (octet 1) */
2336 static const value_string ansi_map_deniedauthorizationperiod_period_vals[]  = {
2337     {   0, "Not used"},
2338     {   1, "Per Call. Re-authorization should be attempted on the next call attempt"},
2339     {   2, "Hours"},
2340     {   3, "Days"},
2341     {   4, "Weeks"},
2342     {   5, "Per Agreement"},
2343     {   6, "Reserved"},
2344     {   7, "Number of calls. Re-authorization should be attempted after this number of (rejected) call attempts"},
2345     {   8, "Minutes"},
2346     {   0, NULL }
2347 };
2348 /* Value (octet 2)
2349 Number of minutes hours, days, weeks, or
2350 number of calls (as per Period). If Period
2351 indicates anything else the Value is set to zero
2352 on sending and ignored on receipt.
2353 */
2354 
2355 static void
dissect_ansi_map_deniedauthorizationperiod(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)2356 dissect_ansi_map_deniedauthorizationperiod(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2357 
2358     int offset = 0;
2359 
2360     proto_tree *subtree;
2361 
2362 
2363     subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
2364     proto_tree_add_item(subtree, hf_ansi_map_deniedauthorizationperiod_period, tvb, offset, 1, ENC_BIG_ENDIAN);
2365     offset++;
2366     proto_tree_add_item(subtree, hf_ansi_map_value, tvb, offset, 1, ENC_BIG_ENDIAN);
2367 
2368 }
2369 
2370 
2371 /* 6.5.2.57 DigitCollectionControl */
2372 /* TODO Add decoding here */
2373 
2374 /* 6.5.2.64 ExtendedMSCID */
2375 static const value_string ansi_map_msc_type_vals[]  = {
2376     {   0, "Not specified"},
2377     {   1, "Serving MSC"},
2378     {   2, "Home MSC"},
2379     {   3, "Gateway MSC"},
2380     {   4, "HLR"},
2381     {   5, "VLR"},
2382     {   6, "EIR (reserved)"},
2383     {   7, "AC"},
2384     {   8, "Border MSC"},
2385     {   9, "Originating MSC"},
2386     {   0, NULL }
2387 };
2388 
2389 static void
dissect_ansi_map_extendedmscid(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)2390 dissect_ansi_map_extendedmscid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2391 
2392     int offset = 0;
2393 
2394     proto_tree *subtree;
2395 
2396 
2397     subtree = proto_item_add_subtree(actx->created_item, ett_extendedmscid);
2398     /* Type (octet 1) */
2399     proto_tree_add_item(subtree, hf_ansi_map_msc_type, tvb, offset, 1, ENC_BIG_ENDIAN);
2400     offset++;
2401     proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, ENC_BIG_ENDIAN);
2402     offset = offset + 2;
2403     proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, ENC_BIG_ENDIAN);
2404 
2405 }
2406 /* 6.5.2.65 ExtendedSystemMyTypeCode */
2407 static void
dissect_ansi_map_extendedsystemmytypecode(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx)2408 dissect_ansi_map_extendedsystemmytypecode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx){
2409 
2410     int offset = 0;
2411 
2412     proto_tree *subtree;
2413 
2414 
2415     subtree = proto_item_add_subtree(actx->created_item, ett_extendedsystemmytypecode);
2416     /* Type (octet 1) */
2417     proto_tree_add_item(subtree, hf_ansi_map_msc_type, tvb, offset, 1, ENC_BIG_ENDIAN);
2418     offset++;
2419     dissect_ansi_map_SystemMyTypeCode(TRUE, tvb, offset, actx, subtree, hf_ansi_map_systemMyTypeCode);
2420 }
2421 
2422 
2423 /* 6.5.2.68 GeographicAuthorization */
2424 /* Geographic Authorization (octet 1) */
2425 static const value_string ansi_map_GeographicAuthorization_vals[]  = {
2426     {   0, "Not used"},
2427     {   1, "Authorized for all MarketIDs served by the VLR"},
2428     {   2, "Authorized for this MarketID only"},
2429     {   3, "Authorized for this MarketID and Switch Number only"},
2430     {   4, "Authorized for this LocationAreaID within a MarketID only"},
2431     {   5, "VLR"},
2432     {   6, "EIR (reserved)"},
2433     {   7, "AC"},
2434     {   8, "Border MSC"},
2435     {   9, "Originating MSC"},
2436     {   0, NULL }
2437 };
2438 
2439 /* 6.5.2.71 HandoffState */
2440 /* Party Involved (PI) (octet 1, bit A) */
2441 static const true_false_string ansi_map_HandoffState_pi_bool_val  = {
2442     "Terminator is handing off",
2443     "Originator is handing off"
2444 };
2445 static void
dissect_ansi_map_handoffstate(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)2446 dissect_ansi_map_handoffstate(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2447 
2448     int offset = 0;
2449 
2450     proto_tree *subtree;
2451 
2452 
2453     subtree = proto_item_add_subtree(actx->created_item, ett_handoffstate);
2454     /* Party Involved (PI) (octet 1, bit A) */
2455     proto_tree_add_item(subtree, hf_ansi_map_handoffstate_pi, tvb, offset, 1, ENC_BIG_ENDIAN);
2456 }
2457 
2458 /* 6.5.2.72 InterMSCCircuitID */
2459 /* Trunk Member Number (M) Octet2 */
2460 static void
dissect_ansi_map_intermsccircuitid(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)2461 dissect_ansi_map_intermsccircuitid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2462 
2463     int offset = 0;
2464 
2465     proto_tree *subtree;
2466     guint8 octet, octet2;
2467 
2468 
2469     subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
2470     /* Trunk Group Number (G) Octet 1 */
2471     octet = tvb_get_guint8(tvb,offset);
2472     proto_tree_add_item(subtree, hf_ansi_map_tgn, tvb, offset, 1, ENC_BIG_ENDIAN);
2473     offset++;
2474     /* Trunk Member Number (M) Octet2 */
2475     octet2 = tvb_get_guint8(tvb,offset);
2476     proto_tree_add_item(subtree, hf_ansi_map_tmn, tvb, offset, 1, ENC_BIG_ENDIAN);
2477     proto_item_append_text(actx->created_item, " (G %u/M %u)", octet, octet2);
2478 }
2479 
2480 /* 6.5.2.78 MessageWaitingNotificationCount */
2481 /* Type of messages (octet 1) */
2482 static const value_string ansi_map_MessageWaitingNotificationCount_type_vals[]  = {
2483     {   0, "Voice messages"},
2484     {   1, "Short Message Services (SMS) messages"},
2485     {   2, "Group 3 (G3) Fax messages"},
2486     {   0, NULL }
2487 };
2488 
2489 static void
dissect_ansi_map_messagewaitingnotificationcount(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)2490 dissect_ansi_map_messagewaitingnotificationcount(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2491 
2492     int offset = 0;
2493 
2494     proto_tree *subtree;
2495 
2496 
2497     subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
2498     /* Type of messages (octet 1) */
2499     proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationcount_tom, tvb, offset, 1, ENC_BIG_ENDIAN);
2500     offset++;
2501     /* Number of Messages Waiting (octet 2) */
2502     proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationcount_no_mw, tvb, offset, 1, ENC_BIG_ENDIAN);
2503 
2504 }
2505 
2506 #if 0
2507 /* 6.5.2.79 MessageWaitingNotificationType */
2508 /* Pip Tone (PT) (octet 1, bit A) */
2509 static const true_false_string ansi_map_MessageWaitingNotificationType_pt_bool_val  = {
2510     "Pip Tone (PT) notification is required",
2511     "Pip Tone (PT) notification is not authorized or no notification is required"
2512 };
2513 #endif
2514 #if 0
2515 /* Alert Pip Tone (APT) (octet 1, bit B) */
2516 static const true_false_string ansi_map_MessageWaitingNotificationType_apt_bool_val  = {
2517     "Alert Pip Tone (APT) notification is required",
2518     "Alert Pip Tone (APT) notification is not authorized or notification is not required"
2519 };
2520 #endif
2521 /* Message Waiting Indication (MWI) (octet 1, bits C and D) */
2522 static const value_string ansi_map_MessageWaitingNotificationType_mwi_vals[]  = {
2523     {   0, "No MWI. Message Waiting Indication (MWI) notification is not authorized or notification is not required"},
2524     {   1, "Reserved"},
2525     {   2, "MWI On. Message Waiting Indication (MWI) notification is required. Messages waiting"},
2526     {   3, "MWI Off. Message Waiting Indication (MWI) notification is required. No messages waiting"},
2527     {   0, NULL }
2528 };
2529 
2530 static void
dissect_ansi_map_messagewaitingnotificationtype(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)2531 dissect_ansi_map_messagewaitingnotificationtype(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2532 
2533     int offset = 0;
2534 
2535     proto_tree *subtree;
2536 
2537 
2538     subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
2539 
2540     /* Message Waiting Indication (MWI) (octet 1, bits C and D) */
2541     proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationtype_mwi, tvb, offset, 1, ENC_BIG_ENDIAN);
2542     /* Alert Pip Tone (APT) (octet 1, bit B) */
2543     proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationtype_apt, tvb, offset, 1, ENC_BIG_ENDIAN);
2544     /* Pip Tone (PT) (octet 1, bit A) */
2545     proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationtype_pt, tvb, offset, 1, ENC_BIG_ENDIAN);
2546 }
2547 
2548 /* 6.5.2.81 MobileIdentificationNumber */
2549 
2550 /* 6.5.2.82 MSCID */
2551 
2552 static void
dissect_ansi_map_mscid(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)2553 dissect_ansi_map_mscid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2554     int offset = 0;
2555 
2556     proto_tree *subtree;
2557 
2558 
2559     subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2560 
2561     proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, ENC_BIG_ENDIAN);
2562     offset = offset + 2;
2563     proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, ENC_BIG_ENDIAN);
2564 }
2565 
2566 
2567 /* 6.5.2.84 MSLocation */
2568 static void
dissect_ansi_map_mslocation(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)2569 dissect_ansi_map_mslocation(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2570     int offset = 0;
2571 
2572     proto_tree *subtree;
2573 
2574 
2575     subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2576 
2577     /* Latitude in tenths of a second octet 1 - 3 */
2578     proto_tree_add_item(subtree, hf_ansi_map_mslocation_lat, tvb, offset, 3, ENC_BIG_ENDIAN);
2579     offset = offset + 3;
2580     /* Longitude in tenths of a second octet 4 - 6 */
2581     proto_tree_add_item(subtree, hf_ansi_map_mslocation_long, tvb, offset, 3, ENC_BIG_ENDIAN);
2582     offset = offset + 3;
2583     /* Resolution in units of 1 foot octet 7, octet 8 optional */
2584     proto_tree_add_item(subtree, hf_ansi_map_mslocation_res, tvb, offset, -1, ENC_BIG_ENDIAN);
2585 
2586 }
2587 /* 6.5.2.85 NAMPSCallMode */
2588 static void
dissect_ansi_map_nampscallmode(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)2589 dissect_ansi_map_nampscallmode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2590     int offset = 0;
2591     proto_tree *subtree;
2592 
2593 
2594     subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2595 
2596     /* Call Mode (octet 1, bits A and B) */
2597     proto_tree_add_item(subtree, hf_ansi_map_nampscallmode_amps, tvb, offset, 1, ENC_BIG_ENDIAN);
2598     proto_tree_add_item(subtree, hf_ansi_map_nampscallmode_namps, tvb, offset, 1, ENC_BIG_ENDIAN);
2599 }
2600 
2601 /* 6.5.2.86 NAMPSChannelData */
2602 /* Narrow Analog Voice Channel Assignment (NAVCA) (octet 1, bits A and B) */
2603 static const value_string ansi_map_NAMPSChannelData_navca_vals[]  = {
2604     {   0, "Wide. 30 kHz AMPS voice channel"},
2605     {   1, "Upper. 10 kHz NAMPS voice channel"},
2606     {   2, "Middle. 10 kHz NAMPS voice channel"},
2607     {   3, "Lower. 10 kHz NAMPS voice channel"},
2608     {   0, NULL }
2609 };
2610 /* Color Code Indicator (CCIndicator) (octet 1, bits C, D, and E) */
2611 static const value_string ansi_map_NAMPSChannelData_ccinidicator_vals[]  = {
2612     {   0, "ChannelData parameter SCC field applies"},
2613     {   1, "Digital SAT Color Code 1 (ignore SCC field)"},
2614     {   2, "Digital SAT Color Code 2 (ignore SCC field)"},
2615     {   3, "Digital SAT Color Code 3 (ignore SCC field)"},
2616     {   4, "Digital SAT Color Code 4 (ignore SCC field)"},
2617     {   5, "Digital SAT Color Code 5 (ignore SCC field)"},
2618     {   6, "Digital SAT Color Code 6 (ignore SCC field)"},
2619     {   7, "Digital SAT Color Code 7 (ignore SCC field)"},
2620     {   0, NULL }
2621 };
2622 
2623 
2624 
2625 static void
dissect_ansi_map_nampschanneldata(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)2626 dissect_ansi_map_nampschanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2627     int offset = 0;
2628     proto_tree *subtree;
2629 
2630 
2631     subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2632 
2633     /* Color Code Indicator (CCIndicator) (octet 1, bits C, D, and E) */
2634     proto_tree_add_item(subtree, hf_ansi_map_nampschanneldata_CCIndicator, tvb, offset, 1, ENC_BIG_ENDIAN);
2635     /* Narrow Analog Voice Channel Assignment (NAVCA) (octet 1, bits A and B) */
2636     proto_tree_add_item(subtree, hf_ansi_map_nampschanneldata_navca, tvb, offset, 1, ENC_BIG_ENDIAN);
2637 
2638 }
2639 
2640 #if 0
2641 /* 6.5.2.88 OneTimeFeatureIndicator */
2642 /* updated with N.S0012 */
2643 /* Call Waiting for Future Incoming Call (CWFI) (octet 1, bits A and B) */
2644 /* Call Waiting for Incoming Call (CWIC) (octet 1, bits C and D) */
2645 
2646 static const value_string ansi_map_onetimefeatureindicator_cw_vals[]  = {
2647     {   0, "Ignore"},
2648     {   1, "No CW"},
2649     {   2, "Normal CW"},
2650     {   3, "Priority CW"},
2651     {   0, NULL }
2652 };
2653 #endif
2654 #if 0
2655 /* MessageWaitingNotification (MWN) (octet 1, bits E and F) */
2656 static const value_string ansi_map_onetimefeatureindicator_mwn_vals[]  = {
2657     {   0, "Ignore"},
2658     {   1, "Pip Tone Inactive"},
2659     {   2, "Pip Tone Active"},
2660     {   3, "Reserved"},
2661     {   0, NULL }
2662 };
2663 #endif
2664 #if 0
2665 /* Calling Number Identification Restriction (CNIR) (octet 1, bits G and H)*/
2666 static const value_string ansi_map_onetimefeatureindicator_cnir_vals[]  = {
2667     {   0, "Ignore"},
2668     {   1, "CNIR Inactive"},
2669     {   2, "CNIR Active"},
2670     {   3, "Reserved"},
2671     {   0, NULL }
2672 };
2673 #endif
2674 
2675 #if 0
2676 /* Priority Access and Channel Assignment (PACA) (octet 2, bits A and B)*/
2677 static const value_string ansi_map_onetimefeatureindicator_paca_vals[]  = {
2678     {   0, "Ignore"},
2679     {   1, "PACA Demand Inactive"},
2680     {   2, "PACA Demand Activated"},
2681     {   3, "Reserved"},
2682     {   0, NULL }
2683 };
2684 #endif
2685 
2686 #if 0
2687 /* Flash Privileges (Flash) (octet 2, bits C and D) */
2688 static const value_string ansi_map_onetimefeatureindicator_flash_vals[]  = {
2689     {   0, "Ignore"},
2690     {   1, "Flash Inactive"},
2691     {   2, "Flash Active"},
2692     {   3, "Reserved"},
2693     {   0, NULL }
2694 };
2695 #endif
2696 #if 0
2697 /* Calling Name Restriction (CNAR) (octet 2, bits E and F) */
2698 static const value_string ansi_map_onetimefeatureindicator_cnar_vals[]  = {
2699     {   0, "Ignore"},
2700     {   1, "Presentation Allowed"},
2701     {   2, "Presentation Restricted."},
2702     {   3, "Blocking Toggle"},
2703     {   0, NULL }
2704 };
2705 #endif
2706 static void
dissect_ansi_map_onetimefeatureindicator(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)2707 dissect_ansi_map_onetimefeatureindicator(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2708     /*
2709     int offset = 0;
2710     proto_tree *subtree;
2711 
2712 
2713     subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2714     */
2715     /* Calling Number Identification Restriction (CNIR) (octet 1, bits G and H)*/
2716     /* MessageWaitingNotification (MWN) (octet 1, bits E and F) */
2717     /* Call Waiting for Incoming Call (CWIC) (octet 1, bits C and D) */
2718     /* Call Waiting for Future Incoming Call (CWFI) (octet 1, bits A and B) */
2719     /*offset++;*/
2720     /* Calling Name Restriction (CNAR) (octet 2, bits E and F) */
2721     /* Flash Privileges (Flash) (octet 2, bits C and D) */
2722     /* Priority Access and Channel Assignment (PACA) (octet 2, bits A and B)*/
2723 
2724 
2725 }
2726 
2727 /* 6.5.2.90 OriginationTriggers */
2728 /* All Origination (All) (octet 1, bit A) */
2729 static const true_false_string ansi_map_originationtriggers_all_bool_val  = {
2730     "Launch an OriginationRequest for any call attempt. This overrides all other values",
2731     "Trigger is not active"
2732 };
2733 
2734 /* Local (octet 1, bit B) */
2735 static const true_false_string ansi_map_originationtriggers_local_bool_val  = {
2736     "Launch an OriginationRequest for any local call attempt",
2737     "Trigger is not active"
2738 };
2739 
2740 /* Intra-LATA Toll (ILATA) (octet 1, bit C) */
2741 static const true_false_string ansi_map_originationtriggers_ilata_bool_val  = {
2742     "Launch an OriginationRequest for any intra-LATA call attempt",
2743     "Trigger is not active"
2744 };
2745 /* Inter-LATA Toll (OLATA) (octet 1, bit D) */
2746 static const true_false_string ansi_map_originationtriggers_olata_bool_val  = {
2747     "Launch an OriginationRequest for any inter-LATA toll call attempt",
2748     "Trigger is not active"
2749 };
2750 /* International (Int'l ) (octet 1, bit E) */
2751 static const true_false_string ansi_map_originationtriggers_int_bool_val  = {
2752     "Launch an OriginationRequest for any international call attempt",
2753     "Trigger is not active"
2754 };
2755 /* World Zone (WZ) (octet 1, bit F) */
2756 static const true_false_string ansi_map_originationtriggers_wz_bool_val  = {
2757     "Launch an OriginationRequest for any call attempt outside of the current World Zone (as defined in ITU-T Rec. E.164)",
2758     "Trigger is not active"
2759 };
2760 
2761 /* Unrecognized Number (Unrec) (octet 1, bit G) */
2762 static const true_false_string ansi_map_originationtriggers_unrec_bool_val  = {
2763     "Launch an OriginationRequest for any call attempt to an unrecognized number",
2764     "Trigger is not active"
2765 };
2766 /* Revertive Call (RvtC) (octet 1, bit H)*/
2767 static const true_false_string ansi_map_originationtriggers_rvtc_bool_val  = {
2768     "Launch an OriginationRequest for any Revertive Call attempt",
2769     "Trigger is not active"
2770 };
2771 
2772 /* Star (octet 2, bit A) */
2773 static const true_false_string ansi_map_originationtriggers_star_bool_val  = {
2774     "Launch an OriginationRequest for any number beginning with a Star '*' digit",
2775     "Trigger is not active"
2776 };
2777 
2778 /* Double Star (DS) (octet 2, bit B) */
2779 static const true_false_string ansi_map_originationtriggers_ds_bool_val  = {
2780     "Launch an OriginationRequest for any number beginning with two Star '**' digits",
2781     "Trigger is not active"
2782 };
2783 /* Pound (octet 2, bit C) */
2784 static const true_false_string ansi_map_originationtriggers_pound_bool_val  = {
2785     "Launch an OriginationRequest for any number beginning with a Pound '#' digit",
2786     "Trigger is not active"
2787 };
2788 /* Double Pound (DP) (octet 2, bit D) */
2789 static const true_false_string ansi_map_originationtriggers_dp_bool_val  = {
2790     "Launch an OriginationRequest for any number beginning with two Pound '##' digits",
2791     "Trigger is not active"
2792 };
2793 /* Prior Agreement (PA) (octet 2, bit E) */
2794 static const true_false_string ansi_map_originationtriggers_pa_bool_val  = {
2795     "Launch an OriginationRequest for any number matching a criteria of a prior agreement",
2796     "Trigger is not active"
2797 };
2798 
2799 /* No digits (octet 3, bit A) */
2800 static const true_false_string ansi_map_originationtriggers_nodig_bool_val  = {
2801     "Launch an OriginationRequest for any call attempt with no digits",
2802     "Trigger is not active"
2803 };
2804 
2805 /* 1 digit (octet 3, bit B) */
2806 static const true_false_string ansi_map_originationtriggers_onedig_bool_val  = {
2807     "Launch an OriginationRequest for any call attempt with 1 digit",
2808     "Trigger is not active"
2809 };
2810 /* 1 digit (octet 3, bit C) */
2811 static const true_false_string ansi_map_originationtriggers_twodig_bool_val  = {
2812     "Launch an OriginationRequest for any call attempt with 2 digits",
2813     "Trigger is not active"
2814 };
2815 /* 1 digit (octet 3, bit D) */
2816 static const true_false_string ansi_map_originationtriggers_threedig_bool_val  = {
2817     "Launch an OriginationRequest for any call attempt with 3 digits",
2818     "Trigger is not active"
2819 };
2820 /* 1 digit (octet 3, bit E) */
2821 static const true_false_string ansi_map_originationtriggers_fourdig_bool_val  = {
2822     "Launch an OriginationRequest for any call attempt with 4 digits",
2823     "Trigger is not active"
2824 };
2825 /* 1 digit (octet 3, bit F) */
2826 static const true_false_string ansi_map_originationtriggers_fivedig_bool_val  = {
2827     "Launch an OriginationRequest for any call attempt with 5 digits",
2828     "Trigger is not active"
2829 };
2830 /* 1 digit (octet 3, bit G) */
2831 static const true_false_string ansi_map_originationtriggers_sixdig_bool_val  = {
2832     "Launch an OriginationRequest for any call attempt with 6 digits",
2833     "Trigger is not active"
2834 };
2835 /* 1 digit (octet 3, bit H) */
2836 static const true_false_string ansi_map_originationtriggers_sevendig_bool_val  = {
2837     "Launch an OriginationRequest for any call attempt with 7 digits",
2838     "Trigger is not active"
2839 };
2840 /* 1 digit (octet 4, bit A) */
2841 static const true_false_string ansi_map_originationtriggers_eightdig_bool_val  = {
2842     "Launch an OriginationRequest for any call attempt with 8 digits",
2843     "Trigger is not active"
2844 };
2845 /* 1 digit (octet 4, bit B) */
2846 static const true_false_string ansi_map_originationtriggers_ninedig_bool_val  = {
2847     "Launch an OriginationRequest for any call attempt with 9 digits",
2848     "Trigger is not active"
2849 };
2850 /* 1 digit (octet 4, bit C) */
2851 static const true_false_string ansi_map_originationtriggers_tendig_bool_val  = {
2852     "Launch an OriginationRequest for any call attempt with 10 digits",
2853     "Trigger is not active"
2854 };
2855 /* 1 digit (octet 4, bit D) */
2856 static const true_false_string ansi_map_originationtriggers_elevendig_bool_val  = {
2857     "Launch an OriginationRequest for any call attempt with 11 digits",
2858     "Trigger is not active"
2859 };
2860 /* 1 digit (octet 4, bit E) */
2861 static const true_false_string ansi_map_originationtriggers_twelvedig_bool_val  = {
2862     "Launch an OriginationRequest for any call attempt with 12 digits",
2863     "Trigger is not active"
2864 };
2865 /* 1 digit (octet 4, bit F) */
2866 static const true_false_string ansi_map_originationtriggers_thirteendig_bool_val  = {
2867     "Launch an OriginationRequest for any call attempt with 13 digits",
2868     "Trigger is not active"
2869 };
2870 /* 1 digit (octet 4, bit G) */
2871 static const true_false_string ansi_map_originationtriggers_fourteendig_bool_val  = {
2872     "Launch an OriginationRequest for any call attempt with 14 digits",
2873     "Trigger is not active"
2874 };
2875 /* 1 digit (octet 4, bit H) */
2876 static const true_false_string ansi_map_originationtriggers_fifteendig_bool_val  = {
2877     "Launch an OriginationRequest for any call attempt with 15 digits",
2878     "Trigger is not active"
2879 };
2880 
2881 static void
dissect_ansi_map_originationtriggers(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)2882 dissect_ansi_map_originationtriggers(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2883 
2884     int offset = 0;
2885     proto_tree *subtree;
2886 
2887 
2888     subtree = proto_item_add_subtree(actx->created_item, ett_originationtriggers);
2889 
2890     /* Revertive Call (RvtC) (octet 1, bit H)*/
2891     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_rvtc, tvb, offset,     1, ENC_BIG_ENDIAN);
2892     /* Unrecognized Number (Unrec) (octet 1, bit G) */
2893     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_unrec, tvb, offset,    1, ENC_BIG_ENDIAN);
2894     /* World Zone (WZ) (octet 1, bit F) */
2895     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_wz, tvb, offset,       1, ENC_BIG_ENDIAN);
2896     /* International (Int'l ) (octet 1, bit E) */
2897     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_int, tvb, offset,      1, ENC_BIG_ENDIAN);
2898     /* Inter-LATA Toll (OLATA) (octet 1, bit D) */
2899     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_olata, tvb, offset,    1, ENC_BIG_ENDIAN);
2900     /* Intra-LATA Toll (ILATA) (octet 1, bit C) */
2901     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_ilata, tvb, offset,    1, ENC_BIG_ENDIAN);
2902     /* Local (octet 1, bit B) */
2903     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_local, tvb, offset,    1, ENC_BIG_ENDIAN);
2904     /* All Origination (All) (octet 1, bit A) */
2905     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_all, tvb, offset,      1, ENC_BIG_ENDIAN);
2906     offset++;
2907 
2908     /*Prior Agreement (PA) (octet 2, bit E) */
2909     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_pa, tvb, offset,       1, ENC_BIG_ENDIAN);
2910     /* Double Pound (DP) (octet 2, bit D) */
2911     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_dp, tvb, offset,       1, ENC_BIG_ENDIAN);
2912     /* Pound (octet 2, bit C) */
2913     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_pound, tvb, offset,    1, ENC_BIG_ENDIAN);
2914     /* Double Star (DS) (octet 2, bit B) */
2915     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_ds, tvb, offset,       1, ENC_BIG_ENDIAN);
2916     /* Star (octet 2, bit A) */
2917     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_star, tvb, offset,     1, ENC_BIG_ENDIAN);
2918     offset++;
2919 
2920     /* 7 digit (octet 3, bit H) */
2921     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_sevendig, tvb, offset, 1, ENC_BIG_ENDIAN);
2922     /* 6 digit (octet 3, bit G) */
2923     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_sixdig, tvb, offset,   1, ENC_BIG_ENDIAN);
2924     /* 5 digit (octet 3, bit F) */
2925     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fivedig, tvb, offset,  1, ENC_BIG_ENDIAN);
2926     /* 4 digit (octet 3, bit E) */
2927     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fourdig, tvb, offset,  1, ENC_BIG_ENDIAN);
2928     /* 3 digit (octet 3, bit D) */
2929     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_threedig, tvb, offset, 1, ENC_BIG_ENDIAN);
2930     /* 2 digit (octet 3, bit C) */
2931     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_twodig, tvb, offset,   1, ENC_BIG_ENDIAN);
2932     /* 1 digit (octet 3, bit B) */
2933     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_onedig, tvb, offset,   1, ENC_BIG_ENDIAN);
2934     /* No digits (octet 3, bit A) */
2935     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_nodig, tvb, offset,    1, ENC_BIG_ENDIAN);
2936     offset++;
2937 
2938     /* 15 digit (octet 4, bit H) */
2939     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fifteendig, tvb, offset,       1, ENC_BIG_ENDIAN);
2940     /* 14 digit (octet 4, bit G) */
2941     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fourteendig, tvb, offset,      1, ENC_BIG_ENDIAN);
2942     /* 13 digit (octet 4, bit F) */
2943     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_thirteendig, tvb, offset,      1, ENC_BIG_ENDIAN);
2944     /* 12 digit (octet 4, bit E) */
2945     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_twelvedig, tvb, offset,        1, ENC_BIG_ENDIAN);
2946     /* 11 digit (octet 4, bit D) */
2947     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_elevendig, tvb, offset,        1, ENC_BIG_ENDIAN);
2948     /* 10 digit (octet 4, bit C) */
2949     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_tendig, tvb, offset,   1, ENC_BIG_ENDIAN);
2950     /* 9 digit (octet 4, bit B) */
2951     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_ninedig, tvb, offset,  1, ENC_BIG_ENDIAN);
2952     /* 8 digits (octet 4, bit A) */
2953     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_eightdig, tvb, offset, 1, ENC_BIG_ENDIAN);
2954 
2955 }
2956 
2957 /* 6.5.2.91 PACAIndicator */
2958 
2959 /* Permanent Activation (PA) (octet 1, bit A) */
2960 static const true_false_string ansi_map_pacaindicator_pa_bool_val  = {
2961     "PACA is permanently activated",
2962     "PACA is not permanently activated"
2963 };
2964 
2965 static const value_string ansi_map_PACA_Level_vals[]  = {
2966     {   0, "Not used"},
2967     {   1, "Priority Level. 1 This is the highest level"},
2968     {   2, "Priority Level 2"},
2969     {   3, "Priority Level 3"},
2970     {   4, "Priority Level 4"},
2971     {   5, "Priority Level 5"},
2972     {   6, "Priority Level 6"},
2973     {   7, "Priority Level 7"},
2974     {   8, "Priority Level 8"},
2975     {   9, "Priority Level 9"},
2976     {   10, "Priority Level 10"},
2977     {   11, "Priority Level 11"},
2978     {   12, "Priority Level 12"},
2979     {   13, "Priority Level 13"},
2980     {   14, "Priority Level 14"},
2981     {   15, "Priority Level 15"},
2982     {   0, NULL }
2983 };
2984 
2985 static void
dissect_ansi_map_pacaindicator(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)2986 dissect_ansi_map_pacaindicator(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2987 
2988     int offset = 0;
2989     proto_tree *subtree;
2990 
2991 
2992     subtree = proto_item_add_subtree(actx->created_item, ett_pacaindicator);
2993     /* PACA Level (octet 1, bits B-E) */
2994     proto_tree_add_item(subtree, hf_ansi_map_PACA_Level, tvb, offset,   1, ENC_BIG_ENDIAN);
2995     /* Permanent Activation (PA) (octet 1, bit A) */
2996     proto_tree_add_item(subtree, hf_ansi_map_pacaindicator_pa, tvb, offset,     1, ENC_BIG_ENDIAN);
2997 }
2998 
2999 /* 6.5.2.92 PageIndicator */
3000 static const value_string ansi_map_PageIndicator_vals[]  = {
3001     {   0, "Not used"},
3002     {   1, "Page"},
3003     {   2, "Listen only"},
3004     {   0, NULL }
3005 };
3006 
3007 /* 6.5.2.93 PC_SSN */
3008 static void
dissect_ansi_map_pc_ssn(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)3009 dissect_ansi_map_pc_ssn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3010 
3011     int offset = 0;
3012     proto_tree *subtree;
3013     guint8 b1,b2,b3;
3014 
3015 
3016     subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
3017     /* Type (octet 1) */
3018     proto_tree_add_item(subtree, hf_ansi_map_msc_type, tvb, offset, 1, ENC_BIG_ENDIAN);
3019     offset++;
3020     /* Point Code Member Number octet 2 */
3021     b1 = tvb_get_guint8(tvb,offset);
3022     offset++;
3023     /* Point Code Cluster Number octet 3 */
3024     b2 = tvb_get_guint8(tvb,offset);
3025     offset++;
3026     /* Point Code Network Number octet 4 */
3027     b3 = tvb_get_guint8(tvb,offset);
3028     offset++;
3029     proto_tree_add_bytes_format_value(subtree, hf_ansi_map_point_code, tvb, offset-3, 3, NULL, "%u-%u-%u", b3, b2, b1);
3030     proto_tree_add_item(subtree, hf_ansi_map_SSN, tvb, offset, 1, ENC_NA);
3031 }
3032 /* 6.5.2.94 PilotBillingID */
3033 static void
dissect_ansi_map_pilotbillingid(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)3034 dissect_ansi_map_pilotbillingid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3035 
3036     int offset = 0;
3037     proto_tree *subtree;
3038 
3039 
3040     subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
3041     /* First Originating MarketID octet 1 and 2 */
3042     proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, ENC_BIG_ENDIAN);
3043     offset = offset + 2;
3044     /* First Originating Switch Number octet 3*/
3045     proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, ENC_BIG_ENDIAN);
3046     offset++;
3047     /* ID Number */
3048     proto_tree_add_item(subtree, hf_ansi_map_idno, tvb, offset, 3, ENC_BIG_ENDIAN);
3049     offset = offset + 3;
3050     proto_tree_add_item(subtree, hf_ansi_map_segcount, tvb, offset, 1, ENC_BIG_ENDIAN);
3051 
3052 }
3053 /* 6.5.2.96 PreferredLanguageIndicator */
3054 static const value_string ansi_map_PreferredLanguageIndicator_vals[]  = {
3055     {   0, "Unspecified"},
3056     {   1, "English"},
3057     {   2, "French"},
3058     {   3, "Spanish"},
3059     {   4, "German"},
3060     {   5, "Portuguese"},
3061     {   0, NULL }
3062 };
3063 
3064 /* 6.5.2.106 ReceivedSignalQuality */
3065 /* a. This octet is encoded the same as octet 1 in the SignalQuality parameter (see
3066    6.5.2.121).
3067 */
3068 /* 6.5.2.118 SetupResult */
3069 static const value_string ansi_map_SetupResult_vals[]  = {
3070     {   0, "Not used"},
3071     {   1, "Unsuccessful"},
3072     {   2, "Successful"},
3073     {   0, NULL }
3074 };
3075 /* 6.5.2.121 SignalQuality */
3076 /* TODO */
3077 
3078 /*      6.5.2.122 SMS_AccessDeniedReason (TIA/EIA-41.5-D, page 5-256)
3079         N.S0011-0 v 1.0
3080 */
3081 static const value_string ansi_map_SMS_AccessDeniedReason_vals[]  = {
3082     {   0, "Not used"},
3083     {   1, "Denied"},
3084     {   2, "Postponed"},
3085     {   3, "Unavailable"},
3086     {   4, "Invalid"},
3087     {   0, NULL }
3088 };
3089 
3090 
3091 /* 6.5.2.125 SMS_CauseCode (TIA/EIA-41.5-D, page 5-262)
3092    N.S0011-0 v 1.0
3093 */
3094 static const value_string ansi_map_SMS_CauseCode_vals[]  = {
3095     {   0, "Address vacant"},
3096     {   1, "Address translation failure"},
3097     {   2, "Network resource shortage"},
3098     {   3, "Network failure"},
3099     {   4, "Invalid Teleservice ID"},
3100     {   5, "Other network problem"},
3101     {   6, "Unsupported network interface"},
3102     {   8, "CDMA handset-based position determination failure"},
3103     {   9, "CDMA handset-based position determination resources released - voice service request"},
3104     {   10, "CDMA handset-based position determination resources released - voice service request - message acknowledged"},
3105     {   11, "Reserved"},
3106     {   12, "Reserved"},
3107     {   13, "Reserved"},
3108     {   14, "Emergency Services Call Precedence"},
3109     {   32, "No page response"},
3110     {   33, "Destination busy"},
3111     {   34, "No acknowledgment"},
3112     {   35, "Destination resource shortage"},
3113     {   36, "SMS delivery postponed"},
3114     {   37, "Destination out of service"},
3115     {   38, "Destination no longer at this address"},
3116     {   39, "Other terminal problem"},
3117     {   64, "Radio interface resource shortage"},
3118     {   65, "Radio interface incompatibility"},
3119     {   66, "Other radio interface problem"},
3120     {   67, "Unsupported Base Station Capability"},
3121     {   96, "Encoding problem"},
3122     {   97, "Service origination denied"},
3123     {   98, "Service termination denied"},
3124     {   99, "Supplementary service not supported"},
3125     {   100, "Service not supported"},
3126     {   101, "Reserved"},
3127     {   102, "Missing expected parameter"},
3128     {   103, "Missing mandatory parameter"},
3129     {   104, "Unrecognized parameter value"},
3130     {   105, "Unexpected parameter value"},
3131     {   106, "User Data size error"},
3132     {   107, "Other general problems"},
3133     {   108, "Session not active"},
3134     {   109, "Reserved"},
3135     {   110, "MS Disconnect"},
3136     {   0, NULL }
3137 };
3138 static value_string_ext ansi_map_SMS_CauseCode_vals_ext = VALUE_STRING_EXT_INIT(ansi_map_SMS_CauseCode_vals);
3139 
3140 /* 6.5.2.126 SMS_ChargeIndicator */
3141 /* SMS Charge Indicator (octet 1) */
3142 static const value_string ansi_map_SMS_ChargeIndicator_vals[]  = {
3143     {   0, "Not used"},
3144     {   1, "No charge"},
3145     {   2, "Charge original originator"},
3146     {   3, "Charge original destination"},
3147     {   0, NULL }
3148 };
3149 /*      4 through 63 Reserved. Treat the same as value 1, No charge.
3150         64 through 127 Reserved. Treat the same as value 2, Charge original originator.
3151         128 through 223 Reserved. Treat the same as value 3, Charge original destination.
3152         224 through 255 Reserved for TIA/EIA-41 protocol extension. If unknown, treat the same as value 2, Charge
3153         original originator.
3154 */
3155 
3156 /* 6.5.2.130 SMS_NotificationIndicator N.S0005-0 v 1.0*/
3157 static const value_string ansi_map_SMS_NotificationIndicator_vals[]  = {
3158     {   0, "Not used"},
3159     {   1, "Notify when available"},
3160     {   2, "Do not notify when available"},
3161     {   0, NULL }
3162 };
3163 
3164 /* 6.5.2.136 SMS_OriginationRestrictions */
3165 /* DEFAULT (octet 1, bits A and B) */
3166 
3167 static const value_string ansi_map_SMS_OriginationRestrictions_default_vals[]  = {
3168     {   0, "Block all"},
3169     {   1, "Reserved"},
3170     {   2, "Allow specific"},
3171     {   3, "Allow all"},
3172     {   0, NULL }
3173 };
3174 /* DIRECT (octet 1, bit C) */
3175 static const true_false_string ansi_map_SMS_OriginationRestrictions_direct_bool_val  = {
3176     "Allow Direct",
3177     "Block Direct"
3178 };
3179 
3180 /* Force Message Center (FMC) (octet 1, bit D) */
3181 static const true_false_string ansi_map_SMS_OriginationRestrictions_fmc_bool_val  = {
3182     "Force Indirect",
3183     "No effect"
3184 };
3185 
3186 static void
dissect_ansi_map_sms_originationrestrictions(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)3187 dissect_ansi_map_sms_originationrestrictions(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3188 
3189     int offset = 0;
3190     proto_tree *subtree;
3191 
3192 
3193     subtree = proto_item_add_subtree(actx->created_item, ett_sms_originationrestrictions);
3194     proto_tree_add_item(subtree, hf_ansi_map_reservedBitHGFE, tvb, offset, 1, ENC_BIG_ENDIAN);
3195     proto_tree_add_item(subtree, hf_ansi_map_sms_originationrestrictions_fmc, tvb, offset, 1, ENC_BIG_ENDIAN);
3196     proto_tree_add_item(subtree, hf_ansi_map_sms_originationrestrictions_direct, tvb, offset, 1, ENC_BIG_ENDIAN);
3197     proto_tree_add_item(subtree, hf_ansi_map_sms_originationrestrictions_default, tvb, offset, 1, ENC_BIG_ENDIAN);
3198 
3199 }
3200 
3201 /* 6.5.2.137 SMS_TeleserviceIdentifier */
3202 /* Updated with N.S0011-0 v 1.0 */
3203 
3204 #if 0
3205 /* SMS Teleservice Identifier (octets 1 and 2) */
3206 static const value_string ansi_map_SMS_TeleserviceIdentifier_vals[]  = {
3207     {     0, "Not used"},
3208     {     1, "Reserved for maintenance"},
3209     {     2, "SSD Update no response"},
3210     {     3, "SSD Update successful"},
3211     {     4, "SSD Update failed"},
3212     {  4096, "AMPS Extended Protocol Enhanced Services" },
3213     {  4097, "CDMA Cellular Paging Teleservice" },
3214     {  4098, "CDMA Cellular Messaging Teleservice" },
3215     {  4099, "CDMA Voice Mail Notification" },
3216     { 32513, "TDMA Cellular Messaging Teleservice" },
3217     { 32520, "TDMA System Assisted Mobile Positioning through Satellite (SAMPS)" },
3218     { 32584, "TDMA Segmented System Assisted Mobile Positioning Service" },
3219     {     0, NULL }
3220 };
3221 #endif
3222 /* 6.5.2.140 SPINITriggers */
3223 /* All Origination (All) (octet 1, bit A) */
3224 
3225 /* 6.5.2.142 SSDUpdateReport */
3226 static const value_string ansi_map_SSDUpdateReport_vals[]  = {
3227     {       0, "Not used"},
3228     {    4096, "AMPS Extended Protocol Enhanced Services"},
3229     {    4097, "CDMA Cellular Paging Teleservice"},
3230     {    4098, "CDMA Cellular Messaging Teleservice"},
3231     {   32513, "TDMA Cellular Messaging Teleservice"},
3232     {   32514, "TDMA Cellular Paging Teleservice (CPT-136)"},
3233     {   32515, "TDMA Over-the-Air Activation Teleservice (OATS)"},
3234     {   32516, "TDMA Over-the-Air Programming Teleservice (OPTS)"},
3235     {   32517, "TDMA General UDP Transport Service (GUTS)"},
3236     {   32576, "Reserved"},
3237     {   32577, "TDMA Segmented Cellular MessagingTeleservice"},
3238     {   32578, "TDMA Segmented Cellular Paging Teleservice"},
3239     {   32579, "TDMA Segmented Over-the-Air Activation Teleservice (OATS)"},
3240     {   32580, "TDMA Segmented Over-the-Air Programming Teleservice (OPTS)."},
3241     {   32581, "TDMA Segmented General UDP Transport Service (GUTS)"},
3242     {   32576, "Reserved"},
3243     {       0, NULL }
3244 };
3245 
3246 /* 6.5.2.143 StationClassMark */
3247 
3248 /* 6.5.2.144 SystemAccessData */
3249 
3250 /* 6.5.2.146 SystemCapabilities */
3251 /* Updated in N.S0008-0 v 1.0 */
3252 static const true_false_string ansi_map_systemcapabilities_auth_bool_val  = {
3253     "Authentication parameters were requested on this system access (AUTH=1 in the OMT)",
3254     "Authentication parameters were not requested on this system access (AUTH=0 in the OMT)."
3255 };
3256 
3257 static const true_false_string ansi_map_systemcapabilities_se_bool_val  = {
3258     "Signaling Message Encryption supported by the system",
3259     "Signaling Message Encryption not supported by the system"
3260 };
3261 
3262 static const true_false_string ansi_map_systemcapabilities_vp_bool_val  = {
3263     "Voice Privacy supported by the system",
3264     "Voice Privacy not supported by the system"
3265 };
3266 
3267 static const true_false_string ansi_map_systemcapabilities_cave_bool_val  = {
3268     "System can execute the CAVE algorithm and share SSD for the indicated MS",
3269     "System cannot execute the CAVE algorithm and cannot share SSD for the indicated MS"
3270 };
3271 
3272 static const true_false_string ansi_map_systemcapabilities_ssd_bool_val  = {
3273     "SSD is shared with the system for the indicated MS",
3274     "SSD is not shared with the system for the indicated MS"
3275 };
3276 
3277 static const true_false_string ansi_map_systemcapabilities_dp_bool_val  = {
3278     "DP is supported by the system",
3279     "DP is not supported by the system"
3280 };
3281 
3282 static void
dissect_ansi_map_systemcapabilities(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)3283 dissect_ansi_map_systemcapabilities(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3284 
3285     int offset = 0;
3286     proto_tree *subtree;
3287 
3288 
3289     subtree = proto_item_add_subtree(actx->created_item, ett_systemcapabilities);
3290     proto_tree_add_item(subtree, hf_ansi_map_reservedBitHG, tvb, offset, 1, ENC_BIG_ENDIAN);
3291     proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_dp, tvb, offset, 1, ENC_BIG_ENDIAN);
3292     proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_ssd, tvb, offset, 1, ENC_BIG_ENDIAN);
3293     proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_cave, tvb, offset, 1, ENC_BIG_ENDIAN);
3294     proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_vp, tvb, offset, 1, ENC_BIG_ENDIAN);
3295     proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_se, tvb, offset, 1, ENC_BIG_ENDIAN);
3296     proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_auth, tvb, offset, 1, ENC_BIG_ENDIAN);
3297 }
3298 
3299 /* 6.5.2.151 TDMABurstIndicator */
3300 /* 6.5.2.152 TDMACallMode */
3301 /* 6.5.2.153 TDMAChannelData Updated in N.S0007-0 v 1.0*/
3302 
3303 /* 6.5.2.155 TerminationAccessType */
3304 /* XXX Fix Me, Fill up the values or do special decoding? */
3305 static const value_string ansi_map_TerminationAccessType_vals[]  = {
3306     {   0, "Not used"},
3307     {   1, "Reserved for controlling system assignment (may be a trunk group identifier)."},
3308     /* 1 through  127 */
3309     { 127, "Reserved for controlling system assignment (may be a trunk group identifier)."},
3310     { 128, "Reserved for TIA/EIA-41 protocol extension. If unknown, treat the same as value 253, Land-to-Mobile Directory Number access"},
3311     /* 128 through  160 */
3312     { 160, "Reserved for TIA/EIA-41 protocol extension. If unknown, treat the same as value 253, Land-to-Mobile Directory Number access"},
3313     { 161, "Reserved for this Standard"},
3314     /* 161 through  251 */
3315     { 151, "Reserved for this Standard"},
3316     { 252, "Mobile-to-Mobile Directory Number access"},
3317     { 253, "Land-to-Mobile Directory Number access"},
3318     { 254, "Remote Feature Control port access"},
3319     { 255, "Roamer port access"},
3320     {   0, NULL }
3321 };
3322 
3323 /* 6.5.2.158 TerminationTreatment */
3324 static const value_string ansi_map_TerminationTreatment_vals[]  = {
3325     {   0, "Not used"},
3326     {   1, "MS Termination"},
3327     {   2, "Voice Mail Storage"},
3328     {   3, "Voice Mail Retrieval"},
3329     {   4, "Dialogue Termination"},
3330     {   0, NULL }
3331 };
3332 
3333 /* 6.5.2.159 TerminationTriggers */
3334 /* Busy (octet 1, bits A and B) */
3335 static const value_string ansi_map_terminationtriggers_busy_vals[]  = {
3336     {   0, "Busy Call"},
3337     {   1, "Busy Trigger"},
3338     {   2, "Busy Leg"},
3339     {   3, "Reserved. Treat as an unrecognized parameter value"},
3340     {   0, NULL }
3341 };
3342 /* Routing Failure (RF) (octet 1, bits C and D) */
3343 static const value_string ansi_map_terminationtriggers_rf_vals[]  = {
3344     {   0, "Failed Call"},
3345     {   1, "Routing Failure Trigger"},
3346     {   2, "Failed Leg"},
3347     {   3, "Reserved. Treat as an unrecognized parameter value"},
3348     {   0, NULL }
3349 };
3350 /* No Page Response (NPR) (octet 1, bits E and F) */
3351 static const value_string ansi_map_terminationtriggers_npr_vals[]  = {
3352     {   0, "No Page Response Call"},
3353     {   1, "No Page Response Trigger"},
3354     {   2, "No Page Response Leg"},
3355     {   3, "Reserved. Treat as an unrecognized parameter value"},
3356     {   0, NULL }
3357 };
3358 /* No Answer (NA) (octet 1, bits G and H) */
3359 static const value_string ansi_map_terminationtriggers_na_vals[]  = {
3360     {   0, "No Answer Call"},
3361     {   1, "No Answer Trigger"},
3362     {   2, "No Answer Leg"},
3363     {   3, "Reserved"},
3364     {   0, NULL }
3365 };
3366 /* None Reachable (NR) (octet 2, bit A) */
3367 static const value_string ansi_map_terminationtriggers_nr_vals[]  = {
3368     {   0, "Member Not Reachable"},
3369     {   1, "Group Not Reachable"},
3370     {   0, NULL }
3371 };
3372 
3373 /* 6.5.2.159 TerminationTriggers N.S0005-0 v 1.0*/
3374 static void
dissect_ansi_map_terminationtriggers(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)3375 dissect_ansi_map_terminationtriggers(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3376 
3377     int offset = 0;
3378     proto_tree *subtree;
3379 
3380 
3381     subtree = proto_item_add_subtree(actx->created_item, ett_transactioncapability);
3382 
3383     proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, ENC_BIG_ENDIAN);
3384     /* No Page Response (NPR) (octet 1, bits E and F) */
3385     proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_npr, tvb, offset, 1, ENC_BIG_ENDIAN);
3386     /* No Answer (NA) (octet 1, bits G and H) */
3387     proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_na, tvb, offset, 1, ENC_BIG_ENDIAN);
3388     /* Routing Failure (RF) (octet 1, bits C and D) */
3389     proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_rf, tvb, offset, 1, ENC_BIG_ENDIAN);
3390     /* Busy (octet 1, bits A and B) */
3391     proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_busy, tvb, offset, 1, ENC_BIG_ENDIAN);
3392     offset++;
3393 
3394     /* None Reachable (NR) (octet 2, bit A) */
3395     proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_nr, tvb, offset, 1, ENC_BIG_ENDIAN);
3396 }
3397 
3398 /* 6.5.2.160 TransactionCapability (TIA/EIA-41.5-D, page 5-315) */
3399 /* Updated with N.S0010-0 v 1.0, N.S0012-0 v 1.0 N.S0013-0 v 1.0 */
3400 static const true_false_string ansi_map_trans_cap_prof_bool_val  = {
3401     "The system is capable of supporting the IS-41-C profile parameters",
3402     "The system is not capable of supporting the IS-41-C profile parameters"
3403 };
3404 
3405 static const true_false_string ansi_map_trans_cap_busy_bool_val  = {
3406     "The system is capable of detecting a busy condition at the current time",
3407     "The system is not capable of detecting a busy condition at the current time"
3408 };
3409 
3410 static const true_false_string ansi_map_trans_cap_ann_bool_val  = {
3411     "The system is capable of honoring the AnnouncementList parameter at the current time",
3412     "The system is not capable of honoring the AnnouncementList parameter at the current time"
3413 };
3414 
3415 static const true_false_string ansi_map_trans_cap_rui_bool_val  = {
3416     "The system is capable of interacting with the user",
3417     "The system is not capable of interacting with the user"
3418 };
3419 
3420 static const true_false_string ansi_map_trans_cap_spini_bool_val  = {
3421     "The system is capable of supporting local SPINI operation",
3422     "The system is not capable of supporting local SPINI operation at the current time"
3423 };
3424 
3425 static const true_false_string ansi_map_trans_cap_uzci_bool_val  = {
3426     "The system is User Zone capable at the current time",
3427     "The system is not User Zone capable at the current time"
3428 };
3429 static const true_false_string ansi_map_trans_cap_ndss_bool_val  = {
3430     "Serving system is NDSS capable",
3431     "Serving system is not NDSS capable"
3432 };
3433 static const true_false_string ansi_map_trans_cap_nami_bool_val  = {
3434     "The system is CNAP/CNAR capable",
3435     "The system is not CNAP/CNAR capable"
3436 };
3437 
3438 static const value_string ansi_map_trans_cap_multerm_vals[]  = {
3439     {   0, "The system cannot accept a termination at this time (i.e., cannot accept routing information)"},
3440     {   1, "The system supports the number of call legs indicated"},
3441     {   2, "The system supports the number of call legs indicated"},
3442     {   3, "The system supports the number of call legs indicated"},
3443     {   4, "The system supports the number of call legs indicated"},
3444     {   5, "The system supports the number of call legs indicated"},
3445     {   6, "The system supports the number of call legs indicated"},
3446     {   7, "The system supports the number of call legs indicated"},
3447     {   8, "The system supports the number of call legs indicated"},
3448     {   9, "The system supports the number of call legs indicated"},
3449     {   10, "The system supports the number of call legs indicated"},
3450     {   11, "The system supports the number of call legs indicated"},
3451     {   12, "The system supports the number of call legs indicated"},
3452     {   13, "The system supports the number of call legs indicated"},
3453     {   14, "The system supports the number of call legs indicated"},
3454     {   15, "The system supports the number of call legs indicated"},
3455     {   0, NULL }
3456 };
3457 
3458 static const true_false_string ansi_map_trans_cap_tl_bool_val  = {
3459     "The system is capable of supporting the TerminationList parameter at the current time",
3460     "The system is not capable of supporting the TerminationList parameter at the current time"
3461 };
3462 
3463 static const true_false_string ansi_map_trans_cap_waddr_bool_val  = {
3464     "The system is capable of supporting the TriggerAddressList parameter",
3465     "The system is not capable of supporting the TriggerAddressList parameter"
3466 };
3467 
3468 
3469 static void
dissect_ansi_map_transactioncapability(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)3470 dissect_ansi_map_transactioncapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3471 
3472     int offset = 0;
3473     proto_tree *subtree;
3474 
3475 
3476     subtree = proto_item_add_subtree(actx->created_item, ett_transactioncapability);
3477 
3478     /*NAME Capability Indicator (NAMI) (octet 1, bit H) */
3479     proto_tree_add_item(subtree, hf_ansi_map_trans_cap_nami, tvb, offset, 1, ENC_BIG_ENDIAN);
3480     /* NDSS Capability (NDSS) (octet 1, bit G) */
3481     proto_tree_add_item(subtree, hf_ansi_map_trans_cap_ndss, tvb, offset, 1, ENC_BIG_ENDIAN);
3482     /* UZ Capability Indicator (UZCI) (octet 1, bit F) */
3483     proto_tree_add_item(subtree, hf_ansi_map_trans_cap_uzci, tvb, offset, 1, ENC_BIG_ENDIAN);
3484     /* Subscriber PIN Intercept (SPINI) (octet 1, bit E) */
3485     proto_tree_add_item(subtree, hf_ansi_map_trans_cap_spini, tvb, offset, 1, ENC_BIG_ENDIAN);
3486     /* Remote User Interaction (RUI) (octet 1, bit D) */
3487     proto_tree_add_item(subtree, hf_ansi_map_trans_cap_rui, tvb, offset, 1, ENC_BIG_ENDIAN);
3488     /* Announcements (ANN) (octet 1, bit C) */
3489     proto_tree_add_item(subtree, hf_ansi_map_trans_cap_ann, tvb, offset, 1, ENC_BIG_ENDIAN);
3490     /* Busy Detection (BUSY) (octet 1, bit B) */
3491     proto_tree_add_item(subtree, hf_ansi_map_trans_cap_busy, tvb, offset, 1, ENC_BIG_ENDIAN);
3492     /* Profile (PROF) (octet 1, bit A) */
3493     proto_tree_add_item(subtree, hf_ansi_map_trans_cap_prof, tvb, offset, 1, ENC_BIG_ENDIAN);
3494     offset++;
3495 
3496     /* WIN Addressing (WADDR) (octet 2, bit F) */
3497     proto_tree_add_item(subtree, hf_ansi_trans_cap_waddr, tvb, offset, 1, ENC_BIG_ENDIAN);
3498     /* TerminationList (TL) (octet 2, bit E) */
3499     proto_tree_add_item(subtree, hf_ansi_trans_cap_tl, tvb, offset, 1, ENC_BIG_ENDIAN);
3500     /* Multiple Terminations (octet 2, bits A-D) */
3501     proto_tree_add_item(subtree, hf_ansi_trans_cap_multerm, tvb, offset, 1, ENC_BIG_ENDIAN);
3502 }
3503 
3504 /* 6.5.2.162 UniqueChallengeReport */
3505 /* Unique Challenge Report (octet 1) */
3506 static const value_string ansi_map_UniqueChallengeReport_vals[]  = {
3507     {   0, "Not used"},
3508     {   1, "Unique Challenge not attempted"},
3509     {   2, "Unique Challenge no response"},
3510     {   3, "Unique Challenge successful"},
3511     {   4, "Unique Challenge failed"},
3512     {   0, NULL }
3513 };
3514 
3515 /* 6.5.2.166 VoicePrivacyMask */
3516 
3517 
3518 /* 6.5.2.e (TSB76) CDMAServiceConfigurationRecord N.S0008-0 v 1.0 */
3519 /* a. This field carries the CDMA Service Configuration Record. The bit-layout is the
3520    same as that of Service Configuration Record in TSB74, and J-STD-008.
3521 */
3522 
3523 /* 6.5.2.f CDMAServiceOption N.S0010-0 v 1.0 */
3524 
3525 /* values copied from old ANSI map dissector */
3526 static const range_string cdmaserviceoption_vals[] = {
3527     { 1, 1, "Basic Variable Rate Voice Service (8 kbps)" },
3528     { 2, 2, "Mobile Station Loopback (8 kbps)" },
3529     { 3, 3, "Enhanced Variable Rate Voice Service (8 kbps)" },
3530     { 4, 4, "Asynchronous Data Service (9.6 kbps)" },
3531     { 5, 5, "Group 3 Facsimile (9.6 kbps)" },
3532     { 6, 6, "Short Message Services (Rate Set 1)" },
3533     { 7, 7, "Packet Data Service: Internet or ISO Protocol Stack (9.6 kbps)" },
3534     { 8, 8, "Packet Data Service: CDPD Protocol Stack (9.6 kbps)" },
3535     { 9, 9, "Mobile Station Loopback (13 kbps)" },
3536     { 10, 10, "STU-III Transparent Service" },
3537     { 11, 11, "STU-III Non-Transparent Service" },
3538     { 12, 12, "Asynchronous Data Service (14.4 or 9.6 kbps)" },
3539     { 13, 13, "Group 3 Facsimile (14.4 or 9.6 kbps)" },
3540     { 14, 14, "Short Message Services (Rate Set 2)" },
3541     { 15, 15, "Packet Data Service: Internet or ISO Protocol Stack (14.4 kbps)" },
3542     { 16, 16, "Packet Data Service: CDPD Protocol Stack (14.4 kbps)" },
3543     { 17, 17, "High Rate Voice Service (13 kbps)" },
3544     { 18, 18, "Over-the-Air Parameter Administration (Rate Set 1)" },
3545     { 19, 19, "Over-the-Air Parameter Administration (Rate Set 2)" },
3546     { 20, 20, "Group 3 Analog Facsimile (Rate Set 1)" },
3547     { 21, 21, "Group 3 Analog Facsimile (Rate Set 2)" },
3548     { 22, 22, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS1 forward, RS1 reverse)" },
3549     { 23, 23, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS1 forward, RS2 reverse)" },
3550     { 24, 24, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS2 forward, RS1 reverse)" },
3551     { 25, 25, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS2 forward, RS2 reverse)" },
3552     { 26, 26, "High Speed Packet Data Service: CDPD Protocol Stack (RS1 forward, RS1 reverse)" },
3553     { 27, 27, "High Speed Packet Data Service: CDPD Protocol Stack (RS1 forward, RS2 reverse)" },
3554     { 28, 28, "High Speed Packet Data Service: CDPD Protocol Stack (RS2 forward, RS1 reverse)" },
3555     { 29, 29, "High Speed Packet Data Service: CDPD Protocol Stack (RS2 forward, RS2 reverse)" },
3556     { 30, 30, "Supplemental Channel Loopback Test for Rate Set 1" },
3557     { 31, 31, "Supplemental Channel Loopback Test for Rate Set 2" },
3558     { 32, 32, "Test Data Service Option (TDSO)" },
3559     { 33, 33, "cdma2000 High Speed Packet Data Service, Internet or ISO Protocol Stack" },
3560     { 34, 34, "cdma2000 High Speed Packet Data Service, CDPD Protocol Stack" },
3561     { 35, 35, "Location Services, Rate Set 1 (9.6 kbps)" },
3562     { 36, 36, "Location Services, Rate Set 2 (14.4 kbps)" },
3563     { 37, 37, "ISDN Interworking Service (64 kbps)" },
3564     { 38, 38, "GSM Voice" },
3565     { 39, 39, "GSM Circuit Data" },
3566     { 40, 40, "GSM Packet Data" },
3567     { 41, 41, "GSM Short Message Service" },
3568     { 42, 42, "None Reserved for MC-MAP standard service options" },
3569     { 54, 54, "Markov Service Option (MSO)" },
3570     { 55, 55, "Loopback Service Option (LSO)" },
3571     { 56, 56, "Selectable Mode Vocoder" },
3572     { 57, 57, "32 kbps Circuit Video Conferencing" },
3573     { 58, 58, "64 kbps Circuit Video Conferencing" },
3574     { 59, 59, "HRPD Accounting Records Identifier" },
3575     { 60, 60, "Link Layer Assisted Robust Header Compression (LLA ROHC) - Header Removal" },
3576     { 61, 61, "Link Layer Assisted Robust Header Compression (LLA ROHC) - Header Compression" },
3577     { 62, 62, "Source-Controlled Variable-Rate Multimode Wideband Speech Codec (VMR-WB) Rate Set 2" },
3578     { 63, 63, "Source-Controlled Variable-Rate Multimode Wideband Speech Codec (VMR-WB) Rate Set 1" },
3579     { 64, 64, "HRPD auxiliary Packet Data Service instance" },
3580     { 65, 65, "cdma2000/GPRS Inter-working" },
3581     { 66, 66, "cdma2000 High Speed Packet Data Service, Internet or ISO Protocol Stack" },
3582     { 67, 67, "HRPD Packet Data IP Service where Higher Layer Protocol is IP or ROHC" },
3583     { 68, 68, "Enhanced Variable Rate Voice Service (EVRC-B)" },
3584     { 69, 69, "HRPD Packet Data Service, which when used in paging over the 1x air interface, a page response is required" },
3585     { 70, 70, "Enhanced Variable Rate Voice Service (EVRC-WB)" },
3586     { 71, 4099, "None Reserved for standard service options" },
3587     { 4100, 4100, "Asynchronous Data Service, Revision 1 (9.6 or 14.4 kbps)" },
3588     { 4101, 4101, "Group 3 Facsimile, Revision 1 (9.6 or 14.4 kbps)" },
3589     { 4102, 4102, "Reserved for standard service option" },
3590     { 4103, 4103, "Packet Data Service: Internet or ISO Protocol Stack, Revision 1 (9.6 or 14.4 kbps)" },
3591     { 4104, 4104, "Packet Data Service: CDPD Protocol Stack, Revision 1 (9.6 or 14.4 kbps)" },
3592     { 4105, 32767, "Reserved for standard service options" },
3593     { 32768, 32768, "QCELP (13 kbps)" },
3594     { 32769, 32771, "Proprietary QUALCOMM Incorporated" },
3595     { 32772, 32775, "Proprietary OKI Telecom" },
3596     { 32776, 32779, "Proprietary Lucent Technologies" },
3597     { 32780, 32783, "Nokia" },
3598     { 32784, 32787, "NORTEL NETWORKS" },
3599     { 32788, 32791, "Sony Electronics Inc" },
3600     { 32792, 32795, "Motorola" },
3601     { 32796, 32799, "QUALCOMM Incorporated" },
3602     { 32800, 32803, "QUALCOMM Incorporated" },
3603     { 32804, 32807, "QUALCOMM Incorporated" },
3604     { 32808, 32811, "QUALCOMM Incorporated" },
3605     { 32812, 32815, "Lucent Technologies" },
3606     { 32816, 32819, "Denso International" },
3607     { 32820, 32823, "Motorola" },
3608     { 32824, 32827, "Denso International" },
3609     { 32828, 32831, "Denso International" },
3610     { 32832, 32835, "Denso International" },
3611     { 32836, 32839, "NEC America" },
3612     { 32840, 32843, "Samsung Electronics" },
3613     { 32844, 32847, "Texas Instruments Incorporated" },
3614     { 32848, 32851, "Toshiba Corporation" },
3615     { 32852, 32855, "LG Electronics Inc." },
3616     { 32856, 32859, "VIA Telecom Inc." },
3617     { 0,           0,          NULL                   }
3618 };
3619 
3620 static void
dissect_ansi_map_cdmaserviceoption(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)3621 dissect_ansi_map_cdmaserviceoption(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3622     int offset = 0;
3623     proto_tree *subtree;
3624 
3625 
3626     subtree = proto_item_add_subtree(actx->created_item, ett_cdmaserviceoption);
3627 
3628     proto_tree_add_item(subtree, hf_ansi_map_cdmaserviceoption, tvb, offset, 2, ENC_BIG_ENDIAN);
3629 
3630 
3631 }
3632 /* 6.5.2.f (TSB76) CDMAServiceOption N.S0008-0 v 1.0*/
3633 /* This field carries the CDMA Service Option. The bit-layout is the same as that of
3634    Service Option in TSB74 and J-STD-008.*/
3635 
3636 /* 6.5.2.i (IS-730) TDMAServiceCode N.S0008-0 v 1.0 */
3637 static const value_string ansi_map_TDMAServiceCode_vals[]  = {
3638     {   0, "Analog Speech Only"},
3639     {   1, "Digital Speech Only"},
3640     {   2, "Analog or Digital Speech, Analog Preferred"},
3641     {   3, "Analog or Digital Speech, Digital Preferred"},
3642     {   4, "Asynchronous Data"},
3643     {   5, "G3 Fax"},
3644     {   6, "Not Used (Service Rejected)"},
3645     {   7, "STU-III"},
3646     {   0, NULL }
3647 };
3648 #if 0
3649 /* 6.5.2.j (IS-730) TDMATerminalCapability N.S0008-0 v 1.0 Updted with N.S0015-0 */
3650 /* Supported Frequency Band (octet 1) */
3651 /* Voice Coder (octet 2) */
3652 /* Protocol Version (octet 3) N.S0015-0 */
3653 static const value_string ansi_map_TDMATerminalCapability_prot_ver_vals[]  = {
3654     {   0, "EIA-553 or IS-54-A"},
3655     {   1, "TIA/EIA-627.(IS-54-B)"},
3656     {   2, "IS-136"},
3657     {   3, "Permanently Reserved (ANSI J-STD-011).Treat the same as value 4, IS-136-A."},
3658     {   4, "PV 0 as published in TIA/EIA-136-0 and IS-136-A."},
3659     {   5, "PV 1 as published in TIA/EIA-136-A."},
3660     {   6, "PV 2 as published in TIA/EIA-136-A."},
3661     {   7, "PV 3 as published in TIA/EIA-136-A."},
3662     {   0, NULL }
3663 };
3664 #endif
3665 /* Asynchronous Data (ADS) (octet 4, bit A) N.S0007-0*/
3666 /* Group 3 Fax (G3FAX) (octet 4, bit B) */
3667 /* Secure Telephone Unit III (STU3) (octet 4, bit C) */
3668 /* Analog Voice (AVOX) (octet 4, bit D) */
3669 /* Half Rate (HRATE) (octet 4, bit E) */
3670 /* Full Rate (FRATE) (octet 4, bit F) */
3671 /* Double Rate (2RATE) (octet 4, bit G) */
3672 /* Triple Rate (3RATE) (octet 4, bit H) */
3673 
3674 
3675 /* 6.5.2.k (IS-730)) TDMAVoiceCoder N.S0008-0 v 1.0, N.S0007-0 */
3676 /* VoiceCoder (octet 1) */
3677 
3678 /* 6.5.2.p UserZoneData N.S0015-0 */
3679 
3680 /* 6.5.2.aa BaseStationManufacturerCode N.S0007-0 v 1.0 */
3681 /* The BaseStationManufacturerCode (BSMC) parameter specifies the manufacturer of the
3682    base station that is currently serving the MS (see IS-136 for enumeration of values).*/
3683 
3684 /* 6.5.2.ab BSMCStatus */
3685 
3686 /* BSMC Status (octet 1) */
3687 static const value_string ansi_map_BSMCStatus_vals[]  = {
3688     {   0, "Same BSMC Value shall not be supported"},
3689     {   1, "Same BSMC Value shall be supported"},
3690     {   0, NULL }
3691 };
3692 
3693 /*- 6.5.2.ac ControlChannelMode (N.S0007-0 v 1.0)*/
3694 static const value_string ansi_map_ControlChannelMode_vals[]  = {
3695     {   0, "Unknown"},
3696     {   1, "MS is in Analog CC Mode"},
3697     {   2, "MS is in Digital CC Mode"},
3698     {   3, "MS is in NAMPS CC Mode"},
3699     {   0, NULL }
3700 };
3701 
3702 /* 6.5.2.ad NonPublicData N.S0007-0 v 1.0*/
3703 /* NP Only Service (NPOS) (octet 1, bits A and B) */
3704 /* Charging Area Tone Service (CATS) (octet 1, bits C - F) */
3705 /* PSID/RSID Download Order (PRDO) (octet 1, bits G and H) */
3706 
3707 /* 6.5.2.ae PagingFrameClass N.S0007-0 v 1.0*/
3708 /* Paging Frame Class (octet 1) */
3709 
3710 static const value_string ansi_map_PagingFrameClass_vals[]  = {
3711     {   0, "PagingFrameClass 1 (1.28 seconds)"},
3712     {   1, "PagingFrameClass 2 (2.56 seconds)"},
3713     {   2, "PagingFrameClass 3 (3.84 seconds)"},
3714     {   3, "PagingFrameClass 4 (7.68 seconds)"},
3715     {   4, "PagingFrameClass 5 (15.36 seconds)"},
3716     {   5, "PagingFrameClass 6 (30.72 seconds)"},
3717     {   6, "PagingFrameClass 7 (61.44 seconds)"},
3718     {   7, "PagingFrameClass 8 (122.88 seconds)"},
3719     {   8, "Reserved. Treat the same as value 0, PagingFrameClass 1"},
3720     {   0, NULL }
3721 };
3722 
3723 /* 6.5.2.af PSID_RSIDInformation N.S0007-0 v 1.0*/
3724 /* PSID/RSID Indicator (octet 1, bit A) */
3725 /* PSID/RSID Type (octet 1, bits B-D) */
3726 
3727 /* 6.5.2.ah ServicesResult N.S0007-0 v 1.0*/
3728 /* PSID/RSID Download Result (PRDR) (octet 1, bits A and B) */
3729 static const value_string ansi_map_ServicesResult_ppr_vals[]  = {
3730     {   0, "No Indication"},
3731     {   1, "Unsuccessful PSID/RSID download"},
3732     {   2, "Successful PSID/RSID download"},
3733     {   3, "Reserved. Treat the same as value 0, No Indication"},
3734     {   0, NULL }
3735 };
3736 
3737 /* 6.5.2.ai SOCStatus N.S0007-0 v 1.0*/
3738 
3739 /* SOC Status (octet 1) */
3740 static const value_string ansi_map_SOCStatus_vals[]  = {
3741     {   0, "Same SOC Value shall not be supported"},
3742     {   1, "Same SOC Value shall be supported"},
3743     {   0, NULL }
3744 };
3745 
3746 /* 6.5.2.aj SystemOperatorCode N.S0007-0 v 1.0*/
3747 /* The SystemOperatorCode (SOC) parameter specifies the system operator that is currently
3748    providing service to a MS (see IS-136 for enumeration of values) */
3749 
3750 /* 6.5.2.al UserGroup N.S0007-0 v 1.0*/
3751 
3752 /* 6.5.2.am UserZoneData N.S0007-0 v 1.0*/
3753 
3754 
3755 /*Table 6.5.2.ay TDMABandwidth value N.S0008-0 v 1.0 */
3756 static const value_string ansi_map_TDMABandwidth_vals[]  = {
3757     {   0, "Half-Rate Digital Traffic Channel Only"},
3758     {   1, "Full-Rate Digital Traffic Channel Only"},
3759     {   2, "Half-Rate or Full-rate Digital Traffic Channel - Full-Rate Preferred"},
3760     {   3, "Half-rate or Full-rate Digital Traffic Channel - Half-rate Preferred"},
3761     {   4, "Double Full-Rate Digital Traffic Channel Only"},
3762     {   5, "Triple Full-Rate Digital Traffic Channel Only"},
3763     {   6, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3764     {   7, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3765     {   8, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3766     {   9, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3767     {   10, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3768     {   11, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3769     {   12, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3770     {   13, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3771     {   14, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3772     {   15, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3773     {   0, NULL }
3774 
3775 };
3776 
3777 /* 6.5.2.az TDMADataFeaturesIndicator N.S0008-0 v 1.0 */
3778 /* TDMADataFeaturesIndicator
3779    ansi_map_FeatureActivity_vals
3780 
3781    ADS FeatureActivity ADS-FA ( octet 1 bit A and B )
3782    G3 Fax FeatureActivity G3FAX-FA ( octet 1 bit C and D )
3783    STU-III FeatureActivity STUIII-FA ( octet 1 bit E and F )
3784    Half Rate data FeatureActivity HRATE-FA ( octet 2 bit A and B )
3785    Full Rate data FeatureActivity FRATE-FA ( octet 2 bit C and D )
3786    Double Rate data FeatureActivity 2RATE-FA ( octet 2 bit E and F )
3787    Triple Rate data FeatureActivity 3RATE-FA ( octet g bit G and H )
3788 
3789    Table 6.5.2.azt TDMADataFeaturesIndicator value
3790    static const value_string ansi_map_TDMADataFeaturesIndicator_vals[]  = {
3791    {   0, "Not Used"},
3792    {   1, "Not Authorized"},
3793    {   2, "Authorized, but de-activated"},
3794    {   3, "Authorized and activated"},
3795    {   0, NULL }
3796 
3797    };
3798 */
3799 
3800 /* 6.5.2.ba TDMADataMode N.S0008-0 v 1.0*/
3801 
3802 /* 6.5.2.bb TDMAVoiceMode */
3803 
3804 /* 6.5.2.bb CDMAConnectionReference N.S0008-0 v 1.0 */
3805 /* Service Option Connection Reference Octet 1 */
3806 /*      a. This field carries the CDMA Service Option Connection Reference. The bitlayout
3807         is the same as that of Service Option Connection Reference in TSB74 and
3808         J-STD-008.
3809 */
3810 
3811 /* 6.5.2.ad CDMAState N.S0008-0 v 1.0 */
3812 /* Service Option State Octet 1 */
3813 /* a. This field carries the CDMA Service Option State information. The CDMA
3814    Service Option State is defined in the current CDMA Service Options standard.
3815    If CDMA Service Option State is not explicitly defined within a section of the
3816    relevant CDMA Service Option standard, the CDMA Service Option State shall
3817    carry the value of the ORD_Q octet of all current Service Option Control Orders
3818    (see IS-95), or the contents of all current CDMA Service Option Control
3819    Messages (see TSB74) type specific field for this connection reference. */
3820 
3821 /* 6.5.2.aj SecondInterMSCCircuitID */
3822 /* -- XXX Same code as ISLPinformation???
3823    dissect_ansi_map_secondintermsccircuitid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree){
3824 
3825    int offset = 0;
3826 
3827    proto_tree *subtree;
3828 
3829 
3830    subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
3831    / Trunk Group Number (G) Octet 1 /
3832    proto_tree_add_item(subtree, hf_ansi_map_tgn, tvb, offset, 1, ENC_BIG_ENDIAN);
3833    offset++;
3834    / Trunk Member Number (M) Octet2 /
3835    proto_tree_add_item(subtree, hf_ansi_map_tmn, tvb, offset, 1, ENC_BIG_ENDIAN);
3836    }
3837 */
3838 #if 0
3839 /* 6.5.2.as ChangeServiceAttributes N.S0008-0 v 1.0 */
3840 /* Change Facilities Flag (CHGFAC)(octet 1, bits A - B) */
3841 static const value_string ansi_map_ChangeServiceAttributes_chgfac_vals[]  = {
3842     {   0, "Change Facilities Operation Requested"},
3843     {   1, "Change Facilities Operation Not Requested"},
3844     {   2, "Change Facilities Operation Used"},
3845     {   3, "Change Facilities Operation Not Used"},
3846     {   0, NULL }
3847 };
3848 #endif
3849 #if 0
3850 /* Service Negotiate Flag (SRVNEG)(octet 1, bits C - D) */
3851 static const value_string ansi_map_ChangeServiceAttributes_srvneg_vals[]  = {
3852     {   0, "Service Negotiation Used"},
3853     {   1, "Service Negotiation Not Used"},
3854     {   2, "Service Negotiation Required"},
3855     {   3, "Service Negotiation Not Required"},
3856     {   0, NULL }
3857 };
3858 #endif
3859 #if 0
3860 /* 6.5.2.au DataPrivacyParameters N.S0008-0 v 1.0*/
3861 /* Privacy Mode (PM) (octet 1, Bits A and B) */
3862 static const value_string ansi_map_DataPrivacyParameters_pm_vals[]  = {
3863     {   0, "Privacy inactive or not supported"},
3864     {   1, "Privacy Requested or Acknowledged"},
3865     {   2, "Reserved. Treat reserved values the same as value 0, Privacy inactive or not supported."},
3866     {   3, "Reserved. Treat reserved values the same as value 0, Privacy inactive or not supported."},
3867     {   0, NULL }
3868 };
3869 #endif
3870 #if 0
3871 /* Data Privacy Version (PM) (octet 2) */
3872 static const value_string ansi_map_DataPrivacyParameters_data_priv_ver_vals[]  = {
3873     {   0, "Not used"},
3874     {   1, "Data Privacy Version 1"},
3875     {   0, NULL }
3876 };
3877 #endif
3878 
3879 /* 6.5.2.av ISLPInformation N.S0008-0 v 1.0*/
3880 /* ISLP Type (octet 1) */
3881 static const value_string ansi_map_islp_type_vals[]  = {
3882     {   0, "No ISLP supported"},
3883     {   1, "ISLP supported"},
3884     {   0, NULL }
3885 };
3886 /* 6.5.2.bc AnalogRedirectInfo */
3887 /* Sys Ordering (octet 1, bits A-E) */
3888 /* Ignore CDMA (IC) (octet 1, bit F) */
3889 
3890 /* 6.5.2.be CDMAChannelNumber N.S0010-0 v 1.0*/
3891 
3892 /* 6.5.2.bg CDMAPowerCombinedIndicator N.S0010-0 v 1.0*/
3893 
3894 /* 6.5.2.bi CDMASearchParameters N.S0010-0 v 1.0*/
3895 
3896 /* 6.5.2.bk CDMANetworkIdentification N.S0010-0 v 1.0*/
3897 /* See CDMA [J-STD-008] for encoding of this field. */
3898 
3899 /* 6.5.2.bo RequiredParametersMask N.S0010-0 v 1.0 */
3900 
3901 /* 6.5.2.bp ServiceRedirectionCause */
3902 static const value_string ansi_map_ServiceRedirectionCause_type_vals[]  = {
3903     {   0, "Not used"},
3904     {   1, "NormalRegistration"},
3905     {   2, "SystemNotFound."},
3906     {   3, "ProtocolMismatch."},
3907     {   4, "RegistrationRejection."},
3908     {   5, "WrongSID."},
3909     {   6, "WrongNID.."},
3910     {   0, NULL }
3911 };
3912 
3913 /* 6.5.2.bq ServiceRedirectionInfo  N.S0010-0 v 1.0 */
3914 
3915 /* 6.5.2.br RoamingIndication N.S0010-0 v 1.0*/
3916 /* See CDMA [TSB58] for the definition of this field. */
3917 
3918 /* 6.5.2.bw CallingPartyName N.S0012-0 v 1.0*/
3919 
3920 #if 0
3921 /* Presentation Status (octet 1, bits A and B) */
3922 static const value_string ansi_map_Presentation_Status_vals[]  = {
3923     {   0, "Presentation allowed"},
3924     {   1, "Presentation restricted"},
3925     {   2, "Blocking toggle"},
3926     {   3, "No indication"},
3927     {   0, NULL }
3928 };
3929 #endif
3930 #if 0
3931 /* Availability (octet 1, bit E) N.S0012-0 v 1.0*/
3932 static const true_false_string ansi_map_Availability_bool_val  = {
3933     "Name not available",
3934     "Name available/unknown"
3935 };
3936 #endif
3937 static void
dissect_ansi_map_callingpartyname(tvbuff_t * tvb _U_,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)3938 dissect_ansi_map_callingpartyname(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3939 
3940     /* Availability (octet 1, bit E) N.S0012-0 v 1.0*/
3941 
3942     /* Presentation Status (octet 1, bits A and B) */
3943 
3944 
3945 
3946 }
3947 
3948 
3949 /* 6.5.2.bx DisplayText N.S0012-0 v 1.0*/
3950 /* a. Refer to ANSI T1.610 for field encoding. */
3951 
3952 /* 6.5.2.bz ServiceID
3953    Service Identifier (octets 1 to n)
3954    0 Not used.
3955    1 Calling Name Presentation - No RND.
3956    2 Calling Name Presentation with RND.
3957 */
3958 
3959 /* 6.5.2.co GlobalTitle N.S0013-0 v 1.0
3960  * Refer to Section 3 of ANSI T1.112 for the encoding of this field.
3961  */
3962 /* Address Indicator octet 1 */
3963 /* Global Title Octet 2 - n */
3964 
3965 
3966 #if 0
3967 /* 6.5.2.dc SpecializedResource N.S0013-0 v 1.0*/
3968 /* Resource Type (octet 1) */
3969 static const value_string ansi_map_resource_type_vals[]  = {
3970     {   0, "Not used"},
3971     {   1, "DTMF tone detector"},
3972     {   2, "Automatic Speech Recognition - Speaker Independent - Digits"},
3973     {   3, "Automatic Speech Recognition - Speaker Independent - Speech User Interface Version 1"},
3974     {   0, NULL }
3975 };
3976 #endif
3977 /* 6.5.2.df TriggerCapability */
3978 /* Updated with N.S0004 N.S0013-0 v 1.0*/
3979 
3980 static const true_false_string ansi_map_triggercapability_bool_val  = {
3981     "triggers can be armed by the TriggerAddressList parameter",
3982     "triggers cannot be armed by the TriggerAddressList parameter"
3983 };
3984 
3985 static void
dissect_ansi_map_triggercapability(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)3986 dissect_ansi_map_triggercapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3987 
3988     int offset = 0;
3989     proto_tree *subtree;
3990 
3991 
3992     subtree = proto_item_add_subtree(actx->created_item, ett_triggercapability);
3993 
3994 
3995     /* O_No_Answer (ONA) (octet 1, bit H)*/
3996     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_ona, tvb, offset,        1, ENC_BIG_ENDIAN);
3997     /* O_Disconnect (ODISC) (octet 1, bit G)*/
3998     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_odisc, tvb, offset,      1, ENC_BIG_ENDIAN);
3999     /* O_Answer (OANS) (octet 1, bit F)*/
4000     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_oans, tvb, offset,       1, ENC_BIG_ENDIAN);
4001     /* Origination_Attempt_Authorized (OAA) (octet 1, bit E)*/
4002     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_oaa, tvb, offset,        1, ENC_BIG_ENDIAN);
4003     /* Revertive_Call (RvtC) (octet 1, bit D)*/
4004     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_rvtc, tvb, offset,       1, ENC_BIG_ENDIAN);
4005     /* All_Calls (All) (octet 1, bit C)*/
4006     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_all, tvb, offset,        1, ENC_BIG_ENDIAN);
4007     /* K-digit (K-digit) (octet 1, bit B)*/
4008     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_kdigit, tvb, offset,     1, ENC_BIG_ENDIAN);
4009     /* Introducing Star/Pound (INIT) (octet 1, bit A) */
4010     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_init, tvb, offset,       1, ENC_BIG_ENDIAN);
4011     offset++;
4012 
4013 
4014     /* O_Called_Party_Busy (OBSY) (octet 2, bit H)*/
4015     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_obsy, tvb, offset,       1, ENC_BIG_ENDIAN);
4016     /* Called_Routing_Address_Available (CdRAA) (octet 2, bit G)*/
4017     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_cdraa, tvb, offset,      1, ENC_BIG_ENDIAN);
4018     /* Initial_Termination (IT) (octet 2, bit F)*/
4019     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_it, tvb, offset,         1, ENC_BIG_ENDIAN);
4020     /* Calling_Routing_Address_Available (CgRAA)*/
4021     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_cgraa, tvb, offset,      1, ENC_BIG_ENDIAN);
4022     /* Advanced_Termination (AT) (octet 2, bit D)*/
4023     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_at, tvb, offset,         1, ENC_BIG_ENDIAN);
4024     /* Prior_Agreement (PA) (octet 2, bit C)*/
4025     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_pa, tvb, offset,         1, ENC_BIG_ENDIAN);
4026     /* Unrecognized_Number (Unrec) (octet 2, bit B)*/
4027     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_unrec, tvb, offset,      1, ENC_BIG_ENDIAN);
4028     /* Call Types (CT) (octet 2, bit A)*/
4029     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_ct, tvb, offset,         1, ENC_BIG_ENDIAN);
4030     offset++;
4031     /* */
4032     /* */
4033     /* */
4034     /* T_Disconnect (TDISC) (octet 3, bit E)*/
4035     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tdisc, tvb, offset,      1, ENC_BIG_ENDIAN);
4036     /* T_Answer (TANS) (octet 3, bit D)*/
4037     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tans, tvb, offset,       1, ENC_BIG_ENDIAN);
4038     /* T_No_Answer (TNA) (octet 3, bit C)*/
4039     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tna, tvb, offset,        1, ENC_BIG_ENDIAN);
4040     /* T_Busy (TBusy) (octet 3, bit B)*/
4041     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tbusy, tvb, offset,      1, ENC_BIG_ENDIAN);
4042     /* Terminating_Resource_Available (TRA) (octet 3, bit A) */
4043     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tra, tvb, offset,        1, ENC_BIG_ENDIAN);
4044 
4045 }
4046 /* 6.5.2.ei DMH_ServiceID N.S0018 */
4047 
4048 /* 6.5.2.dj WINOperationsCapability */
4049 /* Updated with N.S0004 */
4050 /* ConnectResource (CONN) (octet 1, bit A) */
4051 static const true_false_string ansi_map_winoperationscapability_conn_bool_val  = {
4052     "Sender is capable of supporting the ConnectResource, DisconnectResource, ConnectionFailureReport and ResetTimer (SSFT timer) operations",
4053     "Sender is not capable of supporting the ConnectResource, DisconnectResource,ConnectionFailureReport and ResetTimer (SSFT timer) operations"
4054 };
4055 
4056 /* CallControlDirective (CCDIR) (octet 1, bit B) */
4057 static const true_false_string ansi_map_winoperationscapability_ccdir_bool_val  = {
4058     "Sender is capable of supporting the CallControlDirective operation",
4059     "Sender is not capable of supporting the CallControlDirective operation"
4060 };
4061 
4062 /* PositionRequest (POS) (octet 1, bit C) */
4063 static const true_false_string ansi_map_winoperationscapability_pos_bool_val  = {
4064     "Sender is capable of supporting the PositionRequest operation",
4065     "Sender is not capable of supporting the PositionRequest operation"
4066 };
4067 static void
dissect_ansi_map_winoperationscapability(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)4068 dissect_ansi_map_winoperationscapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
4069 
4070     int offset = 0;
4071     proto_tree *subtree;
4072 
4073     subtree = proto_item_add_subtree(actx->created_item, ett_winoperationscapability);
4074 
4075     /* PositionRequest (POS) (octet 1, bit C) */
4076     proto_tree_add_item(subtree, hf_ansi_map_winoperationscapability_pos, tvb, offset,  1, ENC_BIG_ENDIAN);
4077     /* CallControlDirective (CCDIR) (octet 1, bit B) */
4078     proto_tree_add_item(subtree, hf_ansi_map_winoperationscapability_ccdir, tvb, offset,        1, ENC_BIG_ENDIAN);
4079     /* ConnectResource (CONN) (octet 1, bit A) */
4080     proto_tree_add_item(subtree, hf_ansi_map_winoperationscapability_conn, tvb, offset, 1, ENC_BIG_ENDIAN);
4081 
4082 }
4083 /*
4084  * 6.5.2.dk N.S0013-0 v 1.0,X.S0004-550-E v1.0 2.301
4085  * Code to be found after include functions.
4086  */
4087 
4088 /* 6.5.2.ei TIA/EIA-41.5-D Modifications N.S0018Re */
4089 /* Octet 1,2 1st MarketID */
4090 /* Octet 3 1st MarketSegmentID */
4091 /* Octet 4,5 1st DMH_ServiceID value */
4092 /* Second marcet ID etc */
4093 /* 6.5.2.ek ControlNetworkID N.S0018*/
4094 static void
dissect_ansi_map_controlnetworkid(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)4095 dissect_ansi_map_controlnetworkid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
4096 
4097     int offset = 0;
4098     proto_tree *subtree;
4099 
4100 
4101     subtree = proto_item_add_subtree(actx->created_item, ett_controlnetworkid);
4102     /* MarketID octet 1 and 2 */
4103     proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, ENC_BIG_ENDIAN);
4104     offset = offset + 2;
4105     /* Switch Number octet 3*/
4106     proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, ENC_BIG_ENDIAN);
4107     offset++;
4108 }
4109 
4110 
4111 /* 6.5.2.dk WIN_TriggerList N.S0013-0 v 1.0 */
4112 
4113 /* 6.5.2.ec DisplayText2 Updated in N.S0015-0*/
4114 
4115 /* 6.5.2.eq MSStatus N.S0004 */
4116 
4117 /* 6.5.2.er PositionInformationCode N.S0004 */
4118 
4119 /* 6.5.2.fd InterMessageTime N.S0015-0*/
4120 /* Timer value (in 10s of seconds) octet 1 */
4121 
4122 /* 6.5.2.fe MSIDUsage N.S0015-0 */
4123 /* M and I Report (octet 1, bits A and B) */
4124 static const value_string ansi_MSIDUsage_m_or_i_vals[]  = {
4125     {   0, "Not used"},
4126     {   1, "MIN last used"},
4127     {   2, "IMSI last used"},
4128     {   3, "Reserved"},
4129     {   0, NULL }
4130 };
4131 
4132 /* 6.5.2.ff NewMINExtension N.S0015-0 */
4133 
4134 #if 0
4135 /* 6.5.2.fv ACGEncountered N.S0023-0 v 1.0 */
4136 /* ACG Encountered (octet 1, bits A-F) */
4137 static const value_string ansi_ACGEncountered_vals[]  = {
4138     {   0, "PC_SSN"},
4139     {   1, "1-digit control"},
4140     {   2, "2-digit control"},
4141     {   3, "3-digit control"},
4142     {   4, "4-digit control"},
4143     {   5, "5-digit control"},
4144     {   6, "6-digit control"},
4145     {   7, "7-digit control"},
4146     {   8, "8-digit control"},
4147     {   9, "9-digit control"},
4148     {   10, "10-digit control"},
4149     {   11, "11-digit control"},
4150     {   12, "12-digit control"},
4151     {   13, "13-digit control"},
4152     {   14, "14-digit control"},
4153     {   15, "15-digit control"},
4154     {   0, NULL }
4155 };
4156 #endif
4157 #if 0
4158 /* Control Type (octet 1, bits G-H) */
4159 static const value_string ansi_ACGEncountered_cntrl_type_vals[]  = {
4160     {   0, "Not used."},
4161     {   1, "Service Management System Initiated control encountered"},
4162     {   2, "SCF Overload control encountered"},
4163     {   3, "Reserved. Treat the same as value 0, Not used."},
4164     {   0, NULL }
4165 };
4166 #endif
4167 
4168 /* 6.5.2.fw ControlType N.S0023-0 v 1.0 */
4169 
4170 
4171 
4172 #if 0
4173 /* 6.5.2.ge QoSPriority N.S0029-0 v1.0*/
4174 /* 6.5.2.xx QOSPriority */
4175 /* Non-Assured Priority (octet 1, bits A-D) */
4176 static const value_string ansi_map_Priority_vals[]  = {
4177     {   0, "Priority Level 0. This is the lowest level"},
4178     {   1, "Priority Level 1"},
4179     {   2, "Priority Level 2"},
4180     {   3, "Priority Level 3"},
4181     {   4, "Priority Level 4"},
4182     {   5, "Priority Level 5"},
4183     {   6, "Priority Level 6"},
4184     {   7, "Priority Level 7"},
4185     {   8, "Priority Level 8"},
4186     {   8, "Priority Level 9"},
4187     {   10, "Priority Level 10"},
4188     {   11, "Priority Level 11"},
4189     {   12, "Priority Level 12"},
4190     {   13, "Priority Level 13"},
4191     {   14, "Reserved"},
4192     {   15, "Reserved"},
4193     {   0, NULL }
4194 };
4195 #endif
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 #if 0
4301 /* 6.5.2.bp-1 ServiceRedirectionCause value */
4302 static const value_string ansi_map_ServiceRedirectionCause_vals[]  = {
4303     {   0, "Not used"},
4304     {   1, "NormalRegistration"},
4305     {   2, "SystemNotFound"},
4306     {   3, "ProtocolMismatch"},
4307     {   4, "RegistrationRejection"},
4308     {   5, "WrongSID"},
4309     {   6, "WrongNID"},
4310     {   0, NULL }
4311 };
4312 #endif
4313 /* 6.5.2.mT AuthenticationResponseReauthentication N.S0011-0 v 1.0*/
4314 
4315 /* 6.5.2.vT ReauthenticationReport N.S0011-0 v 1.0*/
4316 static const value_string ansi_map_ReauthenticationReport_vals[]  = {
4317     {   0, "Not used"},
4318     {   1, "Reauthentication not attempted"},
4319     {   2, "Reauthentication no response"},
4320     {   3, "Reauthentication successful"},
4321     {   4, "Reauthentication failed"},
4322     {   0, NULL }
4323 };
4324 
4325 
4326 
4327 #if 0
4328 /* 6.5.2.lB AKeyProtocolVersion
4329    N.S0011-0 v 1.0
4330 */
4331 static const value_string ansi_map_AKeyProtocolVersion_vals[]  = {
4332     {   0, "Not used"},
4333     {   1, "A-key Generation not supported"},
4334     {   2, "Diffie Hellman with 768-bit modulus, 160-bit primitive, and 160-bit exponents"},
4335     {   3, "Diffie Hellman with 512-bit modulus, 160-bit primitive, and 160-bit exponents"},
4336     {   4, "Diffie Hellman with 768-bit modulus, 32-bit primitive, and 160-bit exponents"},
4337     {   0, NULL }
4338 };
4339 #endif
4340 /* 6.5.2.sB OTASP_ResultCode
4341    N.S0011-0 v 1.0
4342 */
4343 static const value_string ansi_map_OTASP_ResultCode_vals[]  = {
4344     {   0, "Accepted - Successful"},
4345     {   1, "Rejected - Unknown cause."},
4346     {   2, "Computation Failure - E.g., unable to compute A-key"},
4347     {   3, "CSC Rejected - CSC challenge failure"},
4348     {   4, "Unrecognized OTASPCallEntry"},
4349     {   5, "Unsupported AKeyProtocolVersion(s)"},
4350     {   6, "Unable to Commit"},
4351     {   0, NULL }
4352 };
4353 
4354 /*6.5.2.wB ServiceIndicator
4355   N.S0011-0 v 1.0
4356 */
4357 static const value_string ansi_map_ServiceIndicator_vals[]  = {
4358     {   0, "Undefined Service"},
4359     {   1, "CDMA OTASP Service"},
4360     {   2, "TDMA OTASP Service"},
4361     {   3, "CDMA OTAPA Service"},
4362     {   4, "CDMA Position Determination Service (Emergency Services)"},
4363     {   5, "AMPS Position Determination Service (Emergency Services)"},
4364     {   6, "CDMA Position Determination Service (Value Added Services)"},
4365     {   0, NULL }
4366 };
4367 
4368 /* 6.5.2.xB SignalingMessageEncryptionReport
4369    N.S0011-0 v 1.0
4370 */
4371 static const value_string ansi_map_SMEReport_vals[]  = {
4372     {   0, "Not used"},
4373     {   1, "Signaling Message Encryption enabling not attempted"},
4374     {   2, "Signaling Message Encryption enabling no response"},
4375     {   3, "Signaling Message Encryption is enabled"},
4376     {   4, "Signaling Message Encryption enabling failed"},
4377     {   0, NULL }
4378 };
4379 
4380 /* 6.5.2.zB VoicePrivacyReport
4381    N.S0011-0 v 1.0
4382 */
4383 static const value_string ansi_map_VoicePrivacyReport_vals[]  = {
4384     {   0, "Not used"},
4385     {   1, "Voice Privacy not attempted"},
4386     {   2, "Voice Privacy no response"},
4387     {   3, "Voice Privacy is active"},
4388     {   4, "Voice Privacy failed"},
4389     {   0, NULL }
4390 };
4391 
4392 
4393 
4394 /*--- Included file: packet-ansi_map-fn.c ---*/
4395 #line 1 "./asn1/ansi_map/packet-ansi_map-fn.c"
4396 
4397 
4398 static int
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_)4399 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_) {
4400   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4401                                        NULL);
4402 
4403   return offset;
4404 }
4405 
4406 
4407 
4408 static int
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_)4409 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_) {
4410 #line 43 "./asn1/ansi_map/ansi_map.cnf"
4411 	tvbuff_t *parameter_tvb = NULL;
4412   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4413                                        &parameter_tvb);
4414 
4415 	if (parameter_tvb){
4416 		dissect_ansi_map_min_type(parameter_tvb,actx->pinfo,tree, actx);
4417 	}
4418 
4419 
4420 
4421   return offset;
4422 }
4423 
4424 
4425 
4426 static int
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_)4427 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_) {
4428   offset = dissect_ansi_map_MINType(implicit_tag, tvb, offset, actx, tree, hf_index);
4429 
4430   return offset;
4431 }
4432 
4433 
4434 static const value_string ansi_map_MSID_vals[] = {
4435   {   8, "mobileIdentificationNumber" },
4436   { 242, "imsi" },
4437   { 0, NULL }
4438 };
4439 
4440 static const ber_choice_t MSID_choice[] = {
4441   {   8, &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
4442   { 242, &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
4443   { 0, NULL, 0, 0, 0, NULL }
4444 };
4445 
4446 static int
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_)4447 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_) {
4448   offset = dissect_ber_choice(actx, tree, tvb, offset,
4449                                  MSID_choice, hf_index, ett_ansi_map_MSID,
4450                                  NULL);
4451 
4452   return offset;
4453 }
4454 
4455 
4456 
4457 static int
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_)4458 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_) {
4459   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4460                                        NULL);
4461 
4462   return offset;
4463 }
4464 
4465 
4466 
4467 static int
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_)4468 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_) {
4469   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4470                                        NULL);
4471 
4472   return offset;
4473 }
4474 
4475 
4476 
4477 static int
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_)4478 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_) {
4479   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4480                                        NULL);
4481 
4482   return offset;
4483 }
4484 
4485 
4486 
4487 static int
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_)4488 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_) {
4489   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4490                                                 NULL);
4491 
4492   return offset;
4493 }
4494 
4495 
4496 
4497 static int
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_)4498 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_) {
4499   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4500                                        NULL);
4501 
4502   return offset;
4503 }
4504 
4505 
4506 
4507 static int
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_)4508 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_) {
4509 #line 50 "./asn1/ansi_map/ansi_map.cnf"
4510 	tvbuff_t *parameter_tvb = NULL;
4511   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4512                                        &parameter_tvb);
4513 
4514 	if (parameter_tvb){
4515 		dissect_ansi_map_digits_type(parameter_tvb,actx->pinfo,tree, actx);
4516 	}
4517 
4518 
4519 
4520   return offset;
4521 }
4522 
4523 
4524 
4525 static int
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_)4526 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_) {
4527   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
4528 
4529   return offset;
4530 }
4531 
4532 
4533 
4534 static int
dissect_ansi_map_CaveKey(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)4535 dissect_ansi_map_CaveKey(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4536   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4537                                        NULL);
4538 
4539   return offset;
4540 }
4541 
4542 
4543 static const value_string ansi_map_DenyAccess_vals[] = {
4544   {   0, "not-used" },
4545   {   1, "unspecified" },
4546   {   2, "ssd-Update-failure" },
4547   {   3, "cOUNT-Update-failure" },
4548   {   4, "unique-Challenge-failure" },
4549   {   5, "aUTHR-mismatch" },
4550   {   6, "cOUNT-mismatch" },
4551   {   7, "process-collision" },
4552   {   8, "missing-authentication-parameters" },
4553   {   9, "terminalType-mismatch" },
4554   {  10, "mIN-IMSI-or-ESN-authorization-failure" },
4555   { 0, NULL }
4556 };
4557 
4558 
4559 static int
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_)4560 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_) {
4561   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4562                                   NULL);
4563 
4564   return offset;
4565 }
4566 
4567 
4568 
4569 static int
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_)4570 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_) {
4571   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
4572 
4573   return offset;
4574 }
4575 
4576 
4577 
4578 static int
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_)4579 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_) {
4580   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4581                                        NULL);
4582 
4583   return offset;
4584 }
4585 
4586 
4587 
4588 static int
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_)4589 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_) {
4590   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4591                                        NULL);
4592 
4593   return offset;
4594 }
4595 
4596 
4597 
4598 static int
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_)4599 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_) {
4600   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4601                                        NULL);
4602 
4603   return offset;
4604 }
4605 
4606 
4607 
4608 static int
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_)4609 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_) {
4610   offset = dissect_ansi_map_MINType(implicit_tag, tvb, offset, actx, tree, hf_index);
4611 
4612   return offset;
4613 }
4614 
4615 
4616 
4617 static int
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_)4618 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_) {
4619 #line 207 "./asn1/ansi_map/ansi_map.cnf"
4620 	tvbuff_t *parameter_tvb = NULL;
4621   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4622                                        &parameter_tvb);
4623 
4624 	if (parameter_tvb){
4625 		dissect_ansi_map_mscid(parameter_tvb,actx->pinfo,tree, actx);
4626 	}
4627 
4628 
4629 
4630   return offset;
4631 }
4632 
4633 
4634 
4635 static int
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_)4636 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_) {
4637   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4638                                        NULL);
4639 
4640   return offset;
4641 }
4642 
4643 
4644 
4645 static int
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_)4646 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_) {
4647   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4648                                        NULL);
4649 
4650   return offset;
4651 }
4652 
4653 
4654 
4655 static int
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_)4656 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_) {
4657   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
4658 
4659   return offset;
4660 }
4661 
4662 
4663 
4664 static int
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_)4665 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_) {
4666   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
4667 
4668   return offset;
4669 }
4670 
4671 
4672 
4673 static int
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_)4674 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_) {
4675   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4676                                        NULL);
4677 
4678   return offset;
4679 }
4680 
4681 
4682 
4683 static int
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_)4684 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_) {
4685   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4686                                        NULL);
4687 
4688   return offset;
4689 }
4690 
4691 
4692 static const value_string ansi_map_SSDNotShared_vals[] = {
4693   {   0, "not-used" },
4694   {   1, "discard-SSD" },
4695   { 0, NULL }
4696 };
4697 
4698 
4699 static int
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_)4700 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_) {
4701   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4702                                   NULL);
4703 
4704   return offset;
4705 }
4706 
4707 
4708 static const value_string ansi_map_UpdateCount_vals[] = {
4709   {   0, "not-used" },
4710   {   1, "update-COUNT" },
4711   { 0, NULL }
4712 };
4713 
4714 
4715 static int
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_)4716 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_) {
4717   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4718                                   NULL);
4719 
4720   return offset;
4721 }
4722 
4723 
4724 static const ber_sequence_t AuthenticationDirective_U_set[] = {
4725   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
4726   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
4727   { &hf_ansi_map_authenticationAlgorithmVersion, BER_CLASS_CON, 77, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationAlgorithmVersion },
4728   { &hf_ansi_map_authenticationResponseReauthentication, BER_CLASS_CON, 182, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseReauthentication },
4729   { &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
4730   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
4731   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
4732   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
4733   { &hf_ansi_map_caveKey    , BER_CLASS_CON, 316, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CaveKey },
4734   { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
4735   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
4736   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
4737   { &hf_ansi_map_randomVariableReauthentication, BER_CLASS_CON, 191, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableReauthentication },
4738   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
4739   { &hf_ansi_map_mobileStationMIN, BER_CLASS_CON, 184, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileStationMIN },
4740   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
4741   { &hf_ansi_map_randomVariableSSD, BER_CLASS_CON, 42, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableSSD },
4742   { &hf_ansi_map_randomVariableUniqueChallenge, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableUniqueChallenge },
4743   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
4744   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
4745   { &hf_ansi_map_sharedSecretData, BER_CLASS_CON, 46, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SharedSecretData },
4746   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
4747   { &hf_ansi_map_ssdnotShared, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDNotShared },
4748   { &hf_ansi_map_updateCount, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UpdateCount },
4749   { NULL, 0, 0, 0, NULL }
4750 };
4751 
4752 static int
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_)4753 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_) {
4754   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4755                               AuthenticationDirective_U_set, hf_index, ett_ansi_map_AuthenticationDirective_U);
4756 
4757   return offset;
4758 }
4759 
4760 
4761 
4762 static int
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_)4763 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_) {
4764   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4765                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationDirective_U);
4766 
4767   return offset;
4768 }
4769 
4770 
4771 static const ber_sequence_t AuthenticationDirectiveRes_U_set[] = {
4772   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
4773   { NULL, 0, 0, 0, NULL }
4774 };
4775 
4776 static int
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_)4777 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_) {
4778   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4779                               AuthenticationDirectiveRes_U_set, hf_index, ett_ansi_map_AuthenticationDirectiveRes_U);
4780 
4781   return offset;
4782 }
4783 
4784 
4785 
4786 static int
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_)4787 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_) {
4788   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4789                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationDirectiveRes_U);
4790 
4791   return offset;
4792 }
4793 
4794 
4795 
4796 static int
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_)4797 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_) {
4798 #line 182 "./asn1/ansi_map/ansi_map.cnf"
4799 	tvbuff_t *parameter_tvb = NULL;
4800   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4801                                        &parameter_tvb);
4802 
4803 	if (parameter_tvb){
4804 		dissect_ansi_map_intermsccircuitid(parameter_tvb,actx->pinfo,tree, actx);
4805 	}
4806 
4807 
4808 
4809   return offset;
4810 }
4811 
4812 
4813 static const ber_sequence_t AuthenticationDirectiveForward_U_set[] = {
4814   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
4815   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
4816   { &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
4817   { &hf_ansi_map_randomVariableUniqueChallenge, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableUniqueChallenge },
4818   { &hf_ansi_map_updateCount, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UpdateCount },
4819   { NULL, 0, 0, 0, NULL }
4820 };
4821 
4822 static int
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_)4823 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_) {
4824   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4825                               AuthenticationDirectiveForward_U_set, hf_index, ett_ansi_map_AuthenticationDirectiveForward_U);
4826 
4827   return offset;
4828 }
4829 
4830 
4831 
4832 static int
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_)4833 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_) {
4834   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4835                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationDirectiveForward_U);
4836 
4837   return offset;
4838 }
4839 
4840 
4841 
4842 static int
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_)4843 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_) {
4844   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4845                                        NULL);
4846 
4847   return offset;
4848 }
4849 
4850 
4851 
4852 static int
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_)4853 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_) {
4854   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4855                                        NULL);
4856 
4857   return offset;
4858 }
4859 
4860 
4861 static const ber_sequence_t AuthenticationDirectiveForwardRes_U_set[] = {
4862   { &hf_ansi_map_countUpdateReport, BER_CLASS_CON, 138, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CountUpdateReport },
4863   { &hf_ansi_map_uniqueChallengeReport, BER_CLASS_CON, 124, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UniqueChallengeReport },
4864   { NULL, 0, 0, 0, NULL }
4865 };
4866 
4867 static int
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_)4868 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_) {
4869   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4870                               AuthenticationDirectiveForwardRes_U_set, hf_index, ett_ansi_map_AuthenticationDirectiveForwardRes_U);
4871 
4872   return offset;
4873 }
4874 
4875 
4876 
4877 static int
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_)4878 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_) {
4879   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4880                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationDirectiveForwardRes_U);
4881 
4882   return offset;
4883 }
4884 
4885 
4886 static const value_string ansi_map_ReportType_vals[] = {
4887   {   0, "not-used" },
4888   {   1, "unspecified-security-violation" },
4889   {   2, "mSID-ESN-mismatch" },
4890   {   3, "rANDC-mismatch" },
4891   {   4, "reserved" },
4892   {   5, "sSD-update-failed" },
4893   {   6, "reserved" },
4894   {   7, "cOUNT-mismatch" },
4895   {   8, "reserved" },
4896   {   9, "unique-Challenge-failed" },
4897   {  10, "unsolicited-Base-Station-Challenge" },
4898   {  11, "sSD-Update-no-response" },
4899   {  12, "cOUNT-Update-no-response" },
4900   {  13, "unique-Challenge-no-response" },
4901   {  14, "aUTHR-mismatch" },
4902   {  15, "tERMTYP-mismatch" },
4903   {  16, "missing-authentication-parameters" },
4904   { 0, NULL }
4905 };
4906 
4907 
4908 static int
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_)4909 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_) {
4910   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4911                                   NULL);
4912 
4913   return offset;
4914 }
4915 
4916 
4917 static const value_string ansi_map_SystemAccessType_vals[] = {
4918   {   0, "not-used" },
4919   {   1, "unspecified" },
4920   {   2, "flash-request" },
4921   {   3, "autonomous-registration" },
4922   {   4, "call-origination" },
4923   {   5, "page-response" },
4924   {   6, "no-access" },
4925   {   7, "power-down-registration" },
4926   {   8, "sms-page-response" },
4927   {   9, "otasp" },
4928   { 0, NULL }
4929 };
4930 
4931 
4932 static int
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_)4933 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_) {
4934   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4935                                   NULL);
4936 
4937   return offset;
4938 }
4939 
4940 
4941 
4942 static int
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_)4943 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_) {
4944 #line 346 "./asn1/ansi_map/ansi_map.cnf"
4945 	tvbuff_t *parameter_tvb = NULL;
4946   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4947                                        &parameter_tvb);
4948 
4949 	if (parameter_tvb){
4950 		dissect_ansi_map_systemcapabilities(parameter_tvb,actx->pinfo,tree, actx);
4951 	}
4952 
4953 
4954 
4955 
4956   return offset;
4957 }
4958 
4959 
4960 
4961 static int
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_)4962 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_) {
4963   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4964                                                 NULL);
4965 
4966   return offset;
4967 }
4968 
4969 
4970 static const value_string ansi_map_TerminalType_vals[] = {
4971   {   0, "not-used" },
4972   {   1, "not-distinguished" },
4973   {   2, "iS-54-B" },
4974   {   3, "iS-136" },
4975   {   4, "j-STD-011" },
4976   {   5, "iS-136-A-or-TIA-EIA-136-Revision-0" },
4977   {   6, "tIA-EIA-136-A" },
4978   {   7, "iA-EIA-136-B" },
4979   {  32, "iS-95" },
4980   {  33, "iS-95B" },
4981   {  34, "j-STD-008" },
4982   {  35, "tIA-EIA-95-B" },
4983   {  36, "iS-2000" },
4984   {  64, "iS-88" },
4985   {  65, "iS-94" },
4986   {  66, "iS-91" },
4987   {  67, "j-STD-014" },
4988   {  68, "tIA-EIA-553-A" },
4989   {  69, "iS-91-A" },
4990   { 0, NULL }
4991 };
4992 
4993 static value_string_ext ansi_map_TerminalType_vals_ext = VALUE_STRING_EXT_INIT(ansi_map_TerminalType_vals);
4994 
4995 
4996 static int
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_)4997 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_) {
4998   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4999                                   NULL);
5000 
5001   return offset;
5002 }
5003 
5004 
5005 static const ber_sequence_t AuthenticationFailureReport_U_set[] = {
5006   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
5007   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
5008   { &hf_ansi_map_reportType , BER_CLASS_CON, 44, BER_FLAGS_IMPLTAG, dissect_ansi_map_ReportType },
5009   { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
5010   { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
5011   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
5012   { &hf_ansi_map_callHistoryCountExpected, BER_CLASS_CON, 79, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCountExpected },
5013   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
5014   { &hf_ansi_map_reportType2, BER_CLASS_CON, 44, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReportType },
5015   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
5016   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
5017   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
5018   { NULL, 0, 0, 0, NULL }
5019 };
5020 
5021 static int
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_)5022 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_) {
5023   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5024                               AuthenticationFailureReport_U_set, hf_index, ett_ansi_map_AuthenticationFailureReport_U);
5025 
5026   return offset;
5027 }
5028 
5029 
5030 
5031 static int
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_)5032 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_) {
5033   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5034                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationFailureReport_U);
5035 
5036   return offset;
5037 }
5038 
5039 
5040 static const ber_sequence_t AuthenticationFailureReportRes_U_set[] = {
5041   { &hf_ansi_map_authenticationAlgorithmVersion, BER_CLASS_CON, 77, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationAlgorithmVersion },
5042   { &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
5043   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
5044   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
5045   { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
5046   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
5047   { &hf_ansi_map_randomVariableSSD, BER_CLASS_CON, 42, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableSSD },
5048   { &hf_ansi_map_randomVariableUniqueChallenge, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableUniqueChallenge },
5049   { &hf_ansi_map_sharedSecretData, BER_CLASS_CON, 46, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SharedSecretData },
5050   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
5051   { &hf_ansi_map_ssdnotShared, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDNotShared },
5052   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
5053   { &hf_ansi_map_updateCount, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UpdateCount },
5054   { NULL, 0, 0, 0, NULL }
5055 };
5056 
5057 static int
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_)5058 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_) {
5059   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5060                               AuthenticationFailureReportRes_U_set, hf_index, ett_ansi_map_AuthenticationFailureReportRes_U);
5061 
5062   return offset;
5063 }
5064 
5065 
5066 
5067 static int
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_)5068 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_) {
5069   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5070                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationFailureReportRes_U);
5071 
5072   return offset;
5073 }
5074 
5075 
5076 
5077 static int
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_)5078 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_) {
5079   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5080                                        NULL);
5081 
5082   return offset;
5083 }
5084 
5085 
5086 
5087 static int
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_)5088 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_) {
5089   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5090                                        NULL);
5091 
5092   return offset;
5093 }
5094 
5095 
5096 
5097 static int
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_)5098 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_) {
5099   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5100                                        NULL);
5101 
5102   return offset;
5103 }
5104 
5105 
5106 
5107 static int
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_)5108 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_) {
5109 #line 136 "./asn1/ansi_map/ansi_map.cnf"
5110 	tvbuff_t *parameter_tvb = NULL;
5111   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5112                                        &parameter_tvb);
5113 
5114 	if (parameter_tvb){
5115 		dissect_ansi_map_confidentialitymodes(parameter_tvb,actx->pinfo,tree, actx);
5116 	}
5117 
5118 
5119   return offset;
5120 }
5121 
5122 
5123 
5124 static int
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_)5125 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_) {
5126   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5127                                        NULL);
5128 
5129   return offset;
5130 }
5131 
5132 
5133 
5134 static int
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_)5135 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_) {
5136   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
5137 
5138   return offset;
5139 }
5140 
5141 
5142 
5143 static int
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_)5144 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_) {
5145 #line 263 "./asn1/ansi_map/ansi_map.cnf"
5146 	tvbuff_t *parameter_tvb = NULL;
5147   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5148                                        &parameter_tvb);
5149 
5150 	if (parameter_tvb){
5151 		dissect_ansi_map_pc_ssn(parameter_tvb,actx->pinfo,tree, actx);
5152 	}
5153 
5154 
5155 
5156   return offset;
5157 }
5158 
5159 
5160 
5161 static int
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_)5162 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_) {
5163   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5164                                        NULL);
5165 
5166   return offset;
5167 }
5168 
5169 
5170 
5171 static int
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_)5172 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_) {
5173   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5174                                        NULL);
5175 
5176   return offset;
5177 }
5178 
5179 
5180 static const value_string ansi_map_SuspiciousAccess_vals[] = {
5181   {   0, "not-used" },
5182   {   1, "anomalous-Digits" },
5183   {   2, "unspecified" },
5184   { 0, NULL }
5185 };
5186 
5187 
5188 static int
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_)5189 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_) {
5190   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5191                                   NULL);
5192 
5193   return offset;
5194 }
5195 
5196 
5197 
5198 static int
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_)5199 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_) {
5200 #line 363 "./asn1/ansi_map/ansi_map.cnf"
5201 	tvbuff_t *parameter_tvb = NULL;
5202   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5203                                        &parameter_tvb);
5204 
5205 	if (parameter_tvb){
5206 		dissect_ansi_map_transactioncapability(parameter_tvb,actx->pinfo,tree, actx);
5207 	}
5208 
5209 
5210 
5211   return offset;
5212 }
5213 
5214 
5215 static const ber_sequence_t AuthenticationRequest_U_set[] = {
5216   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
5217   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
5218   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
5219   { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
5220   { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
5221   { &hf_ansi_map_authenticationData, BER_CLASS_CON, 161, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationData },
5222   { &hf_ansi_map_authenticationResponse, BER_CLASS_CON, 35, BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponse },
5223   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
5224   { &hf_ansi_map_cdmaNetworkIdentification, BER_CLASS_CON, 232, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMANetworkIdentification },
5225   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
5226   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
5227   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
5228   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
5229   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
5230   { &hf_ansi_map_serviceRedirectionCause, BER_CLASS_CON, 237, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionCause },
5231   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
5232   { &hf_ansi_map_suspiciousAccess, BER_CLASS_CON, 285, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SuspiciousAccess },
5233   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
5234   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
5235   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
5236   { NULL, 0, 0, 0, NULL }
5237 };
5238 
5239 static int
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_)5240 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_) {
5241   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5242                               AuthenticationRequest_U_set, hf_index, ett_ansi_map_AuthenticationRequest_U);
5243 
5244   return offset;
5245 }
5246 
5247 
5248 
5249 static int
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_)5250 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_) {
5251   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5252                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationRequest_U);
5253 
5254   return offset;
5255 }
5256 
5257 
5258 
5259 static int
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_)5260 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_) {
5261   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5262                                        NULL);
5263 
5264   return offset;
5265 }
5266 
5267 
5268 static const ber_sequence_t AnalogRedirectRecord_sequence[] = {
5269   { &hf_ansi_map_analogRedirectInfo, BER_CLASS_CON, 224, BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectInfo },
5270   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
5271   { NULL, 0, 0, 0, NULL }
5272 };
5273 
5274 static int
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_)5275 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_) {
5276   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5277                                    AnalogRedirectRecord_sequence, hf_index, ett_ansi_map_AnalogRedirectRecord);
5278 
5279   return offset;
5280 }
5281 
5282 
5283 
5284 static int
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_)5285 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_) {
5286   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5287                                        NULL);
5288 
5289   return offset;
5290 }
5291 
5292 
5293 
5294 static int
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_)5295 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_) {
5296   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5297                                        NULL);
5298 
5299   return offset;
5300 }
5301 
5302 
5303 static const ber_sequence_t CDMAChannelNumberList_item_sequence[] = {
5304   { &hf_ansi_map_cdmaChannelNumber, BER_CLASS_CON, 226, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelNumber },
5305   { &hf_ansi_map_cdmaChannelNumber2, BER_CLASS_CON, 226, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelNumber },
5306   { NULL, 0, 0, 0, NULL }
5307 };
5308 
5309 static int
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_)5310 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_) {
5311   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5312                                    CDMAChannelNumberList_item_sequence, hf_index, ett_ansi_map_CDMAChannelNumberList_item);
5313 
5314   return offset;
5315 }
5316 
5317 
5318 static const ber_sequence_t CDMAChannelNumberList_sequence_of[1] = {
5319   { &hf_ansi_map_CDMAChannelNumberList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CDMAChannelNumberList_item },
5320 };
5321 
5322 static int
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_)5323 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_) {
5324   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5325                                       CDMAChannelNumberList_sequence_of, hf_index, ett_ansi_map_CDMAChannelNumberList);
5326 
5327   return offset;
5328 }
5329 
5330 
5331 static const ber_sequence_t CDMARedirectRecord_sequence[] = {
5332   { &hf_ansi_map_cdmaBandClass, BER_CLASS_CON, 170, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClass },
5333   { &hf_ansi_map_cdmaChannelNumberList, BER_CLASS_CON, 227, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelNumberList },
5334   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
5335   { &hf_ansi_map_cdmaNetworkIdentification, BER_CLASS_CON, 232, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMANetworkIdentification },
5336   { NULL, 0, 0, 0, NULL }
5337 };
5338 
5339 static int
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_)5340 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_) {
5341   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5342                                    CDMARedirectRecord_sequence, hf_index, ett_ansi_map_CDMARedirectRecord);
5343 
5344   return offset;
5345 }
5346 
5347 
5348 
5349 static int
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_)5350 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_) {
5351   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5352                                        NULL);
5353 
5354   return offset;
5355 }
5356 
5357 
5358 
5359 static int
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_)5360 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_) {
5361   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5362                                        NULL);
5363 
5364   return offset;
5365 }
5366 
5367 
5368 
5369 static int
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_)5370 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_) {
5371   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5372                                        NULL);
5373 
5374   return offset;
5375 }
5376 
5377 
5378 
5379 static int
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_)5380 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_) {
5381   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5382                                        NULL);
5383 
5384   return offset;
5385 }
5386 
5387 
5388 static const ber_sequence_t AuthenticationRequestRes_U_set[] = {
5389   { &hf_ansi_map_analogRedirectRecord, BER_CLASS_CON, 225, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectRecord },
5390   { &hf_ansi_map_authenticationAlgorithmVersion, BER_CLASS_CON, 77, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationAlgorithmVersion },
5391   { &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
5392   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
5393   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
5394   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
5395   { &hf_ansi_map_cdmaRedirectRecord, BER_CLASS_CON, 229, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMARedirectRecord },
5396   { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
5397   { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
5398   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
5399   { &hf_ansi_map_roamingIndication, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoamingIndication },
5400   { &hf_ansi_map_serviceRedirectionInfo, BER_CLASS_CON, 238, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionInfo },
5401   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
5402   { &hf_ansi_map_randomVariableSSD, BER_CLASS_CON, 42, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableSSD },
5403   { &hf_ansi_map_randomVariableUniqueChallenge, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableUniqueChallenge },
5404   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
5405   { &hf_ansi_map_sharedSecretData, BER_CLASS_CON, 46, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SharedSecretData },
5406   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
5407   { &hf_ansi_map_ssdnotShared, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDNotShared },
5408   { &hf_ansi_map_updateCount, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UpdateCount },
5409   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
5410   { NULL, 0, 0, 0, NULL }
5411 };
5412 
5413 static int
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_)5414 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_) {
5415   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5416                               AuthenticationRequestRes_U_set, hf_index, ett_ansi_map_AuthenticationRequestRes_U);
5417 
5418   return offset;
5419 }
5420 
5421 
5422 
5423 static int
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_)5424 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_) {
5425   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5426                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationRequestRes_U);
5427 
5428   return offset;
5429 }
5430 
5431 
5432 
5433 static int
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_)5434 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_) {
5435   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5436                                        NULL);
5437 
5438   return offset;
5439 }
5440 
5441 
5442 
5443 static int
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_)5444 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_) {
5445 #line 443 "./asn1/ansi_map/ansi_map.cnf"
5446 	tvbuff_t *parameter_tvb = NULL;
5447   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5448                                        &parameter_tvb);
5449 
5450 	if (parameter_tvb){
5451 		ServiceIndicator = tvb_get_guint8(parameter_tvb,0);
5452 		if (SMS_BearerData_tvb !=NULL)
5453 		{
5454 			switch(ServiceIndicator){
5455 				case 1: /* CDMA OTASP Service */
5456 				case 3: /* CDMA OTAPA Service */
5457 					dissector_try_uint(is683_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
5458 					break;
5459 				case 4: /* CDMA Position Determination Service */
5460 					dissector_try_uint(is801_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
5461 					break;
5462 				default:
5463 					break;
5464 			}
5465 		}
5466 	}
5467 
5468 
5469 
5470   return offset;
5471 }
5472 
5473 
5474 
5475 static int
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_)5476 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_) {
5477   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5478                                        NULL);
5479 
5480   return offset;
5481 }
5482 
5483 
5484 
5485 static int
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_)5486 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_) {
5487   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5488                                        NULL);
5489 
5490   return offset;
5491 }
5492 
5493 
5494 
5495 static int
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_)5496 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_) {
5497   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5498                                        NULL);
5499 
5500   return offset;
5501 }
5502 
5503 
5504 static const ber_sequence_t AuthenticationStatusReport_U_set[] = {
5505   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
5506   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
5507   { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
5508   { &hf_ansi_map_countUpdateReport, BER_CLASS_CON, 138, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CountUpdateReport },
5509   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
5510   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
5511   { &hf_ansi_map_reauthenticationReport, BER_CLASS_CON, 192, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReauthenticationReport },
5512   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
5513   { &hf_ansi_map_serviceIndicator, BER_CLASS_CON, 193, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceIndicator },
5514   { &hf_ansi_map_signalingMessageEncryptionReport, BER_CLASS_CON, 194, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionReport },
5515   { &hf_ansi_map_ssdUpdateReport, BER_CLASS_CON, 156, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDUpdateReport },
5516   { &hf_ansi_map_uniqueChallengeReport, BER_CLASS_CON, 124, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UniqueChallengeReport },
5517   { &hf_ansi_map_voicePrivacyReport, BER_CLASS_CON, 196, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyReport },
5518   { NULL, 0, 0, 0, NULL }
5519 };
5520 
5521 static int
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_)5522 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_) {
5523   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5524                               AuthenticationStatusReport_U_set, hf_index, ett_ansi_map_AuthenticationStatusReport_U);
5525 
5526   return offset;
5527 }
5528 
5529 
5530 
5531 static int
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_)5532 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_) {
5533   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5534                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationStatusReport_U);
5535 
5536   return offset;
5537 }
5538 
5539 
5540 static const ber_sequence_t AuthenticationStatusReportRes_U_set[] = {
5541   { &hf_ansi_map_authenticationAlgorithmVersion, BER_CLASS_CON, 77, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationAlgorithmVersion },
5542   { &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
5543   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
5544   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
5545   { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
5546   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
5547   { &hf_ansi_map_randomVariableSSD, BER_CLASS_CON, 42, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableSSD },
5548   { &hf_ansi_map_randomVariableUniqueChallenge, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableUniqueChallenge },
5549   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
5550   { &hf_ansi_map_sharedSecretData, BER_CLASS_CON, 46, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SharedSecretData },
5551   { &hf_ansi_map_ssdnotShared, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDNotShared },
5552   { &hf_ansi_map_updateCount, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UpdateCount },
5553   { NULL, 0, 0, 0, NULL }
5554 };
5555 
5556 static int
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_)5557 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_) {
5558   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5559                               AuthenticationStatusReportRes_U_set, hf_index, ett_ansi_map_AuthenticationStatusReportRes_U);
5560 
5561   return offset;
5562 }
5563 
5564 
5565 
5566 static int
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_)5567 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_) {
5568   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5569                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationStatusReportRes_U);
5570 
5571   return offset;
5572 }
5573 
5574 
5575 
5576 static int
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_)5577 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_) {
5578   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5579                                        NULL);
5580 
5581   return offset;
5582 }
5583 
5584 
5585 static const ber_sequence_t BaseStationChallenge_U_set[] = {
5586   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
5587   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
5588   { &hf_ansi_map_randomVariableBaseStation, BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableBaseStation },
5589   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
5590   { &hf_ansi_map_serviceIndicator, BER_CLASS_CON, 193, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceIndicator },
5591   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
5592   { NULL, 0, 0, 0, NULL }
5593 };
5594 
5595 static int
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_)5596 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_) {
5597   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5598                               BaseStationChallenge_U_set, hf_index, ett_ansi_map_BaseStationChallenge_U);
5599 
5600   return offset;
5601 }
5602 
5603 
5604 
5605 static int
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_)5606 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_) {
5607   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5608                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_BaseStationChallenge_U);
5609 
5610   return offset;
5611 }
5612 
5613 
5614 
5615 static int
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_)5616 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_) {
5617   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5618                                        NULL);
5619 
5620   return offset;
5621 }
5622 
5623 
5624 static const ber_sequence_t BaseStationChallengeRes_U_set[] = {
5625   { &hf_ansi_map_authenticationResponseBaseStation, BER_CLASS_CON, 36, BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseBaseStation },
5626   { NULL, 0, 0, 0, NULL }
5627 };
5628 
5629 static int
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_)5630 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_) {
5631   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5632                               BaseStationChallengeRes_U_set, hf_index, ett_ansi_map_BaseStationChallengeRes_U);
5633 
5634   return offset;
5635 }
5636 
5637 
5638 
5639 static int
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_)5640 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_) {
5641   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5642                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_BaseStationChallengeRes_U);
5643 
5644   return offset;
5645 }
5646 
5647 
5648 static const ber_sequence_t Blocking_U_set[] = {
5649   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
5650   { NULL, 0, 0, 0, NULL }
5651 };
5652 
5653 static int
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_)5654 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_) {
5655   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5656                               Blocking_U_set, hf_index, ett_ansi_map_Blocking_U);
5657 
5658   return offset;
5659 }
5660 
5661 
5662 
5663 static int
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_)5664 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_) {
5665   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5666                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_Blocking_U);
5667 
5668   return offset;
5669 }
5670 
5671 
5672 static const ber_sequence_t BulkDeregistration_U_set[] = {
5673   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
5674   { NULL, 0, 0, 0, NULL }
5675 };
5676 
5677 static int
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_)5678 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_) {
5679   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5680                               BulkDeregistration_U_set, hf_index, ett_ansi_map_BulkDeregistration_U);
5681 
5682   return offset;
5683 }
5684 
5685 
5686 
5687 static int
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_)5688 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_) {
5689   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5690                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_BulkDeregistration_U);
5691 
5692   return offset;
5693 }
5694 
5695 
5696 static const ber_sequence_t CountRequest_U_set[] = {
5697   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
5698   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
5699   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
5700   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
5701   { NULL, 0, 0, 0, NULL }
5702 };
5703 
5704 static int
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_)5705 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_) {
5706   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5707                               CountRequest_U_set, hf_index, ett_ansi_map_CountRequest_U);
5708 
5709   return offset;
5710 }
5711 
5712 
5713 
5714 static int
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_)5715 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_) {
5716   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5717                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CountRequest_U);
5718 
5719   return offset;
5720 }
5721 
5722 
5723 static const ber_sequence_t CountRequestRes_U_set[] = {
5724   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
5725   { NULL, 0, 0, 0, NULL }
5726 };
5727 
5728 static int
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_)5729 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_) {
5730   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5731                               CountRequestRes_U_set, hf_index, ett_ansi_map_CountRequestRes_U);
5732 
5733   return offset;
5734 }
5735 
5736 
5737 
5738 static int
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_)5739 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_) {
5740   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5741                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CountRequestRes_U);
5742 
5743   return offset;
5744 }
5745 
5746 
5747 
5748 static int
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_)5749 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_) {
5750 #line 90 "./asn1/ansi_map/ansi_map.cnf"
5751 	tvbuff_t *parameter_tvb = NULL;
5752   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5753                                        &parameter_tvb);
5754 
5755 	if (parameter_tvb){
5756 		dissect_ansi_map_billingid(parameter_tvb,actx->pinfo,tree, actx);
5757 	}
5758 
5759 
5760 
5761   return offset;
5762 }
5763 
5764 
5765 
5766 static int
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_)5767 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_) {
5768 #line 128 "./asn1/ansi_map/ansi_map.cnf"
5769 	tvbuff_t *parameter_tvb = NULL;
5770   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5771                                        &parameter_tvb);
5772 
5773 	if (parameter_tvb){
5774 		dissect_ansi_map_channeldata(parameter_tvb,actx->pinfo,tree, actx);
5775 	}
5776 
5777 
5778 
5779   return offset;
5780 }
5781 
5782 
5783 
5784 static int
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_)5785 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_) {
5786   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5787                                                 NULL);
5788 
5789   return offset;
5790 }
5791 
5792 
5793 
5794 static int
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_)5795 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_) {
5796   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5797                                        NULL);
5798 
5799   return offset;
5800 }
5801 
5802 
5803 
5804 static int
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_)5805 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_) {
5806   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5807                                        NULL);
5808 
5809   return offset;
5810 }
5811 
5812 
5813 
5814 static int
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_)5815 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_) {
5816   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5817                                        NULL);
5818 
5819   return offset;
5820 }
5821 
5822 
5823 static const value_string ansi_map_HandoffReason_vals[] = {
5824   {   0, "not-used" },
5825   {   1, "unspecified" },
5826   {   2, "weak-Signal" },
5827   {   3, "off-loading" },
5828   {   4, "anticipatory" },
5829   { 0, NULL }
5830 };
5831 
5832 
5833 static int
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_)5834 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_) {
5835   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5836                                   NULL);
5837 
5838   return offset;
5839 }
5840 
5841 
5842 
5843 static int
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_)5844 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_) {
5845 #line 174 "./asn1/ansi_map/ansi_map.cnf"
5846 	tvbuff_t *parameter_tvb = NULL;
5847   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5848                                        &parameter_tvb);
5849 
5850 	if (parameter_tvb){
5851 		dissect_ansi_map_handoffstate(parameter_tvb,actx->pinfo,tree, actx);
5852 	}
5853 
5854 
5855 
5856   return offset;
5857 }
5858 
5859 
5860 
5861 static int
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_)5862 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_) {
5863   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5864                                        NULL);
5865 
5866   return offset;
5867 }
5868 
5869 
5870 
5871 static int
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_)5872 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_) {
5873   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5874                                        NULL);
5875 
5876   return offset;
5877 }
5878 
5879 
5880 
5881 static int
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_)5882 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_) {
5883   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5884                                        NULL);
5885 
5886   return offset;
5887 }
5888 
5889 
5890 static const ber_sequence_t FacilitiesDirective_U_set[] = {
5891   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
5892   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
5893   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
5894   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
5895   { &hf_ansi_map_interSwitchCount, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterSwitchCount },
5896   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
5897   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
5898   { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
5899   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
5900   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
5901   { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
5902   { &hf_ansi_map_handoffState, BER_CLASS_CON, 164, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffState },
5903   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
5904   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
5905   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
5906   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
5907   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
5908   { NULL, 0, 0, 0, NULL }
5909 };
5910 
5911 static int
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_)5912 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_) {
5913   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5914                               FacilitiesDirective_U_set, hf_index, ett_ansi_map_FacilitiesDirective_U);
5915 
5916   return offset;
5917 }
5918 
5919 
5920 
5921 static int
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_)5922 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_) {
5923   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5924                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesDirective_U);
5925 
5926   return offset;
5927 }
5928 
5929 
5930 static const ber_sequence_t FacilitiesDirectiveRes_U_set[] = {
5931   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
5932   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
5933   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
5934   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
5935   { NULL, 0, 0, 0, NULL }
5936 };
5937 
5938 static int
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_)5939 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_) {
5940   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5941                               FacilitiesDirectiveRes_U_set, hf_index, ett_ansi_map_FacilitiesDirectiveRes_U);
5942 
5943   return offset;
5944 }
5945 
5946 
5947 
5948 static int
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_)5949 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_) {
5950   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5951                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesDirectiveRes_U);
5952 
5953   return offset;
5954 }
5955 
5956 
5957 
5958 static int
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_)5959 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_) {
5960   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5961                                        NULL);
5962 
5963   return offset;
5964 }
5965 
5966 
5967 
5968 static int
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_)5969 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_) {
5970 #line 65 "./asn1/ansi_map/ansi_map.cnf"
5971 	tvbuff_t *parameter_tvb = NULL;
5972   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5973                                        &parameter_tvb);
5974 
5975 	if (parameter_tvb){
5976 		dissect_ansi_map_alertcode(parameter_tvb,actx->pinfo,tree, actx);
5977 	}
5978 
5979 
5980 
5981   return offset;
5982 }
5983 
5984 
5985 
5986 static int
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_)5987 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_) {
5988 #line 421 "./asn1/ansi_map/ansi_map.cnf"
5989 	tvbuff_t *parameter_tvb = NULL;
5990     proto_tree *subtree;
5991 
5992   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5993                                        &parameter_tvb);
5994 
5995 	if (parameter_tvb){
5996 		subtree = proto_item_add_subtree(actx->created_item, ett_CDMA2000HandoffInvokeIOSData);
5997 		dissect_cdma2000_a1_elements(parameter_tvb, actx->pinfo, subtree,
5998 			0, tvb_reported_length_remaining(parameter_tvb,0));
5999 	}
6000 
6001 
6002   return offset;
6003 }
6004 
6005 
6006 
6007 static int
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_)6008 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_) {
6009   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6010                                        NULL);
6011 
6012   return offset;
6013 }
6014 
6015 
6016 
6017 static int
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_)6018 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_) {
6019   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6020                                        NULL);
6021 
6022   return offset;
6023 }
6024 
6025 
6026 static const ber_sequence_t CDMABandClassInformation_sequence[] = {
6027   { &hf_ansi_map_cdmaBandClass, BER_CLASS_CON, 170, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClass },
6028   { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
6029   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
6030   { NULL, 0, 0, 0, NULL }
6031 };
6032 
6033 static int
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_)6034 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_) {
6035   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6036                                    CDMABandClassInformation_sequence, hf_index, ett_ansi_map_CDMABandClassInformation);
6037 
6038   return offset;
6039 }
6040 
6041 
6042 static const ber_sequence_t CDMABandClassList_sequence_of[1] = {
6043   { &hf_ansi_map_CDMABandClassList_item, BER_CLASS_CON, 171, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClassInformation },
6044 };
6045 
6046 static int
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_)6047 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_) {
6048   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6049                                       CDMABandClassList_sequence_of, hf_index, ett_ansi_map_CDMABandClassList);
6050 
6051   return offset;
6052 }
6053 
6054 
6055 
6056 static int
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_)6057 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_) {
6058 #line 105 "./asn1/ansi_map/ansi_map.cnf"
6059 	tvbuff_t *parameter_tvb = NULL;
6060   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6061                                        &parameter_tvb);
6062 
6063 	if (parameter_tvb){
6064 		dissect_ansi_map_cdmacallmode(parameter_tvb,actx->pinfo,tree, actx);
6065 	}
6066 
6067 
6068   return offset;
6069 }
6070 
6071 
6072 
6073 static int
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_)6074 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_) {
6075 #line 112 "./asn1/ansi_map/ansi_map.cnf"
6076 	tvbuff_t *parameter_tvb = NULL;
6077   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6078                                        &parameter_tvb);
6079 
6080 	if (parameter_tvb){
6081 		dissect_ansi_map_cdmachanneldata(parameter_tvb,actx->pinfo,tree, actx);
6082 	}
6083 
6084 
6085 
6086   return offset;
6087 }
6088 
6089 
6090 
6091 static int
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_)6092 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_) {
6093   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6094                                        NULL);
6095 
6096   return offset;
6097 }
6098 
6099 
6100 
6101 static int
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_)6102 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_) {
6103 #line 371 "./asn1/ansi_map/ansi_map.cnf"
6104 	tvbuff_t *parameter_tvb = NULL;
6105   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6106                                        &parameter_tvb);
6107 
6108 	if (parameter_tvb){
6109 		dissect_ansi_map_cdmaserviceoption(parameter_tvb,actx->pinfo,tree, actx);
6110 	}
6111 
6112 
6113 
6114 
6115   return offset;
6116 }
6117 
6118 
6119 
6120 static int
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_)6121 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_) {
6122   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6123                                        NULL);
6124 
6125   return offset;
6126 }
6127 
6128 
6129 
6130 static int
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_)6131 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_) {
6132   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6133                                        NULL);
6134 
6135   return offset;
6136 }
6137 
6138 
6139 
6140 static int
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_)6141 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_) {
6142   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6143                                        NULL);
6144 
6145   return offset;
6146 }
6147 
6148 
6149 static const ber_sequence_t CDMAConnectionReferenceInformation_sequence[] = {
6150   { &hf_ansi_map_cdmaConnectionReference, BER_CLASS_CON, 208, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReference },
6151   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
6152   { &hf_ansi_map_cdmaState  , BER_CLASS_CON, 213, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAState },
6153   { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
6154   { &hf_ansi_map_cdmaServiceOptionConnectionIdentifier, BER_CLASS_CON, 361, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionConnectionIdentifier },
6155   { NULL, 0, 0, 0, NULL }
6156 };
6157 
6158 static int
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_)6159 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_) {
6160   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6161                                    CDMAConnectionReferenceInformation_sequence, hf_index, ett_ansi_map_CDMAConnectionReferenceInformation);
6162 
6163   return offset;
6164 }
6165 
6166 
6167 static const ber_sequence_t CDMAConnectionReferenceList_item_sequence[] = {
6168   { &hf_ansi_map_cdmaConnectionReferenceInformation, BER_CLASS_CON, 211, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceInformation },
6169   { &hf_ansi_map_cdmaConnectionReferenceInformation2, BER_CLASS_CON, 211, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceInformation },
6170   { NULL, 0, 0, 0, NULL }
6171 };
6172 
6173 static int
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_)6174 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_) {
6175   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6176                                    CDMAConnectionReferenceList_item_sequence, hf_index, ett_ansi_map_CDMAConnectionReferenceList_item);
6177 
6178   return offset;
6179 }
6180 
6181 
6182 static const ber_sequence_t CDMAConnectionReferenceList_sequence_of[1] = {
6183   { &hf_ansi_map_CDMAConnectionReferenceList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CDMAConnectionReferenceList_item },
6184 };
6185 
6186 static int
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_)6187 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_) {
6188   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6189                                       CDMAConnectionReferenceList_sequence_of, hf_index, ett_ansi_map_CDMAConnectionReferenceList);
6190 
6191   return offset;
6192 }
6193 
6194 
6195 
6196 static int
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_)6197 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_) {
6198   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6199                                        NULL);
6200 
6201   return offset;
6202 }
6203 
6204 
6205 
6206 static int
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_)6207 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_) {
6208   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6209                                        NULL);
6210 
6211   return offset;
6212 }
6213 
6214 
6215 static const ber_sequence_t CDMAServiceOptionList_sequence_of[1] = {
6216   { &hf_ansi_map_CDMAServiceOptionList_item, BER_CLASS_CON, 175, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
6217 };
6218 
6219 static int
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_)6220 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_) {
6221   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6222                                       CDMAServiceOptionList_sequence_of, hf_index, ett_ansi_map_CDMAServiceOptionList);
6223 
6224   return offset;
6225 }
6226 
6227 
6228 
6229 static int
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_)6230 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_) {
6231   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6232                                        NULL);
6233 
6234   return offset;
6235 }
6236 
6237 
6238 
6239 static int
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_)6240 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_) {
6241 #line 120 "./asn1/ansi_map/ansi_map.cnf"
6242 	tvbuff_t *parameter_tvb = NULL;
6243   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6244                                        &parameter_tvb);
6245 
6246 	if (parameter_tvb){
6247 		dissect_ansi_map_cdmastationclassmark(parameter_tvb,actx->pinfo,tree, actx);
6248 	}
6249 
6250 
6251 
6252   return offset;
6253 }
6254 
6255 
6256 
6257 static int
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_)6258 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_) {
6259   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6260                                        NULL);
6261 
6262   return offset;
6263 }
6264 
6265 
6266 
6267 static int
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_)6268 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_) {
6269   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6270                                        NULL);
6271 
6272   return offset;
6273 }
6274 
6275 
6276 static const ber_sequence_t CDMATargetMAHOInformation_sequence[] = {
6277   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
6278   { &hf_ansi_map_cdmaPilotStrength, BER_CLASS_CON, 65, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPilotStrength },
6279   { &hf_ansi_map_cdmaTargetOneWayDelay, BER_CLASS_CON, 61, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetOneWayDelay },
6280   { NULL, 0, 0, 0, NULL }
6281 };
6282 
6283 static int
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_)6284 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_) {
6285   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6286                                    CDMATargetMAHOInformation_sequence, hf_index, ett_ansi_map_CDMATargetMAHOInformation);
6287 
6288   return offset;
6289 }
6290 
6291 
6292 static const ber_sequence_t CDMATargetMAHOList_sequence_of[1] = {
6293   { &hf_ansi_map_CDMATargetMAHOList_item, BER_CLASS_CON, 135, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOInformation },
6294 };
6295 
6296 static int
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_)6297 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_) {
6298   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6299                                       CDMATargetMAHOList_sequence_of, hf_index, ett_ansi_map_CDMATargetMAHOList);
6300 
6301   return offset;
6302 }
6303 
6304 
6305 
6306 static int
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_)6307 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_) {
6308   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6309                                        NULL);
6310 
6311   return offset;
6312 }
6313 
6314 
6315 static const ber_sequence_t CDMATargetMeasurementInformation_sequence[] = {
6316   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
6317   { &hf_ansi_map_cdmaSignalQuality, BER_CLASS_CON, 64, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASignalQuality },
6318   { &hf_ansi_map_cdmaTargetOneWayDelay, BER_CLASS_CON, 61, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetOneWayDelay },
6319   { NULL, 0, 0, 0, NULL }
6320 };
6321 
6322 static int
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_)6323 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_) {
6324   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6325                                    CDMATargetMeasurementInformation_sequence, hf_index, ett_ansi_map_CDMATargetMeasurementInformation);
6326 
6327   return offset;
6328 }
6329 
6330 
6331 static const ber_sequence_t CDMATargetMeasurementList_sequence_of[1] = {
6332   { &hf_ansi_map_CDMATargetMeasurementList_item, BER_CLASS_CON, 133, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementInformation },
6333 };
6334 
6335 static int
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_)6336 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_) {
6337   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6338                                       CDMATargetMeasurementList_sequence_of, hf_index, ett_ansi_map_CDMATargetMeasurementList);
6339 
6340   return offset;
6341 }
6342 
6343 
6344 
6345 static int
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_)6346 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_) {
6347   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6348                                        NULL);
6349 
6350   return offset;
6351 }
6352 
6353 
6354 
6355 static int
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_)6356 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_) {
6357 #line 215 "./asn1/ansi_map/ansi_map.cnf"
6358 	tvbuff_t *parameter_tvb = NULL;
6359   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6360                                        &parameter_tvb);
6361 
6362 	if (parameter_tvb){
6363 		dissect_ansi_map_mslocation(parameter_tvb,actx->pinfo,tree, actx);
6364 	}
6365 
6366 
6367 
6368   return offset;
6369 }
6370 
6371 
6372 
6373 static int
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_)6374 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_) {
6375 #line 223 "./asn1/ansi_map/ansi_map.cnf"
6376 	tvbuff_t *parameter_tvb = NULL;
6377   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6378                                        &parameter_tvb);
6379 
6380 	if (parameter_tvb){
6381 		dissect_ansi_map_nampscallmode(parameter_tvb,actx->pinfo,tree, actx);
6382 	}
6383 
6384 
6385 
6386   return offset;
6387 }
6388 
6389 
6390 
6391 static int
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_)6392 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_) {
6393 #line 231 "./asn1/ansi_map/ansi_map.cnf"
6394 	tvbuff_t *parameter_tvb = NULL;
6395   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6396                                        &parameter_tvb);
6397 
6398 	if (parameter_tvb){
6399 		dissect_ansi_map_nampschanneldata(parameter_tvb,actx->pinfo,tree, actx);
6400 	}
6401 
6402 
6403 
6404   return offset;
6405 }
6406 
6407 
6408 
6409 static int
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_)6410 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_) {
6411   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6412                                        NULL);
6413 
6414   return offset;
6415 }
6416 
6417 
6418 
6419 static int
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_)6420 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_) {
6421   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6422                                        NULL);
6423 
6424   return offset;
6425 }
6426 
6427 
6428 
6429 static int
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_)6430 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_) {
6431   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6432                                        NULL);
6433 
6434   return offset;
6435 }
6436 
6437 
6438 
6439 static int
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_)6440 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_) {
6441   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6442                                        NULL);
6443 
6444   return offset;
6445 }
6446 
6447 
6448 
6449 static int
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_)6450 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_) {
6451   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6452                                        NULL);
6453 
6454   return offset;
6455 }
6456 
6457 
6458 
6459 static int
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_)6460 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_) {
6461   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6462                                        NULL);
6463 
6464   return offset;
6465 }
6466 
6467 
6468 
6469 static int
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_)6470 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_) {
6471   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6472                                        NULL);
6473 
6474   return offset;
6475 }
6476 
6477 
6478 
6479 static int
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_)6480 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_) {
6481   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6482                                        NULL);
6483 
6484   return offset;
6485 }
6486 
6487 
6488 
6489 static int
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_)6490 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_) {
6491   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6492                                        NULL);
6493 
6494   return offset;
6495 }
6496 
6497 
6498 
6499 static int
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_)6500 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_) {
6501   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6502                                        NULL);
6503 
6504   return offset;
6505 }
6506 
6507 
6508 static const ber_sequence_t FacilitiesDirective2_U_set[] = {
6509   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
6510   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
6511   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
6512   { &hf_ansi_map_interSwitchCount, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterSwitchCount },
6513   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
6514   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
6515   { &hf_ansi_map_baseStationManufacturerCode, BER_CLASS_CON, 197, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BaseStationManufacturerCode },
6516   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
6517   { &hf_ansi_map_cdma2000HandoffInvokeIOSData, BER_CLASS_CON, 356, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffInvokeIOSData },
6518   { &hf_ansi_map_cdmaBandClassList, BER_CLASS_CON, 172, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClassList },
6519   { &hf_ansi_map_cdmaCallMode, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACallMode },
6520   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
6521   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
6522   { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
6523   { &hf_ansi_map_cdmaMSMeasuredChannelIdentity, BER_CLASS_CON, 351, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMSMeasuredChannelIdentity },
6524   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
6525   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
6526   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
6527   { &hf_ansi_map_cdmaServingOneWayDelay, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay },
6528   { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
6529   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
6530   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
6531   { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList },
6532   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
6533   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
6534   { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
6535   { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
6536   { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
6537   { &hf_ansi_map_handoffState, BER_CLASS_CON, 164, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffState },
6538   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
6539   { &hf_ansi_map_msLocation , BER_CLASS_CON, 70, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSLocation },
6540   { &hf_ansi_map_nampsCallMode, BER_CLASS_CON, 165, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSCallMode },
6541   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
6542   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
6543   { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
6544   { &hf_ansi_map_pdsnAddress, BER_CLASS_CON, 349, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNAddress },
6545   { &hf_ansi_map_pdsnProtocolType, BER_CLASS_CON, 350, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNProtocolType },
6546   { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
6547   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
6548   { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
6549   { &hf_ansi_map_systemOperatorCode, BER_CLASS_CON, 206, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemOperatorCode },
6550   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
6551   { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
6552   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
6553   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
6554   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
6555   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
6556   { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL, dissect_ansi_map_TDMATerminalCapability },
6557   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
6558   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
6559   { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
6560   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
6561   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
6562   { NULL, 0, 0, 0, NULL }
6563 };
6564 
6565 static int
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_)6566 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_) {
6567   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6568                               FacilitiesDirective2_U_set, hf_index, ett_ansi_map_FacilitiesDirective2_U);
6569 
6570   return offset;
6571 }
6572 
6573 
6574 
6575 static int
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_)6576 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_) {
6577   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
6578                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesDirective2_U);
6579 
6580   return offset;
6581 }
6582 
6583 
6584 
6585 static int
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_)6586 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_) {
6587   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6588                                        NULL);
6589 
6590   return offset;
6591 }
6592 
6593 
6594 
6595 static int
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_)6596 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_) {
6597 #line 432 "./asn1/ansi_map/ansi_map.cnf"
6598 	tvbuff_t *parameter_tvb = NULL;
6599     proto_tree *subtree;
6600 
6601   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6602                                        &parameter_tvb);
6603 
6604 	if (parameter_tvb){
6605 		subtree = proto_item_add_subtree(actx->created_item, ett_CDMA2000HandoffResponseIOSData);
6606 		dissect_cdma2000_a1_elements(parameter_tvb, actx->pinfo, subtree,
6607 			0, tvb_reported_length_remaining(parameter_tvb,0));
6608 	}
6609 
6610 
6611   return offset;
6612 }
6613 
6614 
6615 
6616 static int
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_)6617 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_) {
6618   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6619                                        NULL);
6620 
6621   return offset;
6622 }
6623 
6624 
6625 
6626 static int
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_)6627 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_) {
6628   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6629                                        NULL);
6630 
6631   return offset;
6632 }
6633 
6634 
6635 
6636 static int
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_)6637 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_) {
6638   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6639                                        NULL);
6640 
6641   return offset;
6642 }
6643 
6644 
6645 static const ber_sequence_t CDMACodeChannelInformation_sequence[] = {
6646   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
6647   { &hf_ansi_map_cdmaCodeChannel, BER_CLASS_CON, 68, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannel },
6648   { &hf_ansi_map_cdmaPilotPN, BER_CLASS_CON, 173, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPilotPN },
6649   { &hf_ansi_map_cdmaPowerCombinedIndicator, BER_CLASS_CON, 228, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPowerCombinedIndicator },
6650   { NULL, 0, 0, 0, NULL }
6651 };
6652 
6653 static int
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_)6654 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_) {
6655   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6656                                    CDMACodeChannelInformation_sequence, hf_index, ett_ansi_map_CDMACodeChannelInformation);
6657 
6658   return offset;
6659 }
6660 
6661 
6662 static const ber_sequence_t CDMACodeChannelList_sequence_of[1] = {
6663   { &hf_ansi_map_CDMACodeChannelList_item, BER_CLASS_CON, 131, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannelInformation },
6664 };
6665 
6666 static int
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_)6667 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_) {
6668   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6669                                       CDMACodeChannelList_sequence_of, hf_index, ett_ansi_map_CDMACodeChannelList);
6670 
6671   return offset;
6672 }
6673 
6674 
6675 
6676 static int
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_)6677 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_) {
6678   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6679                                        NULL);
6680 
6681   return offset;
6682 }
6683 
6684 
6685 
6686 static int
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_)6687 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_) {
6688   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6689                                        NULL);
6690 
6691   return offset;
6692 }
6693 
6694 
6695 
6696 static int
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_)6697 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_) {
6698   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6699                                        NULL);
6700 
6701   return offset;
6702 }
6703 
6704 
6705 static const ber_sequence_t FacilitiesDirective2Res_U_set[] = {
6706   { &hf_ansi_map_bsmcstatus , BER_CLASS_CON, 198, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BSMCStatus },
6707   { &hf_ansi_map_cdma2000HandoffResponseIOSData, BER_CLASS_CON, 357, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffResponseIOSData },
6708   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
6709   { &hf_ansi_map_cdmaCodeChannelList, BER_CLASS_CON, 132, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannelList },
6710   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
6711   { &hf_ansi_map_cdmaSearchParameters, BER_CLASS_CON, 230, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchParameters },
6712   { &hf_ansi_map_cdmaSearchWindow, BER_CLASS_CON, 69, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchWindow },
6713   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
6714   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
6715   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
6716   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
6717   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
6718   { &hf_ansi_map_sOCStatus  , BER_CLASS_CON, 205, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SOCStatus },
6719   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
6720   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
6721   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
6722   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
6723   { NULL, 0, 0, 0, NULL }
6724 };
6725 
6726 static int
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_)6727 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_) {
6728   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6729                               FacilitiesDirective2Res_U_set, hf_index, ett_ansi_map_FacilitiesDirective2Res_U);
6730 
6731   return offset;
6732 }
6733 
6734 
6735 
6736 static int
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_)6737 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_) {
6738   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
6739                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesDirective2Res_U);
6740 
6741   return offset;
6742 }
6743 
6744 
6745 static const value_string ansi_map_ReleaseReason_vals[] = {
6746   {   0, "unspecified" },
6747   {   1, "callOverClearForward" },
6748   {   2, "callOverClearBackward" },
6749   {   3, "handoffSuccessful" },
6750   {   4, "handoffAbort-call-over" },
6751   {   5, "handoffAbort-not-received" },
6752   {   6, "abnormalMobileTermination" },
6753   {   7, "abnormalSwitchTermination" },
6754   {   8, "specialFeatureRelease" },
6755   {   9, "sessionOverClearForward" },
6756   {  10, "sessionOverClearBackward" },
6757   {  11, "clearAllServicesForward" },
6758   {  12, "clearAllServicesBackward" },
6759   {  13, "anchor-MSC-was-removed-from-the-packet-data-session" },
6760   {  14, "keep-MS-on-traffic-channel" },
6761   { 0, NULL }
6762 };
6763 
6764 
6765 static int
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_)6766 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_) {
6767   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6768                                   NULL);
6769 
6770   return offset;
6771 }
6772 
6773 
6774 static const ber_sequence_t FacilitiesRelease_U_set[] = {
6775   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
6776   { &hf_ansi_map_releaseReason, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_ansi_map_ReleaseReason },
6777   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
6778   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
6779   { NULL, 0, 0, 0, NULL }
6780 };
6781 
6782 static int
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_)6783 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_) {
6784   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6785                               FacilitiesRelease_U_set, hf_index, ett_ansi_map_FacilitiesRelease_U);
6786 
6787   return offset;
6788 }
6789 
6790 
6791 
6792 static int
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_)6793 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_) {
6794   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
6795                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesRelease_U);
6796 
6797   return offset;
6798 }
6799 
6800 
6801 static const ber_sequence_t FacilitiesReleaseRes_U_set[] = {
6802   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
6803   { NULL, 0, 0, 0, NULL }
6804 };
6805 
6806 static int
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_)6807 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_) {
6808   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6809                               FacilitiesReleaseRes_U_set, hf_index, ett_ansi_map_FacilitiesReleaseRes_U);
6810 
6811   return offset;
6812 }
6813 
6814 
6815 
6816 static int
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_)6817 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_) {
6818   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
6819                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesReleaseRes_U);
6820 
6821   return offset;
6822 }
6823 
6824 
6825 
6826 static int
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_)6827 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_) {
6828   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6829                                        NULL);
6830 
6831   return offset;
6832 }
6833 
6834 
6835 
6836 static int
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_)6837 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_) {
6838 #line 382 "./asn1/ansi_map/ansi_map.cnf"
6839 	tvbuff_t *parameter_tvb = NULL;
6840   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6841                                        &parameter_tvb);
6842 
6843 	if (parameter_tvb){
6844 		dissect_ansi_map_callingpartyname(parameter_tvb,actx->pinfo,tree, actx);
6845 	}
6846 
6847 
6848 
6849   return offset;
6850 }
6851 
6852 
6853 
6854 static int
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_)6855 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_) {
6856   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
6857 
6858   return offset;
6859 }
6860 
6861 
6862 
6863 static int
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_)6864 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_) {
6865   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
6866 
6867   return offset;
6868 }
6869 
6870 
6871 
6872 static int
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_)6873 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_) {
6874 #line 57 "./asn1/ansi_map/ansi_map.cnf"
6875 	tvbuff_t *parameter_tvb = NULL;
6876   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6877                                        &parameter_tvb);
6878 
6879 	if (parameter_tvb){
6880 		dissect_ansi_map_subaddress(parameter_tvb,actx->pinfo,tree, actx);
6881 	}
6882 
6883 
6884 
6885   return offset;
6886 }
6887 
6888 
6889 
6890 static int
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_)6891 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_) {
6892   offset = dissect_ansi_map_Subaddress(implicit_tag, tvb, offset, actx, tree, hf_index);
6893 
6894   return offset;
6895 }
6896 
6897 
6898 
6899 static int
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_)6900 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_) {
6901   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6902                                        NULL);
6903 
6904   return offset;
6905 }
6906 
6907 
6908 
6909 static int
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_)6910 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_) {
6911   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
6912 
6913   return offset;
6914 }
6915 
6916 
6917 
6918 static int
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_)6919 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_) {
6920   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
6921 
6922   return offset;
6923 }
6924 
6925 
6926 
6927 static int
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_)6928 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_) {
6929 #line 239 "./asn1/ansi_map/ansi_map.cnf"
6930 	tvbuff_t *parameter_tvb = NULL;
6931   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6932                                        &parameter_tvb);
6933 
6934 	if (parameter_tvb){
6935 		dissect_ansi_map_onetimefeatureindicator(parameter_tvb,actx->pinfo,tree, actx);
6936 	}
6937 
6938 
6939 
6940   return offset;
6941 }
6942 
6943 
6944 static const value_string ansi_map_SystemMyTypeCode_vals[] = {
6945   {   0, "not-used" },
6946   {   1, "eDS" },
6947   {   2, "astronet" },
6948   {   3, "lucent-Technologies" },
6949   {   4, "ericsson" },
6950   {   5, "gTE" },
6951   {   6, "motorola" },
6952   {   7, "nEC" },
6953   {   8, "nORTEL" },
6954   {   9, "novAtel" },
6955   {  10, "plexsys" },
6956   {  11, "digital-Equipment-Corp" },
6957   {  12, "iNET" },
6958   {  13, "bellcore" },
6959   {  14, "alcatel-SEL" },
6960   {  15, "compaq" },
6961   {  16, "qUALCOMM" },
6962   {  17, "aldiscon" },
6963   {  18, "celcore" },
6964   {  19, "tELOS" },
6965   {  20, "aDI-Limited" },
6966   {  21, "coral-Systems" },
6967   {  22, "synacom-Technology" },
6968   {  23, "dSC" },
6969   {  24, "mCI" },
6970   {  25, "newNet" },
6971   {  26, "sema-Group-Telecoms" },
6972   {  27, "lG-Information-and-Communications" },
6973   {  28, "cBIS" },
6974   {  29, "siemens" },
6975   {  30, "samsung-Electronics" },
6976   {  31, "readyCom-Inc" },
6977   {  32, "aG-Communication-Systems" },
6978   {  33, "hughes-Network-Systems" },
6979   {  34, "phoenix-Wireless-Group" },
6980   { 0, NULL }
6981 };
6982 
6983 static value_string_ext ansi_map_SystemMyTypeCode_vals_ext = VALUE_STRING_EXT_INIT(ansi_map_SystemMyTypeCode_vals);
6984 
6985 
6986 static int
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_)6987 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_) {
6988   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6989                                   NULL);
6990 
6991   return offset;
6992 }
6993 
6994 
6995 static const ber_sequence_t FeatureRequest_U_set[] = {
6996   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
6997   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
6998   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
6999   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
7000   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
7001   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
7002   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
7003   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
7004   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
7005   { &hf_ansi_map_conferenceCallingIndicator, BER_CLASS_CON, 137, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConferenceCallingIndicator },
7006   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
7007   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7008   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
7009   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
7010   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
7011   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
7012   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
7013   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
7014   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
7015   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
7016   { NULL, 0, 0, 0, NULL }
7017 };
7018 
7019 static int
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_)7020 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_) {
7021   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7022                               FeatureRequest_U_set, hf_index, ett_ansi_map_FeatureRequest_U);
7023 
7024   return offset;
7025 }
7026 
7027 
7028 
7029 static int
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_)7030 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_) {
7031   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7032                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FeatureRequest_U);
7033 
7034   return offset;
7035 }
7036 
7037 
7038 static const value_string ansi_map_FeatureResult_vals[] = {
7039   {   0, "not-used" },
7040   {   1, "unsuccessful" },
7041   {   2, "successful" },
7042   { 0, NULL }
7043 };
7044 
7045 
7046 static int
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_)7047 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_) {
7048   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7049                                   NULL);
7050 
7051   return offset;
7052 }
7053 
7054 
7055 static const value_string ansi_map_AccessDeniedReason_vals[] = {
7056   {   0, "not-used" },
7057   {   1, "unassigned-directory-number" },
7058   {   2, "inactive" },
7059   {   3, "busy" },
7060   {   4, "termination-denied" },
7061   {   5, "no-page-response" },
7062   {   6, "unavailable" },
7063   {   7, "service-Rejected-by-MS" },
7064   {   8, "services-Rejected-by-the-System" },
7065   {   9, "service-Type-Mismatch" },
7066   {  10, "service-Denied" },
7067   {  12, "position-Determination-Not-Supported" },
7068   { 0, NULL }
7069 };
7070 
7071 
7072 static int
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_)7073 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_) {
7074   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7075                                   NULL);
7076 
7077   return offset;
7078 }
7079 
7080 
7081 
7082 static int
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_)7083 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_) {
7084   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7085                                        NULL);
7086 
7087   return offset;
7088 }
7089 
7090 
7091 
7092 static int
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_)7093 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_) {
7094 #line 73 "./asn1/ansi_map/ansi_map.cnf"
7095 	tvbuff_t *parameter_tvb = NULL;
7096   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7097                                        &parameter_tvb);
7098 
7099 	if (parameter_tvb){
7100 		dissect_ansi_map_announcementcode(parameter_tvb,actx->pinfo,tree, actx);
7101 	}
7102 
7103 
7104 
7105   return offset;
7106 }
7107 
7108 
7109 static const ber_sequence_t AnnouncementList_sequence[] = {
7110   { &hf_ansi_map_announcementCode1, BER_CLASS_CON, 76, BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementCode },
7111   { &hf_ansi_map_announcementCode2, BER_CLASS_CON, 76, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementCode },
7112   { NULL, 0, 0, 0, NULL }
7113 };
7114 
7115 static int
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_)7116 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_) {
7117   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7118                                    AnnouncementList_sequence, hf_index, ett_ansi_map_AnnouncementList);
7119 
7120   return offset;
7121 }
7122 
7123 
7124 
7125 static int
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_)7126 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_) {
7127   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7128 
7129   return offset;
7130 }
7131 
7132 
7133 
7134 static int
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_)7135 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_) {
7136   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7137 
7138   return offset;
7139 }
7140 
7141 
7142 
7143 static int
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_)7144 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_) {
7145   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7146                                        NULL);
7147 
7148   return offset;
7149 }
7150 
7151 
7152 
7153 static int
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_)7154 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_) {
7155   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7156                                        NULL);
7157 
7158   return offset;
7159 }
7160 
7161 
7162 
7163 static int
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_)7164 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_) {
7165   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7166 
7167   return offset;
7168 }
7169 
7170 
7171 
7172 static int
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_)7173 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_) {
7174   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7175 
7176   return offset;
7177 }
7178 
7179 
7180 
7181 static int
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_)7182 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_) {
7183   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7184 
7185   return offset;
7186 }
7187 
7188 
7189 static const value_string ansi_map_DMH_RedirectionIndicator_vals[] = {
7190   {   0, "not-specified" },
7191   {   1, "cfu" },
7192   {   2, "cfb" },
7193   {   3, "cfna" },
7194   {   4, "cfo" },
7195   {   5, "cd-Unspecified" },
7196   {   6, "cd-PSTN" },
7197   {   7, "cd-Private" },
7198   {   8, "pstn-Tandem" },
7199   {   9, "private" },
7200   {  10, "busy" },
7201   {  11, "inactive" },
7202   {  12, "unassigned" },
7203   {  13, "termination-denied" },
7204   {  14, "cd-failure" },
7205   {  15, "ect" },
7206   {  16, "mah" },
7207   {  17, "fa" },
7208   {  18, "abandoned-call-leg" },
7209   {  19, "pca-call-refused" },
7210   {  20, "sca-call-refused" },
7211   {  21, "dialogue" },
7212   {  22, "cfd" },
7213   {  23, "cd-local" },
7214   {  24, "voice-mail-retrieval" },
7215   { 0, NULL }
7216 };
7217 
7218 static value_string_ext ansi_map_DMH_RedirectionIndicator_vals_ext = VALUE_STRING_EXT_INIT(ansi_map_DMH_RedirectionIndicator_vals);
7219 
7220 
7221 static int
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_)7222 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_) {
7223   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7224                                   NULL);
7225 
7226   return offset;
7227 }
7228 
7229 
7230 
7231 static int
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_)7232 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_) {
7233   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7234                                        NULL);
7235 
7236   return offset;
7237 }
7238 
7239 
7240 
7241 static int
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_)7242 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_) {
7243   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7244                                        NULL);
7245 
7246   return offset;
7247 }
7248 
7249 
7250 
7251 static int
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_)7252 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_) {
7253 #line 255 "./asn1/ansi_map/ansi_map.cnf"
7254 	tvbuff_t *parameter_tvb = NULL;
7255   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7256                                        &parameter_tvb);
7257 
7258 	if (parameter_tvb){
7259 		dissect_ansi_map_pacaindicator(parameter_tvb,actx->pinfo,tree, actx);
7260 	}
7261 
7262 
7263 
7264   return offset;
7265 }
7266 
7267 
7268 
7269 static int
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_)7270 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_) {
7271   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7272 
7273   return offset;
7274 }
7275 
7276 
7277 
7278 static int
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_)7279 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_) {
7280   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7281                                        NULL);
7282 
7283   return offset;
7284 }
7285 
7286 
7287 
7288 static int
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_)7289 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_) {
7290   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7291 
7292   return offset;
7293 }
7294 
7295 
7296 
7297 static int
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_)7298 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_) {
7299   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7300 
7301   return offset;
7302 }
7303 
7304 
7305 
7306 static int
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_)7307 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_) {
7308   offset = dissect_ansi_map_Subaddress(implicit_tag, tvb, offset, actx, tree, hf_index);
7309 
7310   return offset;
7311 }
7312 
7313 
7314 static const value_string ansi_map_ResumePIC_vals[] = {
7315   {   1, "continue-Call-Processing" },
7316   {   2, "collect-Information-PIC" },
7317   {   3, "analyze-Information-PIC" },
7318   {   4, "select-Route-PIC" },
7319   {   5, "authorize-Origination-Attempt-PIC" },
7320   {   6, "authorize-Call-Setup-PIC" },
7321   {   7, "send-Call-PIC" },
7322   {   8, "o-Alerting-PIC" },
7323   {   9, "o-Active-PIC" },
7324   {  10, "o-Suspended-PIC" },
7325   {  11, "o-Null-PIC" },
7326   {  32, "select-Facility-PIC" },
7327   {  33, "present-Call-PIC" },
7328   {  34, "authorize-Termination-Attempt-PIC" },
7329   {  35, "t-Alerting-PIC" },
7330   {  36, "t-Active-PIC" },
7331   {  37, "t-Suspended-PIC" },
7332   {  38, "t-Null-PIC" },
7333   { 0, NULL }
7334 };
7335 
7336 
7337 static int
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_)7338 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_) {
7339   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7340                                   NULL);
7341 
7342   return offset;
7343 }
7344 
7345 
7346 
7347 static int
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_)7348 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_) {
7349   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7350                                        NULL);
7351 
7352   return offset;
7353 }
7354 
7355 
7356 
7357 static int
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_)7358 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_) {
7359 #line 355 "./asn1/ansi_map/ansi_map.cnf"
7360 	tvbuff_t *parameter_tvb = NULL;
7361   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7362                                        &parameter_tvb);
7363 
7364 	if (parameter_tvb){
7365 		dissect_ansi_map_terminationtriggers(parameter_tvb,actx->pinfo,tree, actx);
7366 	}
7367 
7368 
7369 
7370   return offset;
7371 }
7372 
7373 
7374 static const ber_sequence_t IntersystemTermination_sequence[] = {
7375   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
7376   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
7377   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
7378   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
7379   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
7380   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
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, 144, 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_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7385   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
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   { NULL, 0, 0, 0, NULL }
7389 };
7390 
7391 static int
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_)7392 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_) {
7393   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7394                                    IntersystemTermination_sequence, hf_index, ett_ansi_map_IntersystemTermination);
7395 
7396   return offset;
7397 }
7398 
7399 
7400 
7401 static int
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_)7402 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_) {
7403   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7404                                        NULL);
7405 
7406   return offset;
7407 }
7408 
7409 
7410 
7411 static int
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_)7412 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_) {
7413   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7414 
7415   return offset;
7416 }
7417 
7418 
7419 
7420 static int
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_)7421 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_) {
7422   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7423 
7424   return offset;
7425 }
7426 
7427 
7428 static const ber_sequence_t LocalTermination_sequence[] = {
7429   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
7430   { &hf_ansi_map_terminationTreatment, BER_CLASS_CON, 121, BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTreatment },
7431   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
7432   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
7433   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
7434   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
7435   { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
7436   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
7437   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7438   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
7439   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
7440   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
7441   { &hf_ansi_map_voiceMailboxPIN, BER_CLASS_CON, 159, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoiceMailboxPIN },
7442   { &hf_ansi_map_voiceMailboxNumber, BER_CLASS_CON, 160, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoiceMailboxNumber },
7443   { NULL, 0, 0, 0, NULL }
7444 };
7445 
7446 static int
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_)7447 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_) {
7448   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7449                                    LocalTermination_sequence, hf_index, ett_ansi_map_LocalTermination);
7450 
7451   return offset;
7452 }
7453 
7454 
7455 static const ber_sequence_t PSTNTermination_sequence[] = {
7456   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
7457   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
7458   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
7459   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
7460   { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
7461   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7462   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
7463   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
7464   { NULL, 0, 0, 0, NULL }
7465 };
7466 
7467 static int
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_)7468 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_) {
7469   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7470                                    PSTNTermination_sequence, hf_index, ett_ansi_map_PSTNTermination);
7471 
7472   return offset;
7473 }
7474 
7475 
7476 static const value_string ansi_map_TerminationList_item_vals[] = {
7477   {  89, "intersystemTermination" },
7478   {  91, "localTermination" },
7479   {  95, "pstnTermination" },
7480   { 0, NULL }
7481 };
7482 
7483 static const ber_choice_t TerminationList_item_choice[] = {
7484   {  89, &hf_ansi_map_intersystemTermination, BER_CLASS_CON, 89, BER_FLAGS_IMPLTAG, dissect_ansi_map_IntersystemTermination },
7485   {  91, &hf_ansi_map_localTermination, BER_CLASS_CON, 91, BER_FLAGS_IMPLTAG, dissect_ansi_map_LocalTermination },
7486   {  95, &hf_ansi_map_pstnTermination, BER_CLASS_CON, 95, BER_FLAGS_IMPLTAG, dissect_ansi_map_PSTNTermination },
7487   { 0, NULL, 0, 0, 0, NULL }
7488 };
7489 
7490 static int
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_)7491 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_) {
7492   offset = dissect_ber_choice(actx, tree, tvb, offset,
7493                                  TerminationList_item_choice, hf_index, ett_ansi_map_TerminationList_item,
7494                                  NULL);
7495 
7496   return offset;
7497 }
7498 
7499 
7500 static const ber_sequence_t TerminationList_set_of[1] = {
7501   { &hf_ansi_map_TerminationList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_TerminationList_item },
7502 };
7503 
7504 static int
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_)7505 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_) {
7506   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
7507                                  TerminationList_set_of, hf_index, ett_ansi_map_TerminationList);
7508 
7509   return offset;
7510 }
7511 
7512 
7513 
7514 static int
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_)7515 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_) {
7516   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7517                                        NULL);
7518 
7519   return offset;
7520 }
7521 
7522 
7523 static const value_string ansi_map_DestinationAddress_vals[] = {
7524   { 261, "globalTitle" },
7525   {  32, "pC-SSN" },
7526   { 0, NULL }
7527 };
7528 
7529 static const ber_choice_t DestinationAddress_choice[] = {
7530   { 261, &hf_ansi_map_globalTitle, BER_CLASS_CON, 261, BER_FLAGS_IMPLTAG, dissect_ansi_map_GlobalTitle },
7531   {  32, &hf_ansi_map_pC_SSN     , BER_CLASS_CON, 32, BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
7532   { 0, NULL, 0, 0, 0, NULL }
7533 };
7534 
7535 static int
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_)7536 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_) {
7537   offset = dissect_ber_choice(actx, tree, tvb, offset,
7538                                  DestinationAddress_choice, hf_index, ett_ansi_map_DestinationAddress,
7539                                  NULL);
7540 
7541   return offset;
7542 }
7543 
7544 
7545 
7546 static int
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_)7547 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_) {
7548 #line 405 "./asn1/ansi_map/ansi_map.cnf"
7549 	tvbuff_t *parameter_tvb = NULL;
7550   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7551                                        &parameter_tvb);
7552 
7553 	if (parameter_tvb){
7554 		dissect_ansi_map_win_trigger_list(parameter_tvb,actx->pinfo,tree, actx);
7555 	}
7556 
7557 
7558 
7559   return offset;
7560 }
7561 
7562 
7563 static const ber_sequence_t TriggerList_set[] = {
7564   { &hf_ansi_map_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_DestinationAddress },
7565   { &hf_ansi_map_wIN_TriggerList, BER_CLASS_CON, 283, BER_FLAGS_IMPLTAG, dissect_ansi_map_WIN_TriggerList },
7566   { NULL, 0, 0, 0, NULL }
7567 };
7568 
7569 static int
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_)7570 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_) {
7571   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7572                               TriggerList_set, hf_index, ett_ansi_map_TriggerList);
7573 
7574   return offset;
7575 }
7576 
7577 
7578 static const ber_sequence_t TriggerAddressList_set[] = {
7579   { &hf_ansi_map_triggerList, BER_CLASS_CON, 278, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerList },
7580   { &hf_ansi_map_triggerListOpt, BER_CLASS_CON, 278, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerList },
7581   { NULL, 0, 0, 0, NULL }
7582 };
7583 
7584 static int
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_)7585 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_) {
7586   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7587                               TriggerAddressList_set, hf_index, ett_ansi_map_TriggerAddressList);
7588 
7589   return offset;
7590 }
7591 
7592 
7593 static const ber_sequence_t FeatureRequestRes_U_set[] = {
7594   { &hf_ansi_map_featureResult, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureResult },
7595   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
7596   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
7597   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
7598   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
7599   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
7600   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
7601   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
7602   { &hf_ansi_map_conferenceCallingIndicator, BER_CLASS_CON, 137, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConferenceCallingIndicator },
7603   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
7604   { &hf_ansi_map_digits_Destination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
7605   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
7606   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
7607   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
7608   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
7609   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
7610   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
7611   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
7612   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
7613   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
7614   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
7615   { &hf_ansi_map_pACAIndicator, BER_CLASS_CON, 146, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PACAIndicator },
7616   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
7617   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
7618   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
7619   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
7620   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
7621   { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
7622   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
7623   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
7624   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
7625   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
7626   { NULL, 0, 0, 0, NULL }
7627 };
7628 
7629 static int
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_)7630 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_) {
7631   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7632                               FeatureRequestRes_U_set, hf_index, ett_ansi_map_FeatureRequestRes_U);
7633 
7634   return offset;
7635 }
7636 
7637 
7638 
7639 static int
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_)7640 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_) {
7641   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7642                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FeatureRequestRes_U);
7643 
7644   return offset;
7645 }
7646 
7647 
7648 
7649 static int
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_)7650 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_) {
7651   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7652 
7653   return offset;
7654 }
7655 
7656 
7657 static const ber_sequence_t FlashRequest_U_set[] = {
7658   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
7659   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
7660   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7661   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
7662   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
7663   { &hf_ansi_map_emergencyServicesRoutingDigits, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_EmergencyServicesRoutingDigits },
7664   { NULL, 0, 0, 0, NULL }
7665 };
7666 
7667 static int
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_)7668 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_) {
7669   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7670                               FlashRequest_U_set, hf_index, ett_ansi_map_FlashRequest_U);
7671 
7672   return offset;
7673 }
7674 
7675 
7676 
7677 static int
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_)7678 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_) {
7679   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7680                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FlashRequest_U);
7681 
7682   return offset;
7683 }
7684 
7685 
7686 static const ber_sequence_t HandoffBack_U_set[] = {
7687   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7688   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
7689   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7690   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
7691   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7692   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
7693   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
7694   { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
7695   { &hf_ansi_map_handoffState, BER_CLASS_CON, 164, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffState },
7696   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
7697   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
7698   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
7699   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7700   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
7701   { NULL, 0, 0, 0, NULL }
7702 };
7703 
7704 static int
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_)7705 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_) {
7706   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7707                               HandoffBack_U_set, hf_index, ett_ansi_map_HandoffBack_U);
7708 
7709   return offset;
7710 }
7711 
7712 
7713 
7714 static int
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_)7715 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_) {
7716   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7717                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffBack_U);
7718 
7719   return offset;
7720 }
7721 
7722 
7723 static const ber_sequence_t HandoffBackRes_U_set[] = {
7724   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7725   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
7726   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
7727   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7728   { NULL, 0, 0, 0, NULL }
7729 };
7730 
7731 static int
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_)7732 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_) {
7733   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7734                               HandoffBackRes_U_set, hf_index, ett_ansi_map_HandoffBackRes_U);
7735 
7736   return offset;
7737 }
7738 
7739 
7740 
7741 static int
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_)7742 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_) {
7743   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7744                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffBackRes_U);
7745 
7746   return offset;
7747 }
7748 
7749 
7750 static const ber_sequence_t HandoffBack2_U_set[] = {
7751   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
7752   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
7753   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7754   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
7755   { &hf_ansi_map_baseStationManufacturerCode, BER_CLASS_CON, 197, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BaseStationManufacturerCode },
7756   { &hf_ansi_map_cdma2000HandoffInvokeIOSData, BER_CLASS_CON, 356, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffInvokeIOSData },
7757   { &hf_ansi_map_cdmaBandClassList, BER_CLASS_CON, 172, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClassList },
7758   { &hf_ansi_map_cdmaCallMode, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACallMode },
7759   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
7760   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
7761   { &hf_ansi_map_cdmaMSMeasuredChannelIdentity, BER_CLASS_CON, 351, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMSMeasuredChannelIdentity },
7762   { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
7763   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
7764   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
7765   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
7766   { &hf_ansi_map_cdmaServingOneWayDelay, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay },
7767   { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
7768   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
7769   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
7770   { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList },
7771   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7772   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
7773   { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
7774   { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
7775   { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
7776   { &hf_ansi_map_handoffState, BER_CLASS_CON, 164, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffState },
7777   { &hf_ansi_map_interSwitchCount, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_InterSwitchCount },
7778   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
7779   { &hf_ansi_map_msLocation , BER_CLASS_CON, 70, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSLocation },
7780   { &hf_ansi_map_nampsCallMode, BER_CLASS_CON, 165, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSCallMode },
7781   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
7782   { &hf_ansi_map_pdsnAddress, BER_CLASS_CON, 349, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNAddress },
7783   { &hf_ansi_map_pdsnProtocolType, BER_CLASS_CON, 350, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNProtocolType },
7784   { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
7785   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
7786   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
7787   { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
7788   { &hf_ansi_map_systemOperatorCode, BER_CLASS_CON, 206, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemOperatorCode },
7789   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7790   { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
7791   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
7792   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
7793   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7794   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
7795   { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL, dissect_ansi_map_TDMATerminalCapability },
7796   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
7797   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
7798   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
7799   { NULL, 0, 0, 0, NULL }
7800 };
7801 
7802 static int
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_)7803 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_) {
7804   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7805                               HandoffBack2_U_set, hf_index, ett_ansi_map_HandoffBack2_U);
7806 
7807   return offset;
7808 }
7809 
7810 
7811 
7812 static int
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_)7813 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_) {
7814   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7815                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffBack2_U);
7816 
7817   return offset;
7818 }
7819 
7820 
7821 static const ber_sequence_t HandoffBack2Res_U_set[] = {
7822   { &hf_ansi_map_bsmcstatus , BER_CLASS_CON, 198, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BSMCStatus },
7823   { &hf_ansi_map_cdma2000HandoffResponseIOSData, BER_CLASS_CON, 357, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffResponseIOSData },
7824   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
7825   { &hf_ansi_map_cdmaCodeChannelList, BER_CLASS_CON, 132, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannelList },
7826   { &hf_ansi_map_cdmaSearchParameters, BER_CLASS_CON, 230, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchParameters },
7827   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
7828   { &hf_ansi_map_cdmaSearchWindow, BER_CLASS_CON, 69, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchWindow },
7829   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
7830   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7831   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
7832   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
7833   { &hf_ansi_map_sOCStatus  , BER_CLASS_CON, 205, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SOCStatus },
7834   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7835   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
7836   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7837   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
7838   { NULL, 0, 0, 0, NULL }
7839 };
7840 
7841 static int
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_)7842 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_) {
7843   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7844                               HandoffBack2Res_U_set, hf_index, ett_ansi_map_HandoffBack2Res_U);
7845 
7846   return offset;
7847 }
7848 
7849 
7850 
7851 static int
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_)7852 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_) {
7853   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7854                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffBack2Res_U);
7855 
7856   return offset;
7857 }
7858 
7859 
7860 static const ber_sequence_t TargetCellIDList_sequence[] = {
7861   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7862   { &hf_ansi_map_targetCellID1, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7863   { NULL, 0, 0, 0, NULL }
7864 };
7865 
7866 static int
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_)7867 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_) {
7868   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7869                                    TargetCellIDList_sequence, hf_index, ett_ansi_map_TargetCellIDList);
7870 
7871   return offset;
7872 }
7873 
7874 
7875 static const ber_sequence_t HandoffMeasurementRequest_U_set[] = {
7876   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7877   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
7878   { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
7879   { &hf_ansi_map_targetCellIDList, BER_CLASS_CON, 207, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellIDList },
7880   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
7881   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7882   { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMATerminalCapability },
7883   { NULL, 0, 0, 0, NULL }
7884 };
7885 
7886 static int
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_)7887 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_) {
7888   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7889                               HandoffMeasurementRequest_U_set, hf_index, ett_ansi_map_HandoffMeasurementRequest_U);
7890 
7891   return offset;
7892 }
7893 
7894 
7895 
7896 static int
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_)7897 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_) {
7898   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7899                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffMeasurementRequest_U);
7900 
7901   return offset;
7902 }
7903 
7904 
7905 static const value_string ansi_map_SignalQuality_vals[] = {
7906   {   0, "not-a-usable-signal" },
7907   {   1, "treat-as-Not-a-usable-signal" },
7908   {   2, "treat-as-Not-a-usable-signal" },
7909   {   3, "treat-as-Not-a-usable-signal" },
7910   {   4, "treat-as-Not-a-usable-signal" },
7911   {   5, "treat-as-Not-a-usable-signal" },
7912   {   6, "treat-as-Not-a-usable-signal" },
7913   {   7, "treat-as-Not-a-usable-signal" },
7914   {   8, "treat-as-Not-a-usable-signal" },
7915   {   9, "usable-signal-range" },
7916   { 245, "usable-signal-range" },
7917   { 246, "treat-the-same-as-interference" },
7918   { 247, "treat-the-same-as-interference" },
7919   { 248, "treat-the-same-as-interference" },
7920   { 249, "treat-the-same-as-interference" },
7921   { 250, "treat-the-same-as-interference" },
7922   { 251, "treat-the-same-as-interference" },
7923   { 252, "treat-the-same-as-interference" },
7924   { 253, "treat-the-same-as-interference" },
7925   { 254, "treat-the-same-as-interference" },
7926   { 255, "interference" },
7927   { 0, NULL }
7928 };
7929 
7930 static value_string_ext ansi_map_SignalQuality_vals_ext = VALUE_STRING_EXT_INIT(ansi_map_SignalQuality_vals);
7931 
7932 
7933 static int
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_)7934 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_) {
7935   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7936                                                 NULL);
7937 
7938   return offset;
7939 }
7940 
7941 
7942 static const ber_sequence_t HandoffMeasurementRequestRes_U_set[] = {
7943   { &hf_ansi_map_signalQuality, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalQuality },
7944   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7945   { NULL, 0, 0, 0, NULL }
7946 };
7947 
7948 static int
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_)7949 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_) {
7950   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7951                               HandoffMeasurementRequestRes_U_set, hf_index, ett_ansi_map_HandoffMeasurementRequestRes_U);
7952 
7953   return offset;
7954 }
7955 
7956 
7957 
7958 static int
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_)7959 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_) {
7960   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7961                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffMeasurementRequestRes_U);
7962 
7963   return offset;
7964 }
7965 
7966 
7967 static const ber_sequence_t HandoffMeasurementRequest2_U_set[] = {
7968   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
7969   { &hf_ansi_map_cdmaCallMode, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACallMode },
7970   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
7971   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
7972   { &hf_ansi_map_cdmaServingOneWayDelay, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay },
7973   { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
7974   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
7975   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7976   { &hf_ansi_map_msLocation , BER_CLASS_CON, 70, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSLocation },
7977   { &hf_ansi_map_nampsCallMode, BER_CLASS_CON, 165, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSCallMode },
7978   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
7979   { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
7980   { &hf_ansi_map_targetCellIDList, BER_CLASS_CON, 207, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellIDList },
7981   { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
7982   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
7983   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7984   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
7985   { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMATerminalCapability },
7986   { NULL, 0, 0, 0, NULL }
7987 };
7988 
7989 static int
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_)7990 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_) {
7991   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7992                               HandoffMeasurementRequest2_U_set, hf_index, ett_ansi_map_HandoffMeasurementRequest2_U);
7993 
7994   return offset;
7995 }
7996 
7997 
7998 
7999 static int
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_)8000 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_) {
8001   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8002                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffMeasurementRequest2_U);
8003 
8004   return offset;
8005 }
8006 
8007 
8008 static const ber_sequence_t TargetMeasurementInformation_sequence[] = {
8009   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
8010   { &hf_ansi_map_signalQuality, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalQuality },
8011   { NULL, 0, 0, 0, NULL }
8012 };
8013 
8014 static int
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_)8015 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_) {
8016   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8017                                    TargetMeasurementInformation_sequence, hf_index, ett_ansi_map_TargetMeasurementInformation);
8018 
8019   return offset;
8020 }
8021 
8022 
8023 static const ber_sequence_t TargetMeasurementList_sequence_of[1] = {
8024   { &hf_ansi_map_TargetMeasurementList_item, BER_CLASS_CON, 157, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetMeasurementInformation },
8025 };
8026 
8027 static int
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_)8028 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_) {
8029   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
8030                                       TargetMeasurementList_sequence_of, hf_index, ett_ansi_map_TargetMeasurementList);
8031 
8032   return offset;
8033 }
8034 
8035 
8036 static const ber_sequence_t HandoffMeasurementRequest2Res_U_set[] = {
8037   { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList },
8038   { &hf_ansi_map_targetMeasurementList, BER_CLASS_CON, 157, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetMeasurementList },
8039   { NULL, 0, 0, 0, NULL }
8040 };
8041 
8042 static int
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_)8043 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_) {
8044   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8045                               HandoffMeasurementRequest2Res_U_set, hf_index, ett_ansi_map_HandoffMeasurementRequest2Res_U);
8046 
8047   return offset;
8048 }
8049 
8050 
8051 
8052 static int
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_)8053 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_) {
8054   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8055                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffMeasurementRequest2Res_U);
8056 
8057   return offset;
8058 }
8059 
8060 
8061 static const ber_sequence_t HandoffToThird_U_set[] = {
8062   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8063   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8064   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
8065   { &hf_ansi_map_interSwitchCount, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterSwitchCount },
8066   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8067   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
8068   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
8069   { &hf_ansi_map_baseStationManufacturerCode, BER_CLASS_CON, 197, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BaseStationManufacturerCode },
8070   { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
8071   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
8072   { &hf_ansi_map_cdmaBandClassList, BER_CLASS_CON, 172, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClassList },
8073   { &hf_ansi_map_cdmaCallMode, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACallMode },
8074   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
8075   { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
8076   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
8077   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
8078   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
8079   { &hf_ansi_map_cdmaServingOneWayDelay, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay },
8080   { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
8081   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
8082   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
8083   { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList },
8084   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
8085   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
8086   { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
8087   { &hf_ansi_map_handoffState, BER_CLASS_CON, 164, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffState },
8088   { &hf_ansi_map_msLocation , BER_CLASS_CON, 70, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSLocation },
8089   { &hf_ansi_map_nampsCallMode, BER_CLASS_CON, 165, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSCallMode },
8090   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
8091   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
8092   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
8093   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
8094   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
8095   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8096   { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMATerminalCapability },
8097   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
8098   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
8099   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
8100   { NULL, 0, 0, 0, NULL }
8101 };
8102 
8103 static int
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_)8104 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_) {
8105   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8106                               HandoffToThird_U_set, hf_index, ett_ansi_map_HandoffToThird_U);
8107 
8108   return offset;
8109 }
8110 
8111 
8112 
8113 static int
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_)8114 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_) {
8115   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8116                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffToThird_U);
8117 
8118   return offset;
8119 }
8120 
8121 
8122 static const ber_sequence_t HandoffToThirdRes_U_set[] = {
8123   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
8124   { &hf_ansi_map_cdmaCodeChannelList, BER_CLASS_CON, 132, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannelList },
8125   { &hf_ansi_map_cdmaSearchWindow, BER_CLASS_CON, 69, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchWindow },
8126   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
8127   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
8128   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
8129   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
8130   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
8131   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
8132   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
8133   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
8134   { NULL, 0, 0, 0, NULL }
8135 };
8136 
8137 static int
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_)8138 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_) {
8139   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8140                               HandoffToThirdRes_U_set, hf_index, ett_ansi_map_HandoffToThirdRes_U);
8141 
8142   return offset;
8143 }
8144 
8145 
8146 
8147 static int
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_)8148 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_) {
8149   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8150                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffToThirdRes_U);
8151 
8152   return offset;
8153 }
8154 
8155 
8156 static const ber_sequence_t HandoffToThird2_U_set[] = {
8157   { &hf_ansi_map_bsmcstatus , BER_CLASS_CON, 198, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BSMCStatus },
8158   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8159   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8160   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
8161   { &hf_ansi_map_interSwitchCount, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterSwitchCount },
8162   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8163   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
8164   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
8165   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
8166   { &hf_ansi_map_cdma2000HandoffInvokeIOSData, BER_CLASS_CON, 356, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffInvokeIOSData },
8167   { &hf_ansi_map_cdmaCallMode, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACallMode },
8168   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
8169   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
8170   { &hf_ansi_map_cdmaMSMeasuredChannelIdentity, BER_CLASS_CON, 351, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMSMeasuredChannelIdentity },
8171   { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
8172   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
8173   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
8174   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
8175   { &hf_ansi_map_cdmaServingOneWayDelay, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay },
8176   { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
8177   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
8178   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
8179   { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList },
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_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
8183   { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
8184   { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
8185   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
8186   { &hf_ansi_map_msLocation , BER_CLASS_CON, 70, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSLocation },
8187   { &hf_ansi_map_nampsCallMode, BER_CLASS_CON, 165, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSCallMode },
8188   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
8189   { &hf_ansi_map_pdsnAddress, BER_CLASS_CON, 349, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNAddress },
8190   { &hf_ansi_map_pdsnProtocolType, BER_CLASS_CON, 350, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNProtocolType },
8191   { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
8192   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
8193   { &hf_ansi_map_sOCStatus  , BER_CLASS_CON, 205, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SOCStatus },
8194   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
8195   { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
8196   { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
8197   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
8198   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
8199   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
8200   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8201   { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL, dissect_ansi_map_TDMATerminalCapability },
8202   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
8203   { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
8204   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
8205   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
8206   { NULL, 0, 0, 0, NULL }
8207 };
8208 
8209 static int
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_)8210 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_) {
8211   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8212                               HandoffToThird2_U_set, hf_index, ett_ansi_map_HandoffToThird2_U);
8213 
8214   return offset;
8215 }
8216 
8217 
8218 
8219 static int
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_)8220 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_) {
8221   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8222                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffToThird2_U);
8223 
8224   return offset;
8225 }
8226 
8227 
8228 static const ber_sequence_t HandoffToThird2Res_U_set[] = {
8229   { &hf_ansi_map_cdma2000HandoffResponseIOSData, BER_CLASS_CON, 357, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffResponseIOSData },
8230   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
8231   { &hf_ansi_map_cdmaCodeChannelList, BER_CLASS_CON, 132, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannelList },
8232   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
8233   { &hf_ansi_map_cdmaSearchParameters, BER_CLASS_CON, 230, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchParameters },
8234   { &hf_ansi_map_cdmaSearchWindow, BER_CLASS_CON, 69, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchWindow },
8235   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
8236   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
8237   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
8238   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
8239   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
8240   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
8241   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
8242   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
8243   { NULL, 0, 0, 0, NULL }
8244 };
8245 
8246 static int
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_)8247 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_) {
8248   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8249                               HandoffToThird2Res_U_set, hf_index, ett_ansi_map_HandoffToThird2Res_U);
8250 
8251   return offset;
8252 }
8253 
8254 
8255 
8256 static int
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_)8257 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_) {
8258   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8259                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffToThird2Res_U);
8260 
8261   return offset;
8262 }
8263 
8264 
8265 static const ber_sequence_t InformationDirective_U_set[] = {
8266   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8267   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
8268   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
8269   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
8270   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
8271   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
8272   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
8273   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
8274   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
8275   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
8276   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
8277   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
8278   { NULL, 0, 0, 0, NULL }
8279 };
8280 
8281 static int
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_)8282 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_) {
8283   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8284                               InformationDirective_U_set, hf_index, ett_ansi_map_InformationDirective_U);
8285 
8286   return offset;
8287 }
8288 
8289 
8290 
8291 static int
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_)8292 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_) {
8293   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8294                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InformationDirective_U);
8295 
8296   return offset;
8297 }
8298 
8299 
8300 
8301 static int
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_)8302 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_) {
8303   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8304                                        NULL);
8305 
8306   return offset;
8307 }
8308 
8309 
8310 static const ber_sequence_t InformationDirectiveRes_U_set[] = {
8311   { &hf_ansi_map_alertResult, BER_CLASS_CON, 129, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertResult },
8312   { NULL, 0, 0, 0, NULL }
8313 };
8314 
8315 static int
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_)8316 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_) {
8317   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8318                               InformationDirectiveRes_U_set, hf_index, ett_ansi_map_InformationDirectiveRes_U);
8319 
8320   return offset;
8321 }
8322 
8323 
8324 
8325 static int
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_)8326 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_) {
8327   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8328                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InformationDirectiveRes_U);
8329 
8330   return offset;
8331 }
8332 
8333 
8334 
8335 static int
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_)8336 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_) {
8337 #line 190 "./asn1/ansi_map/ansi_map.cnf"
8338 	tvbuff_t *parameter_tvb = NULL;
8339   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8340                                        &parameter_tvb);
8341 
8342 	if (parameter_tvb){
8343 		dissect_ansi_map_messagewaitingnotificationcount(parameter_tvb,actx->pinfo,tree, actx);
8344 	}
8345 
8346 
8347 
8348   return offset;
8349 }
8350 
8351 
8352 
8353 static int
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_)8354 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_) {
8355 #line 198 "./asn1/ansi_map/ansi_map.cnf"
8356 	tvbuff_t *parameter_tvb = NULL;
8357   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8358                                        &parameter_tvb);
8359 
8360 	if (parameter_tvb){
8361 		dissect_ansi_map_messagewaitingnotificationtype(parameter_tvb,actx->pinfo,tree, actx);
8362 	}
8363 
8364 
8365 
8366 
8367   return offset;
8368 }
8369 
8370 
8371 static const ber_sequence_t InformationForward_U_set[] = {
8372   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
8373   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8374   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
8375   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
8376   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
8377   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
8378   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
8379   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
8380   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
8381   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8382   { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
8383   { &hf_ansi_map_messageWaitingNotificationType, BER_CLASS_CON, 145, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationType },
8384   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
8385   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
8386   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
8387   { NULL, 0, 0, 0, NULL }
8388 };
8389 
8390 static int
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_)8391 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_) {
8392   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8393                               InformationForward_U_set, hf_index, ett_ansi_map_InformationForward_U);
8394 
8395   return offset;
8396 }
8397 
8398 
8399 
8400 static int
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_)8401 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_) {
8402   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8403                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InformationForward_U);
8404 
8405   return offset;
8406 }
8407 
8408 
8409 static const ber_sequence_t InformationForwardRes_U_set[] = {
8410   { &hf_ansi_map_alertResult, BER_CLASS_CON, 129, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertResult },
8411   { NULL, 0, 0, 0, NULL }
8412 };
8413 
8414 static int
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_)8415 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_) {
8416   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8417                               InformationForwardRes_U_set, hf_index, ett_ansi_map_InformationForwardRes_U);
8418 
8419   return offset;
8420 }
8421 
8422 
8423 
8424 static int
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_)8425 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_) {
8426   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8427                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InformationForwardRes_U);
8428 
8429   return offset;
8430 }
8431 
8432 
8433 static const ber_sequence_t InterSystemAnswer_U_set[] = {
8434   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
8435   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8436   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8437   { NULL, 0, 0, 0, NULL }
8438 };
8439 
8440 static int
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_)8441 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_) {
8442   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8443                               InterSystemAnswer_U_set, hf_index, ett_ansi_map_InterSystemAnswer_U);
8444 
8445   return offset;
8446 }
8447 
8448 
8449 
8450 static int
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_)8451 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_) {
8452   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8453                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemAnswer_U);
8454 
8455   return offset;
8456 }
8457 
8458 
8459 
8460 static int
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_)8461 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_) {
8462   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8463                                        NULL);
8464 
8465   return offset;
8466 }
8467 
8468 
8469 
8470 static int
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_)8471 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_) {
8472 #line 159 "./asn1/ansi_map/ansi_map.cnf"
8473 	tvbuff_t *parameter_tvb = NULL;
8474   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8475                                        &parameter_tvb);
8476 
8477 	if (parameter_tvb){
8478 		dissect_ansi_map_extendedmscid(parameter_tvb,actx->pinfo,tree, actx);
8479 	}
8480 
8481 
8482 
8483   return offset;
8484 }
8485 
8486 
8487 
8488 static int
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_)8489 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_) {
8490 #line 167 "./asn1/ansi_map/ansi_map.cnf"
8491 	tvbuff_t *parameter_tvb = NULL;
8492   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8493                                        &parameter_tvb);
8494 
8495 	if (parameter_tvb){
8496 		dissect_ansi_map_extendedsystemmytypecode(parameter_tvb, actx->pinfo, tree, actx);
8497 	}
8498 
8499 
8500   return offset;
8501 }
8502 
8503 
8504 
8505 static int
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_)8506 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_) {
8507   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8508                                        NULL);
8509 
8510   return offset;
8511 }
8512 
8513 
8514 
8515 static int
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_)8516 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_) {
8517   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8518                                        NULL);
8519 
8520   return offset;
8521 }
8522 
8523 
8524 
8525 static int
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_)8526 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_) {
8527   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8528                                        NULL);
8529 
8530   return offset;
8531 }
8532 
8533 
8534 
8535 static int
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_)8536 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_) {
8537   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8538                                        NULL);
8539 
8540   return offset;
8541 }
8542 
8543 
8544 
8545 static int
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_)8546 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_) {
8547   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8548                                        NULL);
8549 
8550   return offset;
8551 }
8552 
8553 
8554 
8555 static int
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_)8556 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_) {
8557 #line 271 "./asn1/ansi_map/ansi_map.cnf"
8558 
8559 	tvbuff_t *parameter_tvb = NULL;
8560   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8561                                        &parameter_tvb);
8562 
8563 	if (parameter_tvb){
8564 		dissect_ansi_map_pilotbillingid(parameter_tvb,actx->pinfo,tree, actx);
8565 	}
8566 
8567 
8568 
8569   return offset;
8570 }
8571 
8572 
8573 
8574 static int
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_)8575 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_) {
8576   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8577                                        NULL);
8578 
8579   return offset;
8580 }
8581 
8582 
8583 
8584 static int
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_)8585 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_) {
8586   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8587                                        NULL);
8588 
8589   return offset;
8590 }
8591 
8592 
8593 static const ber_sequence_t InterSystemPage_U_set[] = {
8594   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8595   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8596   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
8597   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
8598   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
8599   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
8600   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
8601   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
8602   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
8603   { &hf_ansi_map_cdmaBandClass, BER_CLASS_CON, 170, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClass },
8604   { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
8605   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8606   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
8607   { &hf_ansi_map_cdmaSlotCycleIndex, BER_CLASS_CON, 166, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASlotCycleIndex },
8608   { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
8609   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
8610   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
8611   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
8612   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
8613   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
8614   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
8615   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
8616   { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
8617   { &hf_ansi_map_extendedSystemMyTypeCode, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedSystemMyTypeCode },
8618   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
8619   { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
8620   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
8621   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
8622   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8623   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
8624   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
8625   { &hf_ansi_map_mSIDUsage  , BER_CLASS_CON, 327, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSIDUsage },
8626   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
8627   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
8628   { &hf_ansi_map_pageCount  , BER_CLASS_CON, 300, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageCount },
8629   { &hf_ansi_map_pageIndicator, BER_CLASS_CON, 71, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageIndicator },
8630   { &hf_ansi_map_pageResponseTime, BER_CLASS_CON, 301, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageResponseTime },
8631   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
8632   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
8633   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
8634   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
8635   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
8636   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
8637   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
8638   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
8639   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
8640   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
8641   { &hf_ansi_map_tdmaDataFeaturesIndicator, BER_CLASS_CON, 221, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataFeaturesIndicator },
8642   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8643   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
8644   { &hf_ansi_map_terminationTreatment, BER_CLASS_CON, 121, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTreatment },
8645   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
8646   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
8647   { NULL, 0, 0, 0, NULL }
8648 };
8649 
8650 static int
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_)8651 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_) {
8652   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8653                               InterSystemPage_U_set, hf_index, ett_ansi_map_InterSystemPage_U);
8654 
8655   return offset;
8656 }
8657 
8658 
8659 
8660 static int
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_)8661 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_) {
8662   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8663                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPage_U);
8664 
8665   return offset;
8666 }
8667 
8668 
8669 static const value_string ansi_map_ConditionallyDeniedReason_vals[] = {
8670   {   0, "not-used" },
8671   {   1, "waitable" },
8672   { 0, NULL }
8673 };
8674 
8675 
8676 static int
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_)8677 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_) {
8678   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8679                                   NULL);
8680 
8681   return offset;
8682 }
8683 
8684 
8685 static const ber_sequence_t InterSystemPageRes_U_set[] = {
8686   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
8687   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8688   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8689   { &hf_ansi_map_conditionallyDeniedReason, BER_CLASS_CON, 162, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConditionallyDeniedReason },
8690   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
8691   { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
8692   { &hf_ansi_map_extendedSystemMyTypeCode, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedSystemMyTypeCode },
8693   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
8694   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
8695   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8696   { NULL, 0, 0, 0, NULL }
8697 };
8698 
8699 static int
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_)8700 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_) {
8701   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8702                               InterSystemPageRes_U_set, hf_index, ett_ansi_map_InterSystemPageRes_U);
8703 
8704   return offset;
8705 }
8706 
8707 
8708 
8709 static int
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_)8710 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_) {
8711   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8712                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPageRes_U);
8713 
8714   return offset;
8715 }
8716 
8717 
8718 
8719 static int
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_)8720 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_) {
8721   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8722                                        NULL);
8723 
8724   return offset;
8725 }
8726 
8727 
8728 
8729 static int
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_)8730 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_) {
8731   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8732                                        NULL);
8733 
8734   return offset;
8735 }
8736 
8737 
8738 static const ber_sequence_t PSID_RSIDList_sequence[] = {
8739   { &hf_ansi_map_pSID_RSIDInformation, BER_CLASS_CON, 202, BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDInformation },
8740   { &hf_ansi_map_pSID_RSIDInformation1, BER_CLASS_CON, 202, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDInformation },
8741   { NULL, 0, 0, 0, NULL }
8742 };
8743 
8744 static int
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_)8745 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_) {
8746   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8747                                    PSID_RSIDList_sequence, hf_index, ett_ansi_map_PSID_RSIDList);
8748 
8749   return offset;
8750 }
8751 
8752 
8753 static const ber_sequence_t InterSystemPage2_U_set[] = {
8754   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8755   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8756   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
8757   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
8758   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
8759   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
8760   { &hf_ansi_map_cdmaBandClass, BER_CLASS_CON, 170, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClass },
8761   { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
8762   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
8763   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8764   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
8765   { &hf_ansi_map_cdmaSlotCycleIndex, BER_CLASS_CON, 166, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASlotCycleIndex },
8766   { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
8767   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
8768   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
8769   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
8770   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
8771   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
8772   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
8773   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8774   { &hf_ansi_map_mSIDUsage  , BER_CLASS_CON, 327, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSIDUsage },
8775   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
8776   { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
8777   { &hf_ansi_map_pageCount  , BER_CLASS_CON, 300, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageCount },
8778   { &hf_ansi_map_pageIndicator, BER_CLASS_CON, 71, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageIndicator },
8779   { &hf_ansi_map_pagingFrameClass, BER_CLASS_CON, 210, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PagingFrameClass },
8780   { &hf_ansi_map_pageResponseTime, BER_CLASS_CON, 301, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageResponseTime },
8781   { &hf_ansi_map_pSID_RSIDList, BER_CLASS_CON, 203, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDList },
8782   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
8783   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
8784   { &hf_ansi_map_tdmaDataFeaturesIndicator, BER_CLASS_CON, 221, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataFeaturesIndicator },
8785   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8786   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
8787   { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
8788   { NULL, 0, 0, 0, NULL }
8789 };
8790 
8791 static int
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_)8792 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_) {
8793   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8794                               InterSystemPage2_U_set, hf_index, ett_ansi_map_InterSystemPage2_U);
8795 
8796   return offset;
8797 }
8798 
8799 
8800 
8801 static int
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_)8802 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_) {
8803   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8804                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPage2_U);
8805 
8806   return offset;
8807 }
8808 
8809 
8810 
8811 static int
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_)8812 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_) {
8813   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8814                                        NULL);
8815 
8816   return offset;
8817 }
8818 
8819 
8820 
8821 static int
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_)8822 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_) {
8823   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8824                                        NULL);
8825 
8826   return offset;
8827 }
8828 
8829 
8830 static const ber_sequence_t InterSystemPage2Res_U_set[] = {
8831   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
8832   { &hf_ansi_map_authenticationResponseBaseStation, BER_CLASS_CON, 36, BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseBaseStation },
8833   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
8834   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8835   { &hf_ansi_map_randc      , BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RANDC },
8836   { &hf_ansi_map_randomVariableBaseStation, BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableBaseStation },
8837   { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
8838   { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
8839   { &hf_ansi_map_tdmaDataMode, BER_CLASS_CON, 222, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataMode },
8840   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8841   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
8842   { NULL, 0, 0, 0, NULL }
8843 };
8844 
8845 static int
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_)8846 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_) {
8847   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8848                               InterSystemPage2Res_U_set, hf_index, ett_ansi_map_InterSystemPage2Res_U);
8849 
8850   return offset;
8851 }
8852 
8853 
8854 
8855 static int
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_)8856 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_) {
8857   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8858                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPage2Res_U);
8859 
8860   return offset;
8861 }
8862 
8863 
8864 
8865 static int
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_)8866 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_) {
8867   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8868                                        NULL);
8869 
8870   return offset;
8871 }
8872 
8873 
8874 static const ber_sequence_t InterSystemSetup_U_set[] = {
8875   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8876   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8877   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
8878   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
8879   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
8880   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
8881   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
8882   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
8883   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8884   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
8885   { &hf_ansi_map_changeServiceAttributes, BER_CLASS_CON, 214, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChangeServiceAttributes },
8886   { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
8887   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
8888   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
8889   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
8890   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
8891   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8892   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
8893   { &hf_ansi_map_edirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
8894   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
8895   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
8896   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
8897   { NULL, 0, 0, 0, NULL }
8898 };
8899 
8900 static int
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_)8901 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_) {
8902   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8903                               InterSystemSetup_U_set, hf_index, ett_ansi_map_InterSystemSetup_U);
8904 
8905   return offset;
8906 }
8907 
8908 
8909 
8910 static int
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_)8911 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_) {
8912   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8913                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemSetup_U);
8914 
8915   return offset;
8916 }
8917 
8918 
8919 
8920 static int
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_)8921 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_) {
8922   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8923                                        NULL);
8924 
8925   return offset;
8926 }
8927 
8928 
8929 static const ber_sequence_t InterSystemSetupRes_U_set[] = {
8930   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
8931   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8932   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
8933   { &hf_ansi_map_setupResult, BER_CLASS_CON, 151, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SetupResult },
8934   { NULL, 0, 0, 0, NULL }
8935 };
8936 
8937 static int
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_)8938 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_) {
8939   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8940                               InterSystemSetupRes_U_set, hf_index, ett_ansi_map_InterSystemSetupRes_U);
8941 
8942   return offset;
8943 }
8944 
8945 
8946 
8947 static int
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_)8948 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_) {
8949   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8950                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemSetupRes_U);
8951 
8952   return offset;
8953 }
8954 
8955 
8956 
8957 static int
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_)8958 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_) {
8959   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8960                                        NULL);
8961 
8962   return offset;
8963 }
8964 
8965 
8966 static const value_string ansi_map_TriggerType_vals[] = {
8967   {   1, "all-Calls" },
8968   {   2, "double-Introducing-Star" },
8969   {   3, "single-Introducing-Star" },
8970   {   4, "reserved-for-Home-System-Feature-Code" },
8971   {   5, "double-Introducing-Pound" },
8972   {   6, "single-Introducing-Pound" },
8973   {   7, "revertive-Call" },
8974   {   8, "a0-Digit" },
8975   {   9, "a1-Digit" },
8976   {  10, "a2-Digit" },
8977   {  11, "a3-Digit" },
8978   {  12, "a4-Digit" },
8979   {  13, "a5-Digit" },
8980   {  14, "a6-Digit" },
8981   {  15, "a7-Digit" },
8982   {  16, "a8-Digit" },
8983   {  17, "a9-Digit" },
8984   {  18, "a10-Digit" },
8985   {  19, "a11-Digit" },
8986   {  20, "a12-Digit" },
8987   {  21, "a13-Digit" },
8988   {  22, "a14-Digit" },
8989   {  23, "a15-Digit" },
8990   {  24, "local-Call" },
8991   {  25, "intra-LATA-Toll-Call" },
8992   {  26, "inter-LATA-Toll-Call" },
8993   {  27, "world-Zone-Call" },
8994   {  28, "international-Call" },
8995   {  29, "unrecognized-Number" },
8996   {  30, "prior-Agreement" },
8997   {  31, "specific-Called-Party-Digit-String" },
8998   {  32, "mobile-Termination" },
8999   {  33, "advanced-Termination" },
9000   {  34, "location" },
9001   {  35, "locally-Allowed-Specific-Digit-String" },
9002   {  36, "origination-Attempt-Authorized" },
9003   {  37, "calling-Routing-Address-Available" },
9004   {  38, "initial-Termination" },
9005   {  39, "called-Routing-Address-Available" },
9006   {  40, "o-Answer" },
9007   {  41, "o-Disconnect" },
9008   {  42, "o-Called-Party-Busy" },
9009   {  43, "o-No-Answer" },
9010   {  64, "terminating-Resource-Available" },
9011   {  65, "t-Busy" },
9012   {  66, "t-No-Answer" },
9013   {  67, "t-No-Page-Response" },
9014   {  68, "t-Routable" },
9015   {  69, "t-Answer" },
9016   {  70, "t-Disconnect" },
9017   { 220, "reserved-for-TDP-R-DP-Type-value" },
9018   { 221, "reserved-for-TDP-N-DP-Type-value" },
9019   { 222, "reserved-for-EDP-R-DP-Type-value" },
9020   { 223, "reserved-for-EDP-N-DP-Type-value" },
9021   { 0, NULL }
9022 };
9023 
9024 static value_string_ext ansi_map_TriggerType_vals_ext = VALUE_STRING_EXT_INIT(ansi_map_TriggerType_vals);
9025 
9026 
9027 static int
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_)9028 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_) {
9029   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9030                                   NULL);
9031 
9032   return offset;
9033 }
9034 
9035 
9036 
9037 static int
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_)9038 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_) {
9039 #line 390 "./asn1/ansi_map/ansi_map.cnf"
9040 	tvbuff_t *parameter_tvb = NULL;
9041   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9042                                        &parameter_tvb);
9043 
9044 	if (parameter_tvb){
9045 		dissect_ansi_map_triggercapability(parameter_tvb,actx->pinfo,tree, actx);
9046 	}
9047 
9048 
9049 
9050   return offset;
9051 }
9052 
9053 
9054 
9055 static int
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_)9056 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_) {
9057 #line 398 "./asn1/ansi_map/ansi_map.cnf"
9058 	tvbuff_t *parameter_tvb = NULL;
9059   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9060                                        &parameter_tvb);
9061 
9062 	if (parameter_tvb){
9063 		dissect_ansi_map_winoperationscapability(parameter_tvb,actx->pinfo,tree, actx);
9064 	}
9065 
9066 
9067   return offset;
9068 }
9069 
9070 
9071 static const ber_sequence_t WINCapability_set[] = {
9072   { &hf_ansi_map_triggerCapability, BER_CLASS_CON, 277, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerCapability },
9073   { &hf_ansi_map_wINOperationsCapability, BER_CLASS_CON, 281, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINOperationsCapability },
9074   { NULL, 0, 0, 0, NULL }
9075 };
9076 
9077 static int
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_)9078 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_) {
9079   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9080                               WINCapability_set, hf_index, ett_ansi_map_WINCapability);
9081 
9082   return offset;
9083 }
9084 
9085 
9086 
9087 static int
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_)9088 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_) {
9089   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9090                                        NULL);
9091 
9092   return offset;
9093 }
9094 
9095 
9096 static const ber_sequence_t LocationRequest_U_set[] = {
9097   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
9098   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9099   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9100   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
9101   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
9102   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
9103   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
9104   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
9105   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
9106   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
9107   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
9108   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
9109   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
9110   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
9111   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9112   { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
9113   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
9114   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
9115   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
9116   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
9117   { &hf_ansi_map_callingPartyCategory, BER_CLASS_CON, 355, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyCategory },
9118   { NULL, 0, 0, 0, NULL }
9119 };
9120 
9121 static int
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_)9122 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_) {
9123   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9124                               LocationRequest_U_set, hf_index, ett_ansi_map_LocationRequest_U);
9125 
9126   return offset;
9127 }
9128 
9129 
9130 
9131 static int
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_)9132 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_) {
9133   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9134                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_LocationRequest_U);
9135 
9136   return offset;
9137 }
9138 
9139 
9140 
9141 static int
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_)9142 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_) {
9143 #line 413 "./asn1/ansi_map/ansi_map.cnf"
9144 	tvbuff_t *parameter_tvb = NULL;
9145   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9146                                        &parameter_tvb);
9147 
9148 	if (parameter_tvb){
9149 		dissect_ansi_map_controlnetworkid(parameter_tvb,actx->pinfo,tree, actx);
9150 	}
9151 
9152 
9153 
9154   return offset;
9155 }
9156 
9157 
9158 
9159 static int
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_)9160 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_) {
9161   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9162                                        NULL);
9163 
9164   return offset;
9165 }
9166 
9167 
9168 static const ber_sequence_t LocationRequestRes_U_set[] = {
9169   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9170   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
9171   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9172   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
9173   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
9174   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
9175   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
9176   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
9177   { &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
9178   { &hf_ansi_map_digits_carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9179   { &hf_ansi_map_digits_dest, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9180   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
9181   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
9182   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
9183   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
9184   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
9185   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
9186   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
9187   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
9188   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
9189   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
9190   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
9191   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
9192   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
9193   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
9194   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
9195   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
9196   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
9197   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
9198   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
9199   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
9200   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
9201   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
9202   { NULL, 0, 0, 0, NULL }
9203 };
9204 
9205 static int
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_)9206 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_) {
9207   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9208                               LocationRequestRes_U_set, hf_index, ett_ansi_map_LocationRequestRes_U);
9209 
9210   return offset;
9211 }
9212 
9213 
9214 
9215 static int
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_)9216 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_) {
9217   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9218                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_LocationRequestRes_U);
9219 
9220   return offset;
9221 }
9222 
9223 
9224 static const value_string ansi_map_DeregistrationType_vals[] = {
9225   {   0, "not-used" },
9226   {   1, "deregister-for-an-unspecified-reason" },
9227   {   2, "deregister-for-an-administrative-reason" },
9228   {   3, "deregister-due-to-MS-power-down" },
9229   { 0, NULL }
9230 };
9231 
9232 
9233 static int
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_)9234 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_) {
9235   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9236                                   NULL);
9237 
9238   return offset;
9239 }
9240 
9241 
9242 
9243 static int
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_)9244 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_) {
9245   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9246                                        NULL);
9247 
9248   return offset;
9249 }
9250 
9251 
9252 
9253 static int
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_)9254 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_) {
9255   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
9256 
9257   return offset;
9258 }
9259 
9260 
9261 static const ber_sequence_t MSInactive_U_set[] = {
9262   { &hf_ansi_map_lectronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9263   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
9264   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
9265   { &hf_ansi_map_deregistrationType, BER_CLASS_CON, 73, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DeregistrationType },
9266   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
9267   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
9268   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9269   { &hf_ansi_map_servicesResult, BER_CLASS_CON, 204, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServicesResult },
9270   { &hf_ansi_map_sms_MessageWaitingIndicator, BER_CLASS_CON, 118, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageWaitingIndicator },
9271   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
9272   { NULL, 0, 0, 0, NULL }
9273 };
9274 
9275 static int
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_)9276 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_) {
9277   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9278                               MSInactive_U_set, hf_index, ett_ansi_map_MSInactive_U);
9279 
9280   return offset;
9281 }
9282 
9283 
9284 
9285 static int
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_)9286 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_) {
9287   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9288                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_MSInactive_U);
9289 
9290   return offset;
9291 }
9292 
9293 
9294 
9295 static int
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_)9296 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_) {
9297 #line 247 "./asn1/ansi_map/ansi_map.cnf"
9298 	tvbuff_t *parameter_tvb = NULL;
9299   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9300                                        &parameter_tvb);
9301 
9302 	if (parameter_tvb){
9303 		dissect_ansi_map_originationtriggers(parameter_tvb,actx->pinfo,tree, actx);
9304 	}
9305 
9306 
9307 
9308   return offset;
9309 }
9310 
9311 
9312 static const value_string ansi_map_FeatureIndicator_vals[] = {
9313   {   0, "not-used" },
9314   {  38, "user-selective-call-forwarding" },
9315   { 0, NULL }
9316 };
9317 
9318 
9319 static int
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_)9320 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_) {
9321   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9322                                   NULL);
9323 
9324   return offset;
9325 }
9326 
9327 
9328 static const ber_sequence_t OriginationRequest_U_set[] = {
9329   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
9330   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9331   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9332   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
9333   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9334   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
9335   { &hf_ansi_map_originationTriggers, BER_CLASS_CON, 98, BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationTriggers },
9336   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
9337   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
9338   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
9339   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
9340   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
9341   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
9342   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
9343   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
9344   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
9345   { &hf_ansi_map_featureIndicator, BER_CLASS_CON, 306, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureIndicator },
9346   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
9347   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
9348   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
9349   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
9350   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9351   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
9352   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
9353   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
9354   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
9355   { &hf_ansi_map_callingPartyCategory, BER_CLASS_CON, 355, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyCategory },
9356   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
9357   { NULL, 0, 0, 0, NULL }
9358 };
9359 
9360 static int
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_)9361 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_) {
9362   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9363                               OriginationRequest_U_set, hf_index, ett_ansi_map_OriginationRequest_U);
9364 
9365   return offset;
9366 }
9367 
9368 
9369 
9370 static int
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_)9371 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_) {
9372   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9373                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OriginationRequest_U);
9374 
9375   return offset;
9376 }
9377 
9378 
9379 
9380 static int
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_)9381 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_) {
9382   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9383                                        NULL);
9384 
9385   return offset;
9386 }
9387 
9388 
9389 static const ber_sequence_t OriginationRequestRes_U_set[] = {
9390   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
9391   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
9392   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
9393   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
9394   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
9395   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
9396   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
9397   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9398   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
9399   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
9400   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
9401   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
9402   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
9403   { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
9404   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
9405   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
9406   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
9407   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
9408   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
9409   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
9410   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
9411   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
9412   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
9413   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
9414   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
9415   { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
9416   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
9417   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
9418   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
9419   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
9420   { NULL, 0, 0, 0, NULL }
9421 };
9422 
9423 static int
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_)9424 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_) {
9425   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9426                               OriginationRequestRes_U_set, hf_index, ett_ansi_map_OriginationRequestRes_U);
9427 
9428   return offset;
9429 }
9430 
9431 
9432 
9433 static int
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_)9434 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_) {
9435   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9436                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OriginationRequestRes_U);
9437 
9438   return offset;
9439 }
9440 
9441 
9442 static const value_string ansi_map_QualificationInformationCode_vals[] = {
9443   {   0, "not-used" },
9444   {   1, "no-information" },
9445   {   2, "validation-only" },
9446   {   3, "validation-and-profile" },
9447   {   4, "profile-only" },
9448   { 0, NULL }
9449 };
9450 
9451 
9452 static int
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_)9453 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_) {
9454   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9455                                   NULL);
9456 
9457   return offset;
9458 }
9459 
9460 
9461 static const value_string ansi_map_AuthorizationDenied_vals[] = {
9462   {   0, "not-used" },
9463   {   1, "delinquent-account" },
9464   {   2, "invalid-serial-number" },
9465   {   3, "stolen-unit" },
9466   {   4, "duplicate-unit" },
9467   {   5, "unassigned-directory-number" },
9468   {   6, "unspecified" },
9469   {   7, "multiple-access" },
9470   {   8, "not-Authorized-for-the-MSC" },
9471   {   9, "missing-authentication-parameters" },
9472   {  10, "terminalType-mismatch" },
9473   {  11, "requested-Service-Code-Not-Supported" },
9474   { 0, NULL }
9475 };
9476 
9477 
9478 static int
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_)9479 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_) {
9480   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9481                                   NULL);
9482 
9483   return offset;
9484 }
9485 
9486 
9487 
9488 static int
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_)9489 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_) {
9490 #line 81 "./asn1/ansi_map/ansi_map.cnf"
9491 	tvbuff_t *parameter_tvb = NULL;
9492   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9493                                        &parameter_tvb);
9494 
9495 	if (parameter_tvb){
9496 		dissect_ansi_map_authorizationperiod(parameter_tvb,actx->pinfo,tree, actx);
9497 	}
9498 
9499 
9500 
9501 
9502   return offset;
9503 }
9504 
9505 
9506 
9507 static int
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_)9508 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_) {
9509 #line 151 "./asn1/ansi_map/ansi_map.cnf"
9510 	tvbuff_t *parameter_tvb = NULL;
9511   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9512                                        &parameter_tvb);
9513 
9514 	if (parameter_tvb){
9515 		dissect_ansi_map_deniedauthorizationperiod(parameter_tvb,actx->pinfo,tree, actx);
9516 	}
9517 
9518 
9519 
9520   return offset;
9521 }
9522 
9523 
9524 
9525 static int
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_)9526 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_) {
9527   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9528                                        NULL);
9529 
9530   return offset;
9531 }
9532 
9533 
9534 
9535 static int
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_)9536 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_) {
9537 #line 98 "./asn1/ansi_map/ansi_map.cnf"
9538 	tvbuff_t *parameter_tvb = NULL;
9539   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9540                                        &parameter_tvb);
9541 
9542 	if (parameter_tvb){
9543 		dissect_ansi_map_callingfeaturesindicator(parameter_tvb,actx->pinfo,tree, actx);
9544 	}
9545 
9546 
9547   return offset;
9548 }
9549 
9550 
9551 
9552 static int
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_)9553 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_) {
9554   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9555                                        NULL);
9556 
9557   return offset;
9558 }
9559 
9560 
9561 
9562 static int
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_)9563 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_) {
9564   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
9565 
9566   return offset;
9567 }
9568 
9569 
9570 
9571 static int
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_)9572 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_) {
9573   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9574                                        NULL);
9575 
9576   return offset;
9577 }
9578 
9579 
9580 static const value_string ansi_map_OriginationIndicator_vals[] = {
9581   {   0, "not-used" },
9582   {   1, "prior-agreement" },
9583   {   2, "origination-denied" },
9584   {   3, "local-calls-only" },
9585   {   4, "selected-leading-digits-of-directorynumber-or-of-international-E164-number" },
9586   {   5, "selected-leading-digits-of-directorynumber-or-of-international-E164-number-and-local-calls-only" },
9587   {   6, "national-long-distance" },
9588   {   7, "international-calls" },
9589   {   8, "single-directory-number-or-international-E164-number" },
9590   { 0, NULL }
9591 };
9592 
9593 
9594 static int
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_)9595 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_) {
9596   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9597                                   NULL);
9598 
9599   return offset;
9600 }
9601 
9602 
9603 
9604 static int
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_)9605 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_) {
9606   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
9607 
9608   return offset;
9609 }
9610 
9611 
9612 
9613 static int
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_)9614 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_) {
9615 #line 314 "./asn1/ansi_map/ansi_map.cnf"
9616 	tvbuff_t *parameter_tvb = NULL;
9617   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9618                                        &parameter_tvb);
9619 
9620 	if (parameter_tvb){
9621 		dissect_ansi_map_sms_originationrestrictions(parameter_tvb,actx->pinfo,tree, actx);
9622 	}
9623 
9624 
9625 
9626   return offset;
9627 }
9628 
9629 
9630 
9631 static int
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_)9632 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_) {
9633   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9634                                        NULL);
9635 
9636   return offset;
9637 }
9638 
9639 
9640 
9641 static int
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_)9642 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_) {
9643   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
9644 
9645   return offset;
9646 }
9647 
9648 
9649 
9650 static int
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_)9651 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_) {
9652   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9653                                        NULL);
9654 
9655   return offset;
9656 }
9657 
9658 
9659 static const value_string ansi_map_TerminationRestrictionCode_vals[] = {
9660   {   0, "not-used" },
9661   {   1, "termination-denied" },
9662   {   2, "unrestricted" },
9663   {   3, "the-treatment-for-this-value-is-not-specified" },
9664   { 0, NULL }
9665 };
9666 
9667 
9668 static int
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_)9669 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_) {
9670   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9671                                   NULL);
9672 
9673   return offset;
9674 }
9675 
9676 
9677 
9678 static int
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_)9679 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_) {
9680   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9681                                        NULL);
9682 
9683   return offset;
9684 }
9685 
9686 
9687 static const value_string ansi_map_LIRMode_vals[] = {
9688   {   0, "not-used" },
9689   {   1, "unconditionally-Restricted" },
9690   {   2, "pre-Authorized-LCS-Clients-Only" },
9691   {   3, "pre-Authorized-LCS-Clients-and-User-Authorized-LCS-Clients" },
9692   {   4, "unrestricted" },
9693   { 0, NULL }
9694 };
9695 
9696 
9697 static int
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_)9698 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_) {
9699   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9700                                   NULL);
9701 
9702   return offset;
9703 }
9704 
9705 
9706 static const ber_sequence_t QualificationDirective_U_set[] = {
9707   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9708   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
9709   { &hf_ansi_map_qualificationInformationCode, BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_ansi_map_QualificationInformationCode },
9710   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
9711   { &hf_ansi_map_analogRedirectRecord, BER_CLASS_CON, 225, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectRecord },
9712   { &hf_ansi_map_authorizationDenied, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationDenied },
9713   { &hf_ansi_map_authorizationPeriod, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationPeriod },
9714   { &hf_ansi_map_cdmaRedirectRecord, BER_CLASS_CON, 229, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMARedirectRecord },
9715   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
9716   { &hf_ansi_map_deniedAuthorizationPeriod, BER_CLASS_CON, 167, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DeniedAuthorizationPeriod },
9717   { &hf_ansi_map_digits_carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9718   { &hf_ansi_map_digits_dest, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9719   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
9720   { &hf_ansi_map_authenticationCapability, BER_CLASS_CON, 78, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationCapability },
9721   { &hf_ansi_map_callingFeaturesIndicator, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingFeaturesIndicator },
9722   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
9723   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
9724   { &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
9725   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
9726   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
9727   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
9728   { &hf_ansi_map_geographicAuthorization, BER_CLASS_CON, 143, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GeographicAuthorization },
9729   { &hf_ansi_map_meidValidated, BER_CLASS_CON, 401, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEIDValidated },
9730   { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
9731   { &hf_ansi_map_messageWaitingNotificationType, BER_CLASS_CON, 145, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationType },
9732   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
9733   { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
9734   { &hf_ansi_map_originationIndicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationIndicator },
9735   { &hf_ansi_map_originationTriggers, BER_CLASS_CON, 98, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationTriggers },
9736   { &hf_ansi_map_pACAIndicator, BER_CLASS_CON, 146, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PACAIndicator },
9737   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
9738   { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
9739   { &hf_ansi_map_restrictionDigits, BER_CLASS_CON, 227, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RestrictionDigits },
9740   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
9741   { &hf_ansi_map_pSID_RSIDList, BER_CLASS_CON, 203, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDList },
9742   { &hf_ansi_map_sms_OriginationRestrictions, BER_CLASS_CON, 115, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginationRestrictions },
9743   { &hf_ansi_map_sms_TerminationRestrictions, BER_CLASS_CON, 117, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TerminationRestrictions },
9744   { &hf_ansi_map_spinipin   , BER_CLASS_CON, 154, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINIPIN },
9745   { &hf_ansi_map_spiniTriggers, BER_CLASS_CON, 155, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINITriggers },
9746   { &hf_ansi_map_tdmaDataFeaturesIndicator, BER_CLASS_CON, 221, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataFeaturesIndicator },
9747   { &hf_ansi_map_terminationRestrictionCode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationRestrictionCode },
9748   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
9749   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
9750   { &hf_ansi_map_userGroup  , BER_CLASS_CON, 208, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserGroup },
9751   { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
9752   { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
9753   { &hf_ansi_map_callingPartyCategory, BER_CLASS_CON, 355, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyCategory },
9754   { &hf_ansi_map_lirMode    , BER_CLASS_CON, 369, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LIRMode },
9755   { &hf_ansi_map_serviceRedirectionInfo, BER_CLASS_CON, 238, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionInfo },
9756   { &hf_ansi_map_roamingIndication, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoamingIndication },
9757   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9758   { NULL, 0, 0, 0, NULL }
9759 };
9760 
9761 static int
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_)9762 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_) {
9763   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9764                               QualificationDirective_U_set, hf_index, ett_ansi_map_QualificationDirective_U);
9765 
9766   return offset;
9767 }
9768 
9769 
9770 
9771 static int
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_)9772 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_) {
9773   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9774                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_QualificationDirective_U);
9775 
9776   return offset;
9777 }
9778 
9779 
9780 static const ber_sequence_t QualificationDirectiveRes_U_set[] = {
9781   { NULL, 0, 0, 0, NULL }
9782 };
9783 
9784 static int
dissect_ansi_map_QualificationDirectiveRes_U(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)9785 dissect_ansi_map_QualificationDirectiveRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9786   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9787                               QualificationDirectiveRes_U_set, hf_index, ett_ansi_map_QualificationDirectiveRes_U);
9788 
9789   return offset;
9790 }
9791 
9792 
9793 
9794 static int
dissect_ansi_map_QualificationDirectiveRes(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)9795 dissect_ansi_map_QualificationDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9796   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9797                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_QualificationDirectiveRes_U);
9798 
9799   return offset;
9800 }
9801 
9802 
9803 static const ber_sequence_t QualificationRequest_U_set[] = {
9804   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9805   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
9806   { &hf_ansi_map_qualificationInformationCode, BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_ansi_map_QualificationInformationCode },
9807   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
9808   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
9809   { &hf_ansi_map_cdmaNetworkIdentification, BER_CLASS_CON, 232, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMANetworkIdentification },
9810   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
9811   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9812   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9813   { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
9814   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
9815   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
9816   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
9817   { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
9818   { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
9819   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
9820   { NULL, 0, 0, 0, NULL }
9821 };
9822 
9823 static int
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_)9824 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_) {
9825   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9826                               QualificationRequest_U_set, hf_index, ett_ansi_map_QualificationRequest_U);
9827 
9828   return offset;
9829 }
9830 
9831 
9832 
9833 static int
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_)9834 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_) {
9835   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9836                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_QualificationRequest_U);
9837 
9838   return offset;
9839 }
9840 
9841 
9842 static const ber_sequence_t QualificationRequestRes_U_set[] = {
9843   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
9844   { &hf_ansi_map_analogRedirectRecord, BER_CLASS_CON, 225, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectRecord },
9845   { &hf_ansi_map_authorizationDenied, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationDenied },
9846   { &hf_ansi_map_authorizationPeriod, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationPeriod },
9847   { &hf_ansi_map_cdmaRedirectRecord, BER_CLASS_CON, 229, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMARedirectRecord },
9848   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
9849   { &hf_ansi_map_deniedAuthorizationPeriod, BER_CLASS_CON, 167, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DeniedAuthorizationPeriod },
9850   { &hf_ansi_map_digits_carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9851   { &hf_ansi_map_digits_dest, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9852   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9853   { &hf_ansi_map_authenticationCapability, BER_CLASS_CON, 78, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationCapability },
9854   { &hf_ansi_map_callingFeaturesIndicator, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingFeaturesIndicator },
9855   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
9856   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
9857   { &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
9858   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
9859   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
9860   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
9861   { &hf_ansi_map_geographicAuthorization, BER_CLASS_CON, 143, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GeographicAuthorization },
9862   { &hf_ansi_map_meidValidated, BER_CLASS_CON, 401, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEIDValidated },
9863   { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
9864   { &hf_ansi_map_messageWaitingNotificationType, BER_CLASS_CON, 145, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationType },
9865   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
9866   { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
9867   { &hf_ansi_map_originationIndicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationIndicator },
9868   { &hf_ansi_map_originationTriggers, BER_CLASS_CON, 98, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationTriggers },
9869   { &hf_ansi_map_pACAIndicator, BER_CLASS_CON, 146, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PACAIndicator },
9870   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
9871   { &hf_ansi_map_restrictionDigits, BER_CLASS_CON, 227, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RestrictionDigits },
9872   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
9873   { &hf_ansi_map_sms_OriginationRestrictions, BER_CLASS_CON, 115, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginationRestrictions },
9874   { &hf_ansi_map_sms_TerminationRestrictions, BER_CLASS_CON, 117, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TerminationRestrictions },
9875   { &hf_ansi_map_spinipin   , BER_CLASS_CON, 154, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINIPIN },
9876   { &hf_ansi_map_spiniTriggers, BER_CLASS_CON, 155, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINITriggers },
9877   { &hf_ansi_map_terminationRestrictionCode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationRestrictionCode },
9878   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
9879   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
9880   { &hf_ansi_map_callingPartyCategory, BER_CLASS_CON, 355, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyCategory },
9881   { &hf_ansi_map_lirMode    , BER_CLASS_CON, 369, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LIRMode },
9882   { &hf_ansi_map_serviceRedirectionInfo, BER_CLASS_CON, 238, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionInfo },
9883   { &hf_ansi_map_roamingIndication, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoamingIndication },
9884   { NULL, 0, 0, 0, NULL }
9885 };
9886 
9887 static int
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_)9888 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_) {
9889   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9890                               QualificationRequestRes_U_set, hf_index, ett_ansi_map_QualificationRequestRes_U);
9891 
9892   return offset;
9893 }
9894 
9895 
9896 
9897 static int
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_)9898 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_) {
9899   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9900                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_QualificationRequestRes_U);
9901 
9902   return offset;
9903 }
9904 
9905 
9906 static const ber_sequence_t RandomVariableRequest_U_set[] = {
9907   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9908   { &hf_ansi_map_randc      , BER_CLASS_CON, 67, BER_FLAGS_IMPLTAG, dissect_ansi_map_RANDC },
9909   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
9910   { NULL, 0, 0, 0, NULL }
9911 };
9912 
9913 static int
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_)9914 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_) {
9915   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9916                               RandomVariableRequest_U_set, hf_index, ett_ansi_map_RandomVariableRequest_U);
9917 
9918   return offset;
9919 }
9920 
9921 
9922 
9923 static int
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_)9924 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_) {
9925   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9926                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RandomVariableRequest_U);
9927 
9928   return offset;
9929 }
9930 
9931 
9932 
9933 static int
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_)9934 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_) {
9935   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9936                                        NULL);
9937 
9938   return offset;
9939 }
9940 
9941 
9942 static const ber_sequence_t RandomVariableRequestRes_U_set[] = {
9943   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
9944   { &hf_ansi_map_randValidTime, BER_CLASS_CON, 148, BER_FLAGS_IMPLTAG, dissect_ansi_map_RANDValidTime },
9945   { NULL, 0, 0, 0, NULL }
9946 };
9947 
9948 static int
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_)9949 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_) {
9950   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9951                               RandomVariableRequestRes_U_set, hf_index, ett_ansi_map_RandomVariableRequestRes_U);
9952 
9953   return offset;
9954 }
9955 
9956 
9957 
9958 static int
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_)9959 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_) {
9960   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9961                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RandomVariableRequestRes_U);
9962 
9963   return offset;
9964 }
9965 
9966 
9967 static const ber_sequence_t RedirectionDirective_U_set[] = {
9968   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
9969   { &hf_ansi_map_digits_dest, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9970   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9971   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
9972   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
9973   { &hf_ansi_map_digits_carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9974   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
9975   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
9976   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
9977   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
9978   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
9979   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
9980   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9981   { NULL, 0, 0, 0, NULL }
9982 };
9983 
9984 static int
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_)9985 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_) {
9986   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9987                               RedirectionDirective_U_set, hf_index, ett_ansi_map_RedirectionDirective_U);
9988 
9989   return offset;
9990 }
9991 
9992 
9993 
9994 static int
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_)9995 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_) {
9996   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9997                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RedirectionDirective_U);
9998 
9999   return offset;
10000 }
10001 
10002 
10003 static const value_string ansi_map_RedirectionReason_vals[] = {
10004   {   0, "not-used" },
10005   {   1, "busy" },
10006   {   2, "no-Answer" },
10007   {   3, "unconditional" },
10008   {   4, "no-Page-Response" },
10009   {   5, "unavailable" },
10010   {   6, "unroutable" },
10011   {   7, "call-accepted" },
10012   {   8, "call-refused" },
10013   {   9, "uSCFvm-Divert-to-voice-mail" },
10014   {  10, "uSCFms-Divert-to-an-MS-provided-DN" },
10015   {  11, "uSCFnr-Divert-to-a-network-registered-DN" },
10016   { 0, NULL }
10017 };
10018 
10019 
10020 static int
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_)10021 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_) {
10022   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10023                                   NULL);
10024 
10025   return offset;
10026 }
10027 
10028 
10029 static const ber_sequence_t RedirectionRequest_U_set[] = {
10030   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
10031   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10032   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
10033   { &hf_ansi_map_redirectionReason, BER_CLASS_CON, 19, BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectionReason },
10034   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
10035   { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
10036   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
10037   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
10038   { NULL, 0, 0, 0, NULL }
10039 };
10040 
10041 static int
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_)10042 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_) {
10043   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10044                               RedirectionRequest_U_set, hf_index, ett_ansi_map_RedirectionRequest_U);
10045 
10046   return offset;
10047 }
10048 
10049 
10050 
10051 static int
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_)10052 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_) {
10053   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10054                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RedirectionRequest_U);
10055 
10056   return offset;
10057 }
10058 
10059 
10060 
10061 static int
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_)10062 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_) {
10063   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10064                                        NULL);
10065 
10066   return offset;
10067 }
10068 
10069 
10070 
10071 static int
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_)10072 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_) {
10073 #line 143 "./asn1/ansi_map/ansi_map.cnf"
10074 	tvbuff_t *parameter_tvb = NULL;
10075   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10076                                        &parameter_tvb);
10077 
10078 	if (parameter_tvb){
10079 		dissect_ansi_map_controlchanneldata(parameter_tvb,actx->pinfo,tree, actx);
10080 	}
10081 
10082 
10083 
10084   return offset;
10085 }
10086 
10087 
10088 
10089 static int
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_)10090 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_) {
10091   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10092                                                 NULL);
10093 
10094   return offset;
10095 }
10096 
10097 
10098 
10099 static int
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_)10100 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_) {
10101   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10102                                        NULL);
10103 
10104   return offset;
10105 }
10106 
10107 
10108 static const ber_sequence_t RegistrationCancellation_U_set[] = {
10109   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10110   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
10111   { &hf_ansi_map_cancellationType, BER_CLASS_CON, 85, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CancellationType },
10112   { &hf_ansi_map_controlChannelData, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelData },
10113   { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
10114   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
10115   { &hf_ansi_map_systemAccessData, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessData },
10116   { NULL, 0, 0, 0, NULL }
10117 };
10118 
10119 static int
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_)10120 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_) {
10121   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10122                               RegistrationCancellation_U_set, hf_index, ett_ansi_map_RegistrationCancellation_U);
10123 
10124   return offset;
10125 }
10126 
10127 
10128 
10129 static int
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_)10130 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_) {
10131   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10132                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RegistrationCancellation_U);
10133 
10134   return offset;
10135 }
10136 
10137 
10138 static const value_string ansi_map_CancellationDenied_vals[] = {
10139   {   0, "not-used" },
10140   {   1, "multipleAccess" },
10141   {   2, "busy" },
10142   { 0, NULL }
10143 };
10144 
10145 
10146 static int
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_)10147 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_) {
10148   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10149                                   NULL);
10150 
10151   return offset;
10152 }
10153 
10154 
10155 static const ber_sequence_t RegistrationCancellationRes_U_set[] = {
10156   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
10157   { &hf_ansi_map_cancellationDenied, BER_CLASS_CON, 57, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CancellationDenied },
10158   { &hf_ansi_map_controlChannelData, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelData },
10159   { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
10160   { &hf_ansi_map_sms_MessageWaitingIndicator, BER_CLASS_CON, 118, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageWaitingIndicator },
10161   { &hf_ansi_map_systemAccessData, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessData },
10162   { NULL, 0, 0, 0, NULL }
10163 };
10164 
10165 static int
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_)10166 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_) {
10167   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10168                               RegistrationCancellationRes_U_set, hf_index, ett_ansi_map_RegistrationCancellationRes_U);
10169 
10170   return offset;
10171 }
10172 
10173 
10174 
10175 static int
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_)10176 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_) {
10177   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10178                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RegistrationCancellationRes_U);
10179 
10180   return offset;
10181 }
10182 
10183 
10184 
10185 static int
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_)10186 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_) {
10187   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10188                                        NULL);
10189 
10190   return offset;
10191 }
10192 
10193 
10194 static const value_string ansi_map_BorderCellAccess_vals[] = {
10195   {   0, "not-used" },
10196   {   1, "border-Cell-Access" },
10197   { 0, NULL }
10198 };
10199 
10200 
10201 static int
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_)10202 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_) {
10203   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10204                                   NULL);
10205 
10206   return offset;
10207 }
10208 
10209 
10210 
10211 static int
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_)10212 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_) {
10213   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10214 
10215   return offset;
10216 }
10217 
10218 
10219 
10220 static int
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_)10221 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_) {
10222   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10223 
10224   return offset;
10225 }
10226 
10227 
10228 
10229 static int
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_)10230 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_) {
10231   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10232 
10233   return offset;
10234 }
10235 
10236 
10237 static const ber_sequence_t MPCAddressList_set[] = {
10238   { &hf_ansi_map_mpcAddress , BER_CLASS_CON, 370, BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddress },
10239   { &hf_ansi_map_mpcAddress2, BER_CLASS_CON, 370, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddress },
10240   { NULL, 0, 0, 0, NULL }
10241 };
10242 
10243 static int
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_)10244 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_) {
10245   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10246                               MPCAddressList_set, hf_index, ett_ansi_map_MPCAddressList);
10247 
10248   return offset;
10249 }
10250 
10251 
10252 static const ber_sequence_t RegistrationNotification_U_set[] = {
10253   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10254   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
10255   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
10256   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
10257   { &hf_ansi_map_qualificationInformationCode, BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_ansi_map_QualificationInformationCode },
10258   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
10259   { &hf_ansi_map_availabilityType, BER_CLASS_CON, 90, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AvailabilityType },
10260   { &hf_ansi_map_borderCellAccess, BER_CLASS_CON, 58, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BorderCellAccess },
10261   { &hf_ansi_map_cdmaNetworkIdentification, BER_CLASS_CON, 232, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMANetworkIdentification },
10262   { &hf_ansi_map_controlChannelData, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelData },
10263   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
10264   { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
10265   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
10266   { &hf_ansi_map_msc_Address, BER_CLASS_CON, 284, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSC_Address },
10267   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
10268   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
10269   { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
10270   { &hf_ansi_map_reportType , BER_CLASS_CON, 44, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReportType },
10271   { &hf_ansi_map_serviceRedirectionCause, BER_CLASS_CON, 237, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionCause },
10272   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
10273   { &hf_ansi_map_sms_Address, BER_CLASS_CON, 104, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_Address },
10274   { &hf_ansi_map_sms_MessageWaitingIndicator, BER_CLASS_CON, 118, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageWaitingIndicator },
10275   { &hf_ansi_map_systemAccessData, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessData },
10276   { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
10277   { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
10278   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
10279   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
10280   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
10281   { &hf_ansi_map_mpcAddress , BER_CLASS_CON, 370, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddress },
10282   { &hf_ansi_map_mpcAddressList, BER_CLASS_CON, 381, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddressList },
10283   { NULL, 0, 0, 0, NULL }
10284 };
10285 
10286 static int
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_)10287 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_) {
10288   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10289                               RegistrationNotification_U_set, hf_index, ett_ansi_map_RegistrationNotification_U);
10290 
10291   return offset;
10292 }
10293 
10294 
10295 
10296 static int
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_)10297 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_) {
10298   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10299                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RegistrationNotification_U);
10300 
10301   return offset;
10302 }
10303 
10304 
10305 static const ber_sequence_t RegistrationNotificationRes_U_set[] = {
10306   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
10307   { &hf_ansi_map_analogRedirectRecord, BER_CLASS_CON, 225, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectRecord },
10308   { &hf_ansi_map_authorizationDenied, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationDenied },
10309   { &hf_ansi_map_authorizationPeriod, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationPeriod },
10310   { &hf_ansi_map_cdmaRedirectRecord, BER_CLASS_CON, 229, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMARedirectRecord },
10311   { &hf_ansi_map_controlChannelData, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelData },
10312   { &hf_ansi_map_deniedAuthorizationPeriod, BER_CLASS_CON, 167, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DeniedAuthorizationPeriod },
10313   { &hf_ansi_map_digits_Carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
10314   { &hf_ansi_map_digits_Destination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
10315   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
10316   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
10317   { &hf_ansi_map_authenticationCapability, BER_CLASS_CON, 78, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationCapability },
10318   { &hf_ansi_map_callingFeaturesIndicator, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingFeaturesIndicator },
10319   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
10320   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
10321   { &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
10322   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
10323   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
10324   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
10325   { &hf_ansi_map_geographicAuthorization, BER_CLASS_CON, 143, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GeographicAuthorization },
10326   { &hf_ansi_map_meidValidated, BER_CLASS_CON, 401, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEIDValidated },
10327   { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
10328   { &hf_ansi_map_messageWaitingNotificationType, BER_CLASS_CON, 145, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationType },
10329   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
10330   { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
10331   { &hf_ansi_map_originationIndicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationIndicator },
10332   { &hf_ansi_map_originationTriggers, BER_CLASS_CON, 98, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationTriggers },
10333   { &hf_ansi_map_pACAIndicator, BER_CLASS_CON, 146, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PACAIndicator },
10334   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
10335   { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
10336   { &hf_ansi_map_restrictionDigits, BER_CLASS_CON, 227, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RestrictionDigits },
10337   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
10338   { &hf_ansi_map_pSID_RSIDList, BER_CLASS_CON, 203, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDList },
10339   { &hf_ansi_map_sms_OriginationRestrictions, BER_CLASS_CON, 115, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginationRestrictions },
10340   { &hf_ansi_map_sms_TerminationRestrictions, BER_CLASS_CON, 117, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TerminationRestrictions },
10341   { &hf_ansi_map_spinipin   , BER_CLASS_CON, 154, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINIPIN },
10342   { &hf_ansi_map_spiniTriggers, BER_CLASS_CON, 155, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINITriggers },
10343   { &hf_ansi_map_tdmaDataFeaturesIndicator, BER_CLASS_CON, 221, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataFeaturesIndicator },
10344   { &hf_ansi_map_terminationRestrictionCode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationRestrictionCode },
10345   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
10346   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
10347   { &hf_ansi_map_userGroup  , BER_CLASS_CON, 208, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserGroup },
10348   { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
10349   { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
10350   { &hf_ansi_map_callingPartyCategory, BER_CLASS_CON, 355, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyCategory },
10351   { &hf_ansi_map_lirMode    , BER_CLASS_CON, 369, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LIRMode },
10352   { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
10353   { &hf_ansi_map_serviceRedirectionInfo, BER_CLASS_CON, 238, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionInfo },
10354   { &hf_ansi_map_roamingIndication, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoamingIndication },
10355   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
10356   { &hf_ansi_map_sms_MessageWaitingIndicator, BER_CLASS_CON, 118, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageWaitingIndicator },
10357   { &hf_ansi_map_systemAccessData, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessData },
10358   { NULL, 0, 0, 0, NULL }
10359 };
10360 
10361 static int
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_)10362 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_) {
10363   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10364                               RegistrationNotificationRes_U_set, hf_index, ett_ansi_map_RegistrationNotificationRes_U);
10365 
10366   return offset;
10367 }
10368 
10369 
10370 
10371 static int
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_)10372 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_) {
10373   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10374                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RegistrationNotificationRes_U);
10375 
10376   return offset;
10377 }
10378 
10379 
10380 
10381 static int
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_)10382 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_) {
10383   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10384                                        NULL);
10385 
10386   return offset;
10387 }
10388 
10389 
10390 static const ber_sequence_t RemoteUserInteractionDirective_U_set[] = {
10391   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
10392   { &hf_ansi_map_digitCollectionControl, BER_CLASS_CON, 139, BER_FLAGS_IMPLTAG, dissect_ansi_map_DigitCollectionControl },
10393   { NULL, 0, 0, 0, NULL }
10394 };
10395 
10396 static int
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_)10397 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_) {
10398   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10399                               RemoteUserInteractionDirective_U_set, hf_index, ett_ansi_map_RemoteUserInteractionDirective_U);
10400 
10401   return offset;
10402 }
10403 
10404 
10405 
10406 static int
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_)10407 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_) {
10408   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10409                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RemoteUserInteractionDirective_U);
10410 
10411   return offset;
10412 }
10413 
10414 
10415 static const ber_sequence_t RemoteUserInteractionDirectiveRes_U_set[] = {
10416   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
10417   { NULL, 0, 0, 0, NULL }
10418 };
10419 
10420 static int
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_)10421 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_) {
10422   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10423                               RemoteUserInteractionDirectiveRes_U_set, hf_index, ett_ansi_map_RemoteUserInteractionDirectiveRes_U);
10424 
10425   return offset;
10426 }
10427 
10428 
10429 
10430 static int
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_)10431 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_) {
10432   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10433                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RemoteUserInteractionDirectiveRes_U);
10434 
10435   return offset;
10436 }
10437 
10438 
10439 static const ber_sequence_t ResetCircuit_U_set[] = {
10440   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
10441   { NULL, 0, 0, 0, NULL }
10442 };
10443 
10444 static int
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_)10445 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_) {
10446   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10447                               ResetCircuit_U_set, hf_index, ett_ansi_map_ResetCircuit_U);
10448 
10449   return offset;
10450 }
10451 
10452 
10453 
10454 static int
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_)10455 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_) {
10456   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10457                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ResetCircuit_U);
10458 
10459   return offset;
10460 }
10461 
10462 
10463 static const value_string ansi_map_TrunkStatus_vals[] = {
10464   {   0, "idle" },
10465   {   1, "blocked" },
10466   { 0, NULL }
10467 };
10468 
10469 
10470 static int
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_)10471 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_) {
10472   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10473                                   NULL);
10474 
10475   return offset;
10476 }
10477 
10478 
10479 static const ber_sequence_t ResetCircuitRes_U_set[] = {
10480   { &hf_ansi_map_trunkStatus, BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_ansi_map_TrunkStatus },
10481   { NULL, 0, 0, 0, NULL }
10482 };
10483 
10484 static int
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_)10485 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_) {
10486   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10487                               ResetCircuitRes_U_set, hf_index, ett_ansi_map_ResetCircuitRes_U);
10488 
10489   return offset;
10490 }
10491 
10492 
10493 
10494 static int
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_)10495 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_) {
10496   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10497                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ResetCircuitRes_U);
10498 
10499   return offset;
10500 }
10501 
10502 
10503 static const ber_sequence_t RoutingRequest_U_set[] = {
10504   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
10505   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10506   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
10507   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
10508   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
10509   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
10510   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
10511   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
10512   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
10513   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
10514   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
10515   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
10516   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
10517   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
10518   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
10519   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
10520   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
10521   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
10522   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
10523   { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
10524   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
10525   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
10526   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
10527   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
10528   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
10529   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
10530   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
10531   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
10532   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
10533   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
10534   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
10535   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
10536   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
10537   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
10538   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
10539   { &hf_ansi_map_terminationTreatment, BER_CLASS_CON, 121, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTreatment },
10540   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
10541   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
10542   { &hf_ansi_map_userGroup  , BER_CLASS_CON, 208, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserGroup },
10543   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
10544   { &hf_ansi_map_voiceMailboxNumber, BER_CLASS_CON, 160, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoiceMailboxNumber },
10545   { &hf_ansi_map_voiceMailboxPIN, BER_CLASS_CON, 159, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoiceMailboxPIN },
10546   { NULL, 0, 0, 0, NULL }
10547 };
10548 
10549 static int
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_)10550 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_) {
10551   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10552                               RoutingRequest_U_set, hf_index, ett_ansi_map_RoutingRequest_U);
10553 
10554   return offset;
10555 }
10556 
10557 
10558 
10559 static int
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_)10560 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_) {
10561   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10562                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RoutingRequest_U);
10563 
10564   return offset;
10565 }
10566 
10567 
10568 static const ber_sequence_t RoutingRequestRes_U_set[] = {
10569   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
10570   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
10571   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
10572   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
10573   { &hf_ansi_map_conditionallyDeniedReason, BER_CLASS_CON, 162, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConditionallyDeniedReason },
10574   { &hf_ansi_map_digits_Destination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
10575   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
10576   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
10577   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
10578   { NULL, 0, 0, 0, NULL }
10579 };
10580 
10581 static int
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_)10582 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_) {
10583   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10584                               RoutingRequestRes_U_set, hf_index, ett_ansi_map_RoutingRequestRes_U);
10585 
10586   return offset;
10587 }
10588 
10589 
10590 
10591 static int
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_)10592 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_) {
10593   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10594                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RoutingRequestRes_U);
10595 
10596   return offset;
10597 }
10598 
10599 
10600 
10601 static int
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_)10602 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_) {
10603 #line 280 "./asn1/ansi_map/ansi_map.cnf"
10604 	int length;
10605 	SMS_BearerData_tvb = NULL;
10606 
10607   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10608                                        &SMS_BearerData_tvb);
10609 
10610 	if (SMS_BearerData_tvb){
10611 		/* A zero length OCTET STRING will return a zero length tvb */
10612 		length = tvb_reported_length_remaining(SMS_BearerData_tvb,0);
10613 		if (length <=0){
10614 			proto_item_append_text(actx->created_item," length %u",length);
10615 			SMS_BearerData_tvb = NULL;
10616 			return offset;
10617 		}
10618 		if (ansi_map_sms_tele_id != -1)
10619 		{
10620 			dissector_try_uint(is637_tele_id_dissector_table, ansi_map_sms_tele_id, SMS_BearerData_tvb, g_pinfo, g_tree);
10621 		}
10622 		else
10623 		{
10624 			switch(ServiceIndicator){
10625 				case 1: /* CDMA OTASP Service */
10626 				case 3: /* CDMA OTAPA Service */
10627 					dissector_try_uint(is683_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
10628 					break;
10629 				case 4: /* CDMA Position Determination Service */
10630 					dissector_try_uint(is801_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
10631 					break;
10632 				default:
10633 					break;
10634 			}
10635 		}
10636 	}
10637 
10638 
10639 
10640   return offset;
10641 }
10642 
10643 
10644 
10645 static int
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_)10646 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_) {
10647 #line 323 "./asn1/ansi_map/ansi_map.cnf"
10648 
10649 	int length;
10650 	tvbuff_t *parameter_tvb = NULL;
10651 	ansi_map_sms_tele_id = -1;
10652 
10653   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10654                                        &parameter_tvb);
10655 
10656 	if (parameter_tvb){
10657 		/* A zero length OCTET STRING will return a zero length tvb */
10658 		length = tvb_reported_length_remaining(parameter_tvb,0);
10659 		if (length <=0){
10660 			proto_item_append_text(actx->created_item, " length %u",length);
10661 			return offset;
10662 		}
10663 		ansi_map_sms_tele_id = tvb_get_ntohs(tvb,0);
10664 		if ((ansi_map_sms_tele_id != -1)&&(SMS_BearerData_tvb !=NULL))
10665 		{
10666 		    dissector_try_uint(is637_tele_id_dissector_table, ansi_map_sms_tele_id, SMS_BearerData_tvb, g_pinfo, g_tree);
10667 		}
10668 	}
10669 
10670 
10671 
10672   return offset;
10673 }
10674 
10675 
10676 
10677 static int
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_)10678 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_) {
10679   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10680                                        NULL);
10681 
10682   return offset;
10683 }
10684 
10685 
10686 
10687 static int
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_)10688 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_) {
10689   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10690 
10691   return offset;
10692 }
10693 
10694 
10695 
10696 static int
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_)10697 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_) {
10698   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10699 
10700   return offset;
10701 }
10702 
10703 
10704 
10705 static int
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_)10706 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_) {
10707   offset = dissect_ansi_map_Subaddress(implicit_tag, tvb, offset, actx, tree, hf_index);
10708 
10709   return offset;
10710 }
10711 
10712 
10713 
10714 static int
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_)10715 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_) {
10716   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10717 
10718   return offset;
10719 }
10720 
10721 
10722 
10723 static int
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_)10724 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_) {
10725   offset = dissect_ansi_map_Subaddress(implicit_tag, tvb, offset, actx, tree, hf_index);
10726 
10727   return offset;
10728 }
10729 
10730 
10731 
10732 static int
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_)10733 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_) {
10734   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10735 
10736   return offset;
10737 }
10738 
10739 
10740 static const ber_sequence_t SMSDeliveryBackward_U_set[] = {
10741   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
10742   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
10743   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
10744   { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
10745   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10746   { &hf_ansi_map_sms_ChargeIndicator, BER_CLASS_CON, 106, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_ChargeIndicator },
10747   { &hf_ansi_map_sms_DestinationAddress, BER_CLASS_CON, 107, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_DestinationAddress },
10748   { &hf_ansi_map_sms_OriginalDestinationAddress, BER_CLASS_CON, 110, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationAddress },
10749   { &hf_ansi_map_sms_OriginalDestinationSubaddress, BER_CLASS_CON, 111, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationSubaddress },
10750   { &hf_ansi_map_sms_OriginalOriginatingAddress, BER_CLASS_CON, 112, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingAddress },
10751   { &hf_ansi_map_sms_OriginalOriginatingSubaddress, BER_CLASS_CON, 113, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingSubaddress },
10752   { &hf_ansi_map_sms_OriginatingAddress, BER_CLASS_CON, 114, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginatingAddress },
10753   { NULL, 0, 0, 0, NULL }
10754 };
10755 
10756 static int
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_)10757 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_) {
10758   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10759                               SMSDeliveryBackward_U_set, hf_index, ett_ansi_map_SMSDeliveryBackward_U);
10760 
10761   return offset;
10762 }
10763 
10764 
10765 
10766 static int
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_)10767 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_) {
10768   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10769                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryBackward_U);
10770 
10771   return offset;
10772 }
10773 
10774 
10775 
10776 static int
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_)10777 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_) {
10778   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10779                                        NULL);
10780 
10781   return offset;
10782 }
10783 
10784 
10785 static const ber_sequence_t SMSDeliveryBackwardRes_U_set[] = {
10786   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
10787   { &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
10788   { NULL, 0, 0, 0, NULL }
10789 };
10790 
10791 static int
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_)10792 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_) {
10793   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10794                               SMSDeliveryBackwardRes_U_set, hf_index, ett_ansi_map_SMSDeliveryBackwardRes_U);
10795 
10796   return offset;
10797 }
10798 
10799 
10800 
10801 static int
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_)10802 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_) {
10803   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10804                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryBackwardRes_U);
10805 
10806   return offset;
10807 }
10808 
10809 
10810 static const ber_sequence_t SMSDeliveryForward_U_set[] = {
10811   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
10812   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
10813   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
10814   { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
10815   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10816   { &hf_ansi_map_sms_ChargeIndicator, BER_CLASS_CON, 106, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_ChargeIndicator },
10817   { &hf_ansi_map_sms_DestinationAddress, BER_CLASS_CON, 107, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_DestinationAddress },
10818   { &hf_ansi_map_sms_OriginalDestinationAddress, BER_CLASS_CON, 110, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationAddress },
10819   { &hf_ansi_map_sms_OriginalDestinationSubaddress, BER_CLASS_CON, 111, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationSubaddress },
10820   { &hf_ansi_map_sms_OriginalOriginatingAddress, BER_CLASS_CON, 112, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingAddress },
10821   { &hf_ansi_map_sms_OriginalOriginatingSubaddress, BER_CLASS_CON, 113, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingSubaddress },
10822   { &hf_ansi_map_sms_OriginatingAddress, BER_CLASS_CON, 114, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginatingAddress },
10823   { NULL, 0, 0, 0, NULL }
10824 };
10825 
10826 static int
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_)10827 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_) {
10828   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10829                               SMSDeliveryForward_U_set, hf_index, ett_ansi_map_SMSDeliveryForward_U);
10830 
10831   return offset;
10832 }
10833 
10834 
10835 
10836 static int
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_)10837 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_) {
10838   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10839                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryForward_U);
10840 
10841   return offset;
10842 }
10843 
10844 
10845 static const ber_sequence_t SMSDeliveryForwardRes_U_set[] = {
10846   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
10847   { &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
10848   { NULL, 0, 0, 0, NULL }
10849 };
10850 
10851 static int
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_)10852 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_) {
10853   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10854                               SMSDeliveryForwardRes_U_set, hf_index, ett_ansi_map_SMSDeliveryForwardRes_U);
10855 
10856   return offset;
10857 }
10858 
10859 
10860 
10861 static int
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_)10862 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_) {
10863   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10864                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryForwardRes_U);
10865 
10866   return offset;
10867 }
10868 
10869 
10870 
10871 static int
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_)10872 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_) {
10873   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10874                                        NULL);
10875 
10876   return offset;
10877 }
10878 
10879 
10880 
10881 static int
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_)10882 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_) {
10883   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10884                                        NULL);
10885 
10886   return offset;
10887 }
10888 
10889 
10890 
10891 static int
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_)10892 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_) {
10893   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10894                                        NULL);
10895 
10896   return offset;
10897 }
10898 
10899 
10900 
10901 static int
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_)10902 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_) {
10903   offset = dissect_ansi_map_IMSIType(implicit_tag, tvb, offset, actx, tree, hf_index);
10904 
10905   return offset;
10906 }
10907 
10908 
10909 
10910 static int
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_)10911 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_) {
10912   offset = dissect_ansi_map_MINType(implicit_tag, tvb, offset, actx, tree, hf_index);
10913 
10914   return offset;
10915 }
10916 
10917 
10918 
10919 static int
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_)10920 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_) {
10921   offset = dissect_ansi_map_MINType(implicit_tag, tvb, offset, actx, tree, hf_index);
10922 
10923   return offset;
10924 }
10925 
10926 
10927 
10928 static int
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_)10929 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_) {
10930   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10931                                        NULL);
10932 
10933   return offset;
10934 }
10935 
10936 
10937 
10938 static int
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_)10939 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_) {
10940   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10941                                        NULL);
10942 
10943   return offset;
10944 }
10945 
10946 
10947 
10948 static int
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_)10949 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_) {
10950   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10951                                        NULL);
10952 
10953   return offset;
10954 }
10955 
10956 
10957 
10958 static int
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_)10959 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_) {
10960   offset = dissect_ansi_map_MINType(implicit_tag, tvb, offset, actx, tree, hf_index);
10961 
10962   return offset;
10963 }
10964 
10965 
10966 static const ber_sequence_t SMSDeliveryPointToPoint_U_set[] = {
10967   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
10968   { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
10969   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
10970   { &hf_ansi_map_cdmaServingOneWayDelay2, BER_CLASS_CON, 347, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay2 },
10971   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10972   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
10973   { &hf_ansi_map_interMessageTime, BER_CLASS_CON, 325, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMessageTime },
10974   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
10975   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
10976   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
10977   { &hf_ansi_map_newlyAssignedIMSI, BER_CLASS_CON, 287, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NewlyAssignedIMSI },
10978   { &hf_ansi_map_newlyAssignedMIN, BER_CLASS_CON, 187, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NewlyAssignedMIN },
10979   { &hf_ansi_map_newMINExtension, BER_CLASS_CON, 328, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NewMINExtension },
10980   { &hf_ansi_map_serviceIndicator, BER_CLASS_CON, 193, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceIndicator },
10981   { &hf_ansi_map_sms_ChargeIndicator, BER_CLASS_CON, 106, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_ChargeIndicator },
10982   { &hf_ansi_map_sms_DestinationAddress, BER_CLASS_CON, 107, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_DestinationAddress },
10983   { &hf_ansi_map_sms_MessageCount, BER_CLASS_CON, 108, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageCount },
10984   { &hf_ansi_map_sms_NotificationIndicator, BER_CLASS_CON, 109, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_NotificationIndicator },
10985   { &hf_ansi_map_sms_OriginalDestinationAddress, BER_CLASS_CON, 110, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationAddress },
10986   { &hf_ansi_map_sms_OriginalDestinationSubaddress, BER_CLASS_CON, 111, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationSubaddress },
10987   { &hf_ansi_map_sms_OriginalOriginatingAddress, BER_CLASS_CON, 112, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingAddress },
10988   { &hf_ansi_map_sms_OriginalOriginatingSubaddress, BER_CLASS_CON, 113, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingSubaddress },
10989   { &hf_ansi_map_sms_OriginatingAddress, BER_CLASS_CON, 114, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginatingAddress },
10990   { &hf_ansi_map_teleservice_Priority, BER_CLASS_CON, 290, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Teleservice_Priority },
10991   { &hf_ansi_map_temporaryReferenceNumber, BER_CLASS_CON, 195, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TemporaryReferenceNumber },
10992   { NULL, 0, 0, 0, NULL }
10993 };
10994 
10995 static int
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_)10996 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_) {
10997   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10998                               SMSDeliveryPointToPoint_U_set, hf_index, ett_ansi_map_SMSDeliveryPointToPoint_U);
10999 
11000   return offset;
11001 }
11002 
11003 
11004 
11005 static int
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_)11006 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_) {
11007   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11008                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryPointToPoint_U);
11009 
11010   return offset;
11011 }
11012 
11013 
11014 
11015 static int
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_)11016 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_) {
11017   offset = dissect_ansi_map_IMSIType(implicit_tag, tvb, offset, actx, tree, hf_index);
11018 
11019   return offset;
11020 }
11021 
11022 
11023 static const value_string ansi_map_MobileStationMSID_vals[] = {
11024   { 184, "mobileStationMIN" },
11025   { 286, "mobileStationIMSI" },
11026   { 0, NULL }
11027 };
11028 
11029 static const ber_choice_t MobileStationMSID_choice[] = {
11030   { 184, &hf_ansi_map_mobileStationMIN, BER_CLASS_CON, 184, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileStationMIN },
11031   { 286, &hf_ansi_map_mobileStationIMSI, BER_CLASS_CON, 286, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileStationIMSI },
11032   { 0, NULL, 0, 0, 0, NULL }
11033 };
11034 
11035 static int
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_)11036 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_) {
11037   offset = dissect_ber_choice(actx, tree, tvb, offset,
11038                                  MobileStationMSID_choice, hf_index, ett_ansi_map_MobileStationMSID,
11039                                  NULL);
11040 
11041   return offset;
11042 }
11043 
11044 
11045 static const ber_sequence_t SMSDeliveryPointToPointRes_U_set[] = {
11046   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
11047   { &hf_ansi_map_authorizationDenied, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationDenied },
11048   { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
11049   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11050   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
11051   { &hf_ansi_map_mobileStationMSID, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MobileStationMSID },
11052   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11053   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
11054   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
11055   { &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
11056   { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
11057   { NULL, 0, 0, 0, NULL }
11058 };
11059 
11060 static int
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_)11061 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_) {
11062   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11063                               SMSDeliveryPointToPointRes_U_set, hf_index, ett_ansi_map_SMSDeliveryPointToPointRes_U);
11064 
11065   return offset;
11066 }
11067 
11068 
11069 
11070 static int
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_)11071 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_) {
11072   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11073                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryPointToPointRes_U);
11074 
11075   return offset;
11076 }
11077 
11078 
11079 
11080 static int
dissect_ansi_map_SMS_TransactionID(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11081 dissect_ansi_map_SMS_TransactionID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11082   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11083                                        NULL);
11084 
11085   return offset;
11086 }
11087 
11088 
11089 static const ber_sequence_t SMSDeliveryPointToPointAck_U_set[] = {
11090   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
11091   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
11092   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11093   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
11094   { &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
11095   { &hf_ansi_map_sms_TransactionID, BER_CLASS_CON, 302, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TransactionID },
11096   { NULL, 0, 0, 0, NULL }
11097 };
11098 
11099 static int
dissect_ansi_map_SMSDeliveryPointToPointAck_U(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11100 dissect_ansi_map_SMSDeliveryPointToPointAck_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11101   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11102                               SMSDeliveryPointToPointAck_U_set, hf_index, ett_ansi_map_SMSDeliveryPointToPointAck_U);
11103 
11104   return offset;
11105 }
11106 
11107 
11108 
11109 static int
dissect_ansi_map_SMSDeliveryPointToPointAck(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11110 dissect_ansi_map_SMSDeliveryPointToPointAck(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11111   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11112                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryPointToPointAck_U);
11113 
11114   return offset;
11115 }
11116 
11117 
11118 
11119 static int
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_)11120 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_) {
11121   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11122                                        NULL);
11123 
11124   return offset;
11125 }
11126 
11127 
11128 static const ber_sequence_t SMSNotification_U_set[] = {
11129   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11130   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11131   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11132   { &hf_ansi_map_sms_AccessDeniedReason, BER_CLASS_CON, 152, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_AccessDeniedReason },
11133   { &hf_ansi_map_sms_Address, BER_CLASS_CON, 104, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_Address },
11134   { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
11135   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
11136   { NULL, 0, 0, 0, NULL }
11137 };
11138 
11139 static int
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_)11140 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_) {
11141   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11142                               SMSNotification_U_set, hf_index, ett_ansi_map_SMSNotification_U);
11143 
11144   return offset;
11145 }
11146 
11147 
11148 
11149 static int
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_)11150 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_) {
11151   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11152                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSNotification_U);
11153 
11154   return offset;
11155 }
11156 
11157 
11158 static const ber_sequence_t SMSNotificationRes_U_set[] = {
11159   { &hf_ansi_map_sms_MessageCount, BER_CLASS_CON, 108, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageCount },
11160   { NULL, 0, 0, 0, NULL }
11161 };
11162 
11163 static int
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_)11164 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_) {
11165   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11166                               SMSNotificationRes_U_set, hf_index, ett_ansi_map_SMSNotificationRes_U);
11167 
11168   return offset;
11169 }
11170 
11171 
11172 
11173 static int
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_)11174 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_) {
11175   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11176                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSNotificationRes_U);
11177 
11178   return offset;
11179 }
11180 
11181 
11182 static const ber_sequence_t SMSRequest_U_set[] = {
11183   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11184   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11185   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11186   { &hf_ansi_map_serviceIndicator, BER_CLASS_CON, 193, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceIndicator },
11187   { &hf_ansi_map_sms_NotificationIndicator, BER_CLASS_CON, 109, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_NotificationIndicator },
11188   { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
11189   { NULL, 0, 0, 0, NULL }
11190 };
11191 
11192 static int
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_)11193 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_) {
11194   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11195                               SMSRequest_U_set, hf_index, ett_ansi_map_SMSRequest_U);
11196 
11197   return offset;
11198 }
11199 
11200 
11201 
11202 static int
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_)11203 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_) {
11204   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11205                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSRequest_U);
11206 
11207   return offset;
11208 }
11209 
11210 
11211 static const ber_sequence_t SMSRequestRes_U_set[] = {
11212   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11213   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11214   { &hf_ansi_map_sms_AccessDeniedReason, BER_CLASS_CON, 152, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_AccessDeniedReason },
11215   { &hf_ansi_map_sms_Address, BER_CLASS_CON, 104, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_Address },
11216   { &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
11217   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
11218   { NULL, 0, 0, 0, NULL }
11219 };
11220 
11221 static int
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_)11222 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_) {
11223   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11224                               SMSRequestRes_U_set, hf_index, ett_ansi_map_SMSRequestRes_U);
11225 
11226   return offset;
11227 }
11228 
11229 
11230 
11231 static int
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_)11232 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_) {
11233   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11234                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSRequestRes_U);
11235 
11236   return offset;
11237 }
11238 
11239 
11240 static const ber_sequence_t TransferToNumberRequest_U_set[] = {
11241   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11242   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11243   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
11244   { &hf_ansi_map_redirectionReason, BER_CLASS_CON, 19, BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectionReason },
11245   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
11246   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
11247   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
11248   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
11249   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
11250   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
11251   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11252   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
11253   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
11254   { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
11255   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11256   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
11257   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
11258   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
11259   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
11260   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
11261   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
11262   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
11263   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
11264   { NULL, 0, 0, 0, NULL }
11265 };
11266 
11267 static int
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_)11268 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_) {
11269   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11270                               TransferToNumberRequest_U_set, hf_index, ett_ansi_map_TransferToNumberRequest_U);
11271 
11272   return offset;
11273 }
11274 
11275 
11276 
11277 static int
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_)11278 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_) {
11279   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11280                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TransferToNumberRequest_U);
11281 
11282   return offset;
11283 }
11284 
11285 
11286 static const ber_sequence_t TransferToNumberRequestRes_U_set[] = {
11287   { &hf_ansi_map_digits_Destination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11288   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
11289   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
11290   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
11291   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
11292   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
11293   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11294   { &hf_ansi_map_digits_Carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11295   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
11296   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
11297   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
11298   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
11299   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
11300   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
11301   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
11302   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL, dissect_ansi_map_GroupInformation },
11303   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11304   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
11305   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
11306   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
11307   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
11308   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
11309   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
11310   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
11311   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
11312   { NULL, 0, 0, 0, NULL }
11313 };
11314 
11315 static int
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_)11316 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_) {
11317   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11318                               TransferToNumberRequestRes_U_set, hf_index, ett_ansi_map_TransferToNumberRequestRes_U);
11319 
11320   return offset;
11321 }
11322 
11323 
11324 
11325 static int
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_)11326 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_) {
11327   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11328                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TransferToNumberRequestRes_U);
11329 
11330   return offset;
11331 }
11332 
11333 
11334 static const value_string ansi_map_SeizureType_vals[] = {
11335   {   0, "unspecified" },
11336   {   1, "loop-back" },
11337   { 0, NULL }
11338 };
11339 
11340 
11341 static int
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_)11342 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_) {
11343   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11344                                   NULL);
11345 
11346   return offset;
11347 }
11348 
11349 
11350 static const ber_sequence_t TrunkTest_U_set[] = {
11351   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
11352   { &hf_ansi_map_seizureType, BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_ansi_map_SeizureType },
11353   { NULL, 0, 0, 0, NULL }
11354 };
11355 
11356 static int
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_)11357 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_) {
11358   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11359                               TrunkTest_U_set, hf_index, ett_ansi_map_TrunkTest_U);
11360 
11361   return offset;
11362 }
11363 
11364 
11365 
11366 static int
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_)11367 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_) {
11368   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11369                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TrunkTest_U);
11370 
11371   return offset;
11372 }
11373 
11374 
11375 static const ber_sequence_t TrunkTestDisconnect_U_set[] = {
11376   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
11377   { NULL, 0, 0, 0, NULL }
11378 };
11379 
11380 static int
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_)11381 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_) {
11382   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11383                               TrunkTestDisconnect_U_set, hf_index, ett_ansi_map_TrunkTestDisconnect_U);
11384 
11385   return offset;
11386 }
11387 
11388 
11389 
11390 static int
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_)11391 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_) {
11392   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11393                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TrunkTestDisconnect_U);
11394 
11395   return offset;
11396 }
11397 
11398 
11399 static const ber_sequence_t Unblocking_U_set[] = {
11400   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
11401   { NULL, 0, 0, 0, NULL }
11402 };
11403 
11404 static int
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_)11405 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_) {
11406   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11407                               Unblocking_U_set, hf_index, ett_ansi_map_Unblocking_U);
11408 
11409   return offset;
11410 }
11411 
11412 
11413 
11414 static int
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_)11415 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_) {
11416   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11417                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_Unblocking_U);
11418 
11419   return offset;
11420 }
11421 
11422 
11423 static const ber_sequence_t UnreliableRoamerDataDirective_U_set[] = {
11424   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11425   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
11426   { NULL, 0, 0, 0, NULL }
11427 };
11428 
11429 static int
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_)11430 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_) {
11431   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11432                               UnreliableRoamerDataDirective_U_set, hf_index, ett_ansi_map_UnreliableRoamerDataDirective_U);
11433 
11434   return offset;
11435 }
11436 
11437 
11438 
11439 static int
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_)11440 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_) {
11441   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11442                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_UnreliableRoamerDataDirective_U);
11443 
11444   return offset;
11445 }
11446 
11447 
11448 static const ber_sequence_t UnsolicitedResponse_U_set[] = {
11449   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
11450   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11451   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
11452   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
11453   { &hf_ansi_map_digits_Destination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11454   { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
11455   { &hf_ansi_map_extendedSystemMyTypeCode, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedSystemMyTypeCode },
11456   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
11457   { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
11458   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
11459   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
11460   { NULL, 0, 0, 0, NULL }
11461 };
11462 
11463 static int
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_)11464 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_) {
11465   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11466                               UnsolicitedResponse_U_set, hf_index, ett_ansi_map_UnsolicitedResponse_U);
11467 
11468   return offset;
11469 }
11470 
11471 
11472 
11473 static int
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_)11474 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_) {
11475   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11476                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_UnsolicitedResponse_U);
11477 
11478   return offset;
11479 }
11480 
11481 
11482 static const ber_sequence_t UnsolicitedResponseRes_U_set[] = {
11483   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
11484   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
11485   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
11486   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
11487   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
11488   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
11489   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
11490   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
11491   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11492   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
11493   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
11494   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
11495   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
11496   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
11497   { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
11498   { &hf_ansi_map_extendedSystemMyTypeCode, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedSystemMyTypeCode },
11499   { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
11500   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11501   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
11502   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
11503   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
11504   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
11505   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
11506   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
11507   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
11508   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
11509   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
11510   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
11511   { &hf_ansi_map_terminationTreatment, BER_CLASS_CON, 121, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTreatment },
11512   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
11513   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
11514   { NULL, 0, 0, 0, NULL }
11515 };
11516 
11517 static int
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_)11518 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_) {
11519   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11520                               UnsolicitedResponseRes_U_set, hf_index, ett_ansi_map_UnsolicitedResponseRes_U);
11521 
11522   return offset;
11523 }
11524 
11525 
11526 
11527 static int
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_)11528 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_) {
11529   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11530                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_UnsolicitedResponseRes_U);
11531 
11532   return offset;
11533 }
11534 
11535 
11536 
11537 static int
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_)11538 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_) {
11539   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11540                                        NULL);
11541 
11542   return offset;
11543 }
11544 
11545 
11546 static const ber_sequence_t ParameterRequest_U_set[] = {
11547   { &hf_ansi_map_requiredParametersMask, BER_CLASS_CON, 236, BER_FLAGS_IMPLTAG, dissect_ansi_map_RequiredParametersMask },
11548   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
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   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11551   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
11552   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
11553   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
11554   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
11555   { NULL, 0, 0, 0, NULL }
11556 };
11557 
11558 static int
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_)11559 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_) {
11560   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11561                               ParameterRequest_U_set, hf_index, ett_ansi_map_ParameterRequest_U);
11562 
11563   return offset;
11564 }
11565 
11566 
11567 
11568 static int
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_)11569 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_) {
11570   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11571                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ParameterRequest_U);
11572 
11573   return offset;
11574 }
11575 
11576 
11577 static const value_string ansi_map_ReasonList_vals[] = {
11578   {   0, "unknown" },
11579   {   1, "unable-to-configure-ISLP" },
11580   {   2, "iSLP-failure" },
11581   {   3, "service-allowed-but-facilities-not-available" },
11582   {   4, "service-not-allowed" },
11583   {   5, "no-Response-to-TMSI-assignment" },
11584   {   6, "required-parameters-unavailable" },
11585   { 0, NULL }
11586 };
11587 
11588 
11589 static int
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_)11590 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_) {
11591   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11592                                   NULL);
11593 
11594   return offset;
11595 }
11596 
11597 
11598 static const ber_sequence_t ParameterRequestRes_U_set[] = {
11599   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11600   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
11601   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
11602   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
11603   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
11604   { &hf_ansi_map_reasonList , BER_CLASS_CON, 218, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReasonList },
11605   { NULL, 0, 0, 0, NULL }
11606 };
11607 
11608 static int
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_)11609 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_) {
11610   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11611                               ParameterRequestRes_U_set, hf_index, ett_ansi_map_ParameterRequestRes_U);
11612 
11613   return offset;
11614 }
11615 
11616 
11617 
11618 static int
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_)11619 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_) {
11620   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11621                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ParameterRequestRes_U);
11622 
11623   return offset;
11624 }
11625 
11626 
11627 
11628 static int
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_)11629 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_) {
11630   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11631                                        NULL);
11632 
11633   return offset;
11634 }
11635 
11636 
11637 
11638 static int
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_)11639 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_) {
11640   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
11641 
11642   return offset;
11643 }
11644 
11645 
11646 static const ber_sequence_t TMSIDirective_U_set[] = {
11647   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11648   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11649   { &hf_ansi_map_networkTMSIExpirationTime, BER_CLASS_CON, 234, BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSIExpirationTime },
11650   { &hf_ansi_map_newNetworkTMSI, BER_CLASS_CON, 235, BER_FLAGS_IMPLTAG, dissect_ansi_map_NewNetworkTMSI },
11651   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
11652   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
11653   { NULL, 0, 0, 0, NULL }
11654 };
11655 
11656 static int
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_)11657 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_) {
11658   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11659                               TMSIDirective_U_set, hf_index, ett_ansi_map_TMSIDirective_U);
11660 
11661   return offset;
11662 }
11663 
11664 
11665 
11666 static int
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_)11667 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_) {
11668   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11669                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TMSIDirective_U);
11670 
11671   return offset;
11672 }
11673 
11674 
11675 static const ber_sequence_t TMSIDirectiveRes_U_set[] = {
11676   { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
11677   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11678   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11679   { &hf_ansi_map_reasonList , BER_CLASS_CON, 218, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReasonList },
11680   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
11681   { NULL, 0, 0, 0, NULL }
11682 };
11683 
11684 static int
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_)11685 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_) {
11686   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11687                               TMSIDirectiveRes_U_set, hf_index, ett_ansi_map_TMSIDirectiveRes_U);
11688 
11689   return offset;
11690 }
11691 
11692 
11693 
11694 static int
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_)11695 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_) {
11696   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11697                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TMSIDirectiveRes_U);
11698 
11699   return offset;
11700 }
11701 
11702 
11703 static const ber_sequence_t NumberPortabilityRequest_U_set[] = {
11704   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11705   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
11706   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
11707   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11708   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11709   { NULL, 0, 0, 0, NULL }
11710 };
11711 
11712 static int
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_)11713 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_) {
11714   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11715                               NumberPortabilityRequest_U_set, hf_index, ett_ansi_map_NumberPortabilityRequest_U);
11716 
11717   return offset;
11718 }
11719 
11720 
11721 
11722 static int
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_)11723 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_) {
11724   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11725                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_NumberPortabilityRequest_U);
11726 
11727   return offset;
11728 }
11729 
11730 
11731 static const ber_sequence_t NumberPortabilityRequestRes_U_set[] = {
11732   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
11733   { NULL, 0, 0, 0, NULL }
11734 };
11735 
11736 static int
dissect_ansi_map_NumberPortabilityRequestRes_U(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11737 dissect_ansi_map_NumberPortabilityRequestRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11738   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11739                               NumberPortabilityRequestRes_U_set, hf_index, ett_ansi_map_NumberPortabilityRequestRes_U);
11740 
11741   return offset;
11742 }
11743 
11744 
11745 
11746 static int
dissect_ansi_map_NumberPortabilityRequestRes(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)11747 dissect_ansi_map_NumberPortabilityRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11748   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11749                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_NumberPortabilityRequestRes_U);
11750 
11751   return offset;
11752 }
11753 
11754 
11755 
11756 static int
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_)11757 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_) {
11758   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11759                                        NULL);
11760 
11761   return offset;
11762 }
11763 
11764 
11765 
11766 static int
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_)11767 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_) {
11768   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11769                                        NULL);
11770 
11771   return offset;
11772 }
11773 
11774 
11775 static const value_string ansi_map_Change_vals[] = {
11776   {   1, "setDataItemToDefaultValue" },
11777   {   2, "addDataItem" },
11778   {   3, "deleteDataItem" },
11779   {   4, "replaceDataItemWithAssociatedDataValue" },
11780   { 0, NULL }
11781 };
11782 
11783 
11784 static int
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_)11785 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_) {
11786   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11787                                   NULL);
11788 
11789   return offset;
11790 }
11791 
11792 
11793 
11794 static int
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_)11795 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_) {
11796   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11797                                        NULL);
11798 
11799   return offset;
11800 }
11801 
11802 
11803 static const ber_sequence_t DataAccessElement_sequence[] = {
11804   { &hf_ansi_map_dataID     , BER_CLASS_CON, 251, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataID },
11805   { &hf_ansi_map_change     , BER_CLASS_CON, 248, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Change },
11806   { &hf_ansi_map_dataValue  , BER_CLASS_CON, 256, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataValue },
11807   { NULL, 0, 0, 0, NULL }
11808 };
11809 
11810 static int
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_)11811 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_) {
11812   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11813                                    DataAccessElement_sequence, hf_index, ett_ansi_map_DataAccessElement);
11814 
11815   return offset;
11816 }
11817 
11818 
11819 static const ber_sequence_t DataAccessElementList_item_sequence[] = {
11820   { &hf_ansi_map_dataAccessElement1, BER_CLASS_CON, 249, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataAccessElement },
11821   { &hf_ansi_map_dataAccessElement2, BER_CLASS_CON, 249, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataAccessElement },
11822   { NULL, 0, 0, 0, NULL }
11823 };
11824 
11825 static int
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_)11826 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_) {
11827   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11828                                    DataAccessElementList_item_sequence, hf_index, ett_ansi_map_DataAccessElementList_item);
11829 
11830   return offset;
11831 }
11832 
11833 
11834 static const ber_sequence_t DataAccessElementList_sequence_of[1] = {
11835   { &hf_ansi_map_DataAccessElementList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ansi_map_DataAccessElementList_item },
11836 };
11837 
11838 static int
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_)11839 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_) {
11840   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11841                                       DataAccessElementList_sequence_of, hf_index, ett_ansi_map_DataAccessElementList);
11842 
11843   return offset;
11844 }
11845 
11846 
11847 
11848 static int
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_)11849 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_) {
11850   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11851                                        NULL);
11852 
11853   return offset;
11854 }
11855 
11856 
11857 
11858 static int
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_)11859 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_) {
11860   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11861                                                 NULL);
11862 
11863   return offset;
11864 }
11865 
11866 
11867 static const ber_sequence_t ServiceRequest_U_set[] = {
11868   { &hf_ansi_map_serviceID  , BER_CLASS_CON, 246, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceID },
11869   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
11870   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
11871   { &hf_ansi_map_availabilityType, BER_CLASS_CON, 90, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AvailabilityType },
11872   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
11873   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
11874   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
11875   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
11876   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11877   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
11878   { &hf_ansi_map_conditionallyDeniedReason, BER_CLASS_CON, 162, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConditionallyDeniedReason },
11879   { &hf_ansi_map_dataAccessElementList, BER_CLASS_CON, 250, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataAccessElementList },
11880   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
11881   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11882   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
11883   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
11884   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11885   { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
11886   { &hf_ansi_map_featureIndicator, BER_CLASS_CON, 306, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureIndicator },
11887   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL, dissect_ansi_map_GroupInformation },
11888   { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
11889   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
11890   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11891   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11892   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
11893   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11894   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
11895   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
11896   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
11897   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
11898   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
11899   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
11900   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
11901   { &hf_ansi_map_redirectionReason, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectionReason },
11902   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
11903   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
11904   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
11905   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
11906   { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
11907   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
11908   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
11909   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
11910   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
11911   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
11912   { NULL, 0, 0, 0, NULL }
11913 };
11914 
11915 static int
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_)11916 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_) {
11917   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11918                               ServiceRequest_U_set, hf_index, ett_ansi_map_ServiceRequest_U);
11919 
11920   return offset;
11921 }
11922 
11923 
11924 
11925 static int
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_)11926 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_) {
11927   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11928                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ServiceRequest_U);
11929 
11930   return offset;
11931 }
11932 
11933 
11934 static const ber_sequence_t ServiceRequestRes_U_set[] = {
11935   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
11936   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
11937   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
11938   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
11939   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
11940   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
11941   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
11942   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11943   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
11944   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11945   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
11946   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
11947   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
11948   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
11949   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
11950   { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
11951   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
11952   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
11953   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
11954   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11955   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
11956   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
11957   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
11958   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
11959   { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
11960   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
11961   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
11962   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
11963   { NULL, 0, 0, 0, NULL }
11964 };
11965 
11966 static int
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_)11967 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_) {
11968   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11969                               ServiceRequestRes_U_set, hf_index, ett_ansi_map_ServiceRequestRes_U);
11970 
11971   return offset;
11972 }
11973 
11974 
11975 
11976 static int
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_)11977 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_) {
11978   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11979                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ServiceRequestRes_U);
11980 
11981   return offset;
11982 }
11983 
11984 
11985 static const value_string ansi_map_DMH_BillingIndicator_vals[] = {
11986   {   0, "unspecified" },
11987   { 0, NULL }
11988 };
11989 
11990 
11991 static int
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_)11992 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_) {
11993   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11994                                   NULL);
11995 
11996   return offset;
11997 }
11998 
11999 
12000 static const ber_sequence_t AnalyzedInformation_U_set[] = {
12001   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
12002   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
12003   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
12004   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
12005   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
12006   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
12007   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
12008   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
12009   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
12010   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
12011   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
12012   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
12013   { &hf_ansi_map_conferenceCallingIndicator, BER_CLASS_CON, 137, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConferenceCallingIndicator },
12014   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
12015   { &hf_ansi_map_dmd_BillingIndicator, BER_CLASS_CON, 312, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingIndicator },
12016   { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
12017   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
12018   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
12019   { &hf_ansi_map_featureIndicator, BER_CLASS_CON, 306, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureIndicator },
12020   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
12021   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
12022   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
12023   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
12024   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
12025   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12026   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12027   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12028   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
12029   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
12030   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
12031   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
12032   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
12033   { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
12034   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
12035   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
12036   { NULL, 0, 0, 0, NULL }
12037 };
12038 
12039 static int
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_)12040 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_) {
12041   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12042                               AnalyzedInformation_U_set, hf_index, ett_ansi_map_AnalyzedInformation_U);
12043 
12044   return offset;
12045 }
12046 
12047 
12048 
12049 static int
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_)12050 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_) {
12051   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12052                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AnalyzedInformation_U);
12053 
12054   return offset;
12055 }
12056 
12057 
12058 static const ber_sequence_t AnalyzedInformationRes_U_set[] = {
12059   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
12060   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
12061   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
12062   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
12063   { &hf_ansi_map_conferenceCallingIndicator, BER_CLASS_CON, 137, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConferenceCallingIndicator },
12064   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
12065   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
12066   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
12067   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
12068   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
12069   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
12070   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
12071   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
12072   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12073   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12074   { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
12075   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
12076   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
12077   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
12078   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
12079   { NULL, 0, 0, 0, NULL }
12080 };
12081 
12082 static int
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_)12083 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_) {
12084   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12085                               AnalyzedInformationRes_U_set, hf_index, ett_ansi_map_AnalyzedInformationRes_U);
12086 
12087   return offset;
12088 }
12089 
12090 
12091 
12092 static int
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_)12093 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_) {
12094   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12095                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AnalyzedInformationRes_U);
12096 
12097   return offset;
12098 }
12099 
12100 
12101 static const value_string ansi_map_FailureType_vals[] = {
12102   {   1, "callAbandoned" },
12103   {   2, "resourceDisconnect" },
12104   {   3, "failureAtMSC" },
12105   {   4, "sSFTExpiration" },
12106   { 0, NULL }
12107 };
12108 
12109 
12110 static int
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_)12111 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_) {
12112   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12113                                   NULL);
12114 
12115   return offset;
12116 }
12117 
12118 
12119 
12120 static int
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_)12121 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_) {
12122   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12123                                        NULL);
12124 
12125   return offset;
12126 }
12127 
12128 
12129 static const ber_sequence_t ConnectionFailureReport_U_set[] = {
12130   { &hf_ansi_map_failureType, BER_CLASS_CON, 260, BER_FLAGS_IMPLTAG, dissect_ansi_map_FailureType },
12131   { &hf_ansi_map_failureCause, BER_CLASS_CON, 387, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FailureCause },
12132   { NULL, 0, 0, 0, NULL }
12133 };
12134 
12135 static int
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_)12136 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_) {
12137   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12138                               ConnectionFailureReport_U_set, hf_index, ett_ansi_map_ConnectionFailureReport_U);
12139 
12140   return offset;
12141 }
12142 
12143 
12144 
12145 static int
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_)12146 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_) {
12147   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12148                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ConnectionFailureReport_U);
12149 
12150   return offset;
12151 }
12152 
12153 
12154 static const ber_sequence_t ConnectResource_U_set[] = {
12155   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
12156   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
12157   { &hf_ansi_map_outingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
12158   { NULL, 0, 0, 0, NULL }
12159 };
12160 
12161 static int
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_)12162 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_) {
12163   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12164                               ConnectResource_U_set, hf_index, ett_ansi_map_ConnectResource_U);
12165 
12166   return offset;
12167 }
12168 
12169 
12170 
12171 static int
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_)12172 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_) {
12173   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12174                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ConnectResource_U);
12175 
12176   return offset;
12177 }
12178 
12179 
12180 static const ber_sequence_t FacilitySelectedAndAvailable_U_set[] = {
12181   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
12182   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
12183   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
12184   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
12185   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
12186   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
12187   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
12188   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
12189   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
12190   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
12191   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
12192   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
12193   { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
12194   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
12195   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
12196   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
12197   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
12198   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12199   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
12200   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
12201   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12202   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12203   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
12204   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
12205   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
12206   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
12207   { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
12208   { NULL, 0, 0, 0, NULL }
12209 };
12210 
12211 static int
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_)12212 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_) {
12213   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12214                               FacilitySelectedAndAvailable_U_set, hf_index, ett_ansi_map_FacilitySelectedAndAvailable_U);
12215 
12216   return offset;
12217 }
12218 
12219 
12220 
12221 static int
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_)12222 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_) {
12223   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12224                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitySelectedAndAvailable_U);
12225 
12226   return offset;
12227 }
12228 
12229 
12230 static const ber_sequence_t FacilitySelectedAndAvailableRes_U_set[] = {
12231   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
12232   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
12233   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
12234   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
12235   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
12236   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
12237   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
12238   { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
12239   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
12240   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
12241   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
12242   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12243   { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
12244   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
12245   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
12246   { NULL, 0, 0, 0, NULL }
12247 };
12248 
12249 static int
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_)12250 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_) {
12251   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12252                               FacilitySelectedAndAvailableRes_U_set, hf_index, ett_ansi_map_FacilitySelectedAndAvailableRes_U);
12253 
12254   return offset;
12255 }
12256 
12257 
12258 
12259 static int
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_)12260 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_) {
12261   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12262                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitySelectedAndAvailableRes_U);
12263 
12264   return offset;
12265 }
12266 
12267 
12268 
12269 static int
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_)12270 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_) {
12271   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12272                                        NULL);
12273 
12274   return offset;
12275 }
12276 
12277 
12278 static const ber_sequence_t ServiceDataAccessElement_sequence[] = {
12279   { &hf_ansi_map_dataAccessElementList, BER_CLASS_CON, 250, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataAccessElementList },
12280   { &hf_ansi_map_serviceID  , BER_CLASS_CON, 246, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceID },
12281   { NULL, 0, 0, 0, NULL }
12282 };
12283 
12284 static int
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_)12285 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_) {
12286   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12287                                    ServiceDataAccessElement_sequence, hf_index, ett_ansi_map_ServiceDataAccessElement);
12288 
12289   return offset;
12290 }
12291 
12292 
12293 static const ber_sequence_t ServiceDataAccessElementList_sequence_of[1] = {
12294   { &hf_ansi_map_ServiceDataAccessElementList_item, BER_CLASS_CON, 270, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataAccessElement },
12295 };
12296 
12297 static int
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_)12298 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_) {
12299   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12300                                       ServiceDataAccessElementList_sequence_of, hf_index, ett_ansi_map_ServiceDataAccessElementList);
12301 
12302   return offset;
12303 }
12304 
12305 
12306 static const value_string ansi_map_AllOrNone_vals[] = {
12307   {   0, "notUsed" },
12308   {   1, "allChangesMustSucceedOrNoneShouldBeApplied" },
12309   {   2, "treatEachChangeIndependently" },
12310   { 0, NULL }
12311 };
12312 
12313 
12314 static int
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_)12315 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_) {
12316   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12317                                   NULL);
12318 
12319   return offset;
12320 }
12321 
12322 
12323 static const ber_sequence_t ModificationRequest_sequence[] = {
12324   { &hf_ansi_map_serviceDataAccessElementList, BER_CLASS_CON, 271, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataAccessElementList },
12325   { &hf_ansi_map_allOrNone  , BER_CLASS_CON, 247, BER_FLAGS_IMPLTAG, dissect_ansi_map_AllOrNone },
12326   { NULL, 0, 0, 0, NULL }
12327 };
12328 
12329 static int
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_)12330 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_) {
12331   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12332                                    ModificationRequest_sequence, hf_index, ett_ansi_map_ModificationRequest);
12333 
12334   return offset;
12335 }
12336 
12337 
12338 static const ber_sequence_t ModificationRequestList_sequence_of[1] = {
12339   { &hf_ansi_map_ModificationRequestList_item, BER_CLASS_CON, 262, BER_FLAGS_IMPLTAG, dissect_ansi_map_ModificationRequest },
12340 };
12341 
12342 static int
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_)12343 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_) {
12344   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12345                                       ModificationRequestList_sequence_of, hf_index, ett_ansi_map_ModificationRequestList);
12346 
12347   return offset;
12348 }
12349 
12350 
12351 static const ber_sequence_t Modify_U_set[] = {
12352   { &hf_ansi_map_databaseKey, BER_CLASS_CON, 252, BER_FLAGS_IMPLTAG, dissect_ansi_map_DatabaseKey },
12353   { &hf_ansi_map_modificationRequestList, BER_CLASS_CON, 263, BER_FLAGS_IMPLTAG, dissect_ansi_map_ModificationRequestList },
12354   { NULL, 0, 0, 0, NULL }
12355 };
12356 
12357 static int
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_)12358 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_) {
12359   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12360                               Modify_U_set, hf_index, ett_ansi_map_Modify_U);
12361 
12362   return offset;
12363 }
12364 
12365 
12366 
12367 static int
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_)12368 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_) {
12369   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12370                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_Modify_U);
12371 
12372   return offset;
12373 }
12374 
12375 
12376 static const value_string ansi_map_DataResult_vals[] = {
12377   {   0, "not-used" },
12378   {   1, "successful" },
12379   {   2, "unsuccessful-unspecified" },
12380   {   3, "unsuccessful-no-default-value-available" },
12381   {   4, "reserved" },
12382   { 0, NULL }
12383 };
12384 
12385 
12386 static int
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_)12387 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_) {
12388   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12389                                   NULL);
12390 
12391   return offset;
12392 }
12393 
12394 
12395 static const ber_sequence_t DataUpdateResult_sequence[] = {
12396   { &hf_ansi_map_dataID     , BER_CLASS_CON, 251, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataID },
12397   { &hf_ansi_map_dataResult , BER_CLASS_CON, 253, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataResult },
12398   { NULL, 0, 0, 0, NULL }
12399 };
12400 
12401 static int
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_)12402 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_) {
12403   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12404                                    DataUpdateResult_sequence, hf_index, ett_ansi_map_DataUpdateResult);
12405 
12406   return offset;
12407 }
12408 
12409 
12410 static const ber_sequence_t DataUpdateResultList_sequence_of[1] = {
12411   { &hf_ansi_map_DataUpdateResultList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ansi_map_DataUpdateResult },
12412 };
12413 
12414 static int
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_)12415 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_) {
12416   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12417                                       DataUpdateResultList_sequence_of, hf_index, ett_ansi_map_DataUpdateResultList);
12418 
12419   return offset;
12420 }
12421 
12422 
12423 static const ber_sequence_t ServiceDataResult_sequence[] = {
12424   { &hf_ansi_map_dataUpdateResultList, BER_CLASS_CON, 255, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataUpdateResultList },
12425   { &hf_ansi_map_serviceID  , BER_CLASS_CON, 246, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceID },
12426   { NULL, 0, 0, 0, NULL }
12427 };
12428 
12429 static int
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_)12430 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_) {
12431   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12432                                    ServiceDataResult_sequence, hf_index, ett_ansi_map_ServiceDataResult);
12433 
12434   return offset;
12435 }
12436 
12437 
12438 static const ber_sequence_t ServiceDataResultList_sequence_of[1] = {
12439   { &hf_ansi_map_ServiceDataResultList_item, BER_CLASS_CON, 272, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataResult },
12440 };
12441 
12442 static int
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_)12443 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_) {
12444   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12445                                       ServiceDataResultList_sequence_of, hf_index, ett_ansi_map_ServiceDataResultList);
12446 
12447   return offset;
12448 }
12449 
12450 
12451 static const value_string ansi_map_ModificationResult_vals[] = {
12452   { 253, "dataResult" },
12453   { 273, "serviceDataResultList" },
12454   { 0, NULL }
12455 };
12456 
12457 static const ber_choice_t ModificationResult_choice[] = {
12458   { 253, &hf_ansi_map_dataResult , BER_CLASS_CON, 253, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataResult },
12459   { 273, &hf_ansi_map_serviceDataResultList, BER_CLASS_CON, 273, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataResultList },
12460   { 0, NULL, 0, 0, 0, NULL }
12461 };
12462 
12463 static int
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_)12464 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_) {
12465   offset = dissect_ber_choice(actx, tree, tvb, offset,
12466                                  ModificationResult_choice, hf_index, ett_ansi_map_ModificationResult,
12467                                  NULL);
12468 
12469   return offset;
12470 }
12471 
12472 
12473 static const ber_sequence_t ModificationResultList_sequence_of[1] = {
12474   { &hf_ansi_map_ModificationResultList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_ModificationResult },
12475 };
12476 
12477 static int
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_)12478 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_) {
12479   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12480                                       ModificationResultList_sequence_of, hf_index, ett_ansi_map_ModificationResultList);
12481 
12482   return offset;
12483 }
12484 
12485 
12486 static const ber_sequence_t ModifyRes_U_set[] = {
12487   { &hf_ansi_map_modificationResultList, BER_CLASS_CON, 264, BER_FLAGS_IMPLTAG, dissect_ansi_map_ModificationResultList },
12488   { NULL, 0, 0, 0, NULL }
12489 };
12490 
12491 static int
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_)12492 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_) {
12493   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12494                               ModifyRes_U_set, hf_index, ett_ansi_map_ModifyRes_U);
12495 
12496   return offset;
12497 }
12498 
12499 
12500 
12501 static int
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_)12502 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_) {
12503   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12504                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ModifyRes_U);
12505 
12506   return offset;
12507 }
12508 
12509 
12510 static const ber_sequence_t Search_U_set[] = {
12511   { &hf_ansi_map_databaseKey, BER_CLASS_CON, 252, BER_FLAGS_IMPLTAG, dissect_ansi_map_DatabaseKey },
12512   { &hf_ansi_map_serviceDataAccessElementList, BER_CLASS_CON, 271, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataAccessElementList },
12513   { NULL, 0, 0, 0, NULL }
12514 };
12515 
12516 static int
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_)12517 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_) {
12518   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12519                               Search_U_set, hf_index, ett_ansi_map_Search_U);
12520 
12521   return offset;
12522 }
12523 
12524 
12525 
12526 static int
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_)12527 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_) {
12528   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12529                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_Search_U);
12530 
12531   return offset;
12532 }
12533 
12534 
12535 static const ber_sequence_t SearchRes_U_set[] = {
12536   { &hf_ansi_map_serviceDataAccessElementList, BER_CLASS_CON, 271, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataAccessElementList },
12537   { NULL, 0, 0, 0, NULL }
12538 };
12539 
12540 static int
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_)12541 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_) {
12542   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12543                               SearchRes_U_set, hf_index, ett_ansi_map_SearchRes_U);
12544 
12545   return offset;
12546 }
12547 
12548 
12549 
12550 static int
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_)12551 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_) {
12552   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12553                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SearchRes_U);
12554 
12555   return offset;
12556 }
12557 
12558 
12559 
12560 static int
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_)12561 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_) {
12562   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12563                                        NULL);
12564 
12565   return offset;
12566 }
12567 
12568 
12569 
12570 static int
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_)12571 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_) {
12572   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12573                                        NULL);
12574 
12575   return offset;
12576 }
12577 
12578 
12579 static const ber_sequence_t SeizeResource_U_set[] = {
12580   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12581   { &hf_ansi_map_privateSpecializedResource, BER_CLASS_CON, 265, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PrivateSpecializedResource },
12582   { &hf_ansi_map_specializedResource, BER_CLASS_CON, 274, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SpecializedResource },
12583   { NULL, 0, 0, 0, NULL }
12584 };
12585 
12586 static int
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_)12587 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_) {
12588   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12589                               SeizeResource_U_set, hf_index, ett_ansi_map_SeizeResource_U);
12590 
12591   return offset;
12592 }
12593 
12594 
12595 
12596 static int
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_)12597 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_) {
12598   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12599                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SeizeResource_U);
12600 
12601   return offset;
12602 }
12603 
12604 
12605 static const ber_sequence_t SeizeResourceRes_U_set[] = {
12606   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
12607   { NULL, 0, 0, 0, NULL }
12608 };
12609 
12610 static int
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_)12611 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_) {
12612   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12613                               SeizeResourceRes_U_set, hf_index, ett_ansi_map_SeizeResourceRes_U);
12614 
12615   return offset;
12616 }
12617 
12618 
12619 
12620 static int
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_)12621 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_) {
12622   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12623                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SeizeResourceRes_U);
12624 
12625   return offset;
12626 }
12627 
12628 
12629 
12630 static int
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_)12631 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_) {
12632   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12633                                        NULL);
12634 
12635   return offset;
12636 }
12637 
12638 
12639 
12640 static int
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_)12641 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_) {
12642   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12643                                        NULL);
12644 
12645   return offset;
12646 }
12647 
12648 
12649 static const ber_sequence_t ExecuteScript_sequence[] = {
12650   { &hf_ansi_map_scriptName , BER_CLASS_CON, 268, BER_FLAGS_IMPLTAG, dissect_ansi_map_ScriptName },
12651   { &hf_ansi_map_scriptArgument, BER_CLASS_CON, 267, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ScriptArgument },
12652   { NULL, 0, 0, 0, NULL }
12653 };
12654 
12655 static int
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_)12656 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_) {
12657   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12658                                    ExecuteScript_sequence, hf_index, ett_ansi_map_ExecuteScript);
12659 
12660   return offset;
12661 }
12662 
12663 
12664 static const ber_sequence_t SRFDirective_U_set[] = {
12665   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
12666   { &hf_ansi_map_digitCollectionControl, BER_CLASS_CON, 139, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DigitCollectionControl },
12667   { &hf_ansi_map_executeScript, BER_CLASS_CON, 386, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExecuteScript },
12668   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
12669   { NULL, 0, 0, 0, NULL }
12670 };
12671 
12672 static int
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_)12673 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_) {
12674   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12675                               SRFDirective_U_set, hf_index, ett_ansi_map_SRFDirective_U);
12676 
12677   return offset;
12678 }
12679 
12680 
12681 
12682 static int
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_)12683 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_) {
12684   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12685                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SRFDirective_U);
12686 
12687   return offset;
12688 }
12689 
12690 
12691 
12692 static int
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_)12693 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_) {
12694   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12695                                        NULL);
12696 
12697   return offset;
12698 }
12699 
12700 
12701 static const ber_sequence_t SRFDirectiveRes_U_set[] = {
12702   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
12703   { &hf_ansi_map_scriptResult, BER_CLASS_CON, 269, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ScriptResult },
12704   { NULL, 0, 0, 0, NULL }
12705 };
12706 
12707 static int
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_)12708 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_) {
12709   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12710                               SRFDirectiveRes_U_set, hf_index, ett_ansi_map_SRFDirectiveRes_U);
12711 
12712   return offset;
12713 }
12714 
12715 
12716 
12717 static int
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_)12718 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_) {
12719   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12720                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SRFDirectiveRes_U);
12721 
12722   return offset;
12723 }
12724 
12725 
12726 static const ber_sequence_t TBusy_U_set[] = {
12727   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
12728   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
12729   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
12730   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
12731   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
12732   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
12733   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
12734   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
12735   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
12736   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
12737   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
12738   { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
12739   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
12740   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
12741   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
12742   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
12743   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12744   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
12745   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
12746   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12747   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12748   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
12749   { &hf_ansi_map_redirectionReason, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectionReason },
12750   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
12751   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
12752   { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
12753   { NULL, 0, 0, 0, NULL }
12754 };
12755 
12756 static int
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_)12757 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_) {
12758   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12759                               TBusy_U_set, hf_index, ett_ansi_map_TBusy_U);
12760 
12761   return offset;
12762 }
12763 
12764 
12765 
12766 static int
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_)12767 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_) {
12768   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12769                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TBusy_U);
12770 
12771   return offset;
12772 }
12773 
12774 
12775 static const ber_sequence_t TBusyRes_U_set[] = {
12776   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
12777   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
12778   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
12779   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
12780   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
12781   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
12782   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
12783   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
12784   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
12785   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
12786   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
12787   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
12788   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12789   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
12790   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12791   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12792   { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
12793   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
12794   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
12795   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
12796   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
12797   { NULL, 0, 0, 0, NULL }
12798 };
12799 
12800 static int
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_)12801 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_) {
12802   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12803                               TBusyRes_U_set, hf_index, ett_ansi_map_TBusyRes_U);
12804 
12805   return offset;
12806 }
12807 
12808 
12809 
12810 static int
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_)12811 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_) {
12812   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12813                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TBusyRes_U);
12814 
12815   return offset;
12816 }
12817 
12818 
12819 static const ber_sequence_t TNoAnswer_U_set[] = {
12820   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
12821   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
12822   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
12823   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
12824   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
12825   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
12826   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
12827   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
12828   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
12829   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
12830   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
12831   { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
12832   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
12833   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
12834   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
12835   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
12836   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12837   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
12838   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
12839   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12840   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12841   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
12842   { &hf_ansi_map_redirectionReason, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectionReason },
12843   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
12844   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
12845   { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
12846   { NULL, 0, 0, 0, NULL }
12847 };
12848 
12849 static int
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_)12850 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_) {
12851   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12852                               TNoAnswer_U_set, hf_index, ett_ansi_map_TNoAnswer_U);
12853 
12854   return offset;
12855 }
12856 
12857 
12858 
12859 static int
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_)12860 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_) {
12861   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12862                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TNoAnswer_U);
12863 
12864   return offset;
12865 }
12866 
12867 
12868 static const ber_sequence_t TNoAnswerRes_U_set[] = {
12869   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
12870   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
12871   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
12872   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
12873   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
12874   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
12875   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
12876   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
12877   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
12878   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
12879   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
12880   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
12881   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
12882   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12883   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
12884   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12885   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12886   { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
12887   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
12888   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
12889   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
12890   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
12891   { NULL, 0, 0, 0, NULL }
12892 };
12893 
12894 static int
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_)12895 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_) {
12896   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12897                               TNoAnswerRes_U_set, hf_index, ett_ansi_map_TNoAnswerRes_U);
12898 
12899   return offset;
12900 }
12901 
12902 
12903 
12904 static int
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_)12905 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_) {
12906   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12907                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TNoAnswerRes_U);
12908 
12909   return offset;
12910 }
12911 
12912 
12913 static const ber_sequence_t ChangeFacilities_U_set[] = {
12914   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
12915   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
12916   { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
12917   { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
12918   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
12919   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
12920   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
12921   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
12922   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
12923   { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
12924   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
12925   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
12926   { NULL, 0, 0, 0, NULL }
12927 };
12928 
12929 static int
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_)12930 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_) {
12931   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12932                               ChangeFacilities_U_set, hf_index, ett_ansi_map_ChangeFacilities_U);
12933 
12934   return offset;
12935 }
12936 
12937 
12938 
12939 static int
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_)12940 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_) {
12941   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12942                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ChangeFacilities_U);
12943 
12944   return offset;
12945 }
12946 
12947 
12948 static const ber_sequence_t ChangeFacilitiesRes_U_set[] = {
12949   { &hf_ansi_map_reasonList , BER_CLASS_CON, 218, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReasonList },
12950   { NULL, 0, 0, 0, NULL }
12951 };
12952 
12953 static int
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_)12954 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_) {
12955   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12956                               ChangeFacilitiesRes_U_set, hf_index, ett_ansi_map_ChangeFacilitiesRes_U);
12957 
12958   return offset;
12959 }
12960 
12961 
12962 
12963 static int
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_)12964 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_) {
12965   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12966                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ChangeFacilitiesRes_U);
12967 
12968   return offset;
12969 }
12970 
12971 
12972 
12973 static int
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_)12974 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_) {
12975   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12976                                        NULL);
12977 
12978   return offset;
12979 }
12980 
12981 
12982 static const ber_sequence_t ChangeService_U_set[] = {
12983   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
12984   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
12985   { &hf_ansi_map_changeServiceAttributes, BER_CLASS_CON, 214, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChangeServiceAttributes },
12986   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
12987   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
12988   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
12989   { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
12990   { &hf_ansi_map_tdmaDataMode, BER_CLASS_CON, 222, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataMode },
12991   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
12992   { &hf_ansi_map_tdmaVoiceMode, BER_CLASS_CON, 223, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceMode },
12993   { NULL, 0, 0, 0, NULL }
12994 };
12995 
12996 static int
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_)12997 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_) {
12998   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12999                               ChangeService_U_set, hf_index, ett_ansi_map_ChangeService_U);
13000 
13001   return offset;
13002 }
13003 
13004 
13005 
13006 static int
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_)13007 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_) {
13008   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13009                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ChangeService_U);
13010 
13011   return offset;
13012 }
13013 
13014 
13015 static const ber_sequence_t ChangeServiceRes_U_set[] = {
13016   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
13017   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
13018   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
13019   { &hf_ansi_map_changeServiceAttributes, BER_CLASS_CON, 214, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChangeServiceAttributes },
13020   { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
13021   { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
13022   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
13023   { &hf_ansi_map_reasonList , BER_CLASS_CON, 218, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReasonList },
13024   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
13025   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
13026   { NULL, 0, 0, 0, NULL }
13027 };
13028 
13029 static int
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_)13030 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_) {
13031   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13032                               ChangeServiceRes_U_set, hf_index, ett_ansi_map_ChangeServiceRes_U);
13033 
13034   return offset;
13035 }
13036 
13037 
13038 
13039 static int
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_)13040 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_) {
13041   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13042                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ChangeServiceRes_U);
13043 
13044   return offset;
13045 }
13046 
13047 
13048 static const ber_sequence_t MessageDirective_U_set[] = {
13049   { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
13050   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13051   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13052   { NULL, 0, 0, 0, NULL }
13053 };
13054 
13055 static int
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_)13056 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_) {
13057   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13058                               MessageDirective_U_set, hf_index, ett_ansi_map_MessageDirective_U);
13059 
13060   return offset;
13061 }
13062 
13063 
13064 
13065 static int
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_)13066 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_) {
13067   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13068                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_MessageDirective_U);
13069 
13070   return offset;
13071 }
13072 
13073 
13074 static const ber_sequence_t BulkDisconnection_U_set[] = {
13075   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13076   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13077   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13078   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13079   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
13080   { NULL, 0, 0, 0, NULL }
13081 };
13082 
13083 static int
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_)13084 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_) {
13085   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13086                               BulkDisconnection_U_set, hf_index, ett_ansi_map_BulkDisconnection_U);
13087 
13088   return offset;
13089 }
13090 
13091 
13092 
13093 static int
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_)13094 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_) {
13095   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13096                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_BulkDisconnection_U);
13097 
13098   return offset;
13099 }
13100 
13101 
13102 static const ber_sequence_t CallControlDirective_U_set[] = {
13103   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13104   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13105   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13106   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
13107   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
13108   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
13109   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
13110   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
13111   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
13112   { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
13113   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
13114   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13115   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13116   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
13117   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
13118   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
13119   { NULL, 0, 0, 0, NULL }
13120 };
13121 
13122 static int
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_)13123 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_) {
13124   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13125                               CallControlDirective_U_set, hf_index, ett_ansi_map_CallControlDirective_U);
13126 
13127   return offset;
13128 }
13129 
13130 
13131 
13132 static int
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_)13133 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_) {
13134   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13135                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CallControlDirective_U);
13136 
13137   return offset;
13138 }
13139 
13140 
13141 static const value_string ansi_map_CallStatus_vals[] = {
13142   {   0, "not-used" },
13143   {   1, "call-Setup-in-Progress" },
13144   {   2, "called-Party" },
13145   {   3, "locally-Allowed-Call-No-Action" },
13146   { 0, NULL }
13147 };
13148 
13149 
13150 static int
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_)13151 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_) {
13152   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13153                                   NULL);
13154 
13155   return offset;
13156 }
13157 
13158 
13159 static const ber_sequence_t CallControlDirectiveRes_U_set[] = {
13160   { &hf_ansi_map_callStatus , BER_CLASS_CON, 310, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallStatus },
13161   { NULL, 0, 0, 0, NULL }
13162 };
13163 
13164 static int
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_)13165 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_) {
13166   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13167                               CallControlDirectiveRes_U_set, hf_index, ett_ansi_map_CallControlDirectiveRes_U);
13168 
13169   return offset;
13170 }
13171 
13172 
13173 
13174 static int
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_)13175 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_) {
13176   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13177                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CallControlDirectiveRes_U);
13178 
13179   return offset;
13180 }
13181 
13182 
13183 static const ber_sequence_t OAnswer_U_set[] = {
13184   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13185   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13186   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13187   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13188   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13189   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13190   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13191   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13192   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13193   { &hf_ansi_map_featureIndicator, BER_CLASS_CON, 306, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureIndicator },
13194   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13195   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13196   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
13197   { NULL, 0, 0, 0, NULL }
13198 };
13199 
13200 static int
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_)13201 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_) {
13202   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13203                               OAnswer_U_set, hf_index, ett_ansi_map_OAnswer_U);
13204 
13205   return offset;
13206 }
13207 
13208 
13209 
13210 static int
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_)13211 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_) {
13212   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13213                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OAnswer_U);
13214 
13215   return offset;
13216 }
13217 
13218 
13219 static const value_string ansi_map_ReleaseCause_vals[] = {
13220   {   0, "unspecified" },
13221   {   1, "calling-Party" },
13222   {   2, "called-Party" },
13223   {   3, "commanded-Disconnect" },
13224   { 0, NULL }
13225 };
13226 
13227 
13228 static int
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_)13229 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_) {
13230   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13231                                   NULL);
13232 
13233   return offset;
13234 }
13235 
13236 
13237 static const ber_sequence_t ODisconnect_U_set[] = {
13238   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13239   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13240   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13241   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13242   { &hf_ansi_map_releaseCause, BER_CLASS_CON, 308, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReleaseCause },
13243   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13244   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13245   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
13246   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
13247   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13248   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13249   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13250   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13251   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13252   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
13253   { NULL, 0, 0, 0, NULL }
13254 };
13255 
13256 static int
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_)13257 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_) {
13258   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13259                               ODisconnect_U_set, hf_index, ett_ansi_map_ODisconnect_U);
13260 
13261   return offset;
13262 }
13263 
13264 
13265 
13266 static int
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_)13267 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_) {
13268   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13269                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ODisconnect_U);
13270 
13271   return offset;
13272 }
13273 
13274 
13275 static const ber_sequence_t ODisconnectRes_U_set[] = {
13276   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
13277   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
13278   { NULL, 0, 0, 0, NULL }
13279 };
13280 
13281 static int
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_)13282 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_) {
13283   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13284                               ODisconnectRes_U_set, hf_index, ett_ansi_map_ODisconnectRes_U);
13285 
13286   return offset;
13287 }
13288 
13289 
13290 
13291 static int
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_)13292 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_) {
13293   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13294                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ODisconnectRes_U);
13295 
13296   return offset;
13297 }
13298 
13299 
13300 static const ber_sequence_t CallRecoveryID_set[] = {
13301   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13302   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13303   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13304   { NULL, 0, 0, 0, NULL }
13305 };
13306 
13307 static int
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_)13308 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_) {
13309   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13310                               CallRecoveryID_set, hf_index, ett_ansi_map_CallRecoveryID);
13311 
13312   return offset;
13313 }
13314 
13315 
13316 static const ber_sequence_t CallRecoveryIDList_set_of[1] = {
13317   { &hf_ansi_map_CallRecoveryIDList_item, BER_CLASS_CON, 303, BER_FLAGS_IMPLTAG, dissect_ansi_map_CallRecoveryID },
13318 };
13319 
13320 static int
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_)13321 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_) {
13322   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
13323                                  CallRecoveryIDList_set_of, hf_index, ett_ansi_map_CallRecoveryIDList);
13324 
13325   return offset;
13326 }
13327 
13328 
13329 static const ber_sequence_t CallRecoveryReport_U_set[] = {
13330   { &hf_ansi_map_callRecoveryIDList, BER_CLASS_CON, 304, BER_FLAGS_IMPLTAG, dissect_ansi_map_CallRecoveryIDList },
13331   { NULL, 0, 0, 0, NULL }
13332 };
13333 
13334 static int
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_)13335 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_) {
13336   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13337                               CallRecoveryReport_U_set, hf_index, ett_ansi_map_CallRecoveryReport_U);
13338 
13339   return offset;
13340 }
13341 
13342 
13343 
13344 static int
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_)13345 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_) {
13346   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13347                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CallRecoveryReport_U);
13348 
13349   return offset;
13350 }
13351 
13352 
13353 static const ber_sequence_t TAnswer_U_set[] = {
13354   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13355   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13356   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13357   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13358   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13359   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13360   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
13361   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13362   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
13363   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13364   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13365   { &hf_ansi_map_featureIndicator, BER_CLASS_CON, 306, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureIndicator },
13366   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13367   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13368   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
13369   { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
13370   { NULL, 0, 0, 0, NULL }
13371 };
13372 
13373 static int
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_)13374 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_) {
13375   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13376                               TAnswer_U_set, hf_index, ett_ansi_map_TAnswer_U);
13377 
13378   return offset;
13379 }
13380 
13381 
13382 
13383 static int
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_)13384 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_) {
13385   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13386                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TAnswer_U);
13387 
13388   return offset;
13389 }
13390 
13391 
13392 static const ber_sequence_t TDisconnect_U_set[] = {
13393   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13394   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13395   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13396   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13397   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13398   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13399   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13400   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
13401   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
13402   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13403   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13404   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13405   { &hf_ansi_map_releaseCause, BER_CLASS_CON, 308, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReleaseCause },
13406   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13407   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
13408   { NULL, 0, 0, 0, NULL }
13409 };
13410 
13411 static int
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_)13412 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_) {
13413   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13414                               TDisconnect_U_set, hf_index, ett_ansi_map_TDisconnect_U);
13415 
13416   return offset;
13417 }
13418 
13419 
13420 
13421 static int
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_)13422 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_) {
13423   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13424                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TDisconnect_U);
13425 
13426   return offset;
13427 }
13428 
13429 
13430 static const ber_sequence_t TDisconnectRes_U_set[] = {
13431   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
13432   { NULL, 0, 0, 0, NULL }
13433 };
13434 
13435 static int
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_)13436 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_) {
13437   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13438                               TDisconnectRes_U_set, hf_index, ett_ansi_map_TDisconnectRes_U);
13439 
13440   return offset;
13441 }
13442 
13443 
13444 
13445 static int
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_)13446 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_) {
13447   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13448                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TDisconnectRes_U);
13449 
13450   return offset;
13451 }
13452 
13453 
13454 static const ber_sequence_t UnreliableCallData_U_set[] = {
13455   { &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
13456   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13457   { NULL, 0, 0, 0, NULL }
13458 };
13459 
13460 static int
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_)13461 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_) {
13462   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13463                               UnreliableCallData_U_set, hf_index, ett_ansi_map_UnreliableCallData_U);
13464 
13465   return offset;
13466 }
13467 
13468 
13469 
13470 static int
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_)13471 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_) {
13472   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13473                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_UnreliableCallData_U);
13474 
13475   return offset;
13476 }
13477 
13478 
13479 static const ber_sequence_t OCalledPartyBusy_U_set[] = {
13480   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13481   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13482   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13483   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13484   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
13485   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13486   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
13487   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
13488   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
13489   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
13490   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
13491   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
13492   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
13493   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
13494   { &hf_ansi_map_failureCause, BER_CLASS_CON, 387, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FailureCause },
13495   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13496   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13497   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13498   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
13499   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
13500   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
13501   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
13502   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13503   { NULL, 0, 0, 0, NULL }
13504 };
13505 
13506 static int
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_)13507 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_) {
13508   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13509                               OCalledPartyBusy_U_set, hf_index, ett_ansi_map_OCalledPartyBusy_U);
13510 
13511   return offset;
13512 }
13513 
13514 
13515 
13516 static int
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_)13517 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_) {
13518   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13519                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OCalledPartyBusy_U);
13520 
13521   return offset;
13522 }
13523 
13524 
13525 static const ber_sequence_t OCalledPartyBusyRes_U_set[] = {
13526   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
13527   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
13528   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
13529   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
13530   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
13531   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
13532   { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
13533   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
13534   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
13535   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
13536   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
13537   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
13538   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
13539   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
13540   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
13541   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
13542   { NULL, 0, 0, 0, NULL }
13543 };
13544 
13545 static int
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_)13546 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_) {
13547   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13548                               OCalledPartyBusyRes_U_set, hf_index, ett_ansi_map_OCalledPartyBusyRes_U);
13549 
13550   return offset;
13551 }
13552 
13553 
13554 
13555 static int
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_)13556 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_) {
13557   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13558                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OCalledPartyBusyRes_U);
13559 
13560   return offset;
13561 }
13562 
13563 
13564 static const ber_sequence_t ONoAnswer_U_set[] = {
13565   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13566   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13567   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13568   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13569   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
13570   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13571   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
13572   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
13573   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
13574   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
13575   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
13576   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
13577   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
13578   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
13579   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13580   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13581   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13582   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
13583   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
13584   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
13585   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
13586   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13587   { NULL, 0, 0, 0, NULL }
13588 };
13589 
13590 static int
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_)13591 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_) {
13592   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13593                               ONoAnswer_U_set, hf_index, ett_ansi_map_ONoAnswer_U);
13594 
13595   return offset;
13596 }
13597 
13598 
13599 
13600 static int
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_)13601 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_) {
13602   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13603                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ONoAnswer_U);
13604 
13605   return offset;
13606 }
13607 
13608 
13609 static const ber_sequence_t ONoAnswerRes_U_set[] = {
13610   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
13611   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
13612   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
13613   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
13614   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
13615   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
13616   { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
13617   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
13618   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
13619   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
13620   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
13621   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
13622   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
13623   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
13624   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
13625   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
13626   { NULL, 0, 0, 0, NULL }
13627 };
13628 
13629 static int
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_)13630 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_) {
13631   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13632                               ONoAnswerRes_U_set, hf_index, ett_ansi_map_ONoAnswerRes_U);
13633 
13634   return offset;
13635 }
13636 
13637 
13638 
13639 static int
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_)13640 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_) {
13641   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13642                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ONoAnswerRes_U);
13643 
13644   return offset;
13645 }
13646 
13647 
13648 
13649 static int
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_)13650 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_) {
13651   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13652                                        NULL);
13653 
13654   return offset;
13655 }
13656 
13657 
13658 static const ber_sequence_t PositionRequest_U_set[] = {
13659   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13660   { &hf_ansi_map_positionInformationCode, BER_CLASS_CON, 315, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionInformationCode },
13661   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13662   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13663   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13664   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
13665   { NULL, 0, 0, 0, NULL }
13666 };
13667 
13668 static int
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_)13669 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_) {
13670   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13671                               PositionRequest_U_set, hf_index, ett_ansi_map_PositionRequest_U);
13672 
13673   return offset;
13674 }
13675 
13676 
13677 
13678 static int
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_)13679 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_) {
13680   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13681                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_PositionRequest_U);
13682 
13683   return offset;
13684 }
13685 
13686 
13687 
13688 static int
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_)13689 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_) {
13690   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13691                                        NULL);
13692 
13693   return offset;
13694 }
13695 
13696 
13697 static const ber_sequence_t PositionRequestRes_U_set[] = {
13698   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13699   { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
13700   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13701   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13702   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13703   { &hf_ansi_map_mSStatus   , BER_CLASS_CON, 313, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSStatus },
13704   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
13705   { &hf_ansi_map_pSID_RSIDInformation, BER_CLASS_CON, 202, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDInformation },
13706   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13707   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13708   { NULL, 0, 0, 0, NULL }
13709 };
13710 
13711 static int
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_)13712 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_) {
13713   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13714                               PositionRequestRes_U_set, hf_index, ett_ansi_map_PositionRequestRes_U);
13715 
13716   return offset;
13717 }
13718 
13719 
13720 
13721 static int
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_)13722 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_) {
13723   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13724                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_PositionRequestRes_U);
13725 
13726   return offset;
13727 }
13728 
13729 
13730 static const ber_sequence_t PositionRequestForward_U_set[] = {
13731   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
13732   { &hf_ansi_map_positionInformationCode, BER_CLASS_CON, 315, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionInformationCode },
13733   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13734   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
13735   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
13736   { NULL, 0, 0, 0, NULL }
13737 };
13738 
13739 static int
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_)13740 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_) {
13741   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13742                               PositionRequestForward_U_set, hf_index, ett_ansi_map_PositionRequestForward_U);
13743 
13744   return offset;
13745 }
13746 
13747 
13748 
13749 static int
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_)13750 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_) {
13751   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13752                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_PositionRequestForward_U);
13753 
13754   return offset;
13755 }
13756 
13757 
13758 static const ber_sequence_t PositionRequestForwardRes_U_set[] = {
13759   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13760   { &hf_ansi_map_mSStatus   , BER_CLASS_CON, 313, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSStatus },
13761   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13762   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13763   { NULL, 0, 0, 0, NULL }
13764 };
13765 
13766 static int
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_)13767 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_) {
13768   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13769                               PositionRequestForwardRes_U_set, hf_index, ett_ansi_map_PositionRequestForwardRes_U);
13770 
13771   return offset;
13772 }
13773 
13774 
13775 
13776 static int
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_)13777 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_) {
13778   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13779                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_PositionRequestForwardRes_U);
13780 
13781   return offset;
13782 }
13783 
13784 
13785 static const ber_sequence_t CallTerminationReport_U_set[] = {
13786   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13787   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
13788   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
13789   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
13790   { NULL, 0, 0, 0, NULL }
13791 };
13792 
13793 static int
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_)13794 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_) {
13795   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13796                               CallTerminationReport_U_set, hf_index, ett_ansi_map_CallTerminationReport_U);
13797 
13798   return offset;
13799 }
13800 
13801 
13802 
13803 static int
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_)13804 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_) {
13805   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13806                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CallTerminationReport_U);
13807 
13808   return offset;
13809 }
13810 
13811 
13812 
13813 static int
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_)13814 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_) {
13815   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13816                                        NULL);
13817 
13818   return offset;
13819 }
13820 
13821 
13822 
13823 static int
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_)13824 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_) {
13825   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13826                                        NULL);
13827 
13828   return offset;
13829 }
13830 
13831 
13832 
13833 static int
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_)13834 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_) {
13835   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
13836 
13837   return offset;
13838 }
13839 
13840 
13841 
13842 static int
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_)13843 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_) {
13844   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13845                                        NULL);
13846 
13847   return offset;
13848 }
13849 
13850 
13851 
13852 static int
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_)13853 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_) {
13854   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13855                                        NULL);
13856 
13857   return offset;
13858 }
13859 
13860 
13861 static const ber_sequence_t CDMAPSMMList_item_set[] = {
13862   { &hf_ansi_map_cdmaServingOneWayDelay2, BER_CLASS_CON, 347, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay2 },
13863   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
13864   { &hf_ansi_map_cdmaTargetMAHOList2, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
13865   { NULL, 0, 0, 0, NULL }
13866 };
13867 
13868 static int
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_)13869 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_) {
13870   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13871                               CDMAPSMMList_item_set, hf_index, ett_ansi_map_CDMAPSMMList_item);
13872 
13873   return offset;
13874 }
13875 
13876 
13877 static const ber_sequence_t CDMAPSMMList_set_of[1] = {
13878   { &hf_ansi_map_CDMAPSMMList_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CDMAPSMMList_item },
13879 };
13880 
13881 static int
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_)13882 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_) {
13883   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
13884                                  CDMAPSMMList_set_of, hf_index, ett_ansi_map_CDMAPSMMList);
13885 
13886   return offset;
13887 }
13888 
13889 
13890 
13891 static int
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_)13892 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_) {
13893   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13894                                        NULL);
13895 
13896   return offset;
13897 }
13898 
13899 
13900 
13901 static int
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_)13902 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_) {
13903   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13904                                        NULL);
13905 
13906   return offset;
13907 }
13908 
13909 
13910 
13911 static int
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_)13912 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_) {
13913   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13914                                        NULL);
13915 
13916   return offset;
13917 }
13918 
13919 
13920 
13921 static int
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_)13922 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_) {
13923   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13924                                        NULL);
13925 
13926   return offset;
13927 }
13928 
13929 
13930 
13931 static int
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_)13932 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_) {
13933   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13934                                        NULL);
13935 
13936   return offset;
13937 }
13938 
13939 
13940 
13941 static int
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_)13942 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_) {
13943   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13944                                        NULL);
13945 
13946   return offset;
13947 }
13948 
13949 
13950 
13951 static int
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_)13952 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_) {
13953   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13954                                        NULL);
13955 
13956   return offset;
13957 }
13958 
13959 
13960 static const value_string ansi_map_PQOS_ResponseTime_vals[] = {
13961   {   0, "not-used" },
13962   {   1, "no-Delay" },
13963   {   2, "low-Delay" },
13964   {   3, "delay-Tolerant" },
13965   { 0, NULL }
13966 };
13967 
13968 
13969 static int
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_)13970 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_) {
13971   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13972                                   NULL);
13973 
13974   return offset;
13975 }
13976 
13977 
13978 
13979 static int
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_)13980 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_) {
13981   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13982                                        NULL);
13983 
13984   return offset;
13985 }
13986 
13987 
13988 
13989 static int
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_)13990 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_) {
13991   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13992                                        NULL);
13993 
13994   return offset;
13995 }
13996 
13997 
13998 static const ber_sequence_t GeoPositionRequest_U_set[] = {
13999   { &hf_ansi_map_positionRequestType, BER_CLASS_CON, 337, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionRequestType },
14000   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
14001   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
14002   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14003   { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
14004   { &hf_ansi_map_lcs_Client_ID, BER_CLASS_CON, 358, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCS_Client_ID },
14005   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
14006   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14007   { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
14008   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
14009   { &hf_ansi_map_dtxIndication, BER_CLASS_CON, 329, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DTXIndication },
14010   { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
14011   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
14012   { &hf_ansi_map_cdmaCodeChannel, BER_CLASS_CON, 68, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannel },
14013   { &hf_ansi_map_cdmaMobileCapabilities, BER_CLASS_CON, 330, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileCapabilities },
14014   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
14015   { &hf_ansi_map_cdmaServingOneWayDelay2, BER_CLASS_CON, 347, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay2 },
14016   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
14017   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
14018   { &hf_ansi_map_cdmaPSMMList, BER_CLASS_CON, 346, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPSMMList },
14019   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 76, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
14020   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
14021   { &hf_ansi_map_targetMeasurementList, BER_CLASS_CON, 157, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetMeasurementList },
14022   { &hf_ansi_map_tdma_MAHO_CELLID, BER_CLASS_CON, 359, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CELLID },
14023   { &hf_ansi_map_tdma_MAHO_CHANNEL, BER_CLASS_CON, 360, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CHANNEL },
14024   { &hf_ansi_map_tdma_TimeAlignment, BER_CLASS_CON, 362, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_TimeAlignment },
14025   { &hf_ansi_map_tdmaVoiceMode, BER_CLASS_CON, 223, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceMode },
14026   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
14027   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14028   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
14029   { &hf_ansi_map_pqos_HorizontalPosition, BER_CLASS_CON, 372, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalPosition },
14030   { &hf_ansi_map_pqos_HorizontalVelocity, BER_CLASS_CON, 373, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalVelocity },
14031   { &hf_ansi_map_pqos_MaximumPositionAge, BER_CLASS_CON, 374, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_MaximumPositionAge },
14032   { &hf_ansi_map_pqos_PositionPriority, BER_CLASS_CON, 375, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_PositionPriority },
14033   { &hf_ansi_map_pqos_ResponseTime, BER_CLASS_CON, 376, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_ResponseTime },
14034   { &hf_ansi_map_pqos_VerticalPosition, BER_CLASS_CON, 377, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalPosition },
14035   { &hf_ansi_map_pqos_VerticalVelocity, BER_CLASS_CON, 378, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalVelocity },
14036   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
14037   { &hf_ansi_map_teleservice_Priority, BER_CLASS_CON, 290, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Teleservice_Priority },
14038   { NULL, 0, 0, 0, NULL }
14039 };
14040 
14041 static int
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_)14042 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_) {
14043   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14044                               GeoPositionRequest_U_set, hf_index, ett_ansi_map_GeoPositionRequest_U);
14045 
14046   return offset;
14047 }
14048 
14049 
14050 
14051 static int
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_)14052 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_) {
14053   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14054                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_GeoPositionRequest_U);
14055 
14056   return offset;
14057 }
14058 
14059 
14060 
14061 static int
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_)14062 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_) {
14063   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14064                                        NULL);
14065 
14066   return offset;
14067 }
14068 
14069 
14070 static const value_string ansi_map_LIRAuthorization_vals[] = {
14071   {   0, "not-used" },
14072   {   1, "user-Authorized" },
14073   { 0, NULL }
14074 };
14075 
14076 
14077 static int
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_)14078 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_) {
14079   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14080                                   NULL);
14081 
14082   return offset;
14083 }
14084 
14085 
14086 
14087 static int
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_)14088 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_) {
14089   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
14090 
14091   return offset;
14092 }
14093 
14094 
14095 
14096 static int
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_)14097 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_) {
14098   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14099                                        NULL);
14100 
14101   return offset;
14102 }
14103 
14104 
14105 static const ber_sequence_t InterSystemPositionRequest_U_set[] = {
14106   { &hf_ansi_map_positionRequestType, BER_CLASS_CON, 337, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionRequestType },
14107   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
14108   { &hf_ansi_map_cdmaPSMMCount, BER_CLASS_CON, 345, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPSMMCount },
14109   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
14110   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
14111   { &hf_ansi_map_emergencyServicesRoutingDigits, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_EmergencyServicesRoutingDigits },
14112   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14113   { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
14114   { &hf_ansi_map_lirAuthorization, BER_CLASS_CON, 368, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LIRAuthorization },
14115   { &hf_ansi_map_lcs_Client_ID, BER_CLASS_CON, 358, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCS_Client_ID },
14116   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
14117   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
14118   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14119   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
14120   { &hf_ansi_map_dtxIndication, BER_CLASS_CON, 329, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DTXIndication },
14121   { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
14122   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
14123   { &hf_ansi_map_cdmaCodeChannel, BER_CLASS_CON, 68, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannel },
14124   { &hf_ansi_map_cdmaMobileCapabilities, BER_CLASS_CON, 330, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileCapabilities },
14125   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
14126   { &hf_ansi_map_cdmaServingOneWayDelay2, BER_CLASS_CON, 347, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay2 },
14127   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
14128   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
14129   { &hf_ansi_map_cdmaPSMMList, BER_CLASS_CON, 346, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPSMMList },
14130   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 76, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
14131   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
14132   { &hf_ansi_map_targetMeasurementList, BER_CLASS_CON, 157, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetMeasurementList },
14133   { &hf_ansi_map_tdma_MAHO_CELLID, BER_CLASS_CON, 359, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CELLID },
14134   { &hf_ansi_map_tdma_MAHO_CHANNEL, BER_CLASS_CON, 360, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CHANNEL },
14135   { &hf_ansi_map_tdma_TimeAlignment, BER_CLASS_CON, 362, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_TimeAlignment },
14136   { &hf_ansi_map_tdmaVoiceMode, BER_CLASS_CON, 223, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceMode },
14137   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
14138   { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
14139   { &hf_ansi_map_mpcAddress , BER_CLASS_CON, 370, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddress },
14140   { &hf_ansi_map_mpcAddressList, BER_CLASS_CON, 381, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddressList },
14141   { &hf_ansi_map_mpcid      , BER_CLASS_CON, 371, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCID },
14142   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14143   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
14144   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
14145   { &hf_ansi_map_pqos_HorizontalPosition, BER_CLASS_CON, 372, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalPosition },
14146   { &hf_ansi_map_pqos_HorizontalVelocity, BER_CLASS_CON, 373, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalVelocity },
14147   { &hf_ansi_map_pqos_MaximumPositionAge, BER_CLASS_CON, 374, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_MaximumPositionAge },
14148   { &hf_ansi_map_pqos_PositionPriority, BER_CLASS_CON, 375, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_PositionPriority },
14149   { &hf_ansi_map_pqos_ResponseTime, BER_CLASS_CON, 376, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_ResponseTime },
14150   { &hf_ansi_map_pqos_VerticalPosition, BER_CLASS_CON, 377, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalPosition },
14151   { &hf_ansi_map_pqos_VerticalVelocity, BER_CLASS_CON, 378, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalVelocity },
14152   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
14153   { &hf_ansi_map_tdma_MAHORequest, BER_CLASS_CON, 364, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHORequest },
14154   { NULL, 0, 0, 0, NULL }
14155 };
14156 
14157 static int
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_)14158 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_) {
14159   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14160                               InterSystemPositionRequest_U_set, hf_index, ett_ansi_map_InterSystemPositionRequest_U);
14161 
14162   return offset;
14163 }
14164 
14165 
14166 
14167 static int
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_)14168 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_) {
14169   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14170                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPositionRequest_U);
14171 
14172   return offset;
14173 }
14174 
14175 
14176 
14177 static int
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_)14178 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_) {
14179   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14180                                        NULL);
14181 
14182   return offset;
14183 }
14184 
14185 
14186 
14187 static int
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_)14188 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_) {
14189   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
14190 
14191   return offset;
14192 }
14193 
14194 
14195 
14196 static int
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_)14197 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_) {
14198   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14199                                        NULL);
14200 
14201   return offset;
14202 }
14203 
14204 
14205 
14206 static int
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_)14207 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_) {
14208   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14209                                        NULL);
14210 
14211   return offset;
14212 }
14213 
14214 
14215 
14216 static int
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_)14217 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_) {
14218   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14219                                        NULL);
14220 
14221   return offset;
14222 }
14223 
14224 
14225 
14226 static int
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_)14227 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_) {
14228   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14229                                        NULL);
14230 
14231   return offset;
14232 }
14233 
14234 
14235 static const ber_sequence_t PositionInformation_set[] = {
14236   { &hf_ansi_map_generalizedTime, BER_CLASS_CON, 331, BER_FLAGS_IMPLTAG, dissect_ansi_map_GeneralizedTime },
14237   { &hf_ansi_map_geographicPosition, BER_CLASS_CON, 333, BER_FLAGS_IMPLTAG, dissect_ansi_map_GeographicPosition },
14238   { &hf_ansi_map_positionSource, BER_CLASS_CON, 339, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionSource },
14239   { &hf_ansi_map_horizontal_Velocity, BER_CLASS_CON, 379, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Horizontal_Velocity },
14240   { &hf_ansi_map_vertical_Velocity, BER_CLASS_CON, 380, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Vertical_Velocity },
14241   { NULL, 0, 0, 0, NULL }
14242 };
14243 
14244 static int
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_)14245 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_) {
14246   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14247                               PositionInformation_set, hf_index, ett_ansi_map_PositionInformation);
14248 
14249   return offset;
14250 }
14251 
14252 
14253 static const ber_sequence_t InterSystemPositionRequestRes_U_set[] = {
14254   { &hf_ansi_map_positionResult, BER_CLASS_CON, 338, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionResult },
14255   { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
14256   { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
14257   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
14258   { &hf_ansi_map_dtxIndication, BER_CLASS_CON, 329, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DTXIndication },
14259   { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
14260   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
14261   { &hf_ansi_map_cdmaCodeChannel, BER_CLASS_CON, 68, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannel },
14262   { &hf_ansi_map_cdmaMobileCapabilities, BER_CLASS_CON, 330, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileCapabilities },
14263   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
14264   { &hf_ansi_map_cdmaServingOneWayDelay2, BER_CLASS_CON, 347, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay2 },
14265   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
14266   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
14267   { &hf_ansi_map_cdmaPSMMList, BER_CLASS_CON, 346, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPSMMList },
14268   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 76, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
14269   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
14270   { &hf_ansi_map_targetMeasurementList, BER_CLASS_CON, 157, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetMeasurementList },
14271   { &hf_ansi_map_tdma_MAHO_CELLID, BER_CLASS_CON, 359, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CELLID },
14272   { &hf_ansi_map_tdma_MAHO_CHANNEL, BER_CLASS_CON, 360, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CHANNEL },
14273   { &hf_ansi_map_tdma_TimeAlignment, BER_CLASS_CON, 362, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_TimeAlignment },
14274   { &hf_ansi_map_tdmaVoiceMode, BER_CLASS_CON, 223, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceMode },
14275   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
14276   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14277   { &hf_ansi_map_positionInformation, BER_CLASS_CON, 336, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionInformation },
14278   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
14279   { NULL, 0, 0, 0, NULL }
14280 };
14281 
14282 static int
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_)14283 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_) {
14284   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14285                               InterSystemPositionRequestRes_U_set, hf_index, ett_ansi_map_InterSystemPositionRequestRes_U);
14286 
14287   return offset;
14288 }
14289 
14290 
14291 
14292 static int
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_)14293 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_) {
14294   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14295                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPositionRequestRes_U);
14296 
14297   return offset;
14298 }
14299 
14300 
14301 static const ber_sequence_t InterSystemPositionRequestForward_U_set[] = {
14302   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
14303   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
14304   { &hf_ansi_map_positionRequestType, BER_CLASS_CON, 337, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionRequestType },
14305   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14306   { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
14307   { &hf_ansi_map_lcs_Client_ID, BER_CLASS_CON, 358, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCS_Client_ID },
14308   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
14309   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14310   { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
14311   { &hf_ansi_map_mpcid      , BER_CLASS_CON, 371, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCID },
14312   { &hf_ansi_map_pqos_HorizontalPosition, BER_CLASS_CON, 372, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalPosition },
14313   { &hf_ansi_map_pqos_HorizontalVelocity, BER_CLASS_CON, 373, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalVelocity },
14314   { &hf_ansi_map_pqos_MaximumPositionAge, BER_CLASS_CON, 374, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_MaximumPositionAge },
14315   { &hf_ansi_map_pqos_PositionPriority, BER_CLASS_CON, 375, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_PositionPriority },
14316   { &hf_ansi_map_pqos_ResponseTime, BER_CLASS_CON, 376, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_ResponseTime },
14317   { &hf_ansi_map_pqos_VerticalPosition, BER_CLASS_CON, 377, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalPosition },
14318   { &hf_ansi_map_pqos_VerticalVelocity, BER_CLASS_CON, 378, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalVelocity },
14319   { &hf_ansi_map_tdma_MAHORequest, BER_CLASS_CON, 364, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHORequest },
14320   { NULL, 0, 0, 0, NULL }
14321 };
14322 
14323 static int
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_)14324 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_) {
14325   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14326                               InterSystemPositionRequestForward_U_set, hf_index, ett_ansi_map_InterSystemPositionRequestForward_U);
14327 
14328   return offset;
14329 }
14330 
14331 
14332 
14333 static int
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_)14334 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_) {
14335   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14336                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPositionRequestForward_U);
14337 
14338   return offset;
14339 }
14340 
14341 
14342 static const ber_sequence_t InterSystemPositionRequestForwardRes_U_set[] = {
14343   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14344   { &hf_ansi_map_positionResult, BER_CLASS_CON, 338, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionResult },
14345   { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
14346   { &hf_ansi_map_positionInformation, BER_CLASS_CON, 336, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionInformation },
14347   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
14348   { NULL, 0, 0, 0, NULL }
14349 };
14350 
14351 static int
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_)14352 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_) {
14353   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14354                               InterSystemPositionRequestForwardRes_U_set, hf_index, ett_ansi_map_InterSystemPositionRequestForwardRes_U);
14355 
14356   return offset;
14357 }
14358 
14359 
14360 
14361 static int
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_)14362 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_) {
14363   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14364                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPositionRequestForwardRes_U);
14365 
14366   return offset;
14367 }
14368 
14369 
14370 
14371 static int
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_)14372 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_) {
14373   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14374                                        NULL);
14375 
14376   return offset;
14377 }
14378 
14379 
14380 static const value_string ansi_map_GapDuration_vals[] = {
14381   {   0, "not-used" },
14382   { 0, NULL }
14383 };
14384 
14385 
14386 static int
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_)14387 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_) {
14388   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14389                                   NULL);
14390 
14391   return offset;
14392 }
14393 
14394 
14395 static const value_string ansi_map_SCFOverloadGapInterval_vals[] = {
14396   {   0, "not-used" },
14397   { 0, NULL }
14398 };
14399 
14400 
14401 static int
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_)14402 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_) {
14403   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14404                                   NULL);
14405 
14406   return offset;
14407 }
14408 
14409 
14410 static const value_string ansi_map_ServiceManagementSystemGapInterval_vals[] = {
14411   {   0, "not-used" },
14412   { 0, NULL }
14413 };
14414 
14415 
14416 static int
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_)14417 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_) {
14418   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14419                                   NULL);
14420 
14421   return offset;
14422 }
14423 
14424 
14425 static const value_string ansi_map_GapInterval_vals[] = {
14426   { 343, "sCFOverloadGapInterval" },
14427   { 344, "serviceManagementSystemGapInterval" },
14428   { 0, NULL }
14429 };
14430 
14431 static const ber_choice_t GapInterval_choice[] = {
14432   { 343, &hf_ansi_map_sCFOverloadGapInterval, BER_CLASS_CON, 343, BER_FLAGS_IMPLTAG, dissect_ansi_map_SCFOverloadGapInterval },
14433   { 344, &hf_ansi_map_serviceManagementSystemGapInterval, BER_CLASS_CON, 344, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceManagementSystemGapInterval },
14434   { 0, NULL, 0, 0, 0, NULL }
14435 };
14436 
14437 static int
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_)14438 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_) {
14439   offset = dissect_ber_choice(actx, tree, tvb, offset,
14440                                  GapInterval_choice, hf_index, ett_ansi_map_GapInterval,
14441                                  NULL);
14442 
14443   return offset;
14444 }
14445 
14446 
14447 static const ber_sequence_t ACGDirective_U_set[] = {
14448   { &hf_ansi_map_controlType, BER_CLASS_CON, 341, BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlType },
14449   { &hf_ansi_map_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_DestinationAddress },
14450   { &hf_ansi_map_gapDuration, BER_CLASS_CON, 342, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GapDuration },
14451   { &hf_ansi_map_gapInterval, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_GapInterval },
14452   { NULL, 0, 0, 0, NULL }
14453 };
14454 
14455 static int
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_)14456 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_) {
14457   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14458                               ACGDirective_U_set, hf_index, ett_ansi_map_ACGDirective_U);
14459 
14460   return offset;
14461 }
14462 
14463 
14464 
14465 static int
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_)14466 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_) {
14467   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14468                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ACGDirective_U);
14469 
14470   return offset;
14471 }
14472 
14473 
14474 
14475 static int
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_)14476 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_) {
14477   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14478                                                 NULL);
14479 
14480   return offset;
14481 }
14482 
14483 
14484 
14485 static int
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_)14486 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_) {
14487   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14488                                                 NULL);
14489 
14490   return offset;
14491 }
14492 
14493 
14494 static const ber_sequence_t RoamerDatabaseVerificationRequest_U_set[] = {
14495   { &hf_ansi_map_invokingNEType, BER_CLASS_CON, 353, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_InvokingNEType },
14496   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
14497   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14498   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
14499   { &hf_ansi_map_range      , BER_CLASS_CON, 352, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Range },
14500   { NULL, 0, 0, 0, NULL }
14501 };
14502 
14503 static int
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_)14504 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_) {
14505   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14506                               RoamerDatabaseVerificationRequest_U_set, hf_index, ett_ansi_map_RoamerDatabaseVerificationRequest_U);
14507 
14508   return offset;
14509 }
14510 
14511 
14512 
14513 static int
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_)14514 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_) {
14515   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14516                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RoamerDatabaseVerificationRequest_U);
14517 
14518   return offset;
14519 }
14520 
14521 
14522 static const ber_sequence_t RoamerDatabaseVerificationRequestRes_U_set[] = {
14523   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
14524   { NULL, 0, 0, 0, NULL }
14525 };
14526 
14527 static int
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_)14528 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_) {
14529   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14530                               RoamerDatabaseVerificationRequestRes_U_set, hf_index, ett_ansi_map_RoamerDatabaseVerificationRequestRes_U);
14531 
14532   return offset;
14533 }
14534 
14535 
14536 
14537 static int
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_)14538 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_) {
14539   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14540                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RoamerDatabaseVerificationRequestRes_U);
14541 
14542   return offset;
14543 }
14544 
14545 
14546 static const ber_sequence_t LCSParameterRequest_U_set[] = {
14547   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
14548   { &hf_ansi_map_mpcid      , BER_CLASS_CON, 371, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCID },
14549   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
14550   { NULL, 0, 0, 0, NULL }
14551 };
14552 
14553 static int
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_)14554 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_) {
14555   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14556                               LCSParameterRequest_U_set, hf_index, ett_ansi_map_LCSParameterRequest_U);
14557 
14558   return offset;
14559 }
14560 
14561 
14562 
14563 static int
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_)14564 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_) {
14565   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14566                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_LCSParameterRequest_U);
14567 
14568   return offset;
14569 }
14570 
14571 
14572 static const ber_sequence_t LCSParameterRequestRes_U_set[] = {
14573   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
14574   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
14575   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14576   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
14577   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
14578   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14579   { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
14580   { &hf_ansi_map_mpcAddress , BER_CLASS_CON, 370, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddress },
14581   { &hf_ansi_map_mpcAddressList, BER_CLASS_CON, 381, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddressList },
14582   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14583   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
14584   { NULL, 0, 0, 0, NULL }
14585 };
14586 
14587 static int
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_)14588 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_) {
14589   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14590                               LCSParameterRequestRes_U_set, hf_index, ett_ansi_map_LCSParameterRequestRes_U);
14591 
14592   return offset;
14593 }
14594 
14595 
14596 
14597 static int
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_)14598 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_) {
14599   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14600                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_LCSParameterRequestRes_U);
14601 
14602   return offset;
14603 }
14604 
14605 
14606 static const ber_sequence_t CheckMEID_U_set[] = {
14607   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
14608   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
14609   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
14610   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
14611   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
14612   { &hf_ansi_map_emergencyServicesRoutingDigits, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_EmergencyServicesRoutingDigits },
14613   { NULL, 0, 0, 0, NULL }
14614 };
14615 
14616 static int
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_)14617 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_) {
14618   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14619                               CheckMEID_U_set, hf_index, ett_ansi_map_CheckMEID_U);
14620 
14621   return offset;
14622 }
14623 
14624 
14625 
14626 static int
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_)14627 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_) {
14628   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14629                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CheckMEID_U);
14630 
14631   return offset;
14632 }
14633 
14634 
14635 
14636 static int
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_)14637 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_) {
14638   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14639                                        NULL);
14640 
14641   return offset;
14642 }
14643 
14644 
14645 static const ber_sequence_t CheckMEIDRes_U_set[] = {
14646   { &hf_ansi_map_meidStatus , BER_CLASS_CON, 391, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEIDStatus },
14647   { NULL, 0, 0, 0, NULL }
14648 };
14649 
14650 static int
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_)14651 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_) {
14652   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14653                               CheckMEIDRes_U_set, hf_index, ett_ansi_map_CheckMEIDRes_U);
14654 
14655   return offset;
14656 }
14657 
14658 
14659 
14660 static int
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_)14661 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_) {
14662   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14663                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CheckMEIDRes_U);
14664 
14665   return offset;
14666 }
14667 
14668 
14669 static const ber_sequence_t AddService_U_set[] = {
14670   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
14671   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
14672   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
14673   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
14674   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14675   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14676   { NULL, 0, 0, 0, NULL }
14677 };
14678 
14679 static int
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_)14680 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_) {
14681   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14682                               AddService_U_set, hf_index, ett_ansi_map_AddService_U);
14683 
14684   return offset;
14685 }
14686 
14687 
14688 
14689 static int
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_)14690 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_) {
14691   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14692                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AddService_U);
14693 
14694   return offset;
14695 }
14696 
14697 
14698 static const ber_sequence_t AddServiceRes_U_set[] = {
14699   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
14700   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
14701   { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
14702   { &hf_ansi_map_reasonList , BER_CLASS_CON, 218, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReasonList },
14703   { NULL, 0, 0, 0, NULL }
14704 };
14705 
14706 static int
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_)14707 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_) {
14708   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14709                               AddServiceRes_U_set, hf_index, ett_ansi_map_AddServiceRes_U);
14710 
14711   return offset;
14712 }
14713 
14714 
14715 
14716 static int
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_)14717 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_) {
14718   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14719                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AddServiceRes_U);
14720 
14721   return offset;
14722 }
14723 
14724 
14725 static const ber_sequence_t DropService_U_set[] = {
14726   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
14727   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
14728   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
14729   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14730   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14731   { &hf_ansi_map_releaseReason, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReleaseReason },
14732   { NULL, 0, 0, 0, NULL }
14733 };
14734 
14735 static int
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_)14736 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_) {
14737   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14738                               DropService_U_set, hf_index, ett_ansi_map_DropService_U);
14739 
14740   return offset;
14741 }
14742 
14743 
14744 
14745 static int
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_)14746 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_) {
14747   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14748                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_DropService_U);
14749 
14750   return offset;
14751 }
14752 
14753 
14754 static const ber_sequence_t DropServiceRes_U_set[] = {
14755   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
14756   { NULL, 0, 0, 0, NULL }
14757 };
14758 
14759 static int
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_)14760 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_) {
14761   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14762                               DropServiceRes_U_set, hf_index, ett_ansi_map_DropServiceRes_U);
14763 
14764   return offset;
14765 }
14766 
14767 
14768 
14769 static int
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_)14770 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_) {
14771   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14772                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_DropServiceRes_U);
14773 
14774   return offset;
14775 }
14776 
14777 
14778 static const ber_sequence_t PositionEventNotification_U_set[] = {
14779   { &hf_ansi_map_positionResult, BER_CLASS_CON, 338, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionResult },
14780   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14781   { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
14782   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14783   { NULL, 0, 0, 0, NULL }
14784 };
14785 
14786 static int
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_)14787 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_) {
14788   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14789                               PositionEventNotification_U_set, hf_index, ett_ansi_map_PositionEventNotification_U);
14790 
14791   return offset;
14792 }
14793 
14794 
14795 
14796 static int
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_)14797 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_) {
14798   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14799                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_PositionEventNotification_U);
14800 
14801   return offset;
14802 }
14803 
14804 
14805 
14806 static int
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_)14807 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_) {
14808   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14809                                        NULL);
14810 
14811   return offset;
14812 }
14813 
14814 
14815 
14816 static int
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_)14817 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_) {
14818   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14819                                        NULL);
14820 
14821   return offset;
14822 }
14823 
14824 
14825 static const value_string ansi_map_NewlyAssignedMSID_vals[] = {
14826   { 187, "newlyAssignedMIN" },
14827   { 287, "newlyAssignedIMSI" },
14828   { 0, NULL }
14829 };
14830 
14831 static const ber_choice_t NewlyAssignedMSID_choice[] = {
14832   { 187, &hf_ansi_map_newlyAssignedMIN, BER_CLASS_CON, 187, BER_FLAGS_IMPLTAG, dissect_ansi_map_NewlyAssignedMIN },
14833   { 287, &hf_ansi_map_newlyAssignedIMSI, BER_CLASS_CON, 287, BER_FLAGS_IMPLTAG, dissect_ansi_map_NewlyAssignedIMSI },
14834   { 0, NULL, 0, 0, 0, NULL }
14835 };
14836 
14837 static int
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_)14838 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_) {
14839   offset = dissect_ber_choice(actx, tree, tvb, offset,
14840                                  NewlyAssignedMSID_choice, hf_index, ett_ansi_map_NewlyAssignedMSID,
14841                                  NULL);
14842 
14843   return offset;
14844 }
14845 
14846 
14847 static const ber_sequence_t OTASPRequest_U_set[] = {
14848   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
14849   { &hf_ansi_map_aKeyProtocolVersion, BER_CLASS_CON, 181, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AKeyProtocolVersion },
14850   { &hf_ansi_map_authenticationData, BER_CLASS_CON, 161, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationData },
14851   { &hf_ansi_map_authenticationResponse, BER_CLASS_CON, 35, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponse },
14852   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
14853   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
14854   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
14855   { &hf_ansi_map_mobileStationMSID, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MobileStationMSID },
14856   { &hf_ansi_map_mobileStationPartialKey, BER_CLASS_CON, 185, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileStationPartialKey },
14857   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14858   { &hf_ansi_map_newlyAssignedMSID, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_NewlyAssignedMSID },
14859   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
14860   { &hf_ansi_map_randomVariableBaseStation, BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableBaseStation },
14861   { &hf_ansi_map_serviceIndicator, BER_CLASS_CON, 193, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceIndicator },
14862   { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
14863   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
14864   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
14865   { NULL, 0, 0, 0, NULL }
14866 };
14867 
14868 static int
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_)14869 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_) {
14870   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14871                               OTASPRequest_U_set, hf_index, ett_ansi_map_OTASPRequest_U);
14872 
14873   return offset;
14874 }
14875 
14876 
14877 
14878 static int
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_)14879 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_) {
14880   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14881                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OTASPRequest_U);
14882 
14883   return offset;
14884 }
14885 
14886 
14887 
14888 static int
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_)14889 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_) {
14890   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14891                                        NULL);
14892 
14893   return offset;
14894 }
14895 
14896 
14897 
14898 static int
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_)14899 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_) {
14900   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14901                                        NULL);
14902 
14903   return offset;
14904 }
14905 
14906 
14907 
14908 static int
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_)14909 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_) {
14910   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14911                                        NULL);
14912 
14913   return offset;
14914 }
14915 
14916 
14917 
14918 static int
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_)14919 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_) {
14920   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14921                                        NULL);
14922 
14923   return offset;
14924 }
14925 
14926 
14927 static const ber_sequence_t OTASPRequestRes_U_set[] = {
14928   { &hf_ansi_map_aKeyProtocolVersion, BER_CLASS_CON, 181, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AKeyProtocolVersion },
14929   { &hf_ansi_map_authenticationResponseBaseStation, BER_CLASS_CON, 36, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseBaseStation },
14930   { &hf_ansi_map_baseStationPartialKey, BER_CLASS_CON, 183, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BaseStationPartialKey },
14931   { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
14932   { &hf_ansi_map_modulusValue, BER_CLASS_CON, 186, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ModulusValue },
14933   { &hf_ansi_map_otasp_ResultCode, BER_CLASS_CON, 189, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OTASP_ResultCode },
14934   { &hf_ansi_map_primitiveValue, BER_CLASS_CON, 190, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PrimitiveValue },
14935   { &hf_ansi_map_signalingMessageEncryptionReport, BER_CLASS_CON, 194, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionReport },
14936   { &hf_ansi_map_ssdUpdateReport, BER_CLASS_CON, 156, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDUpdateReport },
14937   { &hf_ansi_map_uniqueChallengeReport, BER_CLASS_CON, 124, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UniqueChallengeReport },
14938   { &hf_ansi_map_voicePrivacyReport, BER_CLASS_CON, 196, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyReport },
14939   { NULL, 0, 0, 0, NULL }
14940 };
14941 
14942 static int
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_)14943 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_) {
14944   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14945                               OTASPRequestRes_U_set, hf_index, ett_ansi_map_OTASPRequestRes_U);
14946 
14947   return offset;
14948 }
14949 
14950 
14951 
14952 static int
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_)14953 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_) {
14954   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14955                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OTASPRequestRes_U);
14956 
14957   return offset;
14958 }
14959 
14960 
14961 
14962 static int
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_)14963 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_) {
14964   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14965                                        NULL);
14966 
14967   return offset;
14968 }
14969 
14970 
14971 static const ber_sequence_t StatusRequest_U_set[] = {
14972   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
14973   { &hf_ansi_map_record_Type, BER_CLASS_CON, 392, BER_FLAGS_IMPLTAG, dissect_ansi_map_Record_Type },
14974   { NULL, 0, 0, 0, NULL }
14975 };
14976 
14977 static int
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_)14978 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_) {
14979   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14980                               StatusRequest_U_set, hf_index, ett_ansi_map_StatusRequest_U);
14981 
14982   return offset;
14983 }
14984 
14985 
14986 
14987 static int
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_)14988 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_) {
14989   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14990                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_StatusRequest_U);
14991 
14992   return offset;
14993 }
14994 
14995 
14996 
14997 static int
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_)14998 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_) {
14999   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
15000                                        NULL);
15001 
15002   return offset;
15003 }
15004 
15005 
15006 static const ber_sequence_t StatusRequestRes_U_set[] = {
15007   { &hf_ansi_map_information_Record, BER_CLASS_CON, 389, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Information_Record },
15008   { NULL, 0, 0, 0, NULL }
15009 };
15010 
15011 static int
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_)15012 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_) {
15013   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
15014                               StatusRequestRes_U_set, hf_index, ett_ansi_map_StatusRequestRes_U);
15015 
15016   return offset;
15017 }
15018 
15019 
15020 
15021 static int
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_)15022 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_) {
15023   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
15024                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_StatusRequestRes_U);
15025 
15026   return offset;
15027 }
15028 
15029 
15030 static const ber_sequence_t InterSystemSMSDeliveryPointToPoint_U_set[] = {
15031   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
15032   { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
15033   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
15034   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
15035   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
15036   { &hf_ansi_map_sms_MessageCount, BER_CLASS_CON, 108, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageCount },
15037   { &hf_ansi_map_sms_OriginalOriginatingAddress, BER_CLASS_CON, 112, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingAddress },
15038   { &hf_ansi_map_sms_OriginalOriginatingSubaddress, BER_CLASS_CON, 113, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingSubaddress },
15039   { NULL, 0, 0, 0, NULL }
15040 };
15041 
15042 static int
dissect_ansi_map_InterSystemSMSDeliveryPointToPoint_U(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)15043 dissect_ansi_map_InterSystemSMSDeliveryPointToPoint_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15044   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
15045                               InterSystemSMSDeliveryPointToPoint_U_set, hf_index, ett_ansi_map_InterSystemSMSDeliveryPointToPoint_U);
15046 
15047   return offset;
15048 }
15049 
15050 
15051 
15052 static int
dissect_ansi_map_InterSystemSMSDeliveryPointToPoint(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)15053 dissect_ansi_map_InterSystemSMSDeliveryPointToPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15054   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
15055                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemSMSDeliveryPointToPoint_U);
15056 
15057   return offset;
15058 }
15059 
15060 
15061 static const ber_sequence_t InterSystemSMSDeliveryPointToPointRes_U_set[] = {
15062   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
15063   { &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
15064   { NULL, 0, 0, 0, NULL }
15065 };
15066 
15067 static int
dissect_ansi_map_InterSystemSMSDeliveryPointToPointRes_U(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)15068 dissect_ansi_map_InterSystemSMSDeliveryPointToPointRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15069   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
15070                               InterSystemSMSDeliveryPointToPointRes_U_set, hf_index, ett_ansi_map_InterSystemSMSDeliveryPointToPointRes_U);
15071 
15072   return offset;
15073 }
15074 
15075 
15076 
15077 static int
dissect_ansi_map_InterSystemSMSDeliveryPointToPointRes(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)15078 dissect_ansi_map_InterSystemSMSDeliveryPointToPointRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15079   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
15080                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemSMSDeliveryPointToPointRes_U);
15081 
15082   return offset;
15083 }
15084 
15085 
15086 
15087 static int
dissect_ansi_map_CDMA2000MobileSupportedCapabilities(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)15088 dissect_ansi_map_CDMA2000MobileSupportedCapabilities(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15089   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
15090                                        NULL);
15091 
15092   return offset;
15093 }
15094 
15095 
15096 static const ber_sequence_t InterSystemSMSPage_U_set[] = {
15097   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
15098   { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
15099   { &hf_ansi_map_cdma2000MobileSupportedCapabilities, BER_CLASS_CON, 321, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000MobileSupportedCapabilities },
15100   { &hf_ansi_map_cdmaSlotCycleIndex, BER_CLASS_CON, 166, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASlotCycleIndex },
15101   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
15102   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
15103   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
15104   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
15105   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
15106   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
15107   { &hf_ansi_map_pageIndicator, BER_CLASS_CON, 71, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageIndicator },
15108   { &hf_ansi_map_pageResponseTime, BER_CLASS_CON, 301, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageResponseTime },
15109   { &hf_ansi_map_sms_ChargeIndicator, BER_CLASS_CON, 106, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_ChargeIndicator },
15110   { &hf_ansi_map_sms_DestinationAddress, BER_CLASS_CON, 107, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_DestinationAddress },
15111   { &hf_ansi_map_sms_OriginalDestinationAddress, BER_CLASS_CON, 110, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationAddress },
15112   { &hf_ansi_map_sms_OriginalDestinationSubaddress, BER_CLASS_CON, 111, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationSubaddress },
15113   { &hf_ansi_map_sms_OriginalOriginatingAddress, BER_CLASS_CON, 112, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingAddress },
15114   { &hf_ansi_map_sms_OriginalOriginatingSubaddress, BER_CLASS_CON, 113, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingSubaddress },
15115   { &hf_ansi_map_sms_OriginatingAddress, BER_CLASS_CON, 114, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginatingAddress },
15116   { NULL, 0, 0, 0, NULL }
15117 };
15118 
15119 static int
dissect_ansi_map_InterSystemSMSPage_U(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)15120 dissect_ansi_map_InterSystemSMSPage_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15121   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
15122                               InterSystemSMSPage_U_set, hf_index, ett_ansi_map_InterSystemSMSPage_U);
15123 
15124   return offset;
15125 }
15126 
15127 
15128 
15129 static int
dissect_ansi_map_InterSystemSMSPage(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)15130 dissect_ansi_map_InterSystemSMSPage(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15131   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
15132                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemSMSPage_U);
15133 
15134   return offset;
15135 }
15136 
15137 
15138 static const ber_sequence_t QualificationRequest2_U_set[] = {
15139   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
15140   { &hf_ansi_map_qualificationInformationCode, BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_ansi_map_QualificationInformationCode },
15141   { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
15142   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
15143   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
15144   { &hf_ansi_map_cdmaNetworkIdentification, BER_CLASS_CON, 232, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMANetworkIdentification },
15145   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
15146   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
15147   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
15148   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
15149   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
15150   { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
15151   { &hf_ansi_map_serviceRedirectionCause, BER_CLASS_CON, 237, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionCause },
15152   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
15153   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
15154   { &hf_ansi_map_userGroup  , BER_CLASS_CON, 208, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserGroup },
15155   { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
15156   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
15157   { NULL, 0, 0, 0, NULL }
15158 };
15159 
15160 static int
dissect_ansi_map_QualificationRequest2_U(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)15161 dissect_ansi_map_QualificationRequest2_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15162   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
15163                               QualificationRequest2_U_set, hf_index, ett_ansi_map_QualificationRequest2_U);
15164 
15165   return offset;
15166 }
15167 
15168 
15169 
15170 static int
dissect_ansi_map_QualificationRequest2(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)15171 dissect_ansi_map_QualificationRequest2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15172   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
15173                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_QualificationRequest2_U);
15174 
15175   return offset;
15176 }
15177 
15178 
15179 static const ber_sequence_t QualificationRequest2Res_U_set[] = {
15180   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
15181   { &hf_ansi_map_analogRedirectRecord, BER_CLASS_CON, 225, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectRecord },
15182   { &hf_ansi_map_authorizationDenied, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationDenied },
15183   { &hf_ansi_map_authorizationPeriod, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationPeriod },
15184   { &hf_ansi_map_cdmaRedirectRecord, BER_CLASS_CON, 229, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMARedirectRecord },
15185   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
15186   { &hf_ansi_map_deniedAuthorizationPeriod, BER_CLASS_CON, 167, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DeniedAuthorizationPeriod },
15187   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
15188   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
15189   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
15190   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
15191   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
15192   { &hf_ansi_map_authenticationCapability, BER_CLASS_CON, 78, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationCapability },
15193   { &hf_ansi_map_callingFeaturesIndicator, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingFeaturesIndicator },
15194   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
15195   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
15196   { &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
15197   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
15198   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
15199   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
15200   { &hf_ansi_map_geographicAuthorization, BER_CLASS_CON, 143, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GeographicAuthorization },
15201   { &hf_ansi_map_meidValidated, BER_CLASS_CON, 401, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEIDValidated },
15202   { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
15203   { &hf_ansi_map_messageWaitingNotificationType, BER_CLASS_CON, 145, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationType },
15204   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
15205   { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
15206   { &hf_ansi_map_originationIndicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationIndicator },
15207   { &hf_ansi_map_originationTriggers, BER_CLASS_CON, 98, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationTriggers },
15208   { &hf_ansi_map_pACAIndicator, BER_CLASS_CON, 146, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PACAIndicator },
15209   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
15210   { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
15211   { &hf_ansi_map_restrictionDigits, BER_CLASS_CON, 227, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RestrictionDigits },
15212   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
15213   { &hf_ansi_map_pSID_RSIDList, BER_CLASS_CON, 203, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDList },
15214   { &hf_ansi_map_sms_OriginationRestrictions, BER_CLASS_CON, 115, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginationRestrictions },
15215   { &hf_ansi_map_sms_TerminationRestrictions, BER_CLASS_CON, 117, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TerminationRestrictions },
15216   { &hf_ansi_map_spinipin   , BER_CLASS_CON, 154, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINIPIN },
15217   { &hf_ansi_map_spiniTriggers, BER_CLASS_CON, 155, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINITriggers },
15218   { &hf_ansi_map_tdmaDataFeaturesIndicator, BER_CLASS_CON, 221, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataFeaturesIndicator },
15219   { &hf_ansi_map_terminationRestrictionCode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationRestrictionCode },
15220   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
15221   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
15222   { &hf_ansi_map_userGroup  , BER_CLASS_CON, 208, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserGroup },
15223   { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
15224   { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
15225   { &hf_ansi_map_callingPartyCategory, BER_CLASS_CON, 355, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyCategory },
15226   { &hf_ansi_map_lirMode    , BER_CLASS_CON, 369, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LIRMode },
15227   { &hf_ansi_map_roamingIndication, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoamingIndication },
15228   { &hf_ansi_map_serviceRedirectionInfo, BER_CLASS_CON, 238, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionInfo },
15229   { NULL, 0, 0, 0, NULL }
15230 };
15231 
15232 static int
dissect_ansi_map_QualificationRequest2Res_U(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)15233 dissect_ansi_map_QualificationRequest2Res_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15234   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
15235                               QualificationRequest2Res_U_set, hf_index, ett_ansi_map_QualificationRequest2Res_U);
15236 
15237   return offset;
15238 }
15239 
15240 
15241 
15242 static int
dissect_ansi_map_QualificationRequest2Res(gboolean implicit_tag _U_,tvbuff_t * tvb _U_,int offset _U_,asn1_ctx_t * actx _U_,proto_tree * tree _U_,int hf_index _U_)15243 dissect_ansi_map_QualificationRequest2Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15244   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
15245                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_QualificationRequest2Res_U);
15246 
15247   return offset;
15248 }
15249 
15250 
15251 
15252 
15253 /*--- End of included file: packet-ansi_map-fn.c ---*/
15254 #line 3606 "./asn1/ansi_map/packet-ansi_map-template.c"
15255 
15256 /*
15257  * 6.5.2.dk N.S0013-0 v 1.0,X.S0004-550-E v1.0 2.301
15258  */
15259 static void
dissect_ansi_map_win_trigger_list(tvbuff_t * tvb,packet_info * pinfo _U_,proto_tree * tree _U_,asn1_ctx_t * actx _U_)15260 dissect_ansi_map_win_trigger_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
15261 
15262     int offset = 0;
15263     int end_offset = 0;
15264     int j = 0;
15265     proto_tree *subtree;
15266     guint8 octet;
15267 
15268     end_offset = tvb_reported_length_remaining(tvb,offset);
15269     subtree = proto_item_add_subtree(actx->created_item, ett_win_trigger_list);
15270 
15271     while(offset< end_offset) {
15272         octet = tvb_get_guint8(tvb,offset);
15273         switch (octet){
15274         case 0xdc:
15275             proto_tree_add_uint_format(subtree, hf_ansi_map_win_trigger_list, tvb, offset, 1, octet, "TDP-R's armed");
15276             j=0;
15277             break;
15278         case 0xdd:
15279             proto_tree_add_uint_format(subtree, hf_ansi_map_win_trigger_list, tvb, offset, 1, octet, "TDP-N's armed");
15280             j=0;
15281             break;
15282         case 0xde:
15283             proto_tree_add_uint_format(subtree, hf_ansi_map_win_trigger_list, tvb, offset, 1, octet, "EDP-R's armed");
15284             j=0;
15285             break;
15286         case 0xdf:
15287             proto_tree_add_uint_format(subtree, hf_ansi_map_win_trigger_list, tvb, offset, 1, octet, "EDP-N's armed");
15288             j=0;
15289             break;
15290         default:
15291             proto_tree_add_uint_format(subtree, hf_ansi_map_win_trigger_list, tvb, offset, 1, octet, "[%u] (%u) %s",j,octet,val_to_str_ext(octet, &ansi_map_TriggerType_vals_ext, "Unknown TriggerType (%u)"));
15292             j++;
15293             break;
15294         }
15295         offset++;
15296     }
15297 }
15298 
15299 
dissect_invokeData(proto_tree * tree,tvbuff_t * tvb,int offset,asn1_ctx_t * actx)15300 static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
15301     static gboolean               opCodeKnown = TRUE;
15302     static ansi_map_tap_rec_t     tap_rec[16];
15303     static ansi_map_tap_rec_t     *tap_p;
15304     static int                    tap_current=0;
15305 
15306     /*
15307      * set tap record pointer
15308      */
15309     tap_current++;
15310     if (tap_current == array_length(tap_rec))
15311     {
15312         tap_current = 0;
15313     }
15314     tap_p = &tap_rec[tap_current];
15315 
15316     switch(OperationCode){
15317     case 1: /*Handoff Measurement Request*/
15318         offset = dissect_ansi_map_HandoffMeasurementRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequest);
15319         break;
15320     case 2: /*Facilities Directive*/
15321         offset = dissect_ansi_map_FacilitiesDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirective);
15322         break;
15323     case 3: /*Mobile On Channel*/
15324         proto_tree_add_expert(tree, actx->pinfo, &ei_ansi_map_no_data, tvb, offset, -1);
15325         break;
15326     case 4: /*Handoff Back*/
15327         offset = dissect_ansi_map_HandoffBack(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBack);
15328         break;
15329     case 5: /*Facilities Release*/
15330         offset = dissect_ansi_map_FacilitiesRelease(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesRelease);
15331         break;
15332     case 6: /*Qualification Request*/
15333         offset = dissect_ansi_map_QualificationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationRequest);
15334         break;
15335     case 7: /*Qualification Directive*/
15336         offset = dissect_ansi_map_QualificationDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationDirective);
15337         break;
15338     case 8: /*Blocking*/
15339         offset = dissect_ansi_map_Blocking(TRUE, tvb, offset, actx, tree, hf_ansi_map_blocking);
15340         break;
15341     case 9: /*Unblocking*/
15342         offset = dissect_ansi_map_Unblocking(TRUE, tvb, offset, actx, tree, hf_ansi_map_unblocking);
15343         break;
15344     case 10: /*Reset Circuit*/
15345         offset = dissect_ansi_map_ResetCircuit(TRUE, tvb, offset, actx, tree, hf_ansi_map_resetCircuit);
15346         break;
15347     case 11: /*Trunk Test*/
15348         offset = dissect_ansi_map_TrunkTest(TRUE, tvb, offset, actx, tree, hf_ansi_map_trunkTest);
15349         break;
15350     case 12: /*Trunk Test Disconnect*/
15351         offset = dissect_ansi_map_TrunkTestDisconnect(TRUE, tvb, offset, actx, tree, hf_ansi_map_trunkTestDisconnect);
15352         break;
15353     case  13: /*Registration Notification*/
15354         offset = dissect_ansi_map_RegistrationNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationNotification);
15355         break;
15356     case  14: /*Registration Cancellation*/
15357         offset = dissect_ansi_map_RegistrationCancellation(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationCancellation);
15358         break;
15359     case  15: /*Location Request*/
15360         offset = dissect_ansi_map_LocationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_locationRequest);
15361         break;
15362     case  16: /*Routing Request*/
15363         offset = dissect_ansi_map_RoutingRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_routingRequest);
15364         break;
15365     case  17: /*Feature Request*/
15366         offset = dissect_ansi_map_FeatureRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_featureRequest);
15367         break;
15368     case  18: /*Reserved 18 (Service Profile Request, IS-41-C)*/
15369         proto_tree_add_expert_format(tree, actx->pinfo, &ei_ansi_map_unknown_invokeData_blob, tvb, offset, -1, "Unknown invokeData blob(18 (Service Profile Request, IS-41-C)");
15370         break;
15371     case  19: /*Reserved 19 (Service Profile Directive, IS-41-C)*/
15372         proto_tree_add_expert_format(tree, actx->pinfo, &ei_ansi_map_unknown_invokeData_blob, tvb, offset, -1, "Unknown invokeData blob(19 Service Profile Directive, IS-41-C)");
15373         break;
15374     case  20: /*Unreliable Roamer Data Directive*/
15375         offset = dissect_ansi_map_UnreliableRoamerDataDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_unreliableRoamerDataDirective);
15376         break;
15377     case  21: /*Reserved 21 (Call Data Request, IS-41-C)*/
15378         proto_tree_add_expert_format(tree, actx->pinfo, &ei_ansi_map_unknown_invokeData_blob, tvb, offset, -1, "Unknown invokeData blob(Reserved 21 (Call Data Request, IS-41-C)");
15379         break;
15380     case  22: /*MS Inactive*/
15381         offset = dissect_ansi_map_MSInactive(TRUE, tvb, offset, actx, tree, hf_ansi_map_mSInactive);
15382         break;
15383     case  23: /*Transfer To Number Request*/
15384         offset = dissect_ansi_map_TransferToNumberRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_transferToNumberRequest);
15385         break;
15386     case  24: /*Redirection Request*/
15387         offset = dissect_ansi_map_RedirectionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_redirectionRequest);
15388         break;
15389     case  25: /*Handoff To Third*/
15390         offset = dissect_ansi_map_HandoffToThird(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThird);
15391         break;
15392     case  26: /*Flash Request*/
15393         offset = dissect_ansi_map_FlashRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_flashRequest);
15394         break;
15395     case  27: /*Authentication Directive*/
15396         offset = dissect_ansi_map_AuthenticationDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirective);
15397         break;
15398     case  28: /*Authentication Request*/
15399         offset = dissect_ansi_map_AuthenticationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationRequest);
15400         break;
15401     case  29: /*Base Station Challenge*/
15402         offset = dissect_ansi_map_BaseStationChallenge(TRUE, tvb, offset, actx, tree, hf_ansi_map_baseStationChallenge);
15403         break;
15404     case  30: /*Authentication Failure Report*/
15405         offset = dissect_ansi_map_AuthenticationFailureReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationFailureReport);
15406         break;
15407     case  31: /*Count Request*/
15408         offset = dissect_ansi_map_CountRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_countRequest);
15409         break;
15410     case  32: /*Inter System Page*/
15411         offset = dissect_ansi_map_InterSystemPage(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPage);
15412         break;
15413     case  33: /*Unsolicited Response*/
15414         offset = dissect_ansi_map_UnsolicitedResponse(TRUE, tvb, offset, actx, tree, hf_ansi_map_unsolicitedResponse);
15415         break;
15416     case  34: /*Bulk Deregistration*/
15417         offset = dissect_ansi_map_BulkDeregistration(TRUE, tvb, offset, actx, tree, hf_ansi_map_bulkDeregistration);
15418         break;
15419     case  35: /*Handoff Measurement Request 2*/
15420         offset = dissect_ansi_map_HandoffMeasurementRequest2(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequest2);
15421         break;
15422     case  36: /*Facilities Directive 2*/
15423         offset = dissect_ansi_map_FacilitiesDirective2(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirective2);
15424         break;
15425     case  37: /*Handoff Back 2*/
15426         offset = dissect_ansi_map_HandoffBack2(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBack2);
15427         break;
15428     case  38: /*Handoff To Third 2*/
15429         offset = dissect_ansi_map_HandoffToThird2(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThird2);
15430         break;
15431     case  39: /*Authentication Directive Forward*/
15432         offset = dissect_ansi_map_AuthenticationDirectiveForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveForward);
15433         break;
15434     case  40: /*Authentication Status Report*/
15435         offset = dissect_ansi_map_AuthenticationStatusReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationStatusReport);
15436         break;
15437     case  41: /*Reserved 41*/
15438         proto_tree_add_expert_format(tree, actx->pinfo, &ei_ansi_map_unknown_invokeData_blob, tvb, offset, -1, "Reserved 41, Unknown invokeData blob");
15439         break;
15440     case  42: /*Information Directive*/
15441         offset = dissect_ansi_map_InformationDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationDirective);
15442         break;
15443     case  43: /*Information Forward*/
15444         offset = dissect_ansi_map_InformationForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationForward);
15445         break;
15446     case  44: /*Inter System Answer*/
15447         offset = dissect_ansi_map_InterSystemAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemAnswer);
15448         break;
15449     case  45: /*Inter System Page 2*/
15450         offset = dissect_ansi_map_InterSystemPage2(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPage2);
15451         break;
15452     case  46: /*Inter System Setup*/
15453         offset = dissect_ansi_map_InterSystemSetup(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemSetup);
15454         break;
15455     case  47: /*OriginationRequest*/
15456         offset = dissect_ansi_map_OriginationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_originationRequest);
15457         break;
15458     case  48: /*Random Variable Request*/
15459         offset = dissect_ansi_map_RandomVariableRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_randomVariableRequest);
15460         break;
15461     case  49: /*Redirection Directive*/
15462         offset = dissect_ansi_map_RedirectionDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_redirectionDirective);
15463         break;
15464     case  50: /*Remote User Interaction Directive*/
15465         offset = dissect_ansi_map_RemoteUserInteractionDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_remoteUserInteractionDirective);
15466         break;
15467     case  51: /*SMS Delivery Backward*/
15468         offset = dissect_ansi_map_SMSDeliveryBackward(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryBackward);
15469         break;
15470     case  52: /*SMS Delivery Forward*/
15471         offset = dissect_ansi_map_SMSDeliveryForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryForward);
15472         break;
15473     case  53: /*SMS Delivery Point to Point*/
15474         offset = dissect_ansi_map_SMSDeliveryPointToPoint(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryPointToPoint);
15475         break;
15476     case  54: /*SMS Notification*/
15477         offset = dissect_ansi_map_SMSNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSNotification);
15478         break;
15479     case  55: /*SMS Request*/
15480         offset = dissect_ansi_map_SMSRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSRequest);
15481         break;
15482         /* End N.S0005*/
15483         /* N.S0010-0 v 1.0 */
15484         /* N.S0011-0 v 1.0 */
15485     case  56: /*OTASP Request 6.4.2.CC*/
15486         offset = dissect_ansi_map_OTASPRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_oTASPRequest);
15487         break;
15488         /*End N.S0011-0 v 1.0 */
15489     case  57: /*Information Backward*/
15490         break;
15491         /*  N.S0008-0 v 1.0 */
15492     case  58: /*Change Facilities*/
15493         offset = dissect_ansi_map_ChangeFacilities(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeFacilities);
15494         break;
15495     case  59: /*Change Service*/
15496         offset = dissect_ansi_map_ChangeService(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeService);
15497         break;
15498         /* End N.S0008-0 v 1.0 */
15499     case  60: /*Parameter Request*/
15500         offset = dissect_ansi_map_ParameterRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_parameterRequest);
15501         break;
15502     case  61: /*TMSI Directive*/
15503         offset = dissect_ansi_map_TMSIDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_tMSIDirective);
15504         break;
15505         /*End  N.S0010-0 v 1.0 */
15506     case  62: /*NumberPortabilityRequest 62*/
15507         offset = dissect_ansi_map_NumberPortabilityRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_numberPortabilityRequest);
15508         break;
15509     case  63: /*Service Request N.S0012-0 v 1.0*/
15510         offset = dissect_ansi_map_ServiceRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_serviceRequest);
15511         break;
15512         /* N.S0013 */
15513     case  64: /*Analyzed Information Request*/
15514         offset = dissect_ansi_map_AnalyzedInformation(TRUE, tvb, offset, actx, tree, hf_ansi_map_analyzedInformation);
15515         break;
15516     case  65: /*Connection Failure Report*/
15517         offset = dissect_ansi_map_ConnectionFailureReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_connectionFailureReport);
15518         break;
15519     case  66: /*Connect Resource*/
15520         offset = dissect_ansi_map_ConnectResource(TRUE, tvb, offset, actx, tree, hf_ansi_map_connectResource);
15521         break;
15522     case  67: /*Disconnect Resource*/
15523         /* No data */
15524         break;
15525     case  68: /*Facility Selected and Available*/
15526         offset = dissect_ansi_map_FacilitySelectedAndAvailable(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitySelectedAndAvailable);
15527         break;
15528     case  69: /*Instruction Request*/
15529         /* No data */
15530         break;
15531     case  70: /*Modify*/
15532         offset = dissect_ansi_map_Modify(TRUE, tvb, offset, actx, tree, hf_ansi_map_modify);
15533         break;
15534     case  71: /*Reset Timer*/
15535         /*No Data*/
15536         break;
15537     case  72: /*Search*/
15538         offset = dissect_ansi_map_Search(TRUE, tvb, offset, actx, tree, hf_ansi_map_search);
15539         break;
15540     case  73: /*Seize Resource*/
15541         offset = dissect_ansi_map_SeizeResource(TRUE, tvb, offset, actx, tree, hf_ansi_map_seizeResource);
15542         break;
15543     case  74: /*SRF Directive*/
15544         offset = dissect_ansi_map_SRFDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_sRFDirective);
15545         break;
15546     case  75: /*T Busy*/
15547         offset = dissect_ansi_map_TBusy(TRUE, tvb, offset, actx, tree, hf_ansi_map_tBusy);
15548         break;
15549     case  76: /*T NoAnswer*/
15550         offset = dissect_ansi_map_TNoAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_tNoAnswer);
15551         break;
15552         /*END N.S0013 */
15553     case  77: /*Release*/
15554         break;
15555     case  78: /*SMS Delivery Point to Point Ack*/
15556         offset = dissect_ansi_map_SMSDeliveryPointToPointAck(TRUE, tvb, offset, actx, tree, hf_ansi_map_smsDeliveryPointToPointAck);
15557         break;
15558         /* N.S0024*/
15559     case  79: /*Message Directive*/
15560         offset = dissect_ansi_map_MessageDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_messageDirective);
15561         break;
15562         /*END N.S0024*/
15563         /* N.S0018 PN-4287*/
15564     case  80: /*Bulk Disconnection*/
15565         offset = dissect_ansi_map_BulkDisconnection(TRUE, tvb, offset, actx, tree, hf_ansi_map_bulkDisconnection);
15566         break;
15567     case  81: /*Call Control Directive*/
15568         offset = dissect_ansi_map_CallControlDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_callControlDirective);
15569         break;
15570     case  82: /*O Answer*/
15571         offset = dissect_ansi_map_OAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_oAnswer);
15572         break;
15573     case  83: /*O Disconnect*/
15574         offset = dissect_ansi_map_ODisconnect(TRUE, tvb, offset, actx, tree, hf_ansi_map_oDisconnect);
15575         break;
15576     case  84: /*Call Recovery Report*/
15577         offset = dissect_ansi_map_CallRecoveryReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_callRecoveryReport);
15578         break;
15579     case  85: /*T Answer*/
15580         offset = dissect_ansi_map_TAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_tAnswer);
15581         break;
15582     case  86: /*T Disconnect*/
15583         offset = dissect_ansi_map_TDisconnect(TRUE, tvb, offset, actx, tree, hf_ansi_map_tDisconnect);
15584         break;
15585     case  87: /*Unreliable Call Data*/
15586         offset = dissect_ansi_map_UnreliableCallData(TRUE, tvb, offset, actx, tree, hf_ansi_map_unreliableCallData);
15587         break;
15588         /* N.S0018 PN-4287*/
15589         /*N.S0004 */
15590     case  88: /*O CalledPartyBusy*/
15591         offset = dissect_ansi_map_OCalledPartyBusy(TRUE, tvb, offset, actx, tree, hf_ansi_map_oCalledPartyBusy);
15592         break;
15593     case  89: /*O NoAnswer*/
15594         offset = dissect_ansi_map_ONoAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_oNoAnswer);
15595         break;
15596     case  90: /*Position Request*/
15597         offset = dissect_ansi_map_PositionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequest);
15598         break;
15599     case  91: /*Position Request Forward*/
15600         offset = dissect_ansi_map_PositionRequestForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequestForward);
15601         break;
15602         /*END N.S0004 */
15603     case  92: /*Call Termination Report*/
15604         offset = dissect_ansi_map_CallTerminationReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_callTerminationReport);
15605         break;
15606     case  93: /*Geo Position Directive*/
15607         break;
15608     case  94: /*Geo Position Request*/
15609         offset = dissect_ansi_map_GeoPositionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequest);
15610         break;
15611     case  95: /*Inter System Position Request*/
15612         offset = dissect_ansi_map_InterSystemPositionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequest);
15613         break;
15614     case  96: /*Inter System Position Request Forward*/
15615         offset = dissect_ansi_map_InterSystemPositionRequestForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequestForward);
15616         break;
15617         /* 3GPP2 N.S0023-0 */
15618     case  97: /*ACG Directive*/
15619         offset = dissect_ansi_map_ACGDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_aCGDirective);
15620         break;
15621         /* END 3GPP2 N.S0023-0 */
15622     case  98: /*Roamer Database Verification Request*/
15623         offset = dissect_ansi_map_RoamerDatabaseVerificationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_roamerDatabaseVerificationRequest);
15624         break;
15625         /* N.S0029 X.S0001-A v1.0*/
15626     case  99: /*Add Service*/
15627         offset = dissect_ansi_map_AddService(TRUE, tvb, offset, actx, tree, hf_ansi_map_addService);
15628         break;
15629     case  100: /*Drop Service*/
15630         offset = dissect_ansi_map_DropService(TRUE, tvb, offset, actx, tree, hf_ansi_map_dropService);
15631         break;
15632         /*End N.S0029 X.S0001-A v1.0*/
15633         /* X.S0002-0 v1.0 */
15634         /* LCSParameterRequest */
15635     case 101:    /* InterSystemSMSPage 101 */
15636         offset = dissect_ansi_map_InterSystemSMSPage(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemSMSPage);
15637         break;
15638     case 102:
15639         offset = dissect_ansi_map_LCSParameterRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_lcsParameterRequest);
15640         break;
15641         /* CheckMEID X.S0008-0 v1.0*/
15642     case 104:
15643         offset = dissect_ansi_map_CheckMEID(TRUE, tvb, offset, actx, tree, hf_ansi_map_checkMEID);
15644         break;
15645         /* PositionEventNotification */
15646     case 106:
15647         offset = dissect_ansi_map_PositionEventNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionEventNotification);
15648         break;
15649     case 107:
15650         /* StatusRequest X.S0008-0 v1.0*/
15651         offset = dissect_ansi_map_StatusRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_statusRequest);
15652         break;
15653         /* InterSystemSMSDelivery-PointToPoint 111 X.S0004-540-E v2.0*/
15654     case 111:
15655         /* InterSystemSMSDeliveryPointToPoint X.S0004-540-E v2.0 */
15656         offset = dissect_ansi_map_InterSystemSMSDeliveryPointToPoint(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemSMSDeliveryPointToPoint);
15657         break;
15658     case 112:
15659         /* QualificationRequest2 112 X.S0004-540-E v2.0*/
15660         offset = dissect_ansi_map_QualificationRequest2(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationRequest2);
15661         break;
15662     default:
15663         proto_tree_add_expert(tree, actx->pinfo, &ei_ansi_map_unknown_invokeData_blob, tvb, offset, -1);
15664         opCodeKnown = FALSE;
15665         break;
15666     }
15667 
15668     if (opCodeKnown)
15669     {
15670         tap_p->message_type = OperationCode;
15671         tap_p->size = 0;    /* should be number of octets in message */
15672 
15673         tap_queue_packet(ansi_map_tap, g_pinfo, tap_p);
15674     }
15675 
15676     return offset;
15677 }
15678 
dissect_returnData(proto_tree * tree,tvbuff_t * tvb,int offset,asn1_ctx_t * actx)15679 static int dissect_returnData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
15680     static gboolean               opCodeKnown = TRUE;
15681     static ansi_map_tap_rec_t     tap_rec[16];
15682     static ansi_map_tap_rec_t     *tap_p;
15683     static int                    tap_current=0;
15684 
15685     /*
15686      * set tap record pointer
15687      */
15688     tap_current++;
15689     if (tap_current == array_length(tap_rec))
15690     {
15691         tap_current = 0;
15692     }
15693     tap_p = &tap_rec[tap_current];
15694 
15695     switch(OperationCode){
15696     case 1: /*Handoff Measurement Request*/
15697         offset = dissect_ansi_map_HandoffMeasurementRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequestRes);
15698         break;
15699     case 2: /*Facilities Directive*/
15700         offset = dissect_ansi_map_FacilitiesDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirectiveRes);
15701         break;
15702     case 4: /*Handoff Back*/
15703         offset = dissect_ansi_map_HandoffBackRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBackRes);
15704         break;
15705     case 5: /*Facilities Release*/
15706         offset = dissect_ansi_map_FacilitiesReleaseRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesReleaseRes);
15707         break;
15708     case 6: /*Qualification Request*/
15709         offset = dissect_ansi_map_QualificationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationRequestRes);
15710         break;
15711     case 7: /*Qualification Directive*/
15712         offset = dissect_ansi_map_QualificationDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationDirectiveRes);
15713         break;
15714     case 10: /*Reset Circuit*/
15715         offset = dissect_ansi_map_ResetCircuitRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_resetCircuitRes);
15716         break;
15717     case 13: /*Registration Notification*/
15718         offset = dissect_ansi_map_RegistrationNotificationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationNotificationRes);
15719         break;
15720     case  14: /*Registration Cancellation*/
15721         offset = dissect_ansi_map_RegistrationCancellationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationCancellationRes);
15722         break;
15723     case  15: /*Location Request*/
15724         offset = dissect_ansi_map_LocationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_locationRequestRes);
15725         break;
15726     case  16: /*Routing Request*/
15727         offset = dissect_ansi_map_RoutingRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_routingRequestRes);
15728         break;
15729     case  17: /*Feature Request*/
15730         offset = dissect_ansi_map_FeatureRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_featureRequestRes);
15731         break;
15732     case  23: /*Transfer To Number Request*/
15733         offset = dissect_ansi_map_TransferToNumberRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_transferToNumberRequestRes);
15734         break;
15735     case  25: /*Handoff To Third*/
15736         offset = dissect_ansi_map_HandoffToThirdRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThirdRes);
15737         break;
15738     case  26: /*Flash Request*/
15739         /* No data */
15740         proto_tree_add_expert(tree, actx->pinfo, &ei_ansi_map_no_data, tvb, offset, -1);
15741         break;
15742     case  27: /*Authentication Directive*/
15743         offset = dissect_ansi_map_AuthenticationDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveRes);
15744         break;
15745     case  28: /*Authentication Request*/
15746         offset = dissect_ansi_map_AuthenticationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationRequestRes);
15747         break;
15748     case  29: /*Base Station Challenge*/
15749         offset = dissect_ansi_map_BaseStationChallengeRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_baseStationChallengeRes);
15750         break;
15751     case  30: /*Authentication Failure Report*/
15752         offset = dissect_ansi_map_AuthenticationFailureReportRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationFailureReportRes);
15753         break;
15754     case  31: /*Count Request*/
15755         offset = dissect_ansi_map_CountRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_countRequestRes);
15756         break;
15757     case  32: /*Inter System Page*/
15758         offset = dissect_ansi_map_InterSystemPageRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPageRes);
15759         break;
15760     case  33: /*Unsolicited Response*/
15761         offset = dissect_ansi_map_UnsolicitedResponseRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_unsolicitedResponseRes);
15762         break;
15763     case  35: /*Handoff Measurement Request 2*/
15764         offset = dissect_ansi_map_HandoffMeasurementRequest2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequest2Res);
15765         break;
15766     case  36: /*Facilities Directive 2*/
15767         offset = dissect_ansi_map_FacilitiesDirective2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirective2Res);
15768         break;
15769     case  37: /*Handoff Back 2*/
15770         offset = dissect_ansi_map_HandoffBack2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBack2Res);
15771         break;
15772     case  38: /*Handoff To Third 2*/
15773         offset = dissect_ansi_map_HandoffToThird2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThird2Res);
15774         break;
15775     case  39: /*Authentication Directive Forward*/
15776         offset = dissect_ansi_map_AuthenticationDirectiveForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveForwardRes);
15777         break;
15778     case  40: /*Authentication Status Report*/
15779         offset = dissect_ansi_map_AuthenticationStatusReportRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationStatusReportRes);
15780         break;
15781         /*Reserved 41*/
15782     case  42: /*Information Directive*/
15783         offset = dissect_ansi_map_InformationDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationDirectiveRes);
15784         break;
15785     case  43: /*Information Forward*/
15786         offset = dissect_ansi_map_InformationForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationForwardRes);
15787         break;
15788     case  45: /*Inter System Page 2*/
15789         offset = dissect_ansi_map_InterSystemPage2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPage2Res);
15790         break;
15791     case  46: /*Inter System Setup*/
15792         offset = dissect_ansi_map_InterSystemSetupRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemSetupRes);
15793         break;
15794     case  47: /*OriginationRequest*/
15795         offset = dissect_ansi_map_OriginationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_originationRequestRes);
15796         break;
15797     case  48: /*Random Variable Request*/
15798         offset = dissect_ansi_map_RandomVariableRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_randomVariableRequestRes);
15799         break;
15800     case  50: /*Remote User Interaction Directive*/
15801         offset = dissect_ansi_map_RemoteUserInteractionDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_remoteUserInteractionDirectiveRes);
15802         break;
15803     case  51: /*SMS Delivery Backward*/
15804         offset = dissect_ansi_map_SMSDeliveryBackwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryBackwardRes);
15805         break;
15806     case  52: /*SMS Delivery Forward*/
15807         offset = dissect_ansi_map_SMSDeliveryForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryForwardRes);
15808         break;
15809     case  53: /*SMS Delivery Point to Point*/
15810         offset = dissect_ansi_map_SMSDeliveryPointToPointRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryPointToPointRes);
15811         break;
15812     case  54: /*SMS Notification*/
15813         offset = dissect_ansi_map_SMSNotificationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSNotificationRes);
15814         break;
15815     case  55: /*SMS Request*/
15816         offset = dissect_ansi_map_SMSRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSRequestRes);
15817         break;
15818         /*  N.S0008-0 v 1.0 */
15819     case  56: /*OTASP Request 6.4.2.CC*/
15820         offset = dissect_ansi_map_OTASPRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oTASPRequestRes);
15821         break;
15822     /* 57 Information Backward*/
15823     case  58: /*Change Facilities*/
15824         offset = dissect_ansi_map_ChangeFacilitiesRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeFacilitiesRes);
15825         break;
15826     case  59: /*Change Service*/
15827         offset = dissect_ansi_map_ChangeServiceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeServiceRes);
15828         break;
15829     case  60: /*Parameter Request*/
15830         offset = dissect_ansi_map_ParameterRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_parameterRequestRes);
15831         break;
15832     case  61: /*TMSI Directive*/
15833         offset = dissect_ansi_map_TMSIDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tMSIDirectiveRes);
15834         break;
15835     case  62: /*NumberPortabilityRequest */
15836         offset = dissect_ansi_map_NumberPortabilityRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_numberPortabilityRequestRes);
15837         break;
15838     case  63: /*Service Request*/
15839         offset = dissect_ansi_map_ServiceRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_serviceRequestRes);
15840         break;
15841         /* N.S0013 */
15842     case  64: /*Analyzed Information Request*/
15843         offset = dissect_ansi_map_AnalyzedInformationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_analyzedInformationRes);
15844         break;
15845     /* 65 Connection Failure Report*/
15846     /* 66 Connect Resource*/
15847     /* 67 Disconnect Resource*/
15848     case  68: /*Facility Selected and Available*/
15849         offset = dissect_ansi_map_FacilitySelectedAndAvailableRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitySelectedAndAvailableRes);
15850         break;
15851     /* 69 Instruction Request*/
15852     case  70: /*Modify*/
15853         offset = dissect_ansi_map_ModifyRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_modifyRes);
15854         break;
15855     case  72: /*Search*/
15856         offset = dissect_ansi_map_SearchRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_searchRes);
15857         break;
15858     case  73: /*Seize Resource*/
15859         offset = dissect_ansi_map_SeizeResourceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_seizeResourceRes);
15860         break;
15861     case  74: /*SRF Directive*/
15862         offset = dissect_ansi_map_SRFDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sRFDirectiveRes);
15863         break;
15864     case  75: /*T Busy*/
15865         offset = dissect_ansi_map_TBusyRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tBusyRes);
15866         break;
15867     case  76: /*T NoAnswer*/
15868         offset = dissect_ansi_map_TNoAnswerRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tNoAnswerRes);
15869         break;
15870     case  81: /*Call Control Directive*/
15871         offset = dissect_ansi_map_CallControlDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_callControlDirectiveRes);
15872         break;
15873     case  83: /*O Disconnect*/
15874         offset = dissect_ansi_map_ODisconnectRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oDisconnectRes);
15875         break;
15876     case  86: /*T Disconnect*/
15877         offset = dissect_ansi_map_TDisconnectRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tDisconnectRes);
15878         break;
15879     case  88: /*O CalledPartyBusy*/
15880         offset = dissect_ansi_map_OCalledPartyBusyRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oCalledPartyBusyRes);
15881         break;
15882     case  89: /*O NoAnswer*/
15883         offset = dissect_ansi_map_ONoAnswerRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oNoAnswerRes);
15884         break;
15885     case  90: /*Position Request*/
15886         offset = dissect_ansi_map_PositionRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequestRes);
15887         break;
15888     case  91: /*Position Request Forward*/
15889         offset = dissect_ansi_map_PositionRequestForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequestForwardRes);
15890         break;
15891     case  95: /*Inter System Position Request*/
15892         offset = dissect_ansi_map_InterSystemPositionRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequestRes);
15893         break;
15894     case  96: /*Inter System Position Request Forward*/
15895         offset = dissect_ansi_map_InterSystemPositionRequestForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequestRes);
15896         break;
15897     case  98: /*Roamer Database Verification Request*/
15898         offset = dissect_ansi_map_RoamerDatabaseVerificationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_roamerDatabaseVerificationRequestRes);
15899         break;
15900     case  99: /*Add Service*/
15901         offset = dissect_ansi_map_AddServiceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_addServiceRes);
15902         break;
15903     case  100: /*Drop Service*/
15904         offset = dissect_ansi_map_DropServiceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_dropServiceRes);
15905         break;
15906         /*End N.S0029 */
15907         /* X.S0002-0 v1.0 */
15908         /* LCSParameterRequest */
15909     case 102:
15910         offset = dissect_ansi_map_LCSParameterRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_lcsParameterRequestRes);
15911         break;
15912         /* CheckMEID X.S0008-0 v1.0*/
15913     case 104:
15914         offset = dissect_ansi_map_CheckMEIDRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_checkMEIDRes);
15915         break;
15916         /* PositionEventNotification *
15917            case 106:
15918            offset = dissect_ansi_map_PositionEventNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionEventNotificationRes);
15919            break;
15920         */
15921     case 107:
15922         /* StatusRequest X.S0008-0 v1.0*/
15923         offset = dissect_ansi_map_StatusRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_statusRequestRes);
15924         break;
15925     case 111:
15926         /* InterSystemSMSDeliveryPointToPointRes X.S0004-540-E v2.0 */
15927         offset = dissect_ansi_map_InterSystemSMSDeliveryPointToPointRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemSMSDeliveryPointToPointRes);
15928         break;
15929     case 112:
15930         /* QualificationRequest2Res 112 X.S0004-540-E v2.0*/
15931         offset = dissect_ansi_map_QualificationRequest2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationRequest2Res);
15932         break;
15933     default:
15934         proto_tree_add_expert(tree, actx->pinfo, &ei_ansi_map_unknown_invokeData_blob, tvb, offset, -1);
15935         opCodeKnown = FALSE;
15936         break;
15937     }
15938 
15939     if (opCodeKnown)
15940     {
15941         tap_p->message_type = OperationCode;
15942         tap_p->size = 0;    /* should be number of octets in message */
15943 
15944         tap_queue_packet(ansi_map_tap, g_pinfo, tap_p);
15945     }
15946 
15947     return offset;
15948 }
15949 
15950 static int
find_saved_invokedata(asn1_ctx_t * actx,struct ansi_tcap_private_t * p_private_tcap)15951 find_saved_invokedata(asn1_ctx_t *actx, struct ansi_tcap_private_t *p_private_tcap){
15952     struct ansi_map_invokedata_t *ansi_map_saved_invokedata;
15953     address* src = &(actx->pinfo->src);
15954     address* dst = &(actx->pinfo->dst);
15955     guint8 *src_str;
15956     guint8 *dst_str;
15957     char *buf;
15958 
15959     buf=(char *)wmem_alloc(actx->pinfo->pool, 1024);
15960 
15961     /* Data from the TCAP dissector */
15962     /* The hash string needs to contain src and dest to distiguish differnt flows */
15963     src_str = address_to_str(actx->pinfo->pool, src);
15964     dst_str = address_to_str(actx->pinfo->pool, dst);
15965     /* Reverse order to invoke */
15966     switch(ansi_map_response_matching_type){
15967         case ANSI_MAP_TID_ONLY:
15968             g_snprintf(buf,1024,"%s",p_private_tcap->TransactionID_str);
15969             break;
15970         case ANSI_MAP_TID_AND_SOURCE:
15971             g_snprintf(buf,1024,"%s%s",p_private_tcap->TransactionID_str,dst_str);
15972             break;
15973         case ANSI_MAP_TID_SOURCE_AND_DEST:
15974         default:
15975             g_snprintf(buf,1024,"%s%s%s",p_private_tcap->TransactionID_str,dst_str,src_str);
15976             break;
15977     }
15978 
15979     /*ws_warning("Find Hash string %s pkt: %u",buf,actx->pinfo->num);*/
15980     ansi_map_saved_invokedata = (struct ansi_map_invokedata_t *)wmem_map_lookup(TransactionId_table, buf);
15981     if(ansi_map_saved_invokedata){
15982         OperationCode = ansi_map_saved_invokedata->opcode & 0xff;
15983         ServiceIndicator = ansi_map_saved_invokedata->ServiceIndicator;
15984     }else{
15985         OperationCode = OperationCode & 0x00ff;
15986     }
15987 
15988     return OperationCode;
15989 }
15990 
15991 static int
dissect_ansi_map(tvbuff_t * tvb,packet_info * pinfo,proto_tree * tree,void * data)15992 dissect_ansi_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
15993 {
15994     proto_item *ansi_map_item;
15995     proto_tree *ansi_map_tree = NULL;
15996     struct ansi_tcap_private_t *p_private_tcap = (struct ansi_tcap_private_t *)data;
15997     asn1_ctx_t asn1_ctx;
15998     asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
15999 
16000     SMS_BearerData_tvb = NULL;
16001     ansi_map_sms_tele_id = -1;
16002     g_pinfo = pinfo;
16003     g_tree = tree;
16004 
16005     /* The TCAP dissector should have provided data but didn't so reject it. */
16006     if (data == NULL)
16007         return 0;
16008     /*
16009      * Make entry in the Protocol column on summary display
16010      */
16011     col_set_str(pinfo->cinfo, COL_PROTOCOL, "ANSI MAP");
16012 
16013     /*
16014      * create the ansi_map protocol tree
16015      */
16016     ansi_map_item = proto_tree_add_item(tree, proto_ansi_map, tvb, 0, -1, ENC_NA);
16017     ansi_map_tree = proto_item_add_subtree(ansi_map_item, ett_ansi_map);
16018     ansi_map_is_invoke = FALSE;
16019     is683_ota = FALSE;
16020     is801_pld = FALSE;
16021     ServiceIndicator = 0;
16022 
16023     switch(p_private_tcap->d.pdu){
16024         /*
16025            1 : invoke,
16026            2 : returnResult,
16027            3 : returnError,
16028            4 : reject
16029         */
16030     case 1:
16031         OperationCode = p_private_tcap->d.OperationCode_private & 0x00ff;
16032         ansi_map_is_invoke = TRUE;
16033         col_add_fstr(pinfo->cinfo, COL_INFO,"%s Invoke ", val_to_str_ext(OperationCode, &ansi_map_opr_code_strings_ext, "Unknown ANSI-MAP PDU (%u)"));
16034         proto_item_append_text(p_private_tcap->d.OperationCode_item," %s",val_to_str_ext(OperationCode, &ansi_map_opr_code_strings_ext, "Unknown ANSI-MAP PDU (%u)"));
16035         dissect_invokeData(ansi_map_tree, tvb, 0, &asn1_ctx);
16036         update_saved_invokedata(pinfo, p_private_tcap);
16037         break;
16038     case 2:
16039         OperationCode = find_saved_invokedata(&asn1_ctx, p_private_tcap);
16040         col_add_fstr(pinfo->cinfo, COL_INFO,"%s ReturnResult ", val_to_str_ext(OperationCode, &ansi_map_opr_code_strings_ext, "Unknown ANSI-MAP PDU (%u)"));
16041         proto_item_append_text(p_private_tcap->d.OperationCode_item," %s",val_to_str_ext(OperationCode, &ansi_map_opr_code_strings_ext, "Unknown ANSI-MAP PDU (%u)"));
16042         dissect_returnData(ansi_map_tree, tvb, 0, &asn1_ctx);
16043         break;
16044     case 3:
16045         col_add_fstr(pinfo->cinfo, COL_INFO,"%s ReturnError ", val_to_str_ext(OperationCode, &ansi_map_opr_code_strings_ext, "Unknown ANSI-MAP PDU (%u)"));
16046         break;
16047     case 4:
16048         col_add_fstr(pinfo->cinfo, COL_INFO,"%s Reject ", val_to_str_ext(OperationCode, &ansi_map_opr_code_strings_ext, "Unknown ANSI-MAP PDU (%u)"));
16049         break;
16050     default:
16051         /* Must be Invoke ReturnResult ReturnError or Reject */
16052         DISSECTOR_ASSERT_NOT_REACHED();
16053         break;
16054     }
16055 
16056     return tvb_captured_length(tvb);
16057 }
16058 
range_delete_callback(guint32 ssn,gpointer ptr _U_)16059 static void range_delete_callback(guint32 ssn, gpointer ptr _U_)
16060 {
16061     if (ssn) {
16062         delete_ansi_tcap_subdissector(ssn, ansi_map_handle);
16063     }
16064 }
16065 
range_add_callback(guint32 ssn,gpointer ptr _U_)16066 static void range_add_callback(guint32 ssn, gpointer ptr _U_)
16067 {
16068     if (ssn) {
16069         add_ansi_tcap_subdissector(ssn, ansi_map_handle);
16070     }
16071 }
16072 
16073 /* TAP STAT INFO */
16074 typedef enum
16075 {
16076     OPCODE_COLUMN = 0,
16077     OPERATION_COLUMN,
16078     COUNT_COLUMN,
16079     TOTAL_BYTES_COLUMN,
16080     AVG_BYTES_COLUMN
16081 } ansi_map_stat_columns;
16082 
16083 static stat_tap_table_item stat_fields[] = {{TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "OpCode", "0x%02x"}, {TABLE_ITEM_STRING, TAP_ALIGN_LEFT, "Operation Name", "%-50s"},
16084         {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "Count", "  %d  "}, {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "Total Bytes", "  %d  "},
16085         {TABLE_ITEM_FLOAT, TAP_ALIGN_RIGHT, "Avg Bytes", "  %8.2f  "}};
16086 
ansi_map_stat_init(stat_tap_table_ui * new_stat)16087 static void ansi_map_stat_init(stat_tap_table_ui* new_stat)
16088 {
16089     const char *table_name = "ANSI MAP Operation Statistics";
16090     int num_fields = sizeof(stat_fields)/sizeof(stat_tap_table_item);
16091     stat_tap_table *table;
16092     int i = 0;
16093     stat_tap_table_item_type items[sizeof(stat_fields)/sizeof(stat_tap_table_item)];
16094 
16095     table = stat_tap_find_table(new_stat, table_name);
16096     if (table) {
16097         if (new_stat->stat_tap_reset_table_cb) {
16098             new_stat->stat_tap_reset_table_cb(table);
16099         }
16100         return;
16101     }
16102 
16103     table = stat_tap_init_table(table_name, num_fields, 0, "ansi_map.op_code");
16104     stat_tap_add_table(new_stat, table);
16105 
16106     /* Add a fow for each value type */
16107     while (ansi_map_opr_code_strings[i].strptr)
16108     {
16109         items[OPCODE_COLUMN].type = TABLE_ITEM_UINT;
16110         items[OPCODE_COLUMN].value.uint_value = ansi_map_opr_code_strings[i].value;
16111         items[OPERATION_COLUMN].type = TABLE_ITEM_STRING;
16112         items[OPERATION_COLUMN].value.string_value = ansi_map_opr_code_strings[i].strptr;
16113         items[COUNT_COLUMN].type = TABLE_ITEM_UINT;
16114         items[COUNT_COLUMN].value.uint_value = 0;
16115         items[TOTAL_BYTES_COLUMN].type = TABLE_ITEM_UINT;
16116         items[TOTAL_BYTES_COLUMN].value.uint_value = 0;
16117         items[AVG_BYTES_COLUMN].type = TABLE_ITEM_FLOAT;
16118         items[AVG_BYTES_COLUMN].value.float_value = 0.0f;
16119 
16120         stat_tap_init_table_row(table, ansi_map_opr_code_strings[i].value, num_fields, items);
16121         i++;
16122     }
16123 }
16124 
16125 
16126 static tap_packet_status
ansi_map_stat_packet(void * tapdata,packet_info * pinfo _U_,epan_dissect_t * edt _U_,const void * data)16127 ansi_map_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *data)
16128 {
16129     stat_data_t* stat_data = (stat_data_t*)tapdata;
16130     const ansi_map_tap_rec_t    *data_p = (const ansi_map_tap_rec_t *)data;
16131     stat_tap_table* table;
16132     stat_tap_table_item_type* item_data;
16133     guint count, total_bytes;
16134 
16135     /* Only tracking field values we know */
16136     if (try_val_to_str(data_p->message_type, ansi_map_opr_code_strings) == NULL)
16137         return TAP_PACKET_DONT_REDRAW;
16138 
16139     table = g_array_index(stat_data->stat_tap_data->tables, stat_tap_table*, 0);
16140 
16141     item_data = stat_tap_get_field_data(table, data_p->message_type, COUNT_COLUMN);
16142     item_data->value.uint_value++;
16143     count = item_data->value.uint_value;
16144     stat_tap_set_field_data(table, data_p->message_type, COUNT_COLUMN, item_data);
16145 
16146     item_data = stat_tap_get_field_data(table, data_p->message_type, TOTAL_BYTES_COLUMN);
16147     item_data->value.uint_value += data_p->size;
16148     total_bytes = item_data->value.uint_value;
16149     stat_tap_set_field_data(table, data_p->message_type, TOTAL_BYTES_COLUMN, item_data);
16150 
16151     item_data = stat_tap_get_field_data(table, data_p->message_type, AVG_BYTES_COLUMN);
16152     item_data->value.float_value = (float)total_bytes/(float)count;
16153     stat_tap_set_field_data(table, data_p->message_type, AVG_BYTES_COLUMN, item_data);
16154 
16155     return TAP_PACKET_REDRAW;
16156 }
16157 
16158 static void
ansi_map_stat_reset(stat_tap_table * table)16159 ansi_map_stat_reset(stat_tap_table* table)
16160 {
16161     guint element;
16162     stat_tap_table_item_type* item_data;
16163 
16164     for (element = 0; element < table->num_elements; element++)
16165     {
16166         item_data = stat_tap_get_field_data(table, element, COUNT_COLUMN);
16167         item_data->value.uint_value = 0;
16168         stat_tap_set_field_data(table, element, COUNT_COLUMN, item_data);
16169 
16170         item_data = stat_tap_get_field_data(table, element, TOTAL_BYTES_COLUMN);
16171         item_data->value.uint_value = 0;
16172         stat_tap_set_field_data(table, element, TOTAL_BYTES_COLUMN, item_data);
16173 
16174         item_data = stat_tap_get_field_data(table, element, AVG_BYTES_COLUMN);
16175         item_data->value.float_value = 0.0f;
16176         stat_tap_set_field_data(table, element, AVG_BYTES_COLUMN, item_data);
16177     }
16178 
16179 }
16180 
16181 void
proto_reg_handoff_ansi_map(void)16182 proto_reg_handoff_ansi_map(void)
16183 {
16184     static gboolean ansi_map_prefs_initialized = FALSE;
16185     static range_t *ssn_range;
16186 
16187     if(!ansi_map_prefs_initialized)
16188     {
16189         ansi_map_prefs_initialized = TRUE;
16190     }
16191     else
16192     {
16193         range_foreach(ssn_range, range_delete_callback, NULL);
16194         wmem_free(wmem_epan_scope(), ssn_range);
16195     }
16196 
16197     ssn_range = range_copy(wmem_epan_scope(), global_ssn_range);
16198 
16199     range_foreach(ssn_range, range_add_callback, NULL);
16200 }
16201 
16202 /*--- proto_register_ansi_map -------------------------------------------*/
proto_register_ansi_map(void)16203 void proto_register_ansi_map(void) {
16204 
16205     module_t    *ansi_map_module;
16206 
16207     /* List of fields */
16208     static hf_register_info hf[] = {
16209 
16210         { &hf_ansi_map_op_code_fam,
16211           { "Operation Code Family", "ansi_map.op_code_fam",
16212             FT_UINT8, BASE_DEC, NULL, 0,
16213             NULL, HFILL }},
16214         { &hf_ansi_map_reservedBitH,
16215           { "Reserved", "ansi_map.reserved_bitH",
16216             FT_BOOLEAN, 8, NULL,0x80,
16217             NULL, HFILL }},
16218         { &hf_ansi_map_reservedBitD,
16219           { "Reserved", "ansi_map.reserved_bitD",
16220             FT_BOOLEAN, 8, NULL,0x08,
16221             NULL, HFILL }},
16222         { &hf_ansi_map_reservedBitHG,
16223           { "Reserved", "ansi_map.reserved_bitHG",
16224             FT_UINT8, BASE_DEC, NULL, 0xc0,
16225             NULL, HFILL }},
16226         { &hf_ansi_map_reservedBitHGFE,
16227           { "Reserved", "ansi_map.reserved_bitHGFE",
16228             FT_UINT8, BASE_DEC, NULL, 0xf0,
16229             NULL, HFILL }},
16230         { &hf_ansi_map_reservedBitFED,
16231           { "Reserved", "ansi_map.reserved_bitFED",
16232             FT_UINT8, BASE_DEC, NULL, 0x38,
16233             NULL, HFILL }},
16234         { &hf_ansi_map_reservedBitED,
16235           { "Reserved", "ansi_map.reserved_bitED",
16236             FT_UINT8, BASE_DEC, NULL, 0x18,
16237             NULL, HFILL }},
16238         { &hf_ansi_map_op_code,
16239           { "Operation Code", "ansi_map.op_code",
16240             FT_UINT8, BASE_DEC|BASE_EXT_STRING, &ansi_map_opr_code_strings_ext, 0x0,
16241             NULL, HFILL }},
16242         { &hf_ansi_map_type_of_digits,
16243           { "Type of Digits", "ansi_map.type_of_digits",
16244             FT_UINT8, BASE_DEC, VALS(ansi_map_type_of_digits_vals), 0x0,
16245             NULL, HFILL }},
16246         { &hf_ansi_map_na,
16247           { "Nature of Number", "ansi_map.na",
16248             FT_BOOLEAN, 8, TFS(&ansi_map_na_bool_val),0x01,
16249             NULL, HFILL }},
16250         { &hf_ansi_map_pi,
16251           { "Presentation Indication", "ansi_map.type_of_pi",
16252             FT_BOOLEAN, 8, TFS(&ansi_map_pi_bool_val),0x02,
16253             NULL, HFILL }},
16254         { &hf_ansi_map_navail,
16255           { "Number available indication", "ansi_map.navail",
16256             FT_BOOLEAN, 8, TFS(&ansi_map_navail_bool_val),0x04,
16257             NULL, HFILL }},
16258         { &hf_ansi_map_si,
16259           { "Screening indication", "ansi_map.si",
16260             FT_UINT8, BASE_DEC, VALS(ansi_map_si_vals), 0x30,
16261             NULL, HFILL }},
16262         { &hf_ansi_map_digits_enc,
16263           { "Encoding", "ansi_map.enc",
16264             FT_UINT8, BASE_DEC, VALS(ansi_map_digits_enc_vals), 0x0f,
16265             NULL, HFILL }},
16266         { &hf_ansi_map_np,
16267           { "Numbering Plan", "ansi_map.np",
16268             FT_UINT8, BASE_DEC, VALS(ansi_map_np_vals), 0xf0,
16269             NULL, HFILL }},
16270         { &hf_ansi_map_nr_digits,
16271           { "Number of Digits", "ansi_map.nr_digits",
16272             FT_UINT8, BASE_DEC, NULL, 0x0,
16273             NULL, HFILL }},
16274         { &hf_ansi_map_bcd_digits,
16275           { "BCD digits", "ansi_map.bcd_digits",
16276             FT_STRING, BASE_NONE, NULL, 0,
16277             NULL, HFILL }},
16278         { &hf_ansi_map_ia5_digits,
16279           { "IA5 digits", "ansi_map.ia5_digits",
16280             FT_STRING, BASE_NONE, NULL, 0,
16281             NULL, HFILL }},
16282         { &hf_ansi_map_subaddr_type,
16283           { "Type of Subaddress", "ansi_map.subaddr_type",
16284             FT_UINT8, BASE_DEC, VALS(ansi_map_sub_addr_type_vals), 0x70,
16285             NULL, HFILL }},
16286         { &hf_ansi_map_subaddr_odd_even,
16287           { "Odd/Even Indicator", "ansi_map.subaddr_odd_even",
16288             FT_BOOLEAN, 8, TFS(&ansi_map_navail_bool_val),0x08,
16289             NULL, HFILL }},
16290 
16291         { &hf_ansi_alertcode_cadence,
16292           { "Cadence", "ansi_map.alertcode.cadence",
16293             FT_UINT8, BASE_DEC, VALS(ansi_map_AlertCode_Cadence_vals), 0x3f,
16294             NULL, HFILL }},
16295         { &hf_ansi_alertcode_pitch,
16296           { "Pitch", "ansi_map.alertcode.pitch",
16297             FT_UINT8, BASE_DEC, VALS(ansi_map_AlertCode_Pitch_vals), 0xc0,
16298             NULL, HFILL }},
16299         { &hf_ansi_alertcode_alertaction,
16300           { "Alert Action", "ansi_map.alertcode.alertaction",
16301             FT_UINT8, BASE_DEC, VALS(ansi_map_AlertCode_Alert_Action_vals), 0x07,
16302             NULL, HFILL }},
16303         { &hf_ansi_map_announcementcode_tone,
16304           { "Tone", "ansi_map.announcementcode.tone",
16305             FT_UINT8, BASE_DEC, VALS(ansi_map_AnnouncementCode_tone_vals), 0x0,
16306             NULL, HFILL }},
16307         { &hf_ansi_map_announcementcode_class,
16308           { "Tone", "ansi_map.announcementcode.class",
16309             FT_UINT8, BASE_DEC, VALS(ansi_map_AnnouncementCode_class_vals), 0xf,
16310             NULL, HFILL }},
16311         { &hf_ansi_map_announcementcode_std_ann,
16312           { "Standard Announcement", "ansi_map.announcementcode.std_ann",
16313             FT_UINT8, BASE_DEC, VALS(ansi_map_AnnouncementCode_std_ann_vals), 0x0,
16314             NULL, HFILL }},
16315         { &hf_ansi_map_announcementcode_cust_ann,
16316           { "Custom Announcement", "ansi_map.announcementcode.cust_ann",
16317             FT_UINT8, BASE_DEC, NULL, 0x0,
16318             NULL, HFILL }},
16319         { &hf_ansi_map_authorizationperiod_period,
16320           { "Period", "ansi_map.authorizationperiod.period",
16321             FT_UINT8, BASE_DEC, VALS(ansi_map_authorizationperiod_period_vals), 0x0,
16322             NULL, HFILL }},
16323         { &hf_ansi_map_value,
16324           { "Value", "ansi_map.value",
16325             FT_UINT8, BASE_DEC, NULL, 0x0,
16326             NULL, HFILL }},
16327         { &hf_ansi_map_msc_type,
16328           { "Type", "ansi_map.extendedmscid.type",
16329             FT_UINT8, BASE_DEC, VALS(ansi_map_msc_type_vals), 0x0,
16330             NULL, HFILL }},
16331         { &hf_ansi_map_handoffstate_pi,
16332           { "Party Involved (PI)", "ansi_map.handoffstate.pi",
16333             FT_BOOLEAN, 8, TFS(&ansi_map_HandoffState_pi_bool_val),0x01,
16334             NULL, HFILL }},
16335         { &hf_ansi_map_tgn,
16336           { "Trunk Group Number (G)", "ansi_map.tgn",
16337             FT_UINT8, BASE_DEC, NULL,0x0,
16338             NULL, HFILL }},
16339         { &hf_ansi_map_tmn,
16340           { "Trunk Member Number (M)", "ansi_map.tmn",
16341             FT_UINT8, BASE_DEC, NULL,0x0,
16342             NULL, HFILL }},
16343         { &hf_ansi_map_messagewaitingnotificationcount_tom,
16344           { "Type of messages", "ansi_map.messagewaitingnotificationcount.tom",
16345             FT_UINT8, BASE_DEC, VALS(ansi_map_MessageWaitingNotificationCount_type_vals), 0x0,
16346             NULL, HFILL }},
16347         { &hf_ansi_map_messagewaitingnotificationcount_no_mw,
16348           { "Number of Messages Waiting", "ansi_map.messagewaitingnotificationcount.nomw",
16349             FT_UINT8, BASE_DEC, NULL,0x0,
16350             NULL, HFILL }},
16351         { &hf_ansi_map_messagewaitingnotificationtype_mwi,
16352           { "Message Waiting Indication (MWI)", "ansi_map.messagewaitingnotificationcount.mwi",
16353             FT_UINT8, BASE_DEC, VALS(ansi_map_MessageWaitingNotificationType_mwi_vals), 0x0,
16354             NULL, HFILL }},
16355         { &hf_ansi_map_messagewaitingnotificationtype_apt,
16356           { "Alert Pip Tone (APT)", "ansi_map.messagewaitingnotificationtype.apt",
16357             FT_BOOLEAN, 8, TFS(&ansi_map_HandoffState_pi_bool_val),0x02,
16358             NULL, HFILL }},
16359         { &hf_ansi_map_messagewaitingnotificationtype_pt,
16360           { "Pip Tone (PT)", "ansi_map.messagewaitingnotificationtype.pt",
16361             FT_UINT8, BASE_DEC, VALS(ansi_map_MessageWaitingNotificationType_mwi_vals), 0xc0,
16362             NULL, HFILL }},
16363 
16364         { &hf_ansi_map_trans_cap_prof,
16365           { "Profile (PROF)", "ansi_map.trans_cap_prof",
16366             FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_prof_bool_val),0x01,
16367             NULL, HFILL }},
16368         { &hf_ansi_map_trans_cap_busy,
16369           { "Busy Detection (BUSY)", "ansi_map.trans_cap_busy",
16370             FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_busy_bool_val),0x02,
16371             NULL, HFILL }},
16372         { &hf_ansi_map_trans_cap_ann,
16373           { "Announcements (ANN)", "ansi_map.trans_cap_ann",
16374             FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_ann_bool_val),0x04,
16375             NULL, HFILL }},
16376         { &hf_ansi_map_trans_cap_rui,
16377           { "Remote User Interaction (RUI)", "ansi_map.trans_cap_rui",
16378             FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_rui_bool_val),0x08,
16379             NULL, HFILL }},
16380         { &hf_ansi_map_trans_cap_spini,
16381           { "Subscriber PIN Intercept (SPINI)", "ansi_map.trans_cap_spini",
16382             FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_spini_bool_val),0x10,
16383             NULL, HFILL }},
16384         { &hf_ansi_map_trans_cap_uzci,
16385           { "UZ Capability Indicator (UZCI)", "ansi_map.trans_cap_uzci",
16386             FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_uzci_bool_val),0x20,
16387             NULL, HFILL }},
16388         { &hf_ansi_map_trans_cap_ndss,
16389           { "NDSS Capability (NDSS)", "ansi_map.trans_cap_ndss",
16390             FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_ndss_bool_val),0x40,
16391             NULL, HFILL }},
16392         { &hf_ansi_map_trans_cap_nami,
16393           { "NAME Capability Indicator (NAMI)", "ansi_map.trans_cap_nami",
16394             FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_nami_bool_val),0x80,
16395             NULL, HFILL }},
16396         { &hf_ansi_trans_cap_multerm,
16397           { "Multiple Terminations", "ansi_map.trans_cap_multerm",
16398             FT_UINT8, BASE_DEC, VALS(ansi_map_trans_cap_multerm_vals), 0x0f,
16399             NULL, HFILL }},
16400         { &hf_ansi_map_terminationtriggers_busy,
16401           { "Busy", "ansi_map.terminationtriggers.busy",
16402             FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_busy_vals), 0x03,
16403             NULL, HFILL }},
16404         { &hf_ansi_map_terminationtriggers_rf,
16405           { "Routing Failure (RF)", "ansi_map.terminationtriggers.rf",
16406             FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_rf_vals), 0x0c,
16407             NULL, HFILL }},
16408         { &hf_ansi_map_terminationtriggers_npr,
16409           { "No Page Response (NPR)", "ansi_map.terminationtriggers.npr",
16410             FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_npr_vals), 0x30,
16411             NULL, HFILL }},
16412         { &hf_ansi_map_terminationtriggers_na,
16413           { "No Answer (NA)", "ansi_map.terminationtriggers.na",
16414             FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_na_vals), 0xc0,
16415             NULL, HFILL }},
16416         { &hf_ansi_map_terminationtriggers_nr,
16417           { "None Reachable (NR)", "ansi_map.terminationtriggers.nr",
16418             FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_nr_vals), 0x01,
16419             NULL, HFILL }},
16420         { &hf_ansi_trans_cap_tl,
16421           { "TerminationList (TL)", "ansi_map.trans_cap_tl",
16422             FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_tl_bool_val),0x10,
16423             NULL, HFILL }},
16424         { &hf_ansi_map_cdmaserviceoption,
16425           { "CDMAServiceOption", "ansi_map.cdmaserviceoption",
16426             FT_UINT16, BASE_RANGE_STRING | BASE_DEC, RVALS(cdmaserviceoption_vals), 0x0,
16427             NULL, HFILL }},
16428         { &hf_ansi_trans_cap_waddr,
16429           { "WIN Addressing (WADDR)", "ansi_map.trans_cap_waddr",
16430             FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_waddr_bool_val),0x20,
16431             NULL, HFILL }},
16432 
16433         { &hf_ansi_map_MarketID,
16434           { "MarketID", "ansi_map.marketid",
16435             FT_UINT16, BASE_DEC, NULL, 0,
16436             NULL, HFILL }},
16437         { &hf_ansi_map_swno,
16438           { "Switch Number (SWNO)", "ansi_map.swno",
16439             FT_UINT8, BASE_DEC, NULL, 0,
16440             NULL, HFILL }},
16441         { &hf_ansi_map_idno,
16442           { "ID Number", "ansi_map.idno",
16443             FT_UINT32, BASE_DEC, NULL, 0,
16444             NULL, HFILL }},
16445         { &hf_ansi_map_segcount,
16446           { "Segment Counter", "ansi_map.segcount",
16447             FT_UINT8, BASE_DEC, NULL, 0,
16448             NULL, HFILL }},
16449         { &hf_ansi_map_sms_originationrestrictions_direct,
16450           { "DIRECT", "ansi_map.originationrestrictions.direct",
16451             FT_BOOLEAN, 8, TFS(&ansi_map_SMS_OriginationRestrictions_direct_bool_val),0x04,
16452             NULL, HFILL }},
16453         { &hf_ansi_map_sms_originationrestrictions_default,
16454           { "DEFAULT", "ansi_map.originationrestrictions.default",
16455             FT_UINT8, BASE_DEC, VALS(ansi_map_SMS_OriginationRestrictions_default_vals), 0x03,
16456             NULL, HFILL }},
16457         { &hf_ansi_map_sms_originationrestrictions_fmc,
16458           { "Force Message Center (FMC)", "ansi_map.originationrestrictions.fmc",
16459             FT_BOOLEAN, 8, TFS(&ansi_map_SMS_OriginationRestrictions_fmc_bool_val),0x08,
16460             NULL, HFILL }},
16461 
16462         { &hf_ansi_map_systemcapabilities_auth,
16463           { "Authentication Parameters Requested (AUTH)", "ansi_map.systemcapabilities.auth",
16464             FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_auth_bool_val),0x01,
16465             NULL, HFILL }},
16466         { &hf_ansi_map_systemcapabilities_se,
16467           { "Signaling Message Encryption Capable (SE )", "ansi_map.systemcapabilities.se",
16468             FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_se_bool_val),0x02,
16469             NULL, HFILL }},
16470         { &hf_ansi_map_systemcapabilities_vp,
16471           { "Voice Privacy Capable (VP )", "ansi_map.systemcapabilities.vp",
16472             FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_vp_bool_val),0x04,
16473             NULL, HFILL }},
16474         { &hf_ansi_map_systemcapabilities_cave,
16475           { "CAVE Algorithm Capable (CAVE)", "ansi_map.systemcapabilities.cave",
16476             FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_cave_bool_val),0x08,
16477             NULL, HFILL }},
16478         { &hf_ansi_map_systemcapabilities_ssd,
16479           { "Shared SSD (SSD)", "ansi_map.systemcapabilities.ssd",
16480             FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_ssd_bool_val),0x10,
16481             NULL, HFILL }},
16482         { &hf_ansi_map_systemcapabilities_dp,
16483           { "Data Privacy (DP)", "ansi_map.systemcapabilities.dp",
16484             FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_dp_bool_val),0x20,
16485             NULL, HFILL }},
16486 
16487         { &hf_ansi_map_mslocation_lat,
16488           { "Latitude in tenths of a second", "ansi_map.mslocation.lat",
16489             FT_UINT24, BASE_DEC, NULL, 0,
16490             NULL, HFILL }},
16491         { &hf_ansi_map_mslocation_long,
16492           { "Longitude in tenths of a second", "ansi_map.mslocation.long",
16493             FT_UINT24, BASE_DEC, NULL, 0,
16494             "Switch Number (SWNO)", HFILL }},
16495         { &hf_ansi_map_mslocation_res,
16496           { "Resolution in units of 1 foot", "ansi_map.mslocation.res",
16497             FT_UINT8, BASE_DEC, NULL, 0,
16498             NULL, HFILL }},
16499         { &hf_ansi_map_nampscallmode_namps,
16500           { "Call Mode", "ansi_map.nampscallmode.namps",
16501             FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_namps_bool_val),0x01,
16502             NULL, HFILL }},
16503         { &hf_ansi_map_nampscallmode_amps,
16504           { "Call Mode", "ansi_map.nampscallmode.amps",
16505             FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_amps_bool_val),0x02,
16506             NULL, HFILL }},
16507         { &hf_ansi_map_nampschanneldata_navca,
16508           { "Narrow Analog Voice Channel Assignment (NAVCA)", "ansi_map.nampschanneldata.navca",
16509             FT_UINT8, BASE_DEC, VALS(ansi_map_NAMPSChannelData_navca_vals), 0x03,
16510             NULL, HFILL }},
16511         { &hf_ansi_map_nampschanneldata_CCIndicator,
16512           { "Color Code Indicator (CCIndicator)", "ansi_map.nampschanneldata.ccindicator",
16513             FT_UINT8, BASE_DEC, VALS(ansi_map_NAMPSChannelData_ccinidicator_vals), 0x1c,
16514             NULL, HFILL }},
16515 
16516 
16517         { &hf_ansi_map_callingfeaturesindicator_cfufa,
16518           { "Call Forwarding Unconditional FeatureActivity, CFU-FA", "ansi_map.callingfeaturesindicator.cfufa",
16519             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16520             NULL, HFILL }},
16521         { &hf_ansi_map_callingfeaturesindicator_cfbfa,
16522           { "Call Forwarding Busy FeatureActivity, CFB-FA", "ansi_map.callingfeaturesindicator.cfbafa",
16523             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
16524             NULL, HFILL }},
16525         { &hf_ansi_map_callingfeaturesindicator_cfnafa,
16526           { "Call Forwarding No Answer FeatureActivity, CFNA-FA", "ansi_map.callingfeaturesindicator.cfnafa",
16527             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
16528             NULL, HFILL }},
16529         { &hf_ansi_map_callingfeaturesindicator_cwfa,
16530           { "Call Waiting: FeatureActivity, CW-FA", "ansi_map.callingfeaturesindicator.cwfa",
16531             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
16532             NULL, HFILL }},
16533 
16534         { &hf_ansi_map_callingfeaturesindicator_3wcfa,
16535           { "Three-Way Calling FeatureActivity, 3WC-FA", "ansi_map.callingfeaturesindicator.3wcfa",
16536             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16537             NULL, HFILL }},
16538 
16539         { &hf_ansi_map_callingfeaturesindicator_pcwfa,
16540           { "Priority Call Waiting FeatureActivity PCW-FA", "ansi_map.callingfeaturesindicator.pcwfa",
16541             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16542             NULL, HFILL }},
16543 
16544         { &hf_ansi_map_callingfeaturesindicator_dpfa,
16545           { "Data Privacy Feature Activity DP-FA", "ansi_map.callingfeaturesindicator.dpfa",
16546             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
16547             NULL, HFILL }},
16548         { &hf_ansi_map_callingfeaturesindicator_ahfa,
16549           { "Answer Hold: FeatureActivity AH-FA", "ansi_map.callingfeaturesindicator.ahfa",
16550             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
16551             NULL, HFILL }},
16552         { &hf_ansi_map_callingfeaturesindicator_uscfvmfa,
16553           { "USCF divert to voice mail: FeatureActivity USCFvm-FA", "ansi_map.callingfeaturesindicator.uscfvmfa",
16554             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
16555             NULL, HFILL }},
16556 
16557         { &hf_ansi_map_callingfeaturesindicator_uscfmsfa,
16558           { "USCF divert to mobile station provided DN:FeatureActivity.USCFms-FA", "ansi_map.callingfeaturesindicator.uscfmsfa",
16559             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16560             NULL, HFILL }},
16561         { &hf_ansi_map_callingfeaturesindicator_uscfnrfa,
16562           { "USCF divert to network registered DN:FeatureActivity. USCFnr-FA", "ansi_map.callingfeaturesindicator.uscfnrfa",
16563             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
16564             NULL, HFILL }},
16565         { &hf_ansi_map_callingfeaturesindicator_cpdsfa,
16566           { "CDMA-Packet Data Service: FeatureActivity. CPDS-FA", "ansi_map.callingfeaturesindicator.cpdfa",
16567             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
16568             NULL, HFILL }},
16569         { &hf_ansi_map_callingfeaturesindicator_ccsfa,
16570           { "CDMA-Concurrent Service:FeatureActivity. CCS-FA", "ansi_map.callingfeaturesindicator.ccsfa",
16571             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
16572             NULL, HFILL }},
16573 
16574         { &hf_ansi_map_callingfeaturesindicator_epefa,
16575           { "TDMA Enhanced Privacy and Encryption:FeatureActivity.TDMA EPE-FA", "ansi_map.callingfeaturesindicator.epefa",
16576             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16577             NULL, HFILL }},
16578 
16579 
16580         { &hf_ansi_map_callingfeaturesindicator_cdfa,
16581           { "Call Delivery: FeatureActivity, CD-FA", "ansi_map.callingfeaturesindicator.cdfa",
16582             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
16583             NULL, HFILL }},
16584         { &hf_ansi_map_callingfeaturesindicator_vpfa,
16585           { "Voice Privacy FeatureActivity, VP-FA", "ansi_map.callingfeaturesindicator.vpfa",
16586             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
16587             NULL, HFILL }},
16588         { &hf_ansi_map_callingfeaturesindicator_ctfa,
16589           { "Call Transfer: FeatureActivity, CT-FA", "ansi_map.callingfeaturesindicator.ctfa",
16590             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
16591             NULL, HFILL }},
16592 
16593         { &hf_ansi_map_callingfeaturesindicator_cnip1fa,
16594           { "One number (network-provided only) Calling Number Identification Presentation: FeatureActivity CNIP1-FA", "ansi_map.callingfeaturesindicator.cnip1fa",
16595             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16596             NULL, HFILL }},
16597         { &hf_ansi_map_callingfeaturesindicator_cnip2fa,
16598           { "Two number (network-provided and user-provided) Calling Number Identification Presentation: FeatureActivity CNIP2-FA", "ansi_map.callingfeaturesindicator.cnip2fa",
16599             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
16600             NULL, HFILL }},
16601         { &hf_ansi_map_callingfeaturesindicator_cnirfa,
16602           { "Calling Number Identification Restriction: FeatureActivity CNIR-FA", "ansi_map.callingfeaturesindicator.cnirfa",
16603             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
16604             NULL, HFILL }},
16605         { &hf_ansi_map_callingfeaturesindicator_cniroverfa,
16606           { "Calling Number Identification Restriction Override FeatureActivity CNIROver-FA", "ansi_map.callingfeaturesindicator.cniroverfa",
16607             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
16608             NULL, HFILL }},
16609 
16610         { &hf_ansi_map_cdmacallmode_cdma,
16611           { "Call Mode", "ansi_map.cdmacallmode.cdma",
16612             FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cdma_bool_val),0x01,
16613             NULL, HFILL }},
16614         { &hf_ansi_map_cdmacallmode_amps,
16615           { "Call Mode", "ansi_map.cdmacallmode.amps",
16616             FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_amps_bool_val),0x02,
16617             NULL, HFILL }},
16618         { &hf_ansi_map_cdmacallmode_namps,
16619           { "Call Mode", "ansi_map.cdmacallmode.namps",
16620             FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_namps_bool_val),0x04,
16621             NULL, HFILL }},
16622         { &hf_ansi_map_cdmacallmode_cls1,
16623           { "Call Mode", "ansi_map.cdmacallmode.cls1",
16624             FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls1_bool_val),0x08,
16625             NULL, HFILL }},
16626         { &hf_ansi_map_cdmacallmode_cls2,
16627           { "Call Mode", "ansi_map.cdmacallmode.cls2",
16628             FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls2_bool_val),0x10,
16629             NULL, HFILL }},
16630         { &hf_ansi_map_cdmacallmode_cls3,
16631           { "Call Mode", "ansi_map.cdmacallmode.cls3",
16632             FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls3_bool_val),0x20,
16633             NULL, HFILL }},
16634         { &hf_ansi_map_cdmacallmode_cls4,
16635           { "Call Mode", "ansi_map.cdmacallmode.cls4",
16636             FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls4_bool_val),0x40,
16637             NULL, HFILL }},
16638         { &hf_ansi_map_cdmacallmode_cls5,
16639           { "Call Mode", "ansi_map.cdmacallmode.cls5",
16640             FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls5_bool_val),0x80,
16641             NULL, HFILL }},
16642         { &hf_ansi_map_cdmacallmode_cls6,
16643           { "Call Mode", "ansi_map.cdmacallmode.cls6",
16644             FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls6_bool_val),0x01,
16645             NULL, HFILL }},
16646         { &hf_ansi_map_cdmacallmode_cls7,
16647           { "Call Mode", "ansi_map.cdmacallmode.cls7",
16648             FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls7_bool_val),0x02,
16649             NULL, HFILL }},
16650         { &hf_ansi_map_cdmacallmode_cls8,
16651           { "Call Mode", "ansi_map.cdmacallmode.cls8",
16652             FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls8_bool_val),0x04,
16653             NULL, HFILL }},
16654         { &hf_ansi_map_cdmacallmode_cls9,
16655           { "Call Mode", "ansi_map.cdmacallmode.cls9",
16656             FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls9_bool_val),0x08,
16657             NULL, HFILL }},
16658         { &hf_ansi_map_cdmacallmode_cls10,
16659           { "Call Mode", "ansi_map.cdmacallmode.cls10",
16660             FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls10_bool_val),0x10,
16661             NULL, HFILL }},
16662         {&hf_ansi_map_cdmachanneldata_Frame_Offset,
16663          { "Frame Offset", "ansi_map.cdmachanneldata.frameoffset",
16664            FT_UINT8, BASE_DEC, NULL, 0x78,
16665            NULL, HFILL }},
16666         {&hf_ansi_map_cdmachanneldata_CDMA_ch_no,
16667          { "CDMA Channel Number", "ansi_map.cdmachanneldata.cdma_ch_no",
16668            FT_UINT16, BASE_DEC, NULL, 0x07FF,
16669            NULL, HFILL }},
16670         {&hf_ansi_map_cdmachanneldata_band_cls,
16671          { "Band Class", "ansi_map.cdmachanneldata.band_cls",
16672            FT_UINT8, BASE_DEC, VALS(ansi_map_cdmachanneldata_band_cls_vals), 0x7c,
16673            NULL, HFILL }},
16674         {&hf_ansi_map_cdmachanneldata_lc_mask_b6,
16675          { "Long Code Mask (byte 6) MSB", "ansi_map.cdmachanneldata.lc_mask_b6",
16676            FT_UINT8, BASE_HEX, NULL, 0x03,
16677            "Long Code Mask MSB (byte 6)", HFILL }},
16678         {&hf_ansi_map_cdmachanneldata_lc_mask_b5,
16679          { "Long Code Mask (byte 5)", "ansi_map.cdmachanneldata.lc_mask_b5",
16680            FT_UINT8, BASE_HEX, NULL, 0xff,
16681            NULL, HFILL }},
16682         {&hf_ansi_map_cdmachanneldata_lc_mask_b4,
16683          { "Long Code Mask (byte 4)", "ansi_map.cdmachanneldata.lc_mask_b4",
16684            FT_UINT8, BASE_HEX, NULL, 0xff,
16685            NULL, HFILL }},
16686         {&hf_ansi_map_cdmachanneldata_lc_mask_b3,
16687          { "Long Code Mask (byte 3)", "ansi_map.cdmachanneldata.lc_mask_b3",
16688            FT_UINT8, BASE_HEX, NULL, 0xff,
16689            NULL, HFILL }},
16690         {&hf_ansi_map_cdmachanneldata_lc_mask_b2,
16691          { "Long Code Mask (byte 2)", "ansi_map.cdmachanneldata.lc_mask_b2",
16692            FT_UINT8, BASE_HEX, NULL, 0xff,
16693            NULL, HFILL }},
16694         {&hf_ansi_map_cdmachanneldata_lc_mask_b1,
16695          { "Long Code Mask LSB(byte 1)", "ansi_map.cdmachanneldata.lc_mask_b1",
16696            FT_UINT8, BASE_HEX, NULL, 0xff,
16697            "Long Code Mask (byte 1)LSB", HFILL }},
16698         {&hf_ansi_map_cdmachanneldata_np_ext,
16699          { "NP EXT", "ansi_map.cdmachanneldata.np_ext",
16700            FT_BOOLEAN, 8, NULL,0x80,
16701            NULL, HFILL }},
16702         {&hf_ansi_map_cdmachanneldata_nominal_pwr,
16703          { "Nominal Power", "ansi_map.cdmachanneldata.nominal_pwr",
16704            FT_UINT8, BASE_DEC, NULL, 0x71,
16705            NULL, HFILL }},
16706         {&hf_ansi_map_cdmachanneldata_nr_preamble,
16707          { "Number Preamble", "ansi_map.cdmachanneldata.nr_preamble",
16708            FT_UINT8, BASE_DEC, NULL, 0x07,
16709            NULL, HFILL }},
16710 
16711         { &hf_ansi_map_cdmastationclassmark_pc,
16712           { "Power Class(PC)", "ansi_map.cdmastationclassmark.pc",
16713             FT_UINT8, BASE_DEC, VALS(ansi_map_CDMAStationClassMark_pc_vals), 0x03,
16714             NULL, HFILL }},
16715 
16716         { &hf_ansi_map_cdmastationclassmark_dtx,
16717           { "Analog Transmission: (DTX)", "ansi_map.cdmastationclassmark.dtx",
16718             FT_BOOLEAN, 8, TFS(&ansi_map_CDMAStationClassMark_dtx_bool_val),0x04,
16719             NULL, HFILL }},
16720         { &hf_ansi_map_cdmastationclassmark_smi,
16721           { "Slotted Mode Indicator: (SMI)", "ansi_map.cdmastationclassmark.smi",
16722             FT_BOOLEAN, 8, TFS(&ansi_map_CDMAStationClassMark_smi_bool_val),0x20,
16723             NULL, HFILL }},
16724         { &hf_ansi_map_cdmastationclassmark_dmi,
16725           { "Dual-mode Indicator(DMI)", "ansi_map.cdmastationclassmark.dmi",
16726             FT_BOOLEAN, 8, TFS(&ansi_map_CDMAStationClassMark_dmi_bool_val),0x40,
16727             NULL, HFILL }},
16728         { &hf_ansi_map_channeldata_vmac,
16729           { "Voice Mobile Attenuation Code (VMAC)", "ansi_map.channeldata.vmac",
16730             FT_UINT8, BASE_DEC, NULL, 0x07,
16731             NULL, HFILL }},
16732         { &hf_ansi_map_channeldata_dtx,
16733           { "Discontinuous Transmission Mode (DTX)", "ansi_map.channeldata.dtx",
16734             FT_UINT8, BASE_DEC, VALS(ansi_map_ChannelData_dtx_vals), 0x18,
16735             NULL, HFILL }},
16736         { &hf_ansi_map_channeldata_scc,
16737           { "SAT Color Code (SCC)", "ansi_map.channeldata.scc",
16738             FT_UINT8, BASE_DEC, NULL, 0xc0,
16739             NULL, HFILL }},
16740         { &hf_ansi_map_channeldata_chno,
16741           { "Channel Number (CHNO)", "ansi_map.channeldata.chno",
16742             FT_UINT16, BASE_DEC, NULL, 0x0,
16743             NULL, HFILL }},
16744         { &hf_ansi_map_ConfidentialityModes_vp,
16745           { "Voice Privacy (VP) Confidentiality Status", "ansi_map.confidentialitymodes.vp",
16746             FT_BOOLEAN, 8, TFS(&ansi_map_ConfidentialityModes_bool_val),0x01,
16747             NULL, HFILL }},
16748         { &hf_ansi_map_controlchanneldata_dcc,
16749           { "Digital Color Code (DCC)", "ansi_map.controlchanneldata.dcc",
16750             FT_UINT8, BASE_DEC, NULL, 0xc0,
16751             NULL, HFILL }},
16752         { &hf_ansi_map_controlchanneldata_cmac,
16753           { "Control Mobile Attenuation Code (CMAC)", "ansi_map.controlchanneldata.cmac",
16754             FT_UINT8, BASE_DEC, NULL, 0x07,
16755             NULL, HFILL }},
16756         { &hf_ansi_map_controlchanneldata_chno,
16757           { "Channel Number (CHNO)", "ansi_map.controlchanneldata.chno",
16758             FT_UINT16, BASE_DEC, NULL, 0x0,
16759             NULL, HFILL }},
16760         { &hf_ansi_map_controlchanneldata_sdcc1,
16761           { "Supplementary Digital Color Codes (SDCC1)", "ansi_map.controlchanneldata.ssdc1",
16762             FT_UINT8, BASE_DEC, NULL, 0x0c,
16763             NULL, HFILL }},
16764         { &hf_ansi_map_controlchanneldata_sdcc2,
16765           { "Supplementary Digital Color Codes (SDCC2)", "ansi_map.controlchanneldata.ssdc2",
16766             FT_UINT8, BASE_DEC, NULL, 0x03,
16767             NULL, HFILL }},
16768         { &hf_ansi_map_ConfidentialityModes_se,
16769           { "Signaling Message Encryption (SE) Confidentiality Status", "ansi_map.confidentialitymodes.se",
16770             FT_BOOLEAN, 8, TFS(&ansi_map_ConfidentialityModes_bool_val),0x02,
16771             NULL, HFILL }},
16772         { &hf_ansi_map_ConfidentialityModes_dp,
16773           { "DataPrivacy (DP) Confidentiality Status", "ansi_map.confidentialitymodes.dp",
16774             FT_BOOLEAN, 8, TFS(&ansi_map_ConfidentialityModes_bool_val),0x04,
16775             NULL, HFILL }},
16776 
16777         { &hf_ansi_map_deniedauthorizationperiod_period,
16778           { "Period", "ansi_map.deniedauthorizationperiod.period",
16779             FT_UINT8, BASE_DEC, VALS(ansi_map_deniedauthorizationperiod_period_vals), 0x0,
16780             NULL, HFILL }},
16781 
16782 
16783         { &hf_ansi_map_originationtriggers_all,
16784           { "All Origination (All)", "ansi_map.originationtriggers.all",
16785             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_all_bool_val),0x01,
16786             NULL, HFILL }},
16787         { &hf_ansi_map_originationtriggers_local,
16788           { "Local", "ansi_map.originationtriggers.local",
16789             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_local_bool_val),0x02,
16790             NULL, HFILL }},
16791         { &hf_ansi_map_originationtriggers_ilata,
16792           { "Intra-LATA Toll (ILATA)", "ansi_map.originationtriggers.ilata",
16793             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_ilata_bool_val),0x04,
16794             NULL, HFILL }},
16795         { &hf_ansi_map_originationtriggers_olata,
16796           { "Inter-LATA Toll (OLATA)", "ansi_map.originationtriggers.olata",
16797             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_olata_bool_val),0x08,
16798             NULL, HFILL }},
16799         { &hf_ansi_map_originationtriggers_int,
16800           { "International (Int'l )", "ansi_map.originationtriggers.int",
16801             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_int_bool_val),0x10,
16802             NULL, HFILL }},
16803         { &hf_ansi_map_originationtriggers_wz,
16804           { "World Zone (WZ)", "ansi_map.originationtriggers.wz",
16805             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_wz_bool_val),0x20,
16806             NULL, HFILL }},
16807         { &hf_ansi_map_originationtriggers_unrec,
16808           { "Unrecognized Number (Unrec)", "ansi_map.originationtriggers.unrec",
16809             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_unrec_bool_val),0x40,
16810             NULL, HFILL }},
16811         { &hf_ansi_map_originationtriggers_rvtc,
16812           { "Revertive Call (RvtC)", "ansi_map.originationtriggers.rvtc",
16813             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_rvtc_bool_val),0x80,
16814             NULL, HFILL }},
16815         { &hf_ansi_map_originationtriggers_star,
16816           { "Star", "ansi_map.originationtriggers.star",
16817             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_star_bool_val),0x01,
16818             NULL, HFILL }},
16819         { &hf_ansi_map_originationtriggers_ds,
16820           { "Double Star (DS)", "ansi_map.originationtriggers.ds",
16821             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_ds_bool_val),0x02,
16822             NULL, HFILL }},
16823         { &hf_ansi_map_originationtriggers_pound,
16824           { "Pound", "ansi_map.originationtriggers.pound",
16825             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_pound_bool_val),0x04,
16826             NULL, HFILL }},
16827         { &hf_ansi_map_originationtriggers_dp,
16828           { "Double Pound (DP)", "ansi_map.originationtriggers.dp",
16829             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_dp_bool_val),0x08,
16830             NULL, HFILL }},
16831         { &hf_ansi_map_originationtriggers_pa,
16832           { "Prior Agreement (PA)", "ansi_map.originationtriggers.pa",
16833             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_pa_bool_val),0x10,
16834             NULL, HFILL }},
16835         { &hf_ansi_map_originationtriggers_nodig,
16836           { "No digits", "ansi_map.originationtriggers.nodig",
16837             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_nodig_bool_val),0x01,
16838             NULL, HFILL }},
16839         { &hf_ansi_map_originationtriggers_onedig,
16840           { "1 digit", "ansi_map.originationtriggers.onedig",
16841             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_onedig_bool_val),0x02,
16842             NULL, HFILL }},
16843         { &hf_ansi_map_originationtriggers_twodig,
16844           { "2 digits", "ansi_map.originationtriggers.twodig",
16845             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_twodig_bool_val),0x04,
16846             NULL, HFILL }},
16847         { &hf_ansi_map_originationtriggers_threedig,
16848           { "3 digits", "ansi_map.originationtriggers.threedig",
16849             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_threedig_bool_val),0x08,
16850             NULL, HFILL }},
16851         { &hf_ansi_map_originationtriggers_fourdig,
16852           { "4 digits", "ansi_map.originationtriggers.fourdig",
16853             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fourdig_bool_val),0x10,
16854             NULL, HFILL }},
16855         { &hf_ansi_map_originationtriggers_fivedig,
16856           { "5 digits", "ansi_map.originationtriggers.fivedig",
16857             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fivedig_bool_val),0x20,
16858             NULL, HFILL }},
16859         { &hf_ansi_map_originationtriggers_sixdig,
16860           { "6 digits", "ansi_map.originationtriggers.sixdig",
16861             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_sixdig_bool_val),0x40,
16862             NULL, HFILL }},
16863         { &hf_ansi_map_originationtriggers_sevendig,
16864           { "7 digits", "ansi_map.originationtriggers.sevendig",
16865             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_sevendig_bool_val),0x80,
16866             NULL, HFILL }},
16867         { &hf_ansi_map_originationtriggers_eightdig,
16868           { "8 digits", "ansi_map.originationtriggers.eight",
16869             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_eightdig_bool_val),0x01,
16870             NULL, HFILL }},
16871         { &hf_ansi_map_originationtriggers_ninedig,
16872           { "9 digits", "ansi_map.originationtriggers.nine",
16873             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_ninedig_bool_val),0x02,
16874             NULL, HFILL }},
16875         { &hf_ansi_map_originationtriggers_tendig,
16876           { "10 digits", "ansi_map.originationtriggers.ten",
16877             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_tendig_bool_val),0x04,
16878             NULL, HFILL }},
16879         { &hf_ansi_map_originationtriggers_elevendig,
16880           { "11 digits", "ansi_map.originationtriggers.eleven",
16881             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_elevendig_bool_val),0x08,
16882             NULL, HFILL }},
16883         { &hf_ansi_map_originationtriggers_twelvedig,
16884           { "12 digits", "ansi_map.originationtriggers.twelve",
16885             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_twelvedig_bool_val),0x10,
16886             NULL, HFILL }},
16887         { &hf_ansi_map_originationtriggers_thirteendig,
16888           { "13 digits", "ansi_map.originationtriggers.thirteen",
16889             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_thirteendig_bool_val),0x20,
16890             NULL, HFILL }},
16891         { &hf_ansi_map_originationtriggers_fourteendig,
16892           { "14 digits", "ansi_map.originationtriggers.fourteen",
16893             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fourteendig_bool_val),0x40,
16894             NULL, HFILL }},
16895         { &hf_ansi_map_originationtriggers_fifteendig,
16896           { "15 digits", "ansi_map.originationtriggers.fifteen",
16897             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fifteendig_bool_val),0x80,
16898             NULL, HFILL }},
16899 
16900         { &hf_ansi_map_triggercapability_init,
16901           { "Introducing Star/Pound (INIT)", "ansi_map.triggercapability.init",
16902             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x01,
16903             NULL, HFILL }},
16904         { &hf_ansi_map_triggercapability_kdigit,
16905           { "K-digit (K-digit)", "ansi_map.triggercapability.kdigit",
16906             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x02,
16907             NULL, HFILL }},
16908         { &hf_ansi_map_triggercapability_all,
16909           { "All_Calls (All)", "ansi_map.triggercapability.all",
16910             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x04,
16911             NULL, HFILL }},
16912         { &hf_ansi_map_triggercapability_rvtc,
16913           { "Revertive_Call (RvtC)", "ansi_map.triggercapability.rvtc",
16914             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x08,
16915             NULL, HFILL }},
16916         { &hf_ansi_map_triggercapability_oaa,
16917           { "Origination_Attempt_Authorized (OAA)", "ansi_map.triggercapability.oaa",
16918             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x10,
16919             NULL, HFILL }},
16920         { &hf_ansi_map_triggercapability_oans,
16921           { "O_Answer (OANS)", "ansi_map.triggercapability.oans",
16922             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x20,
16923             NULL, HFILL }},
16924         { &hf_ansi_map_triggercapability_odisc,
16925           { "O_Disconnect (ODISC)", "ansi_map.triggercapability.odisc",
16926             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x40,
16927             NULL, HFILL }},
16928         { &hf_ansi_map_triggercapability_ona,
16929           { "O_No_Answer (ONA)", "ansi_map.triggercapability.ona",
16930             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x80,
16931             NULL, HFILL }},
16932 
16933         { &hf_ansi_map_triggercapability_ct ,
16934           { "Call Types (CT)", "ansi_map.triggercapability.ct",
16935             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x01,
16936             NULL, HFILL }},
16937         { &hf_ansi_map_triggercapability_unrec,
16938           { "Unrecognized_Number (Unrec)", "ansi_map.triggercapability.unrec",
16939             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x02,
16940             NULL, HFILL }},
16941         { &hf_ansi_map_triggercapability_pa,
16942           { "Prior_Agreement (PA)", "ansi_map.triggercapability.pa",
16943             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x04,
16944             NULL, HFILL }},
16945         { &hf_ansi_map_triggercapability_at,
16946           { "Advanced_Termination (AT)", "ansi_map.triggercapability.at",
16947             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x08,
16948             NULL, HFILL }},
16949         { &hf_ansi_map_triggercapability_cgraa,
16950           { "Calling_Routing_Address_Available (CgRAA)", "ansi_map.triggercapability.cgraa",
16951             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x10,
16952             NULL, HFILL }},
16953         { &hf_ansi_map_triggercapability_it,
16954           { "Initial_Termination (IT)", "ansi_map.triggercapability.it",
16955             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x20,
16956             NULL, HFILL }},
16957         { &hf_ansi_map_triggercapability_cdraa,
16958           { "Called_Routing_Address_Available (CdRAA)", "ansi_map.triggercapability.cdraa",
16959             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x40,
16960             NULL, HFILL }},
16961         { &hf_ansi_map_triggercapability_obsy,
16962           { "O_Called_Party_Busy (OBSY)", "ansi_map.triggercapability.obsy",
16963             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x80,
16964             NULL, HFILL }},
16965 
16966         { &hf_ansi_map_triggercapability_tra ,
16967           { "Terminating_Resource_Available (TRA)", "ansi_map.triggercapability.tra",
16968             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x01,
16969             NULL, HFILL }},
16970         { &hf_ansi_map_triggercapability_tbusy,
16971           { "T_Busy (TBusy)", "ansi_map.triggercapability.tbusy",
16972             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x02,
16973             NULL, HFILL }},
16974         { &hf_ansi_map_triggercapability_tna,
16975           { "T_No_Answer (TNA)", "ansi_map.triggercapability.tna",
16976             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x04,
16977             NULL, HFILL }},
16978         { &hf_ansi_map_triggercapability_tans,
16979           { "T_Answer (TANS)", "ansi_map.triggercapability.tans",
16980             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x08,
16981             NULL, HFILL }},
16982         { &hf_ansi_map_triggercapability_tdisc,
16983           { "T_Disconnect (TDISC)", "ansi_map.triggercapability.tdisc",
16984             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x10,
16985             NULL, HFILL }},
16986         { &hf_ansi_map_winoperationscapability_conn,
16987           { "ConnectResource (CONN)", "ansi_map.winoperationscapability.conn",
16988             FT_BOOLEAN, 8, TFS(&ansi_map_winoperationscapability_conn_bool_val),0x01,
16989             NULL, HFILL }},
16990         { &hf_ansi_map_winoperationscapability_ccdir,
16991           { "CallControlDirective(CCDIR)", "ansi_map.winoperationscapability.ccdir",
16992             FT_BOOLEAN, 8, TFS(&ansi_map_winoperationscapability_ccdir_bool_val),0x02,
16993             NULL, HFILL }},
16994         { &hf_ansi_map_winoperationscapability_pos,
16995           { "PositionRequest (POS)", "ansi_map.winoperationscapability.pos",
16996             FT_BOOLEAN, 8, TFS(&ansi_map_winoperationscapability_pos_bool_val),0x04,
16997             NULL, HFILL }},
16998         { &hf_ansi_map_pacaindicator_pa,
16999           { "Permanent Activation (PA)", "ansi_map.pacaindicator_pa",
17000             FT_BOOLEAN, 8, TFS(&ansi_map_pacaindicator_pa_bool_val),0x01,
17001             NULL, HFILL }},
17002         { &hf_ansi_map_PACA_Level,
17003           { "PACA Level", "ansi_map.PACA_Level",
17004             FT_UINT8, BASE_DEC, VALS(ansi_map_PACA_Level_vals), 0x1e,
17005             NULL, HFILL }},
17006         { &hf_ansi_map_point_code,
17007           { "Point Code", "ansi_map.point_code",
17008             FT_BYTES, BASE_NONE, NULL, 0x0,
17009             NULL, HFILL }},
17010         { &hf_ansi_map_SSN,
17011           { "SSN", "ansi_map.SSN",
17012             FT_UINT8, BASE_DEC, NULL, 0x0,
17013             NULL, HFILL }},
17014         { &hf_ansi_map_win_trigger_list,
17015           { "WIN trigger list", "ansi_map.win_trigger_list",
17016             FT_UINT8, BASE_DEC, NULL, 0x0,
17017             NULL, HFILL }},
17018 
17019 
17020 /*--- Included file: packet-ansi_map-hfarr.c ---*/
17021 #line 1 "./asn1/ansi_map/packet-ansi_map-hfarr.c"
17022     { &hf_ansi_map_electronicSerialNumber,
17023       { "electronicSerialNumber", "ansi_map.electronicSerialNumber",
17024         FT_BYTES, BASE_NONE, NULL, 0,
17025         NULL, HFILL }},
17026     { &hf_ansi_map_msid,
17027       { "msid", "ansi_map.msid",
17028         FT_UINT32, BASE_DEC, VALS(ansi_map_MSID_vals), 0,
17029         NULL, HFILL }},
17030     { &hf_ansi_map_authenticationAlgorithmVersion,
17031       { "authenticationAlgorithmVersion", "ansi_map.authenticationAlgorithmVersion",
17032         FT_BYTES, BASE_NONE, NULL, 0,
17033         NULL, HFILL }},
17034     { &hf_ansi_map_authenticationResponseReauthentication,
17035       { "authenticationResponseReauthentication", "ansi_map.authenticationResponseReauthentication",
17036         FT_BYTES, BASE_NONE, NULL, 0,
17037         NULL, HFILL }},
17038     { &hf_ansi_map_authenticationResponseUniqueChallenge,
17039       { "authenticationResponseUniqueChallenge", "ansi_map.authenticationResponseUniqueChallenge",
17040         FT_BYTES, BASE_NONE, NULL, 0,
17041         NULL, HFILL }},
17042     { &hf_ansi_map_callHistoryCount,
17043       { "callHistoryCount", "ansi_map.callHistoryCount",
17044         FT_UINT32, BASE_DEC, NULL, 0,
17045         NULL, HFILL }},
17046     { &hf_ansi_map_cdmaPrivateLongCodeMask,
17047       { "cdmaPrivateLongCodeMask", "ansi_map.cdmaPrivateLongCodeMask",
17048         FT_BYTES, BASE_NONE, NULL, 0,
17049         NULL, HFILL }},
17050     { &hf_ansi_map_carrierDigits,
17051       { "carrierDigits", "ansi_map.carrierDigits",
17052         FT_BYTES, BASE_NONE, NULL, 0,
17053         NULL, HFILL }},
17054     { &hf_ansi_map_caveKey,
17055       { "caveKey", "ansi_map.caveKey",
17056         FT_BYTES, BASE_NONE, NULL, 0,
17057         NULL, HFILL }},
17058     { &hf_ansi_map_denyAccess,
17059       { "denyAccess", "ansi_map.denyAccess",
17060         FT_UINT32, BASE_DEC, VALS(ansi_map_DenyAccess_vals), 0,
17061         NULL, HFILL }},
17062     { &hf_ansi_map_destinationDigits,
17063       { "destinationDigits", "ansi_map.destinationDigits",
17064         FT_BYTES, BASE_NONE, NULL, 0,
17065         NULL, HFILL }},
17066     { &hf_ansi_map_locationAreaID,
17067       { "locationAreaID", "ansi_map.locationAreaID",
17068         FT_BYTES, BASE_NONE, NULL, 0,
17069         NULL, HFILL }},
17070     { &hf_ansi_map_randomVariableReauthentication,
17071       { "randomVariableReauthentication", "ansi_map.randomVariableReauthentication",
17072         FT_BYTES, BASE_NONE, NULL, 0,
17073         NULL, HFILL }},
17074     { &hf_ansi_map_meid,
17075       { "meid", "ansi_map.meid",
17076         FT_BYTES, BASE_NONE, NULL, 0,
17077         NULL, HFILL }},
17078     { &hf_ansi_map_mobileStationMIN,
17079       { "mobileStationMIN", "ansi_map.mobileStationMIN_element",
17080         FT_NONE, BASE_NONE, NULL, 0,
17081         NULL, HFILL }},
17082     { &hf_ansi_map_mscid,
17083       { "mscid", "ansi_map.mscid",
17084         FT_BYTES, BASE_NONE, NULL, 0,
17085         NULL, HFILL }},
17086     { &hf_ansi_map_randomVariableSSD,
17087       { "randomVariableSSD", "ansi_map.randomVariableSSD",
17088         FT_BYTES, BASE_NONE, NULL, 0,
17089         NULL, HFILL }},
17090     { &hf_ansi_map_randomVariableUniqueChallenge,
17091       { "randomVariableUniqueChallenge", "ansi_map.randomVariableUniqueChallenge",
17092         FT_BYTES, BASE_NONE, NULL, 0,
17093         NULL, HFILL }},
17094     { &hf_ansi_map_routingDigits,
17095       { "routingDigits", "ansi_map.routingDigits",
17096         FT_BYTES, BASE_NONE, NULL, 0,
17097         NULL, HFILL }},
17098     { &hf_ansi_map_senderIdentificationNumber,
17099       { "senderIdentificationNumber", "ansi_map.senderIdentificationNumber_element",
17100         FT_NONE, BASE_NONE, NULL, 0,
17101         NULL, HFILL }},
17102     { &hf_ansi_map_sharedSecretData,
17103       { "sharedSecretData", "ansi_map.sharedSecretData",
17104         FT_BYTES, BASE_NONE, NULL, 0,
17105         NULL, HFILL }},
17106     { &hf_ansi_map_signalingMessageEncryptionKey,
17107       { "signalingMessageEncryptionKey", "ansi_map.signalingMessageEncryptionKey",
17108         FT_BYTES, BASE_NONE, NULL, 0,
17109         NULL, HFILL }},
17110     { &hf_ansi_map_ssdnotShared,
17111       { "ssdnotShared", "ansi_map.ssdnotShared",
17112         FT_UINT32, BASE_DEC, VALS(ansi_map_SSDNotShared_vals), 0,
17113         NULL, HFILL }},
17114     { &hf_ansi_map_updateCount,
17115       { "updateCount", "ansi_map.updateCount",
17116         FT_UINT32, BASE_DEC, VALS(ansi_map_UpdateCount_vals), 0,
17117         NULL, HFILL }},
17118     { &hf_ansi_map_interMSCCircuitID,
17119       { "interMSCCircuitID", "ansi_map.interMSCCircuitID_element",
17120         FT_NONE, BASE_NONE, NULL, 0,
17121         NULL, HFILL }},
17122     { &hf_ansi_map_mobileIdentificationNumber,
17123       { "mobileIdentificationNumber", "ansi_map.mobileIdentificationNumber_element",
17124         FT_NONE, BASE_NONE, NULL, 0,
17125         NULL, HFILL }},
17126     { &hf_ansi_map_countUpdateReport,
17127       { "countUpdateReport", "ansi_map.countUpdateReport",
17128         FT_UINT8, BASE_DEC, VALS(ansi_map_CountUpdateReport_vals), 0,
17129         NULL, HFILL }},
17130     { &hf_ansi_map_uniqueChallengeReport,
17131       { "uniqueChallengeReport", "ansi_map.uniqueChallengeReport",
17132         FT_UINT8, BASE_DEC, VALS(ansi_map_UniqueChallengeReport_vals), 0,
17133         NULL, HFILL }},
17134     { &hf_ansi_map_reportType,
17135       { "reportType", "ansi_map.reportType",
17136         FT_UINT32, BASE_DEC, VALS(ansi_map_ReportType_vals), 0,
17137         NULL, HFILL }},
17138     { &hf_ansi_map_systemAccessType,
17139       { "systemAccessType", "ansi_map.systemAccessType",
17140         FT_UINT32, BASE_DEC, VALS(ansi_map_SystemAccessType_vals), 0,
17141         NULL, HFILL }},
17142     { &hf_ansi_map_systemCapabilities,
17143       { "systemCapabilities", "ansi_map.systemCapabilities",
17144         FT_BYTES, BASE_NONE, NULL, 0,
17145         NULL, HFILL }},
17146     { &hf_ansi_map_callHistoryCountExpected,
17147       { "callHistoryCountExpected", "ansi_map.callHistoryCountExpected",
17148         FT_UINT32, BASE_DEC, NULL, 0,
17149         NULL, HFILL }},
17150     { &hf_ansi_map_reportType2,
17151       { "reportType2", "ansi_map.reportType2",
17152         FT_UINT32, BASE_DEC, VALS(ansi_map_ReportType_vals), 0,
17153         "ReportType", HFILL }},
17154     { &hf_ansi_map_terminalType,
17155       { "terminalType", "ansi_map.terminalType",
17156         FT_UINT32, BASE_DEC|BASE_EXT_STRING, &ansi_map_TerminalType_vals_ext, 0,
17157         NULL, HFILL }},
17158     { &hf_ansi_map_authenticationData,
17159       { "authenticationData", "ansi_map.authenticationData",
17160         FT_BYTES, BASE_NONE, NULL, 0,
17161         NULL, HFILL }},
17162     { &hf_ansi_map_authenticationResponse,
17163       { "authenticationResponse", "ansi_map.authenticationResponse",
17164         FT_BYTES, BASE_NONE, NULL, 0,
17165         NULL, HFILL }},
17166     { &hf_ansi_map_cdmaNetworkIdentification,
17167       { "cdmaNetworkIdentification", "ansi_map.cdmaNetworkIdentification",
17168         FT_BYTES, BASE_NONE, NULL, 0,
17169         NULL, HFILL }},
17170     { &hf_ansi_map_confidentialityModes,
17171       { "confidentialityModes", "ansi_map.confidentialityModes",
17172         FT_BYTES, BASE_NONE, NULL, 0,
17173         NULL, HFILL }},
17174     { &hf_ansi_map_controlChannelMode,
17175       { "controlChannelMode", "ansi_map.controlChannelMode",
17176         FT_UINT8, BASE_DEC, VALS(ansi_map_ControlChannelMode_vals), 0,
17177         NULL, HFILL }},
17178     { &hf_ansi_map_digits,
17179       { "digits", "ansi_map.digits_element",
17180         FT_NONE, BASE_NONE, NULL, 0,
17181         NULL, HFILL }},
17182     { &hf_ansi_map_pc_ssn,
17183       { "pc-ssn", "ansi_map.pc_ssn",
17184         FT_BYTES, BASE_NONE, NULL, 0,
17185         NULL, HFILL }},
17186     { &hf_ansi_map_randomVariable,
17187       { "randomVariable", "ansi_map.randomVariable",
17188         FT_BYTES, BASE_NONE, NULL, 0,
17189         NULL, HFILL }},
17190     { &hf_ansi_map_serviceRedirectionCause,
17191       { "serviceRedirectionCause", "ansi_map.serviceRedirectionCause",
17192         FT_UINT8, BASE_DEC, VALS(ansi_map_ServiceRedirectionCause_type_vals), 0,
17193         NULL, HFILL }},
17194     { &hf_ansi_map_suspiciousAccess,
17195       { "suspiciousAccess", "ansi_map.suspiciousAccess",
17196         FT_UINT32, BASE_DEC, VALS(ansi_map_SuspiciousAccess_vals), 0,
17197         NULL, HFILL }},
17198     { &hf_ansi_map_transactionCapability,
17199       { "transactionCapability", "ansi_map.transactionCapability",
17200         FT_BYTES, BASE_NONE, NULL, 0,
17201         NULL, HFILL }},
17202     { &hf_ansi_map_analogRedirectRecord,
17203       { "analogRedirectRecord", "ansi_map.analogRedirectRecord_element",
17204         FT_NONE, BASE_NONE, NULL, 0,
17205         NULL, HFILL }},
17206     { &hf_ansi_map_cdmaRedirectRecord,
17207       { "cdmaRedirectRecord", "ansi_map.cdmaRedirectRecord_element",
17208         FT_NONE, BASE_NONE, NULL, 0,
17209         NULL, HFILL }},
17210     { &hf_ansi_map_dataKey,
17211       { "dataKey", "ansi_map.dataKey",
17212         FT_BYTES, BASE_NONE, NULL, 0,
17213         NULL, HFILL }},
17214     { &hf_ansi_map_roamingIndication,
17215       { "roamingIndication", "ansi_map.roamingIndication",
17216         FT_BYTES, BASE_NONE, NULL, 0,
17217         NULL, HFILL }},
17218     { &hf_ansi_map_serviceRedirectionInfo,
17219       { "serviceRedirectionInfo", "ansi_map.serviceRedirectionInfo",
17220         FT_BYTES, BASE_NONE, NULL, 0,
17221         NULL, HFILL }},
17222     { &hf_ansi_map_voicePrivacyMask,
17223       { "voicePrivacyMask", "ansi_map.voicePrivacyMask",
17224         FT_BYTES, BASE_NONE, NULL, 0,
17225         NULL, HFILL }},
17226     { &hf_ansi_map_reauthenticationReport,
17227       { "reauthenticationReport", "ansi_map.reauthenticationReport",
17228         FT_UINT8, BASE_DEC, VALS(ansi_map_ReauthenticationReport_vals), 0,
17229         NULL, HFILL }},
17230     { &hf_ansi_map_serviceIndicator,
17231       { "serviceIndicator", "ansi_map.serviceIndicator",
17232         FT_UINT8, BASE_DEC, VALS(ansi_map_ServiceIndicator_vals), 0,
17233         NULL, HFILL }},
17234     { &hf_ansi_map_signalingMessageEncryptionReport,
17235       { "signalingMessageEncryptionReport", "ansi_map.signalingMessageEncryptionReport",
17236         FT_UINT8, BASE_DEC, VALS(ansi_map_SMEReport_vals), 0,
17237         NULL, HFILL }},
17238     { &hf_ansi_map_ssdUpdateReport,
17239       { "ssdUpdateReport", "ansi_map.ssdUpdateReport",
17240         FT_UINT16, BASE_DEC, VALS(ansi_map_SSDUpdateReport_vals), 0,
17241         NULL, HFILL }},
17242     { &hf_ansi_map_voicePrivacyReport,
17243       { "voicePrivacyReport", "ansi_map.voicePrivacyReport",
17244         FT_UINT8, BASE_DEC, VALS(ansi_map_VoicePrivacyReport_vals), 0,
17245         NULL, HFILL }},
17246     { &hf_ansi_map_randomVariableBaseStation,
17247       { "randomVariableBaseStation", "ansi_map.randomVariableBaseStation",
17248         FT_BYTES, BASE_NONE, NULL, 0,
17249         NULL, HFILL }},
17250     { &hf_ansi_map_authenticationResponseBaseStation,
17251       { "authenticationResponseBaseStation", "ansi_map.authenticationResponseBaseStation",
17252         FT_BYTES, BASE_NONE, NULL, 0,
17253         NULL, HFILL }},
17254     { &hf_ansi_map_billingID,
17255       { "billingID", "ansi_map.billingID",
17256         FT_BYTES, BASE_NONE, NULL, 0,
17257         NULL, HFILL }},
17258     { &hf_ansi_map_channelData,
17259       { "channelData", "ansi_map.channelData",
17260         FT_BYTES, BASE_NONE, NULL, 0,
17261         NULL, HFILL }},
17262     { &hf_ansi_map_interSwitchCount,
17263       { "interSwitchCount", "ansi_map.interSwitchCount",
17264         FT_UINT32, BASE_DEC, NULL, 0,
17265         NULL, HFILL }},
17266     { &hf_ansi_map_servingCellID,
17267       { "servingCellID", "ansi_map.servingCellID",
17268         FT_BYTES, BASE_NONE, NULL, 0,
17269         NULL, HFILL }},
17270     { &hf_ansi_map_stationClassMark,
17271       { "stationClassMark", "ansi_map.stationClassMark",
17272         FT_BYTES, BASE_NONE, NULL, 0,
17273         NULL, HFILL }},
17274     { &hf_ansi_map_targetCellID,
17275       { "targetCellID", "ansi_map.targetCellID",
17276         FT_BYTES, BASE_NONE, NULL, 0,
17277         NULL, HFILL }},
17278     { &hf_ansi_map_handoffReason,
17279       { "handoffReason", "ansi_map.handoffReason",
17280         FT_UINT32, BASE_DEC, VALS(ansi_map_HandoffReason_vals), 0,
17281         NULL, HFILL }},
17282     { &hf_ansi_map_handoffState,
17283       { "handoffState", "ansi_map.handoffState",
17284         FT_BYTES, BASE_NONE, NULL, 0,
17285         NULL, HFILL }},
17286     { &hf_ansi_map_tdmaBurstIndicator,
17287       { "tdmaBurstIndicator", "ansi_map.tdmaBurstIndicator",
17288         FT_BYTES, BASE_NONE, NULL, 0,
17289         NULL, HFILL }},
17290     { &hf_ansi_map_tdmaCallMode,
17291       { "tdmaCallMode", "ansi_map.tdmaCallMode",
17292         FT_BYTES, BASE_NONE, NULL, 0,
17293         NULL, HFILL }},
17294     { &hf_ansi_map_tdmaChannelData,
17295       { "tdmaChannelData", "ansi_map.tdmaChannelData",
17296         FT_BYTES, BASE_NONE, NULL, 0,
17297         NULL, HFILL }},
17298     { &hf_ansi_map_baseStationManufacturerCode,
17299       { "baseStationManufacturerCode", "ansi_map.baseStationManufacturerCode",
17300         FT_BYTES, BASE_NONE, NULL, 0,
17301         NULL, HFILL }},
17302     { &hf_ansi_map_alertCode,
17303       { "alertCode", "ansi_map.alertCode",
17304         FT_BYTES, BASE_NONE, NULL, 0,
17305         NULL, HFILL }},
17306     { &hf_ansi_map_cdma2000HandoffInvokeIOSData,
17307       { "cdma2000HandoffInvokeIOSData", "ansi_map.cdma2000HandoffInvokeIOSData_element",
17308         FT_NONE, BASE_NONE, NULL, 0,
17309         NULL, HFILL }},
17310     { &hf_ansi_map_cdmaBandClassList,
17311       { "cdmaBandClassList", "ansi_map.cdmaBandClassList",
17312         FT_UINT32, BASE_DEC, NULL, 0,
17313         NULL, HFILL }},
17314     { &hf_ansi_map_cdmaCallMode,
17315       { "cdmaCallMode", "ansi_map.cdmaCallMode",
17316         FT_BYTES, BASE_NONE, NULL, 0,
17317         NULL, HFILL }},
17318     { &hf_ansi_map_cdmaChannelData,
17319       { "cdmaChannelData", "ansi_map.cdmaChannelData",
17320         FT_BYTES, BASE_NONE, NULL, 0,
17321         NULL, HFILL }},
17322     { &hf_ansi_map_cdmaConnectionReferenceList,
17323       { "cdmaConnectionReferenceList", "ansi_map.cdmaConnectionReferenceList",
17324         FT_UINT32, BASE_DEC, NULL, 0,
17325         NULL, HFILL }},
17326     { &hf_ansi_map_cdmaMobileProtocolRevision,
17327       { "cdmaMobileProtocolRevision", "ansi_map.cdmaMobileProtocolRevision",
17328         FT_BYTES, BASE_NONE, NULL, 0,
17329         NULL, HFILL }},
17330     { &hf_ansi_map_cdmaMSMeasuredChannelIdentity,
17331       { "cdmaMSMeasuredChannelIdentity", "ansi_map.cdmaMSMeasuredChannelIdentity",
17332         FT_BYTES, BASE_NONE, NULL, 0,
17333         NULL, HFILL }},
17334     { &hf_ansi_map_cdmaServiceConfigurationRecord,
17335       { "cdmaServiceConfigurationRecord", "ansi_map.cdmaServiceConfigurationRecord",
17336         FT_BYTES, BASE_NONE, NULL, 0,
17337         NULL, HFILL }},
17338     { &hf_ansi_map_cdmaServiceOptionList,
17339       { "cdmaServiceOptionList", "ansi_map.cdmaServiceOptionList",
17340         FT_UINT32, BASE_DEC, NULL, 0,
17341         NULL, HFILL }},
17342     { &hf_ansi_map_cdmaServingOneWayDelay,
17343       { "cdmaServingOneWayDelay", "ansi_map.cdmaServingOneWayDelay",
17344         FT_BYTES, BASE_NONE, NULL, 0,
17345         NULL, HFILL }},
17346     { &hf_ansi_map_cdmaStationClassMark,
17347       { "cdmaStationClassMark", "ansi_map.cdmaStationClassMark",
17348         FT_BYTES, BASE_NONE, NULL, 0,
17349         NULL, HFILL }},
17350     { &hf_ansi_map_cdmaStationClassMark2,
17351       { "cdmaStationClassMark2", "ansi_map.cdmaStationClassMark2",
17352         FT_BYTES, BASE_NONE, NULL, 0,
17353         NULL, HFILL }},
17354     { &hf_ansi_map_cdmaTargetMAHOList,
17355       { "cdmaTargetMAHOList", "ansi_map.cdmaTargetMAHOList",
17356         FT_UINT32, BASE_DEC, NULL, 0,
17357         NULL, HFILL }},
17358     { &hf_ansi_map_cdmaTargetMeasurementList,
17359       { "cdmaTargetMeasurementList", "ansi_map.cdmaTargetMeasurementList",
17360         FT_UINT32, BASE_DEC, NULL, 0,
17361         NULL, HFILL }},
17362     { &hf_ansi_map_dataPrivacyParameters,
17363       { "dataPrivacyParameters", "ansi_map.dataPrivacyParameters",
17364         FT_BYTES, BASE_NONE, NULL, 0,
17365         NULL, HFILL }},
17366     { &hf_ansi_map_ilspInformation,
17367       { "ilspInformation", "ansi_map.ilspInformation",
17368         FT_UINT8, BASE_DEC, VALS(ansi_map_islp_type_vals), 0,
17369         "ISLPInformation", HFILL }},
17370     { &hf_ansi_map_msLocation,
17371       { "msLocation", "ansi_map.msLocation",
17372         FT_BYTES, BASE_NONE, NULL, 0,
17373         NULL, HFILL }},
17374     { &hf_ansi_map_nampsCallMode,
17375       { "nampsCallMode", "ansi_map.nampsCallMode",
17376         FT_BYTES, BASE_NONE, NULL, 0,
17377         NULL, HFILL }},
17378     { &hf_ansi_map_nampsChannelData,
17379       { "nampsChannelData", "ansi_map.nampsChannelData",
17380         FT_BYTES, BASE_NONE, NULL, 0,
17381         NULL, HFILL }},
17382     { &hf_ansi_map_nonPublicData,
17383       { "nonPublicData", "ansi_map.nonPublicData",
17384         FT_BYTES, BASE_NONE, NULL, 0,
17385         NULL, HFILL }},
17386     { &hf_ansi_map_pdsnAddress,
17387       { "pdsnAddress", "ansi_map.pdsnAddress",
17388         FT_BYTES, BASE_NONE, NULL, 0,
17389         NULL, HFILL }},
17390     { &hf_ansi_map_pdsnProtocolType,
17391       { "pdsnProtocolType", "ansi_map.pdsnProtocolType",
17392         FT_BYTES, BASE_NONE, NULL, 0,
17393         NULL, HFILL }},
17394     { &hf_ansi_map_qosPriority,
17395       { "qosPriority", "ansi_map.qosPriority",
17396         FT_BYTES, BASE_NONE, NULL, 0,
17397         NULL, HFILL }},
17398     { &hf_ansi_map_systemOperatorCode,
17399       { "systemOperatorCode", "ansi_map.systemOperatorCode",
17400         FT_BYTES, BASE_NONE, NULL, 0,
17401         NULL, HFILL }},
17402     { &hf_ansi_map_tdmaBandwidth,
17403       { "tdmaBandwidth", "ansi_map.tdmaBandwidth",
17404         FT_UINT8, BASE_DEC, VALS(ansi_map_TDMABandwidth_vals), 0x0f,
17405         NULL, HFILL }},
17406     { &hf_ansi_map_tdmaServiceCode,
17407       { "tdmaServiceCode", "ansi_map.tdmaServiceCode",
17408         FT_UINT8, BASE_DEC, VALS(ansi_map_TDMAServiceCode_vals), 0,
17409         NULL, HFILL }},
17410     { &hf_ansi_map_tdmaTerminalCapability,
17411       { "tdmaTerminalCapability", "ansi_map.tdmaTerminalCapability",
17412         FT_BYTES, BASE_NONE, NULL, 0,
17413         NULL, HFILL }},
17414     { &hf_ansi_map_tdmaVoiceCoder,
17415       { "tdmaVoiceCoder", "ansi_map.tdmaVoiceCoder",
17416         FT_BYTES, BASE_NONE, NULL, 0,
17417         NULL, HFILL }},
17418     { &hf_ansi_map_userZoneData,
17419       { "userZoneData", "ansi_map.userZoneData",
17420         FT_BYTES, BASE_NONE, NULL, 0,
17421         NULL, HFILL }},
17422     { &hf_ansi_map_bsmcstatus,
17423       { "bsmcstatus", "ansi_map.bsmcstatus",
17424         FT_UINT8, BASE_DEC, VALS(ansi_map_BSMCStatus_vals), 0x03,
17425         NULL, HFILL }},
17426     { &hf_ansi_map_cdma2000HandoffResponseIOSData,
17427       { "cdma2000HandoffResponseIOSData", "ansi_map.cdma2000HandoffResponseIOSData_element",
17428         FT_NONE, BASE_NONE, NULL, 0,
17429         NULL, HFILL }},
17430     { &hf_ansi_map_cdmaCodeChannelList,
17431       { "cdmaCodeChannelList", "ansi_map.cdmaCodeChannelList",
17432         FT_UINT32, BASE_DEC, NULL, 0,
17433         NULL, HFILL }},
17434     { &hf_ansi_map_cdmaSearchParameters,
17435       { "cdmaSearchParameters", "ansi_map.cdmaSearchParameters",
17436         FT_BYTES, BASE_NONE, NULL, 0,
17437         NULL, HFILL }},
17438     { &hf_ansi_map_cdmaSearchWindow,
17439       { "cdmaSearchWindow", "ansi_map.cdmaSearchWindow",
17440         FT_BYTES, BASE_NONE, NULL, 0,
17441         NULL, HFILL }},
17442     { &hf_ansi_map_sOCStatus,
17443       { "sOCStatus", "ansi_map.sOCStatus",
17444         FT_UINT8, BASE_DEC, VALS(ansi_map_SOCStatus_vals), 0x03,
17445         NULL, HFILL }},
17446     { &hf_ansi_map_releaseReason,
17447       { "releaseReason", "ansi_map.releaseReason",
17448         FT_UINT32, BASE_DEC, VALS(ansi_map_ReleaseReason_vals), 0,
17449         NULL, HFILL }},
17450     { &hf_ansi_map_acgencountered,
17451       { "acgencountered", "ansi_map.acgencountered",
17452         FT_BYTES, BASE_NONE, NULL, 0,
17453         NULL, HFILL }},
17454     { &hf_ansi_map_callingPartyName,
17455       { "callingPartyName", "ansi_map.callingPartyName",
17456         FT_BYTES, BASE_NONE, NULL, 0,
17457         NULL, HFILL }},
17458     { &hf_ansi_map_callingPartyNumberDigits1,
17459       { "callingPartyNumberDigits1", "ansi_map.callingPartyNumberDigits1",
17460         FT_BYTES, BASE_NONE, NULL, 0,
17461         NULL, HFILL }},
17462     { &hf_ansi_map_callingPartyNumberDigits2,
17463       { "callingPartyNumberDigits2", "ansi_map.callingPartyNumberDigits2",
17464         FT_BYTES, BASE_NONE, NULL, 0,
17465         NULL, HFILL }},
17466     { &hf_ansi_map_callingPartySubaddress,
17467       { "callingPartySubaddress", "ansi_map.callingPartySubaddress",
17468         FT_BYTES, BASE_NONE, NULL, 0,
17469         NULL, HFILL }},
17470     { &hf_ansi_map_conferenceCallingIndicator,
17471       { "conferenceCallingIndicator", "ansi_map.conferenceCallingIndicator",
17472         FT_BYTES, BASE_NONE, NULL, 0,
17473         NULL, HFILL }},
17474     { &hf_ansi_map_mobileDirectoryNumber,
17475       { "mobileDirectoryNumber", "ansi_map.mobileDirectoryNumber_element",
17476         FT_NONE, BASE_NONE, NULL, 0,
17477         NULL, HFILL }},
17478     { &hf_ansi_map_mSCIdentificationNumber,
17479       { "mSCIdentificationNumber", "ansi_map.mSCIdentificationNumber_element",
17480         FT_NONE, BASE_NONE, NULL, 0,
17481         NULL, HFILL }},
17482     { &hf_ansi_map_oneTimeFeatureIndicator,
17483       { "oneTimeFeatureIndicator", "ansi_map.oneTimeFeatureIndicator",
17484         FT_BYTES, BASE_NONE, NULL, 0,
17485         NULL, HFILL }},
17486     { &hf_ansi_map_systemMyTypeCode,
17487       { "systemMyTypeCode", "ansi_map.systemMyTypeCode",
17488         FT_UINT32, BASE_DEC|BASE_EXT_STRING, &ansi_map_SystemMyTypeCode_vals_ext, 0,
17489         NULL, HFILL }},
17490     { &hf_ansi_map_featureResult,
17491       { "featureResult", "ansi_map.featureResult",
17492         FT_UINT32, BASE_DEC, VALS(ansi_map_FeatureResult_vals), 0,
17493         NULL, HFILL }},
17494     { &hf_ansi_map_accessDeniedReason,
17495       { "accessDeniedReason", "ansi_map.accessDeniedReason",
17496         FT_UINT32, BASE_DEC, VALS(ansi_map_AccessDeniedReason_vals), 0,
17497         NULL, HFILL }},
17498     { &hf_ansi_map_actionCode,
17499       { "actionCode", "ansi_map.actionCode",
17500         FT_UINT8, BASE_DEC|BASE_EXT_STRING|BASE_EXT_STRING, &ansi_map_ActionCode_vals_ext, 0,
17501         NULL, HFILL }},
17502     { &hf_ansi_map_announcementList,
17503       { "announcementList", "ansi_map.announcementList_element",
17504         FT_NONE, BASE_NONE, NULL, 0,
17505         NULL, HFILL }},
17506     { &hf_ansi_map_callingPartyNumberString1,
17507       { "callingPartyNumberString1", "ansi_map.callingPartyNumberString1_element",
17508         FT_NONE, BASE_NONE, NULL, 0,
17509         NULL, HFILL }},
17510     { &hf_ansi_map_callingPartyNumberString2,
17511       { "callingPartyNumberString2", "ansi_map.callingPartyNumberString2_element",
17512         FT_NONE, BASE_NONE, NULL, 0,
17513         NULL, HFILL }},
17514     { &hf_ansi_map_digits_Destination,
17515       { "digits-Destination", "ansi_map.digits_Destination_element",
17516         FT_NONE, BASE_NONE, NULL, 0,
17517         "Digits", HFILL }},
17518     { &hf_ansi_map_displayText,
17519       { "displayText", "ansi_map.displayText",
17520         FT_BYTES, BASE_NONE, NULL, 0,
17521         NULL, HFILL }},
17522     { &hf_ansi_map_displayText2,
17523       { "displayText2", "ansi_map.displayText2",
17524         FT_BYTES, BASE_NONE, NULL, 0,
17525         NULL, HFILL }},
17526     { &hf_ansi_map_dmh_AccountCodeDigits,
17527       { "dmh-AccountCodeDigits", "ansi_map.dmh_AccountCodeDigits",
17528         FT_BYTES, BASE_NONE, NULL, 0,
17529         NULL, HFILL }},
17530     { &hf_ansi_map_dmh_AlternateBillingDigits,
17531       { "dmh-AlternateBillingDigits", "ansi_map.dmh_AlternateBillingDigits",
17532         FT_BYTES, BASE_NONE, NULL, 0,
17533         NULL, HFILL }},
17534     { &hf_ansi_map_dmh_BillingDigits,
17535       { "dmh-BillingDigits", "ansi_map.dmh_BillingDigits",
17536         FT_BYTES, BASE_NONE, NULL, 0,
17537         NULL, HFILL }},
17538     { &hf_ansi_map_dmh_RedirectionIndicator,
17539       { "dmh-RedirectionIndicator", "ansi_map.dmh_RedirectionIndicator",
17540         FT_UINT32, BASE_DEC|BASE_EXT_STRING, &ansi_map_DMH_RedirectionIndicator_vals_ext, 0,
17541         NULL, HFILL }},
17542     { &hf_ansi_map_groupInformation,
17543       { "groupInformation", "ansi_map.groupInformation",
17544         FT_BYTES, BASE_NONE, NULL, 0,
17545         NULL, HFILL }},
17546     { &hf_ansi_map_noAnswerTime,
17547       { "noAnswerTime", "ansi_map.noAnswerTime",
17548         FT_BYTES, BASE_NONE, NULL, 0,
17549         NULL, HFILL }},
17550     { &hf_ansi_map_pACAIndicator,
17551       { "pACAIndicator", "ansi_map.pACAIndicator",
17552         FT_BYTES, BASE_NONE, NULL, 0,
17553         NULL, HFILL }},
17554     { &hf_ansi_map_pilotNumber,
17555       { "pilotNumber", "ansi_map.pilotNumber",
17556         FT_BYTES, BASE_NONE, NULL, 0,
17557         NULL, HFILL }},
17558     { &hf_ansi_map_preferredLanguageIndicator,
17559       { "preferredLanguageIndicator", "ansi_map.preferredLanguageIndicator",
17560         FT_UINT8, BASE_DEC, VALS(ansi_map_PreferredLanguageIndicator_vals), 0,
17561         NULL, HFILL }},
17562     { &hf_ansi_map_redirectingNumberDigits,
17563       { "redirectingNumberDigits", "ansi_map.redirectingNumberDigits",
17564         FT_BYTES, BASE_NONE, NULL, 0,
17565         NULL, HFILL }},
17566     { &hf_ansi_map_redirectingNumberString,
17567       { "redirectingNumberString", "ansi_map.redirectingNumberString",
17568         FT_BYTES, BASE_NONE, NULL, 0,
17569         NULL, HFILL }},
17570     { &hf_ansi_map_redirectingSubaddress,
17571       { "redirectingSubaddress", "ansi_map.redirectingSubaddress",
17572         FT_BYTES, BASE_NONE, NULL, 0,
17573         NULL, HFILL }},
17574     { &hf_ansi_map_resumePIC,
17575       { "resumePIC", "ansi_map.resumePIC",
17576         FT_UINT32, BASE_DEC, VALS(ansi_map_ResumePIC_vals), 0,
17577         NULL, HFILL }},
17578     { &hf_ansi_map_terminationList,
17579       { "terminationList", "ansi_map.terminationList",
17580         FT_UINT32, BASE_DEC, NULL, 0,
17581         NULL, HFILL }},
17582     { &hf_ansi_map_terminationTriggers,
17583       { "terminationTriggers", "ansi_map.terminationTriggers",
17584         FT_BYTES, BASE_NONE, NULL, 0,
17585         NULL, HFILL }},
17586     { &hf_ansi_map_triggerAddressList,
17587       { "triggerAddressList", "ansi_map.triggerAddressList_element",
17588         FT_NONE, BASE_NONE, NULL, 0,
17589         NULL, HFILL }},
17590     { &hf_ansi_map_emergencyServicesRoutingDigits,
17591       { "emergencyServicesRoutingDigits", "ansi_map.emergencyServicesRoutingDigits",
17592         FT_BYTES, BASE_NONE, NULL, 0,
17593         NULL, HFILL }},
17594     { &hf_ansi_map_targetCellIDList,
17595       { "targetCellIDList", "ansi_map.targetCellIDList_element",
17596         FT_NONE, BASE_NONE, NULL, 0,
17597         NULL, HFILL }},
17598     { &hf_ansi_map_signalQuality,
17599       { "signalQuality", "ansi_map.signalQuality",
17600         FT_UINT32, BASE_DEC|BASE_EXT_STRING, &ansi_map_SignalQuality_vals_ext, 0,
17601         NULL, HFILL }},
17602     { &hf_ansi_map_targetMeasurementList,
17603       { "targetMeasurementList", "ansi_map.targetMeasurementList",
17604         FT_UINT32, BASE_DEC, NULL, 0,
17605         NULL, HFILL }},
17606     { &hf_ansi_map_alertResult,
17607       { "alertResult", "ansi_map.alertResult",
17608         FT_UINT8, BASE_DEC, VALS(ansi_map_AlertResult_result_vals), 0,
17609         NULL, HFILL }},
17610     { &hf_ansi_map_messageWaitingNotificationCount,
17611       { "messageWaitingNotificationCount", "ansi_map.messageWaitingNotificationCount",
17612         FT_BYTES, BASE_NONE, NULL, 0,
17613         NULL, HFILL }},
17614     { &hf_ansi_map_messageWaitingNotificationType,
17615       { "messageWaitingNotificationType", "ansi_map.messageWaitingNotificationType",
17616         FT_BYTES, BASE_NONE, NULL, 0,
17617         NULL, HFILL }},
17618     { &hf_ansi_map_cdmaBandClass,
17619       { "cdmaBandClass", "ansi_map.cdmaBandClass",
17620         FT_BYTES, BASE_NONE, NULL, 0,
17621         NULL, HFILL }},
17622     { &hf_ansi_map_cdmaServiceOption,
17623       { "cdmaServiceOption", "ansi_map.cdmaServiceOption",
17624         FT_BYTES, BASE_NONE, NULL, 0,
17625         NULL, HFILL }},
17626     { &hf_ansi_map_cdmaSlotCycleIndex,
17627       { "cdmaSlotCycleIndex", "ansi_map.cdmaSlotCycleIndex",
17628         FT_BYTES, BASE_NONE, NULL, 0,
17629         NULL, HFILL }},
17630     { &hf_ansi_map_extendedMSCID,
17631       { "extendedMSCID", "ansi_map.extendedMSCID",
17632         FT_BYTES, BASE_NONE, NULL, 0,
17633         NULL, HFILL }},
17634     { &hf_ansi_map_extendedSystemMyTypeCode,
17635       { "extendedSystemMyTypeCode", "ansi_map.extendedSystemMyTypeCode",
17636         FT_BYTES, BASE_NONE, NULL, 0,
17637         NULL, HFILL }},
17638     { &hf_ansi_map_imsi,
17639       { "imsi", "ansi_map.imsi",
17640         FT_BYTES, BASE_NONE, NULL, 0,
17641         NULL, HFILL }},
17642     { &hf_ansi_map_legInformation,
17643       { "legInformation", "ansi_map.legInformation",
17644         FT_BYTES, BASE_NONE, NULL, 0,
17645         NULL, HFILL }},
17646     { &hf_ansi_map_mSIDUsage,
17647       { "mSIDUsage", "ansi_map.mSIDUsage",
17648         FT_UINT8, BASE_DEC, VALS(ansi_MSIDUsage_m_or_i_vals), 0x03,
17649         NULL, HFILL }},
17650     { &hf_ansi_map_networkTMSI,
17651       { "networkTMSI", "ansi_map.networkTMSI",
17652         FT_BYTES, BASE_NONE, NULL, 0,
17653         NULL, HFILL }},
17654     { &hf_ansi_map_pageCount,
17655       { "pageCount", "ansi_map.pageCount",
17656         FT_BYTES, BASE_NONE, NULL, 0,
17657         NULL, HFILL }},
17658     { &hf_ansi_map_pageIndicator,
17659       { "pageIndicator", "ansi_map.pageIndicator",
17660         FT_UINT8, BASE_DEC, VALS(ansi_map_PageIndicator_vals), 0,
17661         NULL, HFILL }},
17662     { &hf_ansi_map_pageResponseTime,
17663       { "pageResponseTime", "ansi_map.pageResponseTime",
17664         FT_BYTES, BASE_NONE, NULL, 0,
17665         NULL, HFILL }},
17666     { &hf_ansi_map_pilotBillingID,
17667       { "pilotBillingID", "ansi_map.pilotBillingID",
17668         FT_BYTES, BASE_NONE, NULL, 0,
17669         NULL, HFILL }},
17670     { &hf_ansi_map_redirectingPartyName,
17671       { "redirectingPartyName", "ansi_map.redirectingPartyName",
17672         FT_BYTES, BASE_NONE, NULL, 0,
17673         NULL, HFILL }},
17674     { &hf_ansi_map_tdmaDataFeaturesIndicator,
17675       { "tdmaDataFeaturesIndicator", "ansi_map.tdmaDataFeaturesIndicator",
17676         FT_BYTES, BASE_NONE, NULL, 0,
17677         NULL, HFILL }},
17678     { &hf_ansi_map_terminationTreatment,
17679       { "terminationTreatment", "ansi_map.terminationTreatment",
17680         FT_UINT8, BASE_DEC, VALS(ansi_map_TerminationTreatment_vals), 0,
17681         NULL, HFILL }},
17682     { &hf_ansi_map_conditionallyDeniedReason,
17683       { "conditionallyDeniedReason", "ansi_map.conditionallyDeniedReason",
17684         FT_UINT32, BASE_DEC, VALS(ansi_map_ConditionallyDeniedReason_vals), 0,
17685         NULL, HFILL }},
17686     { &hf_ansi_map_pagingFrameClass,
17687       { "pagingFrameClass", "ansi_map.pagingFrameClass",
17688         FT_UINT8, BASE_DEC, VALS(ansi_map_PagingFrameClass_vals), 0x03,
17689         NULL, HFILL }},
17690     { &hf_ansi_map_pSID_RSIDList,
17691       { "pSID-RSIDList", "ansi_map.pSID_RSIDList_element",
17692         FT_NONE, BASE_NONE, NULL, 0,
17693         NULL, HFILL }},
17694     { &hf_ansi_map_randc,
17695       { "randc", "ansi_map.randc",
17696         FT_BYTES, BASE_NONE, NULL, 0,
17697         NULL, HFILL }},
17698     { &hf_ansi_map_tdmaDataMode,
17699       { "tdmaDataMode", "ansi_map.tdmaDataMode",
17700         FT_BYTES, BASE_NONE, NULL, 0,
17701         NULL, HFILL }},
17702     { &hf_ansi_map_changeServiceAttributes,
17703       { "changeServiceAttributes", "ansi_map.changeServiceAttributes",
17704         FT_BYTES, BASE_NONE, NULL, 0,
17705         NULL, HFILL }},
17706     { &hf_ansi_map_edirectingSubaddress,
17707       { "edirectingSubaddress", "ansi_map.edirectingSubaddress",
17708         FT_BYTES, BASE_NONE, NULL, 0,
17709         "RedirectingSubaddress", HFILL }},
17710     { &hf_ansi_map_setupResult,
17711       { "setupResult", "ansi_map.setupResult",
17712         FT_UINT8, BASE_DEC, VALS(ansi_map_SetupResult_vals), 0,
17713         NULL, HFILL }},
17714     { &hf_ansi_map_terminationAccessType,
17715       { "terminationAccessType", "ansi_map.terminationAccessType",
17716         FT_UINT8, BASE_DEC, VALS(ansi_map_TerminationAccessType_vals), 0,
17717         NULL, HFILL }},
17718     { &hf_ansi_map_triggerType,
17719       { "triggerType", "ansi_map.triggerType",
17720         FT_UINT32, BASE_DEC|BASE_EXT_STRING, &ansi_map_TriggerType_vals_ext, 0,
17721         NULL, HFILL }},
17722     { &hf_ansi_map_winCapability,
17723       { "winCapability", "ansi_map.winCapability_element",
17724         FT_NONE, BASE_NONE, NULL, 0,
17725         NULL, HFILL }},
17726     { &hf_ansi_map_callingPartyCategory,
17727       { "callingPartyCategory", "ansi_map.callingPartyCategory",
17728         FT_BYTES, BASE_NONE, NULL, 0,
17729         NULL, HFILL }},
17730     { &hf_ansi_map_controlNetworkID,
17731       { "controlNetworkID", "ansi_map.controlNetworkID",
17732         FT_BYTES, BASE_NONE, NULL, 0,
17733         NULL, HFILL }},
17734     { &hf_ansi_map_digits_carrier,
17735       { "digits-carrier", "ansi_map.digits_carrier_element",
17736         FT_NONE, BASE_NONE, NULL, 0,
17737         "Digits", HFILL }},
17738     { &hf_ansi_map_digits_dest,
17739       { "digits-dest", "ansi_map.digits_dest_element",
17740         FT_NONE, BASE_NONE, NULL, 0,
17741         "Digits", HFILL }},
17742     { &hf_ansi_map_dmh_ServiceID,
17743       { "dmh-ServiceID", "ansi_map.dmh_ServiceID",
17744         FT_BYTES, BASE_NONE, NULL, 0,
17745         NULL, HFILL }},
17746     { &hf_ansi_map_lectronicSerialNumber,
17747       { "lectronicSerialNumber", "ansi_map.lectronicSerialNumber",
17748         FT_BYTES, BASE_NONE, NULL, 0,
17749         "ElectronicSerialNumber", HFILL }},
17750     { &hf_ansi_map_deregistrationType,
17751       { "deregistrationType", "ansi_map.deregistrationType",
17752         FT_UINT32, BASE_DEC, VALS(ansi_map_DeregistrationType_vals), 0,
17753         NULL, HFILL }},
17754     { &hf_ansi_map_servicesResult,
17755       { "servicesResult", "ansi_map.servicesResult",
17756         FT_UINT8, BASE_DEC, VALS(ansi_map_ServicesResult_ppr_vals), 0x03,
17757         NULL, HFILL }},
17758     { &hf_ansi_map_sms_MessageWaitingIndicator,
17759       { "sms-MessageWaitingIndicator", "ansi_map.sms_MessageWaitingIndicator_element",
17760         FT_NONE, BASE_NONE, NULL, 0,
17761         NULL, HFILL }},
17762     { &hf_ansi_map_originationTriggers,
17763       { "originationTriggers", "ansi_map.originationTriggers",
17764         FT_BYTES, BASE_NONE, NULL, 0,
17765         NULL, HFILL }},
17766     { &hf_ansi_map_featureIndicator,
17767       { "featureIndicator", "ansi_map.featureIndicator",
17768         FT_UINT32, BASE_DEC, VALS(ansi_map_FeatureIndicator_vals), 0,
17769         NULL, HFILL }},
17770     { &hf_ansi_map_dmh_ChargeInformation,
17771       { "dmh-ChargeInformation", "ansi_map.dmh_ChargeInformation",
17772         FT_BYTES, BASE_NONE, NULL, 0,
17773         NULL, HFILL }},
17774     { &hf_ansi_map_qualificationInformationCode,
17775       { "qualificationInformationCode", "ansi_map.qualificationInformationCode",
17776         FT_UINT32, BASE_DEC, VALS(ansi_map_QualificationInformationCode_vals), 0,
17777         NULL, HFILL }},
17778     { &hf_ansi_map_authorizationDenied,
17779       { "authorizationDenied", "ansi_map.authorizationDenied",
17780         FT_UINT32, BASE_DEC, VALS(ansi_map_AuthorizationDenied_vals), 0,
17781         NULL, HFILL }},
17782     { &hf_ansi_map_authorizationPeriod,
17783       { "authorizationPeriod", "ansi_map.authorizationPeriod",
17784         FT_BYTES, BASE_NONE, NULL, 0,
17785         NULL, HFILL }},
17786     { &hf_ansi_map_deniedAuthorizationPeriod,
17787       { "deniedAuthorizationPeriod", "ansi_map.deniedAuthorizationPeriod",
17788         FT_BYTES, BASE_NONE, NULL, 0,
17789         NULL, HFILL }},
17790     { &hf_ansi_map_authenticationCapability,
17791       { "authenticationCapability", "ansi_map.authenticationCapability",
17792         FT_UINT8, BASE_DEC, VALS(ansi_map_AuthenticationCapability_vals), 0,
17793         NULL, HFILL }},
17794     { &hf_ansi_map_callingFeaturesIndicator,
17795       { "callingFeaturesIndicator", "ansi_map.callingFeaturesIndicator",
17796         FT_BYTES, BASE_NONE, NULL, 0,
17797         NULL, HFILL }},
17798     { &hf_ansi_map_geographicAuthorization,
17799       { "geographicAuthorization", "ansi_map.geographicAuthorization",
17800         FT_UINT8, BASE_DEC, VALS(ansi_map_GeographicAuthorization_vals), 0,
17801         NULL, HFILL }},
17802     { &hf_ansi_map_meidValidated,
17803       { "meidValidated", "ansi_map.meidValidated_element",
17804         FT_NONE, BASE_NONE, NULL, 0,
17805         NULL, HFILL }},
17806     { &hf_ansi_map_mobilePositionCapability,
17807       { "mobilePositionCapability", "ansi_map.mobilePositionCapability",
17808         FT_BYTES, BASE_NONE, NULL, 0,
17809         NULL, HFILL }},
17810     { &hf_ansi_map_originationIndicator,
17811       { "originationIndicator", "ansi_map.originationIndicator",
17812         FT_UINT32, BASE_DEC, VALS(ansi_map_OriginationIndicator_vals), 0,
17813         NULL, HFILL }},
17814     { &hf_ansi_map_restrictionDigits,
17815       { "restrictionDigits", "ansi_map.restrictionDigits",
17816         FT_BYTES, BASE_NONE, NULL, 0,
17817         NULL, HFILL }},
17818     { &hf_ansi_map_sms_OriginationRestrictions,
17819       { "sms-OriginationRestrictions", "ansi_map.sms_OriginationRestrictions",
17820         FT_BYTES, BASE_NONE, NULL, 0,
17821         NULL, HFILL }},
17822     { &hf_ansi_map_sms_TerminationRestrictions,
17823       { "sms-TerminationRestrictions", "ansi_map.sms_TerminationRestrictions",
17824         FT_BYTES, BASE_NONE, NULL, 0,
17825         NULL, HFILL }},
17826     { &hf_ansi_map_spinipin,
17827       { "spinipin", "ansi_map.spinipin",
17828         FT_BYTES, BASE_NONE, NULL, 0,
17829         NULL, HFILL }},
17830     { &hf_ansi_map_spiniTriggers,
17831       { "spiniTriggers", "ansi_map.spiniTriggers",
17832         FT_BYTES, BASE_NONE, NULL, 0,
17833         NULL, HFILL }},
17834     { &hf_ansi_map_terminationRestrictionCode,
17835       { "terminationRestrictionCode", "ansi_map.terminationRestrictionCode",
17836         FT_UINT32, BASE_DEC, VALS(ansi_map_TerminationRestrictionCode_vals), 0,
17837         NULL, HFILL }},
17838     { &hf_ansi_map_userGroup,
17839       { "userGroup", "ansi_map.userGroup",
17840         FT_BYTES, BASE_NONE, NULL, 0,
17841         NULL, HFILL }},
17842     { &hf_ansi_map_lirMode,
17843       { "lirMode", "ansi_map.lirMode",
17844         FT_UINT32, BASE_DEC, VALS(ansi_map_LIRMode_vals), 0,
17845         NULL, HFILL }},
17846     { &hf_ansi_map_randValidTime,
17847       { "randValidTime", "ansi_map.randValidTime",
17848         FT_BYTES, BASE_NONE, NULL, 0,
17849         NULL, HFILL }},
17850     { &hf_ansi_map_redirectionReason,
17851       { "redirectionReason", "ansi_map.redirectionReason",
17852         FT_UINT32, BASE_DEC, VALS(ansi_map_RedirectionReason_vals), 0,
17853         NULL, HFILL }},
17854     { &hf_ansi_map_cancellationType,
17855       { "cancellationType", "ansi_map.cancellationType",
17856         FT_UINT8, BASE_DEC, VALS(ansi_map_CancellationType_vals), 0,
17857         NULL, HFILL }},
17858     { &hf_ansi_map_controlChannelData,
17859       { "controlChannelData", "ansi_map.controlChannelData",
17860         FT_BYTES, BASE_NONE, NULL, 0,
17861         NULL, HFILL }},
17862     { &hf_ansi_map_receivedSignalQuality,
17863       { "receivedSignalQuality", "ansi_map.receivedSignalQuality",
17864         FT_UINT32, BASE_DEC, NULL, 0,
17865         NULL, HFILL }},
17866     { &hf_ansi_map_systemAccessData,
17867       { "systemAccessData", "ansi_map.systemAccessData",
17868         FT_BYTES, BASE_NONE, NULL, 0,
17869         NULL, HFILL }},
17870     { &hf_ansi_map_cancellationDenied,
17871       { "cancellationDenied", "ansi_map.cancellationDenied",
17872         FT_UINT32, BASE_DEC, VALS(ansi_map_CancellationDenied_vals), 0,
17873         NULL, HFILL }},
17874     { &hf_ansi_map_availabilityType,
17875       { "availabilityType", "ansi_map.availabilityType",
17876         FT_UINT8, BASE_DEC, VALS(ansi_map_AvailabilityType_vals), 0,
17877         NULL, HFILL }},
17878     { &hf_ansi_map_borderCellAccess,
17879       { "borderCellAccess", "ansi_map.borderCellAccess",
17880         FT_UINT32, BASE_DEC, VALS(ansi_map_BorderCellAccess_vals), 0,
17881         NULL, HFILL }},
17882     { &hf_ansi_map_msc_Address,
17883       { "msc-Address", "ansi_map.msc_Address",
17884         FT_BYTES, BASE_NONE, NULL, 0,
17885         NULL, HFILL }},
17886     { &hf_ansi_map_sms_Address,
17887       { "sms-Address", "ansi_map.sms_Address_element",
17888         FT_NONE, BASE_NONE, NULL, 0,
17889         NULL, HFILL }},
17890     { &hf_ansi_map_mpcAddress,
17891       { "mpcAddress", "ansi_map.mpcAddress",
17892         FT_BYTES, BASE_NONE, NULL, 0,
17893         NULL, HFILL }},
17894     { &hf_ansi_map_mpcAddressList,
17895       { "mpcAddressList", "ansi_map.mpcAddressList_element",
17896         FT_NONE, BASE_NONE, NULL, 0,
17897         NULL, HFILL }},
17898     { &hf_ansi_map_digits_Carrier,
17899       { "digits-Carrier", "ansi_map.digits_Carrier_element",
17900         FT_NONE, BASE_NONE, NULL, 0,
17901         "Digits", HFILL }},
17902     { &hf_ansi_map_digitCollectionControl,
17903       { "digitCollectionControl", "ansi_map.digitCollectionControl",
17904         FT_BYTES, BASE_NONE, NULL, 0,
17905         NULL, HFILL }},
17906     { &hf_ansi_map_trunkStatus,
17907       { "trunkStatus", "ansi_map.trunkStatus",
17908         FT_UINT32, BASE_DEC, VALS(ansi_map_TrunkStatus_vals), 0,
17909         NULL, HFILL }},
17910     { &hf_ansi_map_voiceMailboxNumber,
17911       { "voiceMailboxNumber", "ansi_map.voiceMailboxNumber",
17912         FT_BYTES, BASE_NONE, NULL, 0,
17913         NULL, HFILL }},
17914     { &hf_ansi_map_voiceMailboxPIN,
17915       { "voiceMailboxPIN", "ansi_map.voiceMailboxPIN",
17916         FT_BYTES, BASE_NONE, NULL, 0,
17917         NULL, HFILL }},
17918     { &hf_ansi_map_sms_BearerData,
17919       { "sms-BearerData", "ansi_map.sms_BearerData",
17920         FT_BYTES, BASE_NONE, NULL, 0,
17921         NULL, HFILL }},
17922     { &hf_ansi_map_sms_TeleserviceIdentifier,
17923       { "sms-TeleserviceIdentifier", "ansi_map.sms_TeleserviceIdentifier",
17924         FT_BYTES, BASE_NONE, NULL, 0,
17925         NULL, HFILL }},
17926     { &hf_ansi_map_sms_ChargeIndicator,
17927       { "sms-ChargeIndicator", "ansi_map.sms_ChargeIndicator",
17928         FT_UINT8, BASE_DEC, VALS(ansi_map_SMS_ChargeIndicator_vals), 0,
17929         NULL, HFILL }},
17930     { &hf_ansi_map_sms_DestinationAddress,
17931       { "sms-DestinationAddress", "ansi_map.sms_DestinationAddress_element",
17932         FT_NONE, BASE_NONE, NULL, 0,
17933         NULL, HFILL }},
17934     { &hf_ansi_map_sms_OriginalDestinationAddress,
17935       { "sms-OriginalDestinationAddress", "ansi_map.sms_OriginalDestinationAddress_element",
17936         FT_NONE, BASE_NONE, NULL, 0,
17937         NULL, HFILL }},
17938     { &hf_ansi_map_sms_OriginalDestinationSubaddress,
17939       { "sms-OriginalDestinationSubaddress", "ansi_map.sms_OriginalDestinationSubaddress",
17940         FT_BYTES, BASE_NONE, NULL, 0,
17941         NULL, HFILL }},
17942     { &hf_ansi_map_sms_OriginalOriginatingAddress,
17943       { "sms-OriginalOriginatingAddress", "ansi_map.sms_OriginalOriginatingAddress_element",
17944         FT_NONE, BASE_NONE, NULL, 0,
17945         NULL, HFILL }},
17946     { &hf_ansi_map_sms_OriginalOriginatingSubaddress,
17947       { "sms-OriginalOriginatingSubaddress", "ansi_map.sms_OriginalOriginatingSubaddress",
17948         FT_BYTES, BASE_NONE, NULL, 0,
17949         NULL, HFILL }},
17950     { &hf_ansi_map_sms_OriginatingAddress,
17951       { "sms-OriginatingAddress", "ansi_map.sms_OriginatingAddress_element",
17952         FT_NONE, BASE_NONE, NULL, 0,
17953         NULL, HFILL }},
17954     { &hf_ansi_map_sms_CauseCode,
17955       { "sms-CauseCode", "ansi_map.sms_CauseCode",
17956         FT_UINT8, BASE_DEC|BASE_EXT_STRING|BASE_EXT_STRING, &ansi_map_SMS_CauseCode_vals_ext, 0,
17957         NULL, HFILL }},
17958     { &hf_ansi_map_cdmaServingOneWayDelay2,
17959       { "cdmaServingOneWayDelay2", "ansi_map.cdmaServingOneWayDelay2",
17960         FT_BYTES, BASE_NONE, NULL, 0,
17961         NULL, HFILL }},
17962     { &hf_ansi_map_interMessageTime,
17963       { "interMessageTime", "ansi_map.interMessageTime",
17964         FT_BYTES, BASE_NONE, NULL, 0,
17965         NULL, HFILL }},
17966     { &hf_ansi_map_newlyAssignedIMSI,
17967       { "newlyAssignedIMSI", "ansi_map.newlyAssignedIMSI",
17968         FT_BYTES, BASE_NONE, NULL, 0,
17969         NULL, HFILL }},
17970     { &hf_ansi_map_newlyAssignedMIN,
17971       { "newlyAssignedMIN", "ansi_map.newlyAssignedMIN_element",
17972         FT_NONE, BASE_NONE, NULL, 0,
17973         NULL, HFILL }},
17974     { &hf_ansi_map_newMINExtension,
17975       { "newMINExtension", "ansi_map.newMINExtension",
17976         FT_BYTES, BASE_NONE, NULL, 0,
17977         NULL, HFILL }},
17978     { &hf_ansi_map_sms_MessageCount,
17979       { "sms-MessageCount", "ansi_map.sms_MessageCount",
17980         FT_BYTES, BASE_NONE, NULL, 0,
17981         NULL, HFILL }},
17982     { &hf_ansi_map_sms_NotificationIndicator,
17983       { "sms-NotificationIndicator", "ansi_map.sms_NotificationIndicator",
17984         FT_UINT8, BASE_DEC, VALS(ansi_map_SMS_NotificationIndicator_vals), 0,
17985         NULL, HFILL }},
17986     { &hf_ansi_map_teleservice_Priority,
17987       { "teleservice-Priority", "ansi_map.teleservice_Priority",
17988         FT_BYTES, BASE_NONE, NULL, 0,
17989         NULL, HFILL }},
17990     { &hf_ansi_map_temporaryReferenceNumber,
17991       { "temporaryReferenceNumber", "ansi_map.temporaryReferenceNumber_element",
17992         FT_NONE, BASE_NONE, NULL, 0,
17993         NULL, HFILL }},
17994     { &hf_ansi_map_mobileStationMSID,
17995       { "mobileStationMSID", "ansi_map.mobileStationMSID",
17996         FT_UINT32, BASE_DEC, VALS(ansi_map_MobileStationMSID_vals), 0,
17997         NULL, HFILL }},
17998     { &hf_ansi_map_sms_TransactionID,
17999       { "sms-TransactionID", "ansi_map.sms_TransactionID",
18000         FT_BYTES, BASE_NONE, NULL, 0,
18001         NULL, HFILL }},
18002     { &hf_ansi_map_sms_AccessDeniedReason,
18003       { "sms-AccessDeniedReason", "ansi_map.sms_AccessDeniedReason",
18004         FT_UINT8, BASE_DEC, VALS(ansi_map_SMS_AccessDeniedReason_vals), 0,
18005         NULL, HFILL }},
18006     { &hf_ansi_map_seizureType,
18007       { "seizureType", "ansi_map.seizureType",
18008         FT_UINT32, BASE_DEC, VALS(ansi_map_SeizureType_vals), 0,
18009         NULL, HFILL }},
18010     { &hf_ansi_map_requiredParametersMask,
18011       { "requiredParametersMask", "ansi_map.requiredParametersMask",
18012         FT_BYTES, BASE_NONE, NULL, 0,
18013         NULL, HFILL }},
18014     { &hf_ansi_map_reasonList,
18015       { "reasonList", "ansi_map.reasonList",
18016         FT_UINT32, BASE_DEC, VALS(ansi_map_ReasonList_vals), 0,
18017         NULL, HFILL }},
18018     { &hf_ansi_map_networkTMSIExpirationTime,
18019       { "networkTMSIExpirationTime", "ansi_map.networkTMSIExpirationTime",
18020         FT_BYTES, BASE_NONE, NULL, 0,
18021         NULL, HFILL }},
18022     { &hf_ansi_map_newNetworkTMSI,
18023       { "newNetworkTMSI", "ansi_map.newNetworkTMSI",
18024         FT_BYTES, BASE_NONE, NULL, 0,
18025         NULL, HFILL }},
18026     { &hf_ansi_map_serviceID,
18027       { "serviceID", "ansi_map.serviceID",
18028         FT_BYTES, BASE_NONE, NULL, 0,
18029         NULL, HFILL }},
18030     { &hf_ansi_map_dataAccessElementList,
18031       { "dataAccessElementList", "ansi_map.dataAccessElementList",
18032         FT_UINT32, BASE_DEC, NULL, 0,
18033         NULL, HFILL }},
18034     { &hf_ansi_map_timeDateOffset,
18035       { "timeDateOffset", "ansi_map.timeDateOffset",
18036         FT_BYTES, BASE_NONE, NULL, 0,
18037         NULL, HFILL }},
18038     { &hf_ansi_map_timeOfDay,
18039       { "timeOfDay", "ansi_map.timeOfDay",
18040         FT_INT32, BASE_DEC, NULL, 0,
18041         NULL, HFILL }},
18042     { &hf_ansi_map_dmd_BillingIndicator,
18043       { "dmd-BillingIndicator", "ansi_map.dmd_BillingIndicator",
18044         FT_UINT32, BASE_DEC, VALS(ansi_map_DMH_BillingIndicator_vals), 0,
18045         "DMH_BillingIndicator", HFILL }},
18046     { &hf_ansi_map_failureType,
18047       { "failureType", "ansi_map.failureType",
18048         FT_UINT32, BASE_DEC, VALS(ansi_map_FailureType_vals), 0,
18049         NULL, HFILL }},
18050     { &hf_ansi_map_failureCause,
18051       { "failureCause", "ansi_map.failureCause",
18052         FT_BYTES, BASE_NONE, NULL, 0,
18053         NULL, HFILL }},
18054     { &hf_ansi_map_outingDigits,
18055       { "outingDigits", "ansi_map.outingDigits",
18056         FT_BYTES, BASE_NONE, NULL, 0,
18057         "RoutingDigits", HFILL }},
18058     { &hf_ansi_map_databaseKey,
18059       { "databaseKey", "ansi_map.databaseKey",
18060         FT_BYTES, BASE_NONE, NULL, 0,
18061         NULL, HFILL }},
18062     { &hf_ansi_map_modificationRequestList,
18063       { "modificationRequestList", "ansi_map.modificationRequestList",
18064         FT_UINT32, BASE_DEC, NULL, 0,
18065         NULL, HFILL }},
18066     { &hf_ansi_map_modificationResultList,
18067       { "modificationResultList", "ansi_map.modificationResultList",
18068         FT_UINT32, BASE_DEC, NULL, 0,
18069         NULL, HFILL }},
18070     { &hf_ansi_map_serviceDataAccessElementList,
18071       { "serviceDataAccessElementList", "ansi_map.serviceDataAccessElementList",
18072         FT_UINT32, BASE_DEC, NULL, 0,
18073         NULL, HFILL }},
18074     { &hf_ansi_map_privateSpecializedResource,
18075       { "privateSpecializedResource", "ansi_map.privateSpecializedResource",
18076         FT_BYTES, BASE_NONE, NULL, 0,
18077         NULL, HFILL }},
18078     { &hf_ansi_map_specializedResource,
18079       { "specializedResource", "ansi_map.specializedResource",
18080         FT_BYTES, BASE_NONE, NULL, 0,
18081         NULL, HFILL }},
18082     { &hf_ansi_map_executeScript,
18083       { "executeScript", "ansi_map.executeScript_element",
18084         FT_NONE, BASE_NONE, NULL, 0,
18085         NULL, HFILL }},
18086     { &hf_ansi_map_scriptResult,
18087       { "scriptResult", "ansi_map.scriptResult",
18088         FT_BYTES, BASE_NONE, NULL, 0,
18089         NULL, HFILL }},
18090     { &hf_ansi_map_tdmaVoiceMode,
18091       { "tdmaVoiceMode", "ansi_map.tdmaVoiceMode",
18092         FT_BYTES, BASE_NONE, NULL, 0,
18093         NULL, HFILL }},
18094     { &hf_ansi_map_callStatus,
18095       { "callStatus", "ansi_map.callStatus",
18096         FT_UINT32, BASE_DEC, VALS(ansi_map_CallStatus_vals), 0,
18097         NULL, HFILL }},
18098     { &hf_ansi_map_releaseCause,
18099       { "releaseCause", "ansi_map.releaseCause",
18100         FT_UINT32, BASE_DEC, VALS(ansi_map_ReleaseCause_vals), 0,
18101         NULL, HFILL }},
18102     { &hf_ansi_map_callRecoveryIDList,
18103       { "callRecoveryIDList", "ansi_map.callRecoveryIDList",
18104         FT_UINT32, BASE_DEC, NULL, 0,
18105         NULL, HFILL }},
18106     { &hf_ansi_map_positionInformationCode,
18107       { "positionInformationCode", "ansi_map.positionInformationCode",
18108         FT_BYTES, BASE_NONE, NULL, 0,
18109         NULL, HFILL }},
18110     { &hf_ansi_map_mSStatus,
18111       { "mSStatus", "ansi_map.mSStatus",
18112         FT_BYTES, BASE_NONE, NULL, 0,
18113         NULL, HFILL }},
18114     { &hf_ansi_map_pSID_RSIDInformation,
18115       { "pSID-RSIDInformation", "ansi_map.pSID_RSIDInformation",
18116         FT_BYTES, BASE_NONE, NULL, 0,
18117         NULL, HFILL }},
18118     { &hf_ansi_map_positionRequestType,
18119       { "positionRequestType", "ansi_map.positionRequestType",
18120         FT_BYTES, BASE_NONE, NULL, 0,
18121         NULL, HFILL }},
18122     { &hf_ansi_map_lcsBillingID,
18123       { "lcsBillingID", "ansi_map.lcsBillingID",
18124         FT_BYTES, BASE_NONE, NULL, 0,
18125         NULL, HFILL }},
18126     { &hf_ansi_map_lcs_Client_ID,
18127       { "lcs-Client-ID", "ansi_map.lcs_Client_ID",
18128         FT_BYTES, BASE_NONE, NULL, 0,
18129         NULL, HFILL }},
18130     { &hf_ansi_map_dtxIndication,
18131       { "dtxIndication", "ansi_map.dtxIndication",
18132         FT_BYTES, BASE_NONE, NULL, 0,
18133         NULL, HFILL }},
18134     { &hf_ansi_map_cdmaCodeChannel,
18135       { "cdmaCodeChannel", "ansi_map.cdmaCodeChannel",
18136         FT_BYTES, BASE_NONE, NULL, 0,
18137         NULL, HFILL }},
18138     { &hf_ansi_map_cdmaMobileCapabilities,
18139       { "cdmaMobileCapabilities", "ansi_map.cdmaMobileCapabilities",
18140         FT_BYTES, BASE_NONE, NULL, 0,
18141         NULL, HFILL }},
18142     { &hf_ansi_map_cdmaPSMMList,
18143       { "cdmaPSMMList", "ansi_map.cdmaPSMMList",
18144         FT_UINT32, BASE_DEC, NULL, 0,
18145         NULL, HFILL }},
18146     { &hf_ansi_map_tdma_MAHO_CELLID,
18147       { "tdma-MAHO-CELLID", "ansi_map.tdma_MAHO_CELLID",
18148         FT_BYTES, BASE_NONE, NULL, 0,
18149         NULL, HFILL }},
18150     { &hf_ansi_map_tdma_MAHO_CHANNEL,
18151       { "tdma-MAHO-CHANNEL", "ansi_map.tdma_MAHO_CHANNEL",
18152         FT_BYTES, BASE_NONE, NULL, 0,
18153         NULL, HFILL }},
18154     { &hf_ansi_map_tdma_TimeAlignment,
18155       { "tdma-TimeAlignment", "ansi_map.tdma_TimeAlignment",
18156         FT_BYTES, BASE_NONE, NULL, 0,
18157         NULL, HFILL }},
18158     { &hf_ansi_map_pqos_HorizontalPosition,
18159       { "pqos-HorizontalPosition", "ansi_map.pqos_HorizontalPosition",
18160         FT_BYTES, BASE_NONE, NULL, 0,
18161         NULL, HFILL }},
18162     { &hf_ansi_map_pqos_HorizontalVelocity,
18163       { "pqos-HorizontalVelocity", "ansi_map.pqos_HorizontalVelocity",
18164         FT_BYTES, BASE_NONE, NULL, 0,
18165         NULL, HFILL }},
18166     { &hf_ansi_map_pqos_MaximumPositionAge,
18167       { "pqos-MaximumPositionAge", "ansi_map.pqos_MaximumPositionAge",
18168         FT_BYTES, BASE_NONE, NULL, 0,
18169         NULL, HFILL }},
18170     { &hf_ansi_map_pqos_PositionPriority,
18171       { "pqos-PositionPriority", "ansi_map.pqos_PositionPriority",
18172         FT_BYTES, BASE_NONE, NULL, 0,
18173         NULL, HFILL }},
18174     { &hf_ansi_map_pqos_ResponseTime,
18175       { "pqos-ResponseTime", "ansi_map.pqos_ResponseTime",
18176         FT_UINT32, BASE_DEC, VALS(ansi_map_PQOS_ResponseTime_vals), 0,
18177         NULL, HFILL }},
18178     { &hf_ansi_map_pqos_VerticalPosition,
18179       { "pqos-VerticalPosition", "ansi_map.pqos_VerticalPosition",
18180         FT_BYTES, BASE_NONE, NULL, 0,
18181         NULL, HFILL }},
18182     { &hf_ansi_map_pqos_VerticalVelocity,
18183       { "pqos-VerticalVelocity", "ansi_map.pqos_VerticalVelocity",
18184         FT_BYTES, BASE_NONE, NULL, 0,
18185         NULL, HFILL }},
18186     { &hf_ansi_map_cdmaPSMMCount,
18187       { "cdmaPSMMCount", "ansi_map.cdmaPSMMCount",
18188         FT_BYTES, BASE_NONE, NULL, 0,
18189         NULL, HFILL }},
18190     { &hf_ansi_map_lirAuthorization,
18191       { "lirAuthorization", "ansi_map.lirAuthorization",
18192         FT_UINT32, BASE_DEC, VALS(ansi_map_LIRAuthorization_vals), 0,
18193         NULL, HFILL }},
18194     { &hf_ansi_map_mpcid,
18195       { "mpcid", "ansi_map.mpcid",
18196         FT_BYTES, BASE_NONE, NULL, 0,
18197         NULL, HFILL }},
18198     { &hf_ansi_map_tdma_MAHORequest,
18199       { "tdma-MAHORequest", "ansi_map.tdma_MAHORequest",
18200         FT_BYTES, BASE_NONE, NULL, 0,
18201         NULL, HFILL }},
18202     { &hf_ansi_map_positionResult,
18203       { "positionResult", "ansi_map.positionResult",
18204         FT_BYTES, BASE_NONE, NULL, 0,
18205         NULL, HFILL }},
18206     { &hf_ansi_map_positionInformation,
18207       { "positionInformation", "ansi_map.positionInformation_element",
18208         FT_NONE, BASE_NONE, NULL, 0,
18209         NULL, HFILL }},
18210     { &hf_ansi_map_controlType,
18211       { "controlType", "ansi_map.controlType",
18212         FT_BYTES, BASE_NONE, NULL, 0,
18213         NULL, HFILL }},
18214     { &hf_ansi_map_destinationAddress,
18215       { "destinationAddress", "ansi_map.destinationAddress",
18216         FT_UINT32, BASE_DEC, VALS(ansi_map_DestinationAddress_vals), 0,
18217         NULL, HFILL }},
18218     { &hf_ansi_map_gapDuration,
18219       { "gapDuration", "ansi_map.gapDuration",
18220         FT_UINT32, BASE_DEC, VALS(ansi_map_GapDuration_vals), 0,
18221         NULL, HFILL }},
18222     { &hf_ansi_map_gapInterval,
18223       { "gapInterval", "ansi_map.gapInterval",
18224         FT_UINT32, BASE_DEC, VALS(ansi_map_GapInterval_vals), 0,
18225         NULL, HFILL }},
18226     { &hf_ansi_map_invokingNEType,
18227       { "invokingNEType", "ansi_map.invokingNEType",
18228         FT_INT32, BASE_DEC, NULL, 0,
18229         NULL, HFILL }},
18230     { &hf_ansi_map_range,
18231       { "range", "ansi_map.range",
18232         FT_INT32, BASE_DEC, NULL, 0,
18233         NULL, HFILL }},
18234     { &hf_ansi_map_meidStatus,
18235       { "meidStatus", "ansi_map.meidStatus",
18236         FT_BYTES, BASE_NONE, NULL, 0,
18237         NULL, HFILL }},
18238     { &hf_ansi_map_aKeyProtocolVersion,
18239       { "aKeyProtocolVersion", "ansi_map.aKeyProtocolVersion",
18240         FT_BYTES, BASE_NONE, NULL, 0,
18241         NULL, HFILL }},
18242     { &hf_ansi_map_mobileStationPartialKey,
18243       { "mobileStationPartialKey", "ansi_map.mobileStationPartialKey",
18244         FT_BYTES, BASE_NONE, NULL, 0,
18245         NULL, HFILL }},
18246     { &hf_ansi_map_newlyAssignedMSID,
18247       { "newlyAssignedMSID", "ansi_map.newlyAssignedMSID",
18248         FT_UINT32, BASE_DEC, VALS(ansi_map_NewlyAssignedMSID_vals), 0,
18249         NULL, HFILL }},
18250     { &hf_ansi_map_baseStationPartialKey,
18251       { "baseStationPartialKey", "ansi_map.baseStationPartialKey",
18252         FT_BYTES, BASE_NONE, NULL, 0,
18253         NULL, HFILL }},
18254     { &hf_ansi_map_modulusValue,
18255       { "modulusValue", "ansi_map.modulusValue",
18256         FT_BYTES, BASE_NONE, NULL, 0,
18257         NULL, HFILL }},
18258     { &hf_ansi_map_otasp_ResultCode,
18259       { "otasp-ResultCode", "ansi_map.otasp_ResultCode",
18260         FT_UINT8, BASE_DEC, VALS(ansi_map_OTASP_ResultCode_vals), 0,
18261         NULL, HFILL }},
18262     { &hf_ansi_map_primitiveValue,
18263       { "primitiveValue", "ansi_map.primitiveValue",
18264         FT_BYTES, BASE_NONE, NULL, 0,
18265         NULL, HFILL }},
18266     { &hf_ansi_map_record_Type,
18267       { "record-Type", "ansi_map.record_Type",
18268         FT_BYTES, BASE_NONE, NULL, 0,
18269         NULL, HFILL }},
18270     { &hf_ansi_map_information_Record,
18271       { "information-Record", "ansi_map.information_Record",
18272         FT_BYTES, BASE_NONE, NULL, 0,
18273         NULL, HFILL }},
18274     { &hf_ansi_map_cdma2000MobileSupportedCapabilities,
18275       { "cdma2000MobileSupportedCapabilities", "ansi_map.cdma2000MobileSupportedCapabilities",
18276         FT_BYTES, BASE_NONE, NULL, 0,
18277         NULL, HFILL }},
18278     { &hf_ansi_map_announcementCode1,
18279       { "announcementCode1", "ansi_map.announcementCode1",
18280         FT_BYTES, BASE_NONE, NULL, 0,
18281         "AnnouncementCode", HFILL }},
18282     { &hf_ansi_map_announcementCode2,
18283       { "announcementCode2", "ansi_map.announcementCode2",
18284         FT_BYTES, BASE_NONE, NULL, 0,
18285         "AnnouncementCode", HFILL }},
18286     { &hf_ansi_map_cdmaPilotPN,
18287       { "cdmaPilotPN", "ansi_map.cdmaPilotPN",
18288         FT_BYTES, BASE_NONE, NULL, 0,
18289         NULL, HFILL }},
18290     { &hf_ansi_map_cdmaPowerCombinedIndicator,
18291       { "cdmaPowerCombinedIndicator", "ansi_map.cdmaPowerCombinedIndicator",
18292         FT_BYTES, BASE_NONE, NULL, 0,
18293         NULL, HFILL }},
18294     { &hf_ansi_map_CDMACodeChannelList_item,
18295       { "CDMACodeChannelInformation", "ansi_map.CDMACodeChannelInformation_element",
18296         FT_NONE, BASE_NONE, NULL, 0,
18297         NULL, HFILL }},
18298     { &hf_ansi_map_cdmaPilotStrength,
18299       { "cdmaPilotStrength", "ansi_map.cdmaPilotStrength",
18300         FT_BYTES, BASE_NONE, NULL, 0,
18301         NULL, HFILL }},
18302     { &hf_ansi_map_cdmaTargetOneWayDelay,
18303       { "cdmaTargetOneWayDelay", "ansi_map.cdmaTargetOneWayDelay",
18304         FT_BYTES, BASE_NONE, NULL, 0,
18305         NULL, HFILL }},
18306     { &hf_ansi_map_CDMATargetMAHOList_item,
18307       { "CDMATargetMAHOInformation", "ansi_map.CDMATargetMAHOInformation_element",
18308         FT_NONE, BASE_NONE, NULL, 0,
18309         NULL, HFILL }},
18310     { &hf_ansi_map_cdmaSignalQuality,
18311       { "cdmaSignalQuality", "ansi_map.cdmaSignalQuality",
18312         FT_BYTES, BASE_NONE, NULL, 0,
18313         NULL, HFILL }},
18314     { &hf_ansi_map_CDMATargetMeasurementList_item,
18315       { "CDMATargetMeasurementInformation", "ansi_map.CDMATargetMeasurementInformation_element",
18316         FT_NONE, BASE_NONE, NULL, 0,
18317         NULL, HFILL }},
18318     { &hf_ansi_map_TargetMeasurementList_item,
18319       { "TargetMeasurementInformation", "ansi_map.TargetMeasurementInformation_element",
18320         FT_NONE, BASE_NONE, NULL, 0,
18321         NULL, HFILL }},
18322     { &hf_ansi_map_TerminationList_item,
18323       { "TerminationList item", "ansi_map.TerminationList_item",
18324         FT_UINT32, BASE_DEC, VALS(ansi_map_TerminationList_item_vals), 0,
18325         NULL, HFILL }},
18326     { &hf_ansi_map_intersystemTermination,
18327       { "intersystemTermination", "ansi_map.intersystemTermination_element",
18328         FT_NONE, BASE_NONE, NULL, 0,
18329         NULL, HFILL }},
18330     { &hf_ansi_map_localTermination,
18331       { "localTermination", "ansi_map.localTermination_element",
18332         FT_NONE, BASE_NONE, NULL, 0,
18333         NULL, HFILL }},
18334     { &hf_ansi_map_pstnTermination,
18335       { "pstnTermination", "ansi_map.pstnTermination_element",
18336         FT_NONE, BASE_NONE, NULL, 0,
18337         NULL, HFILL }},
18338     { &hf_ansi_map_CDMABandClassList_item,
18339       { "CDMABandClassInformation", "ansi_map.CDMABandClassInformation_element",
18340         FT_NONE, BASE_NONE, NULL, 0,
18341         NULL, HFILL }},
18342     { &hf_ansi_map_CDMAServiceOptionList_item,
18343       { "CDMAServiceOption", "ansi_map.CDMAServiceOption",
18344         FT_BYTES, BASE_NONE, NULL, 0,
18345         NULL, HFILL }},
18346     { &hf_ansi_map_pSID_RSIDInformation1,
18347       { "pSID-RSIDInformation1", "ansi_map.pSID_RSIDInformation1",
18348         FT_BYTES, BASE_NONE, NULL, 0,
18349         "PSID_RSIDInformation", HFILL }},
18350     { &hf_ansi_map_targetCellID1,
18351       { "targetCellID1", "ansi_map.targetCellID1",
18352         FT_BYTES, BASE_NONE, NULL, 0,
18353         "TargetCellID", HFILL }},
18354     { &hf_ansi_map_cdmaConnectionReference,
18355       { "cdmaConnectionReference", "ansi_map.cdmaConnectionReference",
18356         FT_BYTES, BASE_NONE, NULL, 0,
18357         NULL, HFILL }},
18358     { &hf_ansi_map_cdmaState,
18359       { "cdmaState", "ansi_map.cdmaState",
18360         FT_BYTES, BASE_NONE, NULL, 0,
18361         NULL, HFILL }},
18362     { &hf_ansi_map_cdmaServiceOptionConnectionIdentifier,
18363       { "cdmaServiceOptionConnectionIdentifier", "ansi_map.cdmaServiceOptionConnectionIdentifier",
18364         FT_BYTES, BASE_NONE, NULL, 0,
18365         NULL, HFILL }},
18366     { &hf_ansi_map_CDMAConnectionReferenceList_item,
18367       { "CDMAConnectionReferenceList item", "ansi_map.CDMAConnectionReferenceList_item_element",
18368         FT_NONE, BASE_NONE, NULL, 0,
18369         NULL, HFILL }},
18370     { &hf_ansi_map_cdmaConnectionReferenceInformation,
18371       { "cdmaConnectionReferenceInformation", "ansi_map.cdmaConnectionReferenceInformation_element",
18372         FT_NONE, BASE_NONE, NULL, 0,
18373         NULL, HFILL }},
18374     { &hf_ansi_map_cdmaConnectionReferenceInformation2,
18375       { "cdmaConnectionReferenceInformation2", "ansi_map.cdmaConnectionReferenceInformation2_element",
18376         FT_NONE, BASE_NONE, NULL, 0,
18377         "CDMAConnectionReferenceInformation", HFILL }},
18378     { &hf_ansi_map_analogRedirectInfo,
18379       { "analogRedirectInfo", "ansi_map.analogRedirectInfo",
18380         FT_BYTES, BASE_NONE, NULL, 0,
18381         NULL, HFILL }},
18382     { &hf_ansi_map_CDMAChannelNumberList_item,
18383       { "CDMAChannelNumberList item", "ansi_map.CDMAChannelNumberList_item_element",
18384         FT_NONE, BASE_NONE, NULL, 0,
18385         NULL, HFILL }},
18386     { &hf_ansi_map_cdmaChannelNumber,
18387       { "cdmaChannelNumber", "ansi_map.cdmaChannelNumber",
18388         FT_BYTES, BASE_NONE, NULL, 0,
18389         NULL, HFILL }},
18390     { &hf_ansi_map_cdmaChannelNumber2,
18391       { "cdmaChannelNumber2", "ansi_map.cdmaChannelNumber2",
18392         FT_BYTES, BASE_NONE, NULL, 0,
18393         "CDMAChannelNumber", HFILL }},
18394     { &hf_ansi_map_cdmaChannelNumberList,
18395       { "cdmaChannelNumberList", "ansi_map.cdmaChannelNumberList",
18396         FT_UINT32, BASE_DEC, NULL, 0,
18397         NULL, HFILL }},
18398     { &hf_ansi_map_dataID,
18399       { "dataID", "ansi_map.dataID",
18400         FT_BYTES, BASE_NONE, NULL, 0,
18401         NULL, HFILL }},
18402     { &hf_ansi_map_change,
18403       { "change", "ansi_map.change",
18404         FT_UINT32, BASE_DEC, VALS(ansi_map_Change_vals), 0,
18405         NULL, HFILL }},
18406     { &hf_ansi_map_dataValue,
18407       { "dataValue", "ansi_map.dataValue",
18408         FT_BYTES, BASE_NONE, NULL, 0,
18409         NULL, HFILL }},
18410     { &hf_ansi_map_DataAccessElementList_item,
18411       { "DataAccessElementList item", "ansi_map.DataAccessElementList_item_element",
18412         FT_NONE, BASE_NONE, NULL, 0,
18413         NULL, HFILL }},
18414     { &hf_ansi_map_dataAccessElement1,
18415       { "dataAccessElement1", "ansi_map.dataAccessElement1_element",
18416         FT_NONE, BASE_NONE, NULL, 0,
18417         "DataAccessElement", HFILL }},
18418     { &hf_ansi_map_dataAccessElement2,
18419       { "dataAccessElement2", "ansi_map.dataAccessElement2_element",
18420         FT_NONE, BASE_NONE, NULL, 0,
18421         "DataAccessElement", HFILL }},
18422     { &hf_ansi_map_dataResult,
18423       { "dataResult", "ansi_map.dataResult",
18424         FT_UINT32, BASE_DEC, VALS(ansi_map_DataResult_vals), 0,
18425         NULL, HFILL }},
18426     { &hf_ansi_map_DataUpdateResultList_item,
18427       { "DataUpdateResult", "ansi_map.DataUpdateResult_element",
18428         FT_NONE, BASE_NONE, NULL, 0,
18429         NULL, HFILL }},
18430     { &hf_ansi_map_globalTitle,
18431       { "globalTitle", "ansi_map.globalTitle",
18432         FT_BYTES, BASE_NONE, NULL, 0,
18433         NULL, HFILL }},
18434     { &hf_ansi_map_pC_SSN,
18435       { "pC-SSN", "ansi_map.pC_SSN",
18436         FT_BYTES, BASE_NONE, NULL, 0,
18437         NULL, HFILL }},
18438     { &hf_ansi_map_scriptName,
18439       { "scriptName", "ansi_map.scriptName",
18440         FT_BYTES, BASE_NONE, NULL, 0,
18441         NULL, HFILL }},
18442     { &hf_ansi_map_scriptArgument,
18443       { "scriptArgument", "ansi_map.scriptArgument",
18444         FT_BYTES, BASE_NONE, NULL, 0,
18445         NULL, HFILL }},
18446     { &hf_ansi_map_allOrNone,
18447       { "allOrNone", "ansi_map.allOrNone",
18448         FT_UINT32, BASE_DEC, VALS(ansi_map_AllOrNone_vals), 0,
18449         NULL, HFILL }},
18450     { &hf_ansi_map_ModificationRequestList_item,
18451       { "ModificationRequest", "ansi_map.ModificationRequest_element",
18452         FT_NONE, BASE_NONE, NULL, 0,
18453         NULL, HFILL }},
18454     { &hf_ansi_map_serviceDataResultList,
18455       { "serviceDataResultList", "ansi_map.serviceDataResultList",
18456         FT_UINT32, BASE_DEC, NULL, 0,
18457         NULL, HFILL }},
18458     { &hf_ansi_map_ModificationResultList_item,
18459       { "ModificationResult", "ansi_map.ModificationResult",
18460         FT_UINT32, BASE_DEC, VALS(ansi_map_ModificationResult_vals), 0,
18461         NULL, HFILL }},
18462     { &hf_ansi_map_ServiceDataAccessElementList_item,
18463       { "ServiceDataAccessElement", "ansi_map.ServiceDataAccessElement_element",
18464         FT_NONE, BASE_NONE, NULL, 0,
18465         NULL, HFILL }},
18466     { &hf_ansi_map_dataUpdateResultList,
18467       { "dataUpdateResultList", "ansi_map.dataUpdateResultList",
18468         FT_UINT32, BASE_DEC, NULL, 0,
18469         NULL, HFILL }},
18470     { &hf_ansi_map_ServiceDataResultList_item,
18471       { "ServiceDataResult", "ansi_map.ServiceDataResult_element",
18472         FT_NONE, BASE_NONE, NULL, 0,
18473         NULL, HFILL }},
18474     { &hf_ansi_map_triggerList,
18475       { "triggerList", "ansi_map.triggerList_element",
18476         FT_NONE, BASE_NONE, NULL, 0,
18477         NULL, HFILL }},
18478     { &hf_ansi_map_triggerListOpt,
18479       { "triggerListOpt", "ansi_map.triggerListOpt_element",
18480         FT_NONE, BASE_NONE, NULL, 0,
18481         "TriggerList", HFILL }},
18482     { &hf_ansi_map_wIN_TriggerList,
18483       { "wIN-TriggerList", "ansi_map.wIN_TriggerList",
18484         FT_BYTES, BASE_NONE, NULL, 0,
18485         NULL, HFILL }},
18486     { &hf_ansi_map_triggerCapability,
18487       { "triggerCapability", "ansi_map.triggerCapability",
18488         FT_BYTES, BASE_NONE, NULL, 0,
18489         NULL, HFILL }},
18490     { &hf_ansi_map_wINOperationsCapability,
18491       { "wINOperationsCapability", "ansi_map.wINOperationsCapability",
18492         FT_BYTES, BASE_NONE, NULL, 0,
18493         NULL, HFILL }},
18494     { &hf_ansi_map_CallRecoveryIDList_item,
18495       { "CallRecoveryID", "ansi_map.CallRecoveryID_element",
18496         FT_NONE, BASE_NONE, NULL, 0,
18497         NULL, HFILL }},
18498     { &hf_ansi_map_generalizedTime,
18499       { "generalizedTime", "ansi_map.generalizedTime",
18500         FT_STRING, BASE_NONE, NULL, 0,
18501         NULL, HFILL }},
18502     { &hf_ansi_map_geographicPosition,
18503       { "geographicPosition", "ansi_map.geographicPosition",
18504         FT_BYTES, BASE_NONE, NULL, 0,
18505         NULL, HFILL }},
18506     { &hf_ansi_map_positionSource,
18507       { "positionSource", "ansi_map.positionSource",
18508         FT_BYTES, BASE_NONE, NULL, 0,
18509         NULL, HFILL }},
18510     { &hf_ansi_map_horizontal_Velocity,
18511       { "horizontal-Velocity", "ansi_map.horizontal_Velocity",
18512         FT_BYTES, BASE_NONE, NULL, 0,
18513         NULL, HFILL }},
18514     { &hf_ansi_map_vertical_Velocity,
18515       { "vertical-Velocity", "ansi_map.vertical_Velocity",
18516         FT_BYTES, BASE_NONE, NULL, 0,
18517         NULL, HFILL }},
18518     { &hf_ansi_map_sCFOverloadGapInterval,
18519       { "sCFOverloadGapInterval", "ansi_map.sCFOverloadGapInterval",
18520         FT_UINT32, BASE_DEC, VALS(ansi_map_SCFOverloadGapInterval_vals), 0,
18521         NULL, HFILL }},
18522     { &hf_ansi_map_serviceManagementSystemGapInterval,
18523       { "serviceManagementSystemGapInterval", "ansi_map.serviceManagementSystemGapInterval",
18524         FT_UINT32, BASE_DEC, VALS(ansi_map_ServiceManagementSystemGapInterval_vals), 0,
18525         NULL, HFILL }},
18526     { &hf_ansi_map_CDMAPSMMList_item,
18527       { "CDMAPSMMList item", "ansi_map.CDMAPSMMList_item_element",
18528         FT_NONE, BASE_NONE, NULL, 0,
18529         NULL, HFILL }},
18530     { &hf_ansi_map_cdmaTargetMAHOList2,
18531       { "cdmaTargetMAHOList2", "ansi_map.cdmaTargetMAHOList2",
18532         FT_UINT32, BASE_DEC, NULL, 0,
18533         "CDMATargetMAHOList", HFILL }},
18534     { &hf_ansi_map_mpcAddress2,
18535       { "mpcAddress2", "ansi_map.mpcAddress2",
18536         FT_BYTES, BASE_NONE, NULL, 0,
18537         "MPCAddress", HFILL }},
18538     { &hf_ansi_map_mobileStationIMSI,
18539       { "mobileStationIMSI", "ansi_map.mobileStationIMSI",
18540         FT_BYTES, BASE_NONE, NULL, 0,
18541         NULL, HFILL }},
18542     { &hf_ansi_map_handoffMeasurementRequest,
18543       { "handoffMeasurementRequest", "ansi_map.handoffMeasurementRequest_element",
18544         FT_NONE, BASE_NONE, NULL, 0,
18545         NULL, HFILL }},
18546     { &hf_ansi_map_facilitiesDirective,
18547       { "facilitiesDirective", "ansi_map.facilitiesDirective_element",
18548         FT_NONE, BASE_NONE, NULL, 0,
18549         NULL, HFILL }},
18550     { &hf_ansi_map_handoffBack,
18551       { "handoffBack", "ansi_map.handoffBack_element",
18552         FT_NONE, BASE_NONE, NULL, 0,
18553         NULL, HFILL }},
18554     { &hf_ansi_map_facilitiesRelease,
18555       { "facilitiesRelease", "ansi_map.facilitiesRelease_element",
18556         FT_NONE, BASE_NONE, NULL, 0,
18557         NULL, HFILL }},
18558     { &hf_ansi_map_qualificationRequest,
18559       { "qualificationRequest", "ansi_map.qualificationRequest_element",
18560         FT_NONE, BASE_NONE, NULL, 0,
18561         NULL, HFILL }},
18562     { &hf_ansi_map_qualificationDirective,
18563       { "qualificationDirective", "ansi_map.qualificationDirective_element",
18564         FT_NONE, BASE_NONE, NULL, 0,
18565         NULL, HFILL }},
18566     { &hf_ansi_map_blocking,
18567       { "blocking", "ansi_map.blocking_element",
18568         FT_NONE, BASE_NONE, NULL, 0,
18569         NULL, HFILL }},
18570     { &hf_ansi_map_unblocking,
18571       { "unblocking", "ansi_map.unblocking_element",
18572         FT_NONE, BASE_NONE, NULL, 0,
18573         NULL, HFILL }},
18574     { &hf_ansi_map_resetCircuit,
18575       { "resetCircuit", "ansi_map.resetCircuit_element",
18576         FT_NONE, BASE_NONE, NULL, 0,
18577         NULL, HFILL }},
18578     { &hf_ansi_map_trunkTest,
18579       { "trunkTest", "ansi_map.trunkTest_element",
18580         FT_NONE, BASE_NONE, NULL, 0,
18581         NULL, HFILL }},
18582     { &hf_ansi_map_trunkTestDisconnect,
18583       { "trunkTestDisconnect", "ansi_map.trunkTestDisconnect_element",
18584         FT_NONE, BASE_NONE, NULL, 0,
18585         NULL, HFILL }},
18586     { &hf_ansi_map_registrationNotification,
18587       { "registrationNotification", "ansi_map.registrationNotification_element",
18588         FT_NONE, BASE_NONE, NULL, 0,
18589         NULL, HFILL }},
18590     { &hf_ansi_map_registrationCancellation,
18591       { "registrationCancellation", "ansi_map.registrationCancellation_element",
18592         FT_NONE, BASE_NONE, NULL, 0,
18593         NULL, HFILL }},
18594     { &hf_ansi_map_locationRequest,
18595       { "locationRequest", "ansi_map.locationRequest_element",
18596         FT_NONE, BASE_NONE, NULL, 0,
18597         NULL, HFILL }},
18598     { &hf_ansi_map_routingRequest,
18599       { "routingRequest", "ansi_map.routingRequest_element",
18600         FT_NONE, BASE_NONE, NULL, 0,
18601         NULL, HFILL }},
18602     { &hf_ansi_map_featureRequest,
18603       { "featureRequest", "ansi_map.featureRequest_element",
18604         FT_NONE, BASE_NONE, NULL, 0,
18605         NULL, HFILL }},
18606     { &hf_ansi_map_unreliableRoamerDataDirective,
18607       { "unreliableRoamerDataDirective", "ansi_map.unreliableRoamerDataDirective_element",
18608         FT_NONE, BASE_NONE, NULL, 0,
18609         NULL, HFILL }},
18610     { &hf_ansi_map_mSInactive,
18611       { "mSInactive", "ansi_map.mSInactive_element",
18612         FT_NONE, BASE_NONE, NULL, 0,
18613         NULL, HFILL }},
18614     { &hf_ansi_map_transferToNumberRequest,
18615       { "transferToNumberRequest", "ansi_map.transferToNumberRequest_element",
18616         FT_NONE, BASE_NONE, NULL, 0,
18617         NULL, HFILL }},
18618     { &hf_ansi_map_redirectionRequest,
18619       { "redirectionRequest", "ansi_map.redirectionRequest_element",
18620         FT_NONE, BASE_NONE, NULL, 0,
18621         NULL, HFILL }},
18622     { &hf_ansi_map_handoffToThird,
18623       { "handoffToThird", "ansi_map.handoffToThird_element",
18624         FT_NONE, BASE_NONE, NULL, 0,
18625         NULL, HFILL }},
18626     { &hf_ansi_map_flashRequest,
18627       { "flashRequest", "ansi_map.flashRequest_element",
18628         FT_NONE, BASE_NONE, NULL, 0,
18629         NULL, HFILL }},
18630     { &hf_ansi_map_authenticationDirective,
18631       { "authenticationDirective", "ansi_map.authenticationDirective_element",
18632         FT_NONE, BASE_NONE, NULL, 0,
18633         NULL, HFILL }},
18634     { &hf_ansi_map_authenticationRequest,
18635       { "authenticationRequest", "ansi_map.authenticationRequest_element",
18636         FT_NONE, BASE_NONE, NULL, 0,
18637         NULL, HFILL }},
18638     { &hf_ansi_map_baseStationChallenge,
18639       { "baseStationChallenge", "ansi_map.baseStationChallenge_element",
18640         FT_NONE, BASE_NONE, NULL, 0,
18641         NULL, HFILL }},
18642     { &hf_ansi_map_authenticationFailureReport,
18643       { "authenticationFailureReport", "ansi_map.authenticationFailureReport_element",
18644         FT_NONE, BASE_NONE, NULL, 0,
18645         NULL, HFILL }},
18646     { &hf_ansi_map_countRequest,
18647       { "countRequest", "ansi_map.countRequest_element",
18648         FT_NONE, BASE_NONE, NULL, 0,
18649         NULL, HFILL }},
18650     { &hf_ansi_map_interSystemPage,
18651       { "interSystemPage", "ansi_map.interSystemPage_element",
18652         FT_NONE, BASE_NONE, NULL, 0,
18653         NULL, HFILL }},
18654     { &hf_ansi_map_unsolicitedResponse,
18655       { "unsolicitedResponse", "ansi_map.unsolicitedResponse_element",
18656         FT_NONE, BASE_NONE, NULL, 0,
18657         NULL, HFILL }},
18658     { &hf_ansi_map_bulkDeregistration,
18659       { "bulkDeregistration", "ansi_map.bulkDeregistration_element",
18660         FT_NONE, BASE_NONE, NULL, 0,
18661         NULL, HFILL }},
18662     { &hf_ansi_map_handoffMeasurementRequest2,
18663       { "handoffMeasurementRequest2", "ansi_map.handoffMeasurementRequest2_element",
18664         FT_NONE, BASE_NONE, NULL, 0,
18665         NULL, HFILL }},
18666     { &hf_ansi_map_facilitiesDirective2,
18667       { "facilitiesDirective2", "ansi_map.facilitiesDirective2_element",
18668         FT_NONE, BASE_NONE, NULL, 0,
18669         NULL, HFILL }},
18670     { &hf_ansi_map_handoffBack2,
18671       { "handoffBack2", "ansi_map.handoffBack2_element",
18672         FT_NONE, BASE_NONE, NULL, 0,
18673         NULL, HFILL }},
18674     { &hf_ansi_map_handoffToThird2,
18675       { "handoffToThird2", "ansi_map.handoffToThird2_element",
18676         FT_NONE, BASE_NONE, NULL, 0,
18677         NULL, HFILL }},
18678     { &hf_ansi_map_authenticationDirectiveForward,
18679       { "authenticationDirectiveForward", "ansi_map.authenticationDirectiveForward_element",
18680         FT_NONE, BASE_NONE, NULL, 0,
18681         NULL, HFILL }},
18682     { &hf_ansi_map_authenticationStatusReport,
18683       { "authenticationStatusReport", "ansi_map.authenticationStatusReport_element",
18684         FT_NONE, BASE_NONE, NULL, 0,
18685         NULL, HFILL }},
18686     { &hf_ansi_map_informationDirective,
18687       { "informationDirective", "ansi_map.informationDirective_element",
18688         FT_NONE, BASE_NONE, NULL, 0,
18689         NULL, HFILL }},
18690     { &hf_ansi_map_informationForward,
18691       { "informationForward", "ansi_map.informationForward_element",
18692         FT_NONE, BASE_NONE, NULL, 0,
18693         NULL, HFILL }},
18694     { &hf_ansi_map_interSystemAnswer,
18695       { "interSystemAnswer", "ansi_map.interSystemAnswer_element",
18696         FT_NONE, BASE_NONE, NULL, 0,
18697         NULL, HFILL }},
18698     { &hf_ansi_map_interSystemPage2,
18699       { "interSystemPage2", "ansi_map.interSystemPage2_element",
18700         FT_NONE, BASE_NONE, NULL, 0,
18701         NULL, HFILL }},
18702     { &hf_ansi_map_interSystemSetup,
18703       { "interSystemSetup", "ansi_map.interSystemSetup_element",
18704         FT_NONE, BASE_NONE, NULL, 0,
18705         NULL, HFILL }},
18706     { &hf_ansi_map_originationRequest,
18707       { "originationRequest", "ansi_map.originationRequest_element",
18708         FT_NONE, BASE_NONE, NULL, 0,
18709         NULL, HFILL }},
18710     { &hf_ansi_map_randomVariableRequest,
18711       { "randomVariableRequest", "ansi_map.randomVariableRequest_element",
18712         FT_NONE, BASE_NONE, NULL, 0,
18713         NULL, HFILL }},
18714     { &hf_ansi_map_redirectionDirective,
18715       { "redirectionDirective", "ansi_map.redirectionDirective_element",
18716         FT_NONE, BASE_NONE, NULL, 0,
18717         NULL, HFILL }},
18718     { &hf_ansi_map_remoteUserInteractionDirective,
18719       { "remoteUserInteractionDirective", "ansi_map.remoteUserInteractionDirective_element",
18720         FT_NONE, BASE_NONE, NULL, 0,
18721         NULL, HFILL }},
18722     { &hf_ansi_map_sMSDeliveryBackward,
18723       { "sMSDeliveryBackward", "ansi_map.sMSDeliveryBackward_element",
18724         FT_NONE, BASE_NONE, NULL, 0,
18725         NULL, HFILL }},
18726     { &hf_ansi_map_sMSDeliveryForward,
18727       { "sMSDeliveryForward", "ansi_map.sMSDeliveryForward_element",
18728         FT_NONE, BASE_NONE, NULL, 0,
18729         NULL, HFILL }},
18730     { &hf_ansi_map_sMSDeliveryPointToPoint,
18731       { "sMSDeliveryPointToPoint", "ansi_map.sMSDeliveryPointToPoint_element",
18732         FT_NONE, BASE_NONE, NULL, 0,
18733         NULL, HFILL }},
18734     { &hf_ansi_map_sMSNotification,
18735       { "sMSNotification", "ansi_map.sMSNotification_element",
18736         FT_NONE, BASE_NONE, NULL, 0,
18737         NULL, HFILL }},
18738     { &hf_ansi_map_sMSRequest,
18739       { "sMSRequest", "ansi_map.sMSRequest_element",
18740         FT_NONE, BASE_NONE, NULL, 0,
18741         NULL, HFILL }},
18742     { &hf_ansi_map_oTASPRequest,
18743       { "oTASPRequest", "ansi_map.oTASPRequest_element",
18744         FT_NONE, BASE_NONE, NULL, 0,
18745         NULL, HFILL }},
18746     { &hf_ansi_map_changeFacilities,
18747       { "changeFacilities", "ansi_map.changeFacilities_element",
18748         FT_NONE, BASE_NONE, NULL, 0,
18749         NULL, HFILL }},
18750     { &hf_ansi_map_changeService,
18751       { "changeService", "ansi_map.changeService_element",
18752         FT_NONE, BASE_NONE, NULL, 0,
18753         NULL, HFILL }},
18754     { &hf_ansi_map_parameterRequest,
18755       { "parameterRequest", "ansi_map.parameterRequest_element",
18756         FT_NONE, BASE_NONE, NULL, 0,
18757         NULL, HFILL }},
18758     { &hf_ansi_map_tMSIDirective,
18759       { "tMSIDirective", "ansi_map.tMSIDirective_element",
18760         FT_NONE, BASE_NONE, NULL, 0,
18761         NULL, HFILL }},
18762     { &hf_ansi_map_numberPortabilityRequest,
18763       { "numberPortabilityRequest", "ansi_map.numberPortabilityRequest_element",
18764         FT_NONE, BASE_NONE, NULL, 0,
18765         NULL, HFILL }},
18766     { &hf_ansi_map_serviceRequest,
18767       { "serviceRequest", "ansi_map.serviceRequest_element",
18768         FT_NONE, BASE_NONE, NULL, 0,
18769         NULL, HFILL }},
18770     { &hf_ansi_map_analyzedInformation,
18771       { "analyzedInformation", "ansi_map.analyzedInformation_element",
18772         FT_NONE, BASE_NONE, NULL, 0,
18773         NULL, HFILL }},
18774     { &hf_ansi_map_connectionFailureReport,
18775       { "connectionFailureReport", "ansi_map.connectionFailureReport_element",
18776         FT_NONE, BASE_NONE, NULL, 0,
18777         NULL, HFILL }},
18778     { &hf_ansi_map_connectResource,
18779       { "connectResource", "ansi_map.connectResource_element",
18780         FT_NONE, BASE_NONE, NULL, 0,
18781         NULL, HFILL }},
18782     { &hf_ansi_map_facilitySelectedAndAvailable,
18783       { "facilitySelectedAndAvailable", "ansi_map.facilitySelectedAndAvailable_element",
18784         FT_NONE, BASE_NONE, NULL, 0,
18785         NULL, HFILL }},
18786     { &hf_ansi_map_modify,
18787       { "modify", "ansi_map.modify_element",
18788         FT_NONE, BASE_NONE, NULL, 0,
18789         NULL, HFILL }},
18790     { &hf_ansi_map_search,
18791       { "search", "ansi_map.search_element",
18792         FT_NONE, BASE_NONE, NULL, 0,
18793         NULL, HFILL }},
18794     { &hf_ansi_map_seizeResource,
18795       { "seizeResource", "ansi_map.seizeResource_element",
18796         FT_NONE, BASE_NONE, NULL, 0,
18797         NULL, HFILL }},
18798     { &hf_ansi_map_sRFDirective,
18799       { "sRFDirective", "ansi_map.sRFDirective_element",
18800         FT_NONE, BASE_NONE, NULL, 0,
18801         NULL, HFILL }},
18802     { &hf_ansi_map_tBusy,
18803       { "tBusy", "ansi_map.tBusy_element",
18804         FT_NONE, BASE_NONE, NULL, 0,
18805         NULL, HFILL }},
18806     { &hf_ansi_map_tNoAnswer,
18807       { "tNoAnswer", "ansi_map.tNoAnswer_element",
18808         FT_NONE, BASE_NONE, NULL, 0,
18809         NULL, HFILL }},
18810     { &hf_ansi_map_smsDeliveryPointToPointAck,
18811       { "smsDeliveryPointToPointAck", "ansi_map.smsDeliveryPointToPointAck_element",
18812         FT_NONE, BASE_NONE, NULL, 0,
18813         NULL, HFILL }},
18814     { &hf_ansi_map_messageDirective,
18815       { "messageDirective", "ansi_map.messageDirective_element",
18816         FT_NONE, BASE_NONE, NULL, 0,
18817         NULL, HFILL }},
18818     { &hf_ansi_map_bulkDisconnection,
18819       { "bulkDisconnection", "ansi_map.bulkDisconnection_element",
18820         FT_NONE, BASE_NONE, NULL, 0,
18821         NULL, HFILL }},
18822     { &hf_ansi_map_callControlDirective,
18823       { "callControlDirective", "ansi_map.callControlDirective_element",
18824         FT_NONE, BASE_NONE, NULL, 0,
18825         NULL, HFILL }},
18826     { &hf_ansi_map_oAnswer,
18827       { "oAnswer", "ansi_map.oAnswer_element",
18828         FT_NONE, BASE_NONE, NULL, 0,
18829         NULL, HFILL }},
18830     { &hf_ansi_map_oDisconnect,
18831       { "oDisconnect", "ansi_map.oDisconnect_element",
18832         FT_NONE, BASE_NONE, NULL, 0,
18833         NULL, HFILL }},
18834     { &hf_ansi_map_callRecoveryReport,
18835       { "callRecoveryReport", "ansi_map.callRecoveryReport_element",
18836         FT_NONE, BASE_NONE, NULL, 0,
18837         NULL, HFILL }},
18838     { &hf_ansi_map_tAnswer,
18839       { "tAnswer", "ansi_map.tAnswer_element",
18840         FT_NONE, BASE_NONE, NULL, 0,
18841         NULL, HFILL }},
18842     { &hf_ansi_map_tDisconnect,
18843       { "tDisconnect", "ansi_map.tDisconnect_element",
18844         FT_NONE, BASE_NONE, NULL, 0,
18845         NULL, HFILL }},
18846     { &hf_ansi_map_unreliableCallData,
18847       { "unreliableCallData", "ansi_map.unreliableCallData_element",
18848         FT_NONE, BASE_NONE, NULL, 0,
18849         NULL, HFILL }},
18850     { &hf_ansi_map_oCalledPartyBusy,
18851       { "oCalledPartyBusy", "ansi_map.oCalledPartyBusy_element",
18852         FT_NONE, BASE_NONE, NULL, 0,
18853         NULL, HFILL }},
18854     { &hf_ansi_map_oNoAnswer,
18855       { "oNoAnswer", "ansi_map.oNoAnswer_element",
18856         FT_NONE, BASE_NONE, NULL, 0,
18857         NULL, HFILL }},
18858     { &hf_ansi_map_positionRequest,
18859       { "positionRequest", "ansi_map.positionRequest_element",
18860         FT_NONE, BASE_NONE, NULL, 0,
18861         NULL, HFILL }},
18862     { &hf_ansi_map_positionRequestForward,
18863       { "positionRequestForward", "ansi_map.positionRequestForward_element",
18864         FT_NONE, BASE_NONE, NULL, 0,
18865         NULL, HFILL }},
18866     { &hf_ansi_map_callTerminationReport,
18867       { "callTerminationReport", "ansi_map.callTerminationReport_element",
18868         FT_NONE, BASE_NONE, NULL, 0,
18869         NULL, HFILL }},
18870     { &hf_ansi_map_geoPositionRequest,
18871       { "geoPositionRequest", "ansi_map.geoPositionRequest_element",
18872         FT_NONE, BASE_NONE, NULL, 0,
18873         NULL, HFILL }},
18874     { &hf_ansi_map_interSystemPositionRequest,
18875       { "interSystemPositionRequest", "ansi_map.interSystemPositionRequest_element",
18876         FT_NONE, BASE_NONE, NULL, 0,
18877         NULL, HFILL }},
18878     { &hf_ansi_map_interSystemPositionRequestForward,
18879       { "interSystemPositionRequestForward", "ansi_map.interSystemPositionRequestForward_element",
18880         FT_NONE, BASE_NONE, NULL, 0,
18881         NULL, HFILL }},
18882     { &hf_ansi_map_aCGDirective,
18883       { "aCGDirective", "ansi_map.aCGDirective_element",
18884         FT_NONE, BASE_NONE, NULL, 0,
18885         NULL, HFILL }},
18886     { &hf_ansi_map_roamerDatabaseVerificationRequest,
18887       { "roamerDatabaseVerificationRequest", "ansi_map.roamerDatabaseVerificationRequest_element",
18888         FT_NONE, BASE_NONE, NULL, 0,
18889         NULL, HFILL }},
18890     { &hf_ansi_map_addService,
18891       { "addService", "ansi_map.addService_element",
18892         FT_NONE, BASE_NONE, NULL, 0,
18893         NULL, HFILL }},
18894     { &hf_ansi_map_dropService,
18895       { "dropService", "ansi_map.dropService_element",
18896         FT_NONE, BASE_NONE, NULL, 0,
18897         NULL, HFILL }},
18898     { &hf_ansi_map_lcsParameterRequest,
18899       { "lcsParameterRequest", "ansi_map.lcsParameterRequest_element",
18900         FT_NONE, BASE_NONE, NULL, 0,
18901         NULL, HFILL }},
18902     { &hf_ansi_map_checkMEID,
18903       { "checkMEID", "ansi_map.checkMEID_element",
18904         FT_NONE, BASE_NONE, NULL, 0,
18905         NULL, HFILL }},
18906     { &hf_ansi_map_positionEventNotification,
18907       { "positionEventNotification", "ansi_map.positionEventNotification_element",
18908         FT_NONE, BASE_NONE, NULL, 0,
18909         NULL, HFILL }},
18910     { &hf_ansi_map_statusRequest,
18911       { "statusRequest", "ansi_map.statusRequest_element",
18912         FT_NONE, BASE_NONE, NULL, 0,
18913         NULL, HFILL }},
18914     { &hf_ansi_map_interSystemSMSDeliveryPointToPoint,
18915       { "interSystemSMSDeliveryPointToPoint", "ansi_map.interSystemSMSDeliveryPointToPoint_element",
18916         FT_NONE, BASE_NONE, NULL, 0,
18917         NULL, HFILL }},
18918     { &hf_ansi_map_qualificationRequest2,
18919       { "qualificationRequest2", "ansi_map.qualificationRequest2_element",
18920         FT_NONE, BASE_NONE, NULL, 0,
18921         NULL, HFILL }},
18922     { &hf_ansi_map_handoffMeasurementRequestRes,
18923       { "handoffMeasurementRequestRes", "ansi_map.handoffMeasurementRequestRes_element",
18924         FT_NONE, BASE_NONE, NULL, 0,
18925         NULL, HFILL }},
18926     { &hf_ansi_map_facilitiesDirectiveRes,
18927       { "facilitiesDirectiveRes", "ansi_map.facilitiesDirectiveRes_element",
18928         FT_NONE, BASE_NONE, NULL, 0,
18929         NULL, HFILL }},
18930     { &hf_ansi_map_handoffBackRes,
18931       { "handoffBackRes", "ansi_map.handoffBackRes_element",
18932         FT_NONE, BASE_NONE, NULL, 0,
18933         NULL, HFILL }},
18934     { &hf_ansi_map_facilitiesReleaseRes,
18935       { "facilitiesReleaseRes", "ansi_map.facilitiesReleaseRes_element",
18936         FT_NONE, BASE_NONE, NULL, 0,
18937         NULL, HFILL }},
18938     { &hf_ansi_map_qualificationDirectiveRes,
18939       { "qualificationDirectiveRes", "ansi_map.qualificationDirectiveRes_element",
18940         FT_NONE, BASE_NONE, NULL, 0,
18941         NULL, HFILL }},
18942     { &hf_ansi_map_qualificationRequestRes,
18943       { "qualificationRequestRes", "ansi_map.qualificationRequestRes_element",
18944         FT_NONE, BASE_NONE, NULL, 0,
18945         NULL, HFILL }},
18946     { &hf_ansi_map_resetCircuitRes,
18947       { "resetCircuitRes", "ansi_map.resetCircuitRes_element",
18948         FT_NONE, BASE_NONE, NULL, 0,
18949         NULL, HFILL }},
18950     { &hf_ansi_map_registrationNotificationRes,
18951       { "registrationNotificationRes", "ansi_map.registrationNotificationRes_element",
18952         FT_NONE, BASE_NONE, NULL, 0,
18953         NULL, HFILL }},
18954     { &hf_ansi_map_registrationCancellationRes,
18955       { "registrationCancellationRes", "ansi_map.registrationCancellationRes_element",
18956         FT_NONE, BASE_NONE, NULL, 0,
18957         NULL, HFILL }},
18958     { &hf_ansi_map_locationRequestRes,
18959       { "locationRequestRes", "ansi_map.locationRequestRes_element",
18960         FT_NONE, BASE_NONE, NULL, 0,
18961         NULL, HFILL }},
18962     { &hf_ansi_map_routingRequestRes,
18963       { "routingRequestRes", "ansi_map.routingRequestRes_element",
18964         FT_NONE, BASE_NONE, NULL, 0,
18965         NULL, HFILL }},
18966     { &hf_ansi_map_featureRequestRes,
18967       { "featureRequestRes", "ansi_map.featureRequestRes_element",
18968         FT_NONE, BASE_NONE, NULL, 0,
18969         NULL, HFILL }},
18970     { &hf_ansi_map_transferToNumberRequestRes,
18971       { "transferToNumberRequestRes", "ansi_map.transferToNumberRequestRes_element",
18972         FT_NONE, BASE_NONE, NULL, 0,
18973         NULL, HFILL }},
18974     { &hf_ansi_map_handoffToThirdRes,
18975       { "handoffToThirdRes", "ansi_map.handoffToThirdRes_element",
18976         FT_NONE, BASE_NONE, NULL, 0,
18977         NULL, HFILL }},
18978     { &hf_ansi_map_authenticationDirectiveRes,
18979       { "authenticationDirectiveRes", "ansi_map.authenticationDirectiveRes_element",
18980         FT_NONE, BASE_NONE, NULL, 0,
18981         NULL, HFILL }},
18982     { &hf_ansi_map_authenticationRequestRes,
18983       { "authenticationRequestRes", "ansi_map.authenticationRequestRes_element",
18984         FT_NONE, BASE_NONE, NULL, 0,
18985         NULL, HFILL }},
18986     { &hf_ansi_map_baseStationChallengeRes,
18987       { "baseStationChallengeRes", "ansi_map.baseStationChallengeRes_element",
18988         FT_NONE, BASE_NONE, NULL, 0,
18989         NULL, HFILL }},
18990     { &hf_ansi_map_authenticationFailureReportRes,
18991       { "authenticationFailureReportRes", "ansi_map.authenticationFailureReportRes_element",
18992         FT_NONE, BASE_NONE, NULL, 0,
18993         NULL, HFILL }},
18994     { &hf_ansi_map_countRequestRes,
18995       { "countRequestRes", "ansi_map.countRequestRes_element",
18996         FT_NONE, BASE_NONE, NULL, 0,
18997         NULL, HFILL }},
18998     { &hf_ansi_map_interSystemPageRes,
18999       { "interSystemPageRes", "ansi_map.interSystemPageRes_element",
19000         FT_NONE, BASE_NONE, NULL, 0,
19001         NULL, HFILL }},
19002     { &hf_ansi_map_unsolicitedResponseRes,
19003       { "unsolicitedResponseRes", "ansi_map.unsolicitedResponseRes_element",
19004         FT_NONE, BASE_NONE, NULL, 0,
19005         NULL, HFILL }},
19006     { &hf_ansi_map_handoffMeasurementRequest2Res,
19007       { "handoffMeasurementRequest2Res", "ansi_map.handoffMeasurementRequest2Res_element",
19008         FT_NONE, BASE_NONE, NULL, 0,
19009         NULL, HFILL }},
19010     { &hf_ansi_map_facilitiesDirective2Res,
19011       { "facilitiesDirective2Res", "ansi_map.facilitiesDirective2Res_element",
19012         FT_NONE, BASE_NONE, NULL, 0,
19013         NULL, HFILL }},
19014     { &hf_ansi_map_handoffBack2Res,
19015       { "handoffBack2Res", "ansi_map.handoffBack2Res_element",
19016         FT_NONE, BASE_NONE, NULL, 0,
19017         NULL, HFILL }},
19018     { &hf_ansi_map_handoffToThird2Res,
19019       { "handoffToThird2Res", "ansi_map.handoffToThird2Res_element",
19020         FT_NONE, BASE_NONE, NULL, 0,
19021         NULL, HFILL }},
19022     { &hf_ansi_map_authenticationDirectiveForwardRes,
19023       { "authenticationDirectiveForwardRes", "ansi_map.authenticationDirectiveForwardRes_element",
19024         FT_NONE, BASE_NONE, NULL, 0,
19025         NULL, HFILL }},
19026     { &hf_ansi_map_authenticationStatusReportRes,
19027       { "authenticationStatusReportRes", "ansi_map.authenticationStatusReportRes_element",
19028         FT_NONE, BASE_NONE, NULL, 0,
19029         NULL, HFILL }},
19030     { &hf_ansi_map_informationDirectiveRes,
19031       { "informationDirectiveRes", "ansi_map.informationDirectiveRes_element",
19032         FT_NONE, BASE_NONE, NULL, 0,
19033         NULL, HFILL }},
19034     { &hf_ansi_map_informationForwardRes,
19035       { "informationForwardRes", "ansi_map.informationForwardRes_element",
19036         FT_NONE, BASE_NONE, NULL, 0,
19037         NULL, HFILL }},
19038     { &hf_ansi_map_interSystemPage2Res,
19039       { "interSystemPage2Res", "ansi_map.interSystemPage2Res_element",
19040         FT_NONE, BASE_NONE, NULL, 0,
19041         NULL, HFILL }},
19042     { &hf_ansi_map_interSystemSetupRes,
19043       { "interSystemSetupRes", "ansi_map.interSystemSetupRes_element",
19044         FT_NONE, BASE_NONE, NULL, 0,
19045         NULL, HFILL }},
19046     { &hf_ansi_map_originationRequestRes,
19047       { "originationRequestRes", "ansi_map.originationRequestRes_element",
19048         FT_NONE, BASE_NONE, NULL, 0,
19049         NULL, HFILL }},
19050     { &hf_ansi_map_randomVariableRequestRes,
19051       { "randomVariableRequestRes", "ansi_map.randomVariableRequestRes_element",
19052         FT_NONE, BASE_NONE, NULL, 0,
19053         NULL, HFILL }},
19054     { &hf_ansi_map_remoteUserInteractionDirectiveRes,
19055       { "remoteUserInteractionDirectiveRes", "ansi_map.remoteUserInteractionDirectiveRes_element",
19056         FT_NONE, BASE_NONE, NULL, 0,
19057         NULL, HFILL }},
19058     { &hf_ansi_map_sMSDeliveryBackwardRes,
19059       { "sMSDeliveryBackwardRes", "ansi_map.sMSDeliveryBackwardRes_element",
19060         FT_NONE, BASE_NONE, NULL, 0,
19061         NULL, HFILL }},
19062     { &hf_ansi_map_sMSDeliveryForwardRes,
19063       { "sMSDeliveryForwardRes", "ansi_map.sMSDeliveryForwardRes_element",
19064         FT_NONE, BASE_NONE, NULL, 0,
19065         NULL, HFILL }},
19066     { &hf_ansi_map_sMSDeliveryPointToPointRes,
19067       { "sMSDeliveryPointToPointRes", "ansi_map.sMSDeliveryPointToPointRes_element",
19068         FT_NONE, BASE_NONE, NULL, 0,
19069         NULL, HFILL }},
19070     { &hf_ansi_map_sMSNotificationRes,
19071       { "sMSNotificationRes", "ansi_map.sMSNotificationRes_element",
19072         FT_NONE, BASE_NONE, NULL, 0,
19073         NULL, HFILL }},
19074     { &hf_ansi_map_sMSRequestRes,
19075       { "sMSRequestRes", "ansi_map.sMSRequestRes_element",
19076         FT_NONE, BASE_NONE, NULL, 0,
19077         NULL, HFILL }},
19078     { &hf_ansi_map_oTASPRequestRes,
19079       { "oTASPRequestRes", "ansi_map.oTASPRequestRes_element",
19080         FT_NONE, BASE_NONE, NULL, 0,
19081         NULL, HFILL }},
19082     { &hf_ansi_map_changeFacilitiesRes,
19083       { "changeFacilitiesRes", "ansi_map.changeFacilitiesRes_element",
19084         FT_NONE, BASE_NONE, NULL, 0,
19085         NULL, HFILL }},
19086     { &hf_ansi_map_changeServiceRes,
19087       { "changeServiceRes", "ansi_map.changeServiceRes_element",
19088         FT_NONE, BASE_NONE, NULL, 0,
19089         NULL, HFILL }},
19090     { &hf_ansi_map_parameterRequestRes,
19091       { "parameterRequestRes", "ansi_map.parameterRequestRes_element",
19092         FT_NONE, BASE_NONE, NULL, 0,
19093         NULL, HFILL }},
19094     { &hf_ansi_map_tMSIDirectiveRes,
19095       { "tMSIDirectiveRes", "ansi_map.tMSIDirectiveRes_element",
19096         FT_NONE, BASE_NONE, NULL, 0,
19097         NULL, HFILL }},
19098     { &hf_ansi_map_numberPortabilityRequestRes,
19099       { "numberPortabilityRequestRes", "ansi_map.numberPortabilityRequestRes_element",
19100         FT_NONE, BASE_NONE, NULL, 0,
19101         NULL, HFILL }},
19102     { &hf_ansi_map_serviceRequestRes,
19103       { "serviceRequestRes", "ansi_map.serviceRequestRes_element",
19104         FT_NONE, BASE_NONE, NULL, 0,
19105         NULL, HFILL }},
19106     { &hf_ansi_map_analyzedInformationRes,
19107       { "analyzedInformationRes", "ansi_map.analyzedInformationRes_element",
19108         FT_NONE, BASE_NONE, NULL, 0,
19109         NULL, HFILL }},
19110     { &hf_ansi_map_facilitySelectedAndAvailableRes,
19111       { "facilitySelectedAndAvailableRes", "ansi_map.facilitySelectedAndAvailableRes_element",
19112         FT_NONE, BASE_NONE, NULL, 0,
19113         NULL, HFILL }},
19114     { &hf_ansi_map_modifyRes,
19115       { "modifyRes", "ansi_map.modifyRes_element",
19116         FT_NONE, BASE_NONE, NULL, 0,
19117         NULL, HFILL }},
19118     { &hf_ansi_map_searchRes,
19119       { "searchRes", "ansi_map.searchRes_element",
19120         FT_NONE, BASE_NONE, NULL, 0,
19121         NULL, HFILL }},
19122     { &hf_ansi_map_seizeResourceRes,
19123       { "seizeResourceRes", "ansi_map.seizeResourceRes_element",
19124         FT_NONE, BASE_NONE, NULL, 0,
19125         NULL, HFILL }},
19126     { &hf_ansi_map_sRFDirectiveRes,
19127       { "sRFDirectiveRes", "ansi_map.sRFDirectiveRes_element",
19128         FT_NONE, BASE_NONE, NULL, 0,
19129         NULL, HFILL }},
19130     { &hf_ansi_map_tBusyRes,
19131       { "tBusyRes", "ansi_map.tBusyRes_element",
19132         FT_NONE, BASE_NONE, NULL, 0,
19133         NULL, HFILL }},
19134     { &hf_ansi_map_tNoAnswerRes,
19135       { "tNoAnswerRes", "ansi_map.tNoAnswerRes_element",
19136         FT_NONE, BASE_NONE, NULL, 0,
19137         NULL, HFILL }},
19138     { &hf_ansi_map_callControlDirectiveRes,
19139       { "callControlDirectiveRes", "ansi_map.callControlDirectiveRes_element",
19140         FT_NONE, BASE_NONE, NULL, 0,
19141         NULL, HFILL }},
19142     { &hf_ansi_map_oDisconnectRes,
19143       { "oDisconnectRes", "ansi_map.oDisconnectRes_element",
19144         FT_NONE, BASE_NONE, NULL, 0,
19145         NULL, HFILL }},
19146     { &hf_ansi_map_tDisconnectRes,
19147       { "tDisconnectRes", "ansi_map.tDisconnectRes_element",
19148         FT_NONE, BASE_NONE, NULL, 0,
19149         NULL, HFILL }},
19150     { &hf_ansi_map_oCalledPartyBusyRes,
19151       { "oCalledPartyBusyRes", "ansi_map.oCalledPartyBusyRes_element",
19152         FT_NONE, BASE_NONE, NULL, 0,
19153         NULL, HFILL }},
19154     { &hf_ansi_map_oNoAnswerRes,
19155       { "oNoAnswerRes", "ansi_map.oNoAnswerRes_element",
19156         FT_NONE, BASE_NONE, NULL, 0,
19157         NULL, HFILL }},
19158     { &hf_ansi_map_positionRequestRes,
19159       { "positionRequestRes", "ansi_map.positionRequestRes_element",
19160         FT_NONE, BASE_NONE, NULL, 0,
19161         NULL, HFILL }},
19162     { &hf_ansi_map_positionRequestForwardRes,
19163       { "positionRequestForwardRes", "ansi_map.positionRequestForwardRes_element",
19164         FT_NONE, BASE_NONE, NULL, 0,
19165         NULL, HFILL }},
19166     { &hf_ansi_map_interSystemPositionRequestRes,
19167       { "interSystemPositionRequestRes", "ansi_map.interSystemPositionRequestRes_element",
19168         FT_NONE, BASE_NONE, NULL, 0,
19169         NULL, HFILL }},
19170     { &hf_ansi_map_interSystemPositionRequestForwardRes,
19171       { "interSystemPositionRequestForwardRes", "ansi_map.interSystemPositionRequestForwardRes_element",
19172         FT_NONE, BASE_NONE, NULL, 0,
19173         NULL, HFILL }},
19174     { &hf_ansi_map_roamerDatabaseVerificationRequestRes,
19175       { "roamerDatabaseVerificationRequestRes", "ansi_map.roamerDatabaseVerificationRequestRes_element",
19176         FT_NONE, BASE_NONE, NULL, 0,
19177         NULL, HFILL }},
19178     { &hf_ansi_map_addServiceRes,
19179       { "addServiceRes", "ansi_map.addServiceRes_element",
19180         FT_NONE, BASE_NONE, NULL, 0,
19181         NULL, HFILL }},
19182     { &hf_ansi_map_dropServiceRes,
19183       { "dropServiceRes", "ansi_map.dropServiceRes_element",
19184         FT_NONE, BASE_NONE, NULL, 0,
19185         NULL, HFILL }},
19186     { &hf_ansi_map_interSystemSMSPage,
19187       { "interSystemSMSPage", "ansi_map.interSystemSMSPage_element",
19188         FT_NONE, BASE_NONE, NULL, 0,
19189         NULL, HFILL }},
19190     { &hf_ansi_map_lcsParameterRequestRes,
19191       { "lcsParameterRequestRes", "ansi_map.lcsParameterRequestRes_element",
19192         FT_NONE, BASE_NONE, NULL, 0,
19193         NULL, HFILL }},
19194     { &hf_ansi_map_checkMEIDRes,
19195       { "checkMEIDRes", "ansi_map.checkMEIDRes_element",
19196         FT_NONE, BASE_NONE, NULL, 0,
19197         NULL, HFILL }},
19198     { &hf_ansi_map_statusRequestRes,
19199       { "statusRequestRes", "ansi_map.statusRequestRes_element",
19200         FT_NONE, BASE_NONE, NULL, 0,
19201         NULL, HFILL }},
19202     { &hf_ansi_map_interSystemSMSDeliveryPointToPointRes,
19203       { "interSystemSMSDeliveryPointToPointRes", "ansi_map.interSystemSMSDeliveryPointToPointRes_element",
19204         FT_NONE, BASE_NONE, NULL, 0,
19205         NULL, HFILL }},
19206     { &hf_ansi_map_qualificationRequest2Res,
19207       { "qualificationRequest2Res", "ansi_map.qualificationRequest2Res_element",
19208         FT_NONE, BASE_NONE, NULL, 0,
19209         NULL, HFILL }},
19210 
19211 /*--- End of included file: packet-ansi_map-hfarr.c ---*/
19212 #line 5371 "./asn1/ansi_map/packet-ansi_map-template.c"
19213     };
19214 
19215     /* List of subtrees */
19216     static gint *ett[] = {
19217         &ett_ansi_map,
19218         &ett_mintype,
19219         &ett_digitstype,
19220         &ett_billingid,
19221         &ett_sms_bearer_data,
19222         &ett_sms_teleserviceIdentifier,
19223         &ett_extendedmscid,
19224         &ett_extendedsystemmytypecode,
19225         &ett_handoffstate,
19226         &ett_mscid,
19227         &ett_cdmachanneldata,
19228         &ett_cdmastationclassmark,
19229         &ett_channeldata,
19230         &ett_confidentialitymodes,
19231         &ett_controlchanneldata,
19232         &ett_CDMA2000HandoffInvokeIOSData,
19233         &ett_CDMA2000HandoffResponseIOSData,
19234         &ett_originationtriggers,
19235         &ett_pacaindicator,
19236         &ett_callingpartyname,
19237         &ett_triggercapability,
19238         &ett_winoperationscapability,
19239         &ett_win_trigger_list,
19240         &ett_controlnetworkid,
19241         &ett_transactioncapability,
19242         &ett_cdmaserviceoption,
19243         &ett_sms_originationrestrictions,
19244         &ett_systemcapabilities,
19245 
19246 /*--- Included file: packet-ansi_map-ettarr.c ---*/
19247 #line 1 "./asn1/ansi_map/packet-ansi_map-ettarr.c"
19248     &ett_ansi_map_AuthenticationDirective_U,
19249     &ett_ansi_map_AuthenticationDirectiveRes_U,
19250     &ett_ansi_map_AuthenticationDirectiveForward_U,
19251     &ett_ansi_map_AuthenticationDirectiveForwardRes_U,
19252     &ett_ansi_map_AuthenticationFailureReport_U,
19253     &ett_ansi_map_AuthenticationFailureReportRes_U,
19254     &ett_ansi_map_AuthenticationRequest_U,
19255     &ett_ansi_map_AuthenticationRequestRes_U,
19256     &ett_ansi_map_AuthenticationStatusReport_U,
19257     &ett_ansi_map_AuthenticationStatusReportRes_U,
19258     &ett_ansi_map_BaseStationChallenge_U,
19259     &ett_ansi_map_BaseStationChallengeRes_U,
19260     &ett_ansi_map_Blocking_U,
19261     &ett_ansi_map_BulkDeregistration_U,
19262     &ett_ansi_map_CountRequest_U,
19263     &ett_ansi_map_CountRequestRes_U,
19264     &ett_ansi_map_FacilitiesDirective_U,
19265     &ett_ansi_map_FacilitiesDirectiveRes_U,
19266     &ett_ansi_map_FacilitiesDirective2_U,
19267     &ett_ansi_map_FacilitiesDirective2Res_U,
19268     &ett_ansi_map_FacilitiesRelease_U,
19269     &ett_ansi_map_FacilitiesReleaseRes_U,
19270     &ett_ansi_map_FeatureRequest_U,
19271     &ett_ansi_map_FeatureRequestRes_U,
19272     &ett_ansi_map_FlashRequest_U,
19273     &ett_ansi_map_HandoffBack_U,
19274     &ett_ansi_map_HandoffBackRes_U,
19275     &ett_ansi_map_HandoffBack2_U,
19276     &ett_ansi_map_HandoffBack2Res_U,
19277     &ett_ansi_map_HandoffMeasurementRequest_U,
19278     &ett_ansi_map_HandoffMeasurementRequestRes_U,
19279     &ett_ansi_map_HandoffMeasurementRequest2_U,
19280     &ett_ansi_map_HandoffMeasurementRequest2Res_U,
19281     &ett_ansi_map_HandoffToThird_U,
19282     &ett_ansi_map_HandoffToThirdRes_U,
19283     &ett_ansi_map_HandoffToThird2_U,
19284     &ett_ansi_map_HandoffToThird2Res_U,
19285     &ett_ansi_map_InformationDirective_U,
19286     &ett_ansi_map_InformationDirectiveRes_U,
19287     &ett_ansi_map_InformationForward_U,
19288     &ett_ansi_map_InformationForwardRes_U,
19289     &ett_ansi_map_InterSystemAnswer_U,
19290     &ett_ansi_map_InterSystemPage_U,
19291     &ett_ansi_map_InterSystemPageRes_U,
19292     &ett_ansi_map_InterSystemPage2_U,
19293     &ett_ansi_map_InterSystemPage2Res_U,
19294     &ett_ansi_map_InterSystemSetup_U,
19295     &ett_ansi_map_InterSystemSetupRes_U,
19296     &ett_ansi_map_LocationRequest_U,
19297     &ett_ansi_map_LocationRequestRes_U,
19298     &ett_ansi_map_MSInactive_U,
19299     &ett_ansi_map_OriginationRequest_U,
19300     &ett_ansi_map_OriginationRequestRes_U,
19301     &ett_ansi_map_QualificationDirective_U,
19302     &ett_ansi_map_QualificationDirectiveRes_U,
19303     &ett_ansi_map_QualificationRequest_U,
19304     &ett_ansi_map_QualificationRequestRes_U,
19305     &ett_ansi_map_RandomVariableRequest_U,
19306     &ett_ansi_map_RandomVariableRequestRes_U,
19307     &ett_ansi_map_RedirectionDirective_U,
19308     &ett_ansi_map_RedirectionRequest_U,
19309     &ett_ansi_map_RegistrationCancellation_U,
19310     &ett_ansi_map_RegistrationCancellationRes_U,
19311     &ett_ansi_map_RegistrationNotification_U,
19312     &ett_ansi_map_RegistrationNotificationRes_U,
19313     &ett_ansi_map_RemoteUserInteractionDirective_U,
19314     &ett_ansi_map_RemoteUserInteractionDirectiveRes_U,
19315     &ett_ansi_map_ResetCircuit_U,
19316     &ett_ansi_map_ResetCircuitRes_U,
19317     &ett_ansi_map_RoutingRequest_U,
19318     &ett_ansi_map_RoutingRequestRes_U,
19319     &ett_ansi_map_SMSDeliveryBackward_U,
19320     &ett_ansi_map_SMSDeliveryBackwardRes_U,
19321     &ett_ansi_map_SMSDeliveryForward_U,
19322     &ett_ansi_map_SMSDeliveryForwardRes_U,
19323     &ett_ansi_map_SMSDeliveryPointToPoint_U,
19324     &ett_ansi_map_SMSDeliveryPointToPointRes_U,
19325     &ett_ansi_map_SMSDeliveryPointToPointAck_U,
19326     &ett_ansi_map_SMSNotification_U,
19327     &ett_ansi_map_SMSNotificationRes_U,
19328     &ett_ansi_map_SMSRequest_U,
19329     &ett_ansi_map_SMSRequestRes_U,
19330     &ett_ansi_map_TransferToNumberRequest_U,
19331     &ett_ansi_map_TransferToNumberRequestRes_U,
19332     &ett_ansi_map_TrunkTest_U,
19333     &ett_ansi_map_TrunkTestDisconnect_U,
19334     &ett_ansi_map_Unblocking_U,
19335     &ett_ansi_map_UnreliableRoamerDataDirective_U,
19336     &ett_ansi_map_UnsolicitedResponse_U,
19337     &ett_ansi_map_UnsolicitedResponseRes_U,
19338     &ett_ansi_map_ParameterRequest_U,
19339     &ett_ansi_map_ParameterRequestRes_U,
19340     &ett_ansi_map_TMSIDirective_U,
19341     &ett_ansi_map_TMSIDirectiveRes_U,
19342     &ett_ansi_map_NumberPortabilityRequest_U,
19343     &ett_ansi_map_NumberPortabilityRequestRes_U,
19344     &ett_ansi_map_ServiceRequest_U,
19345     &ett_ansi_map_ServiceRequestRes_U,
19346     &ett_ansi_map_AnalyzedInformation_U,
19347     &ett_ansi_map_AnalyzedInformationRes_U,
19348     &ett_ansi_map_ConnectionFailureReport_U,
19349     &ett_ansi_map_ConnectResource_U,
19350     &ett_ansi_map_FacilitySelectedAndAvailable_U,
19351     &ett_ansi_map_FacilitySelectedAndAvailableRes_U,
19352     &ett_ansi_map_Modify_U,
19353     &ett_ansi_map_ModifyRes_U,
19354     &ett_ansi_map_Search_U,
19355     &ett_ansi_map_SearchRes_U,
19356     &ett_ansi_map_SeizeResource_U,
19357     &ett_ansi_map_SeizeResourceRes_U,
19358     &ett_ansi_map_SRFDirective_U,
19359     &ett_ansi_map_SRFDirectiveRes_U,
19360     &ett_ansi_map_TBusy_U,
19361     &ett_ansi_map_TBusyRes_U,
19362     &ett_ansi_map_TNoAnswer_U,
19363     &ett_ansi_map_TNoAnswerRes_U,
19364     &ett_ansi_map_ChangeFacilities_U,
19365     &ett_ansi_map_ChangeFacilitiesRes_U,
19366     &ett_ansi_map_ChangeService_U,
19367     &ett_ansi_map_ChangeServiceRes_U,
19368     &ett_ansi_map_MessageDirective_U,
19369     &ett_ansi_map_BulkDisconnection_U,
19370     &ett_ansi_map_CallControlDirective_U,
19371     &ett_ansi_map_CallControlDirectiveRes_U,
19372     &ett_ansi_map_OAnswer_U,
19373     &ett_ansi_map_ODisconnect_U,
19374     &ett_ansi_map_ODisconnectRes_U,
19375     &ett_ansi_map_CallRecoveryReport_U,
19376     &ett_ansi_map_TAnswer_U,
19377     &ett_ansi_map_TDisconnect_U,
19378     &ett_ansi_map_TDisconnectRes_U,
19379     &ett_ansi_map_UnreliableCallData_U,
19380     &ett_ansi_map_OCalledPartyBusy_U,
19381     &ett_ansi_map_OCalledPartyBusyRes_U,
19382     &ett_ansi_map_ONoAnswer_U,
19383     &ett_ansi_map_ONoAnswerRes_U,
19384     &ett_ansi_map_PositionRequest_U,
19385     &ett_ansi_map_PositionRequestRes_U,
19386     &ett_ansi_map_PositionRequestForward_U,
19387     &ett_ansi_map_PositionRequestForwardRes_U,
19388     &ett_ansi_map_CallTerminationReport_U,
19389     &ett_ansi_map_GeoPositionRequest_U,
19390     &ett_ansi_map_InterSystemPositionRequest_U,
19391     &ett_ansi_map_InterSystemPositionRequestRes_U,
19392     &ett_ansi_map_InterSystemPositionRequestForward_U,
19393     &ett_ansi_map_InterSystemPositionRequestForwardRes_U,
19394     &ett_ansi_map_ACGDirective_U,
19395     &ett_ansi_map_RoamerDatabaseVerificationRequest_U,
19396     &ett_ansi_map_RoamerDatabaseVerificationRequestRes_U,
19397     &ett_ansi_map_LCSParameterRequest_U,
19398     &ett_ansi_map_LCSParameterRequestRes_U,
19399     &ett_ansi_map_CheckMEID_U,
19400     &ett_ansi_map_CheckMEIDRes_U,
19401     &ett_ansi_map_AddService_U,
19402     &ett_ansi_map_AddServiceRes_U,
19403     &ett_ansi_map_DropService_U,
19404     &ett_ansi_map_DropServiceRes_U,
19405     &ett_ansi_map_PositionEventNotification_U,
19406     &ett_ansi_map_OTASPRequest_U,
19407     &ett_ansi_map_OTASPRequestRes_U,
19408     &ett_ansi_map_StatusRequest_U,
19409     &ett_ansi_map_StatusRequestRes_U,
19410     &ett_ansi_map_InterSystemSMSDeliveryPointToPoint_U,
19411     &ett_ansi_map_InterSystemSMSDeliveryPointToPointRes_U,
19412     &ett_ansi_map_InterSystemSMSPage_U,
19413     &ett_ansi_map_QualificationRequest2_U,
19414     &ett_ansi_map_QualificationRequest2Res_U,
19415     &ett_ansi_map_AnnouncementList,
19416     &ett_ansi_map_CDMACodeChannelInformation,
19417     &ett_ansi_map_CDMACodeChannelList,
19418     &ett_ansi_map_CDMATargetMAHOInformation,
19419     &ett_ansi_map_CDMATargetMAHOList,
19420     &ett_ansi_map_CDMATargetMeasurementInformation,
19421     &ett_ansi_map_CDMATargetMeasurementList,
19422     &ett_ansi_map_IntersystemTermination,
19423     &ett_ansi_map_LocalTermination,
19424     &ett_ansi_map_PSTNTermination,
19425     &ett_ansi_map_TargetMeasurementInformation,
19426     &ett_ansi_map_TargetMeasurementList,
19427     &ett_ansi_map_TerminationList,
19428     &ett_ansi_map_TerminationList_item,
19429     &ett_ansi_map_CDMABandClassInformation,
19430     &ett_ansi_map_CDMABandClassList,
19431     &ett_ansi_map_CDMAServiceOptionList,
19432     &ett_ansi_map_PSID_RSIDList,
19433     &ett_ansi_map_TargetCellIDList,
19434     &ett_ansi_map_CDMAConnectionReferenceInformation,
19435     &ett_ansi_map_CDMAConnectionReferenceList,
19436     &ett_ansi_map_CDMAConnectionReferenceList_item,
19437     &ett_ansi_map_AnalogRedirectRecord,
19438     &ett_ansi_map_CDMAChannelNumberList,
19439     &ett_ansi_map_CDMAChannelNumberList_item,
19440     &ett_ansi_map_CDMARedirectRecord,
19441     &ett_ansi_map_MSID,
19442     &ett_ansi_map_DataAccessElement,
19443     &ett_ansi_map_DataAccessElementList,
19444     &ett_ansi_map_DataAccessElementList_item,
19445     &ett_ansi_map_DataUpdateResult,
19446     &ett_ansi_map_DataUpdateResultList,
19447     &ett_ansi_map_DestinationAddress,
19448     &ett_ansi_map_ExecuteScript,
19449     &ett_ansi_map_ModificationRequest,
19450     &ett_ansi_map_ModificationRequestList,
19451     &ett_ansi_map_ModificationResult,
19452     &ett_ansi_map_ModificationResultList,
19453     &ett_ansi_map_ServiceDataAccessElement,
19454     &ett_ansi_map_ServiceDataAccessElementList,
19455     &ett_ansi_map_ServiceDataResult,
19456     &ett_ansi_map_ServiceDataResultList,
19457     &ett_ansi_map_TriggerAddressList,
19458     &ett_ansi_map_TriggerList,
19459     &ett_ansi_map_WINCapability,
19460     &ett_ansi_map_CallRecoveryID,
19461     &ett_ansi_map_CallRecoveryIDList,
19462     &ett_ansi_map_PositionInformation,
19463     &ett_ansi_map_GapInterval,
19464     &ett_ansi_map_CDMAPSMMList,
19465     &ett_ansi_map_CDMAPSMMList_item,
19466     &ett_ansi_map_MPCAddressList,
19467     &ett_ansi_map_MobileStationMSID,
19468     &ett_ansi_map_NewlyAssignedMSID,
19469     &ett_ansi_map_InvokeData,
19470     &ett_ansi_map_ReturnData,
19471 
19472 /*--- End of included file: packet-ansi_map-ettarr.c ---*/
19473 #line 5404 "./asn1/ansi_map/packet-ansi_map-template.c"
19474     };
19475 
19476     static ei_register_info ei[] = {
19477         { &ei_ansi_map_nr_not_used, { "ansi_map.nr_not_used", PI_PROTOCOL, PI_WARN, "This Number plan should not have been used", EXPFILL }},
19478         { &ei_ansi_map_unknown_invokeData_blob, { "ansi_map.unknown_invokeData_blob", PI_PROTOCOL, PI_WARN, "Unknown invokeData blob", EXPFILL }},
19479         { &ei_ansi_map_no_data, { "ansi_map.no_data", PI_PROTOCOL, PI_NOTE, "Carries no data", EXPFILL }},
19480     };
19481 
19482     expert_module_t* expert_ansi_map;
19483 
19484     static const enum_val_t ansi_map_response_matching_type_values[] = {
19485         {"Only Transaction ID will be used in Invoke/response matching",                    "Transaction ID only", ANSI_MAP_TID_ONLY},
19486         {"Transaction ID and Source will be used in Invoke/response matching",                "Transaction ID and Source", ANSI_MAP_TID_AND_SOURCE},
19487         {"Transaction ID Source and Destination will be used in Invoke/response matching",    "Transaction ID Source and Destination", ANSI_MAP_TID_SOURCE_AND_DEST},
19488         {NULL, NULL, -1}
19489     };
19490 
19491     /* TAP STAT INFO */
19492     static stat_tap_table_ui stat_table = {
19493         REGISTER_STAT_GROUP_TELEPHONY_ANSI,
19494         "Map Operation Statistics",
19495         "ansi_map",
19496         "ansi_map",
19497         ansi_map_stat_init,
19498         ansi_map_stat_packet,
19499         ansi_map_stat_reset,
19500         NULL,
19501         NULL,
19502         sizeof(stat_fields)/sizeof(stat_tap_table_item), stat_fields,
19503         0, NULL,
19504         NULL,
19505         0
19506     };
19507 
19508     /* Register protocol */
19509     proto_ansi_map = proto_register_protocol(PNAME, PSNAME, PFNAME);
19510     /* Register fields and subtrees */
19511     proto_register_field_array(proto_ansi_map, hf, array_length(hf));
19512     proto_register_subtree_array(ett, array_length(ett));
19513     expert_ansi_map = expert_register_protocol(proto_ansi_map);
19514     expert_register_field_array(expert_ansi_map, ei, array_length(ei));
19515 
19516     ansi_map_handle = register_dissector("ansi_map", dissect_ansi_map, proto_ansi_map);
19517 
19518     is637_tele_id_dissector_table =
19519         register_dissector_table("ansi_map.tele_id", "IS-637 Teleservice ID", proto_ansi_map,
19520                                  FT_UINT8, BASE_DEC);
19521 
19522     is683_dissector_table =
19523         register_dissector_table("ansi_map.ota", "IS-683-A (OTA)", proto_ansi_map,
19524                                  FT_UINT8, BASE_DEC);
19525 
19526     is801_dissector_table =
19527         register_dissector_table("ansi_map.pld", "IS-801 (PLD)", proto_ansi_map,
19528                                  FT_UINT8, BASE_DEC);
19529 
19530     ansi_map_tap = register_tap("ansi_map");
19531 
19532 
19533     range_convert_str(wmem_epan_scope(), &global_ssn_range, "5-14", MAX_SSN);
19534 
19535     ansi_map_module = prefs_register_protocol(proto_ansi_map, proto_reg_handoff_ansi_map);
19536 
19537 
19538     prefs_register_range_preference(ansi_map_module, "map.ssn", "ANSI MAP SSNs",
19539                                     "ANSI MAP SSNs to decode as ANSI MAP",
19540                                     &global_ssn_range, MAX_SSN);
19541 
19542     prefs_register_enum_preference(ansi_map_module, "transaction.matchtype",
19543                                   "Type of matching invoke/response",
19544                                   "Type of matching invoke/response, risk of mismatch if loose matching chosen",
19545                                   &ansi_map_response_matching_type, ansi_map_response_matching_type_values, FALSE);
19546 
19547     TransactionId_table = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), wmem_str_hash, g_str_equal);
19548     register_stat_tap_table_ui(&stat_table);
19549 }
19550 
19551 /*
19552  * Editor modelines  -  https://www.wireshark.org/tools/modelines.html
19553  *
19554  * Local variables:
19555  * c-basic-offset: 4
19556  * tab-width: 8
19557  * indent-tabs-mode: nil
19558  * End:
19559  *
19560  * vi: set shiftwidth=4 tabstop=8 expandtab:
19561  * :indentSize=4:tabSize=8:noTabs=true:
19562  */
19563