Coverage Report

Created: 2026-09-28 06:52

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/wireshark/epan/dissectors/packet-ansi_map.c
Line
Count
Source
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 -q -L -p ansi_map -c ./ansi_map.cnf -s ./packet-ansi_map-template -D . -O ../.. ansi_map.asn */
5
6
/* packet-ansi_map.c
7
 * Routines for ANSI 41 Mobile Application Part (IS41 MAP) dissection
8
 * Specifications from 3GPP2 (www.3gpp2.org)
9
 * Based on the dissector by :
10
 * Michael Lum <mlum [AT] telostech.com>
11
 * In association with Telos Technology Inc.
12
 *
13
 * Copyright 2005 - 2009, Anders Broman <anders.broman@ericsson.com>
14
 *
15
 * Wireshark - Network traffic analyzer
16
 * By Gerald Combs <gerald@wireshark.org>
17
 * Copyright 1998 Gerald Combs
18
 *
19
 * SPDX-License-Identifier: GPL-2.0-or-later
20
 *
21
 * Credit to Tomas Kukosa for developing the asn2wrs compiler.
22
 *
23
 * Title                3GPP2                   Other
24
 *
25
 *   Cellular Radiotelecommunications Intersystem Operations
26
 *                      3GPP2 N.S0005-0 v 1.0           ANSI/TIA/EIA-41-D
27
 *
28
 *   Network Support for MDN-Based Message Centers
29
 *                      3GPP2 N.S0024-0 v1.0    IS-841
30
 *
31
 *   Enhanced International Calling
32
 *                      3GPP2 N.S0027           IS-875
33
 *
34
 *   ANSI-41-D Miscellaneous Enhancements Revision 0
35
 *                      3GPP2 N.S0015           PN-3590 (ANSI-41-E)
36
 *
37
 *   Authentication Enhancements
38
 *                      3GPP2 N.S0014-0 v1.0    IS-778
39
 *
40
 *   Features In CDMA
41
 *                      3GPP2 N.S0010-0 v1.0    IS-735
42
 *
43
 *   OTASP and OTAPA
44
 *                      3GPP2 N.S0011-0 v1.0    IS-725-A
45
 *
46
 *   Circuit Mode Services
47
 *                      3GPP2 N.S0008-0 v1.0    IS-737
48
 *      XXX SecondInterMSCCircuitID not implemented, parameter ID conflicts with ISLP Information!
49
 *
50
 *   IMSI
51
 *                      3GPP2 N.S0009-0 v1.0    IS-751
52
 *
53
 *   WIN Phase 1
54
 *                      3GPP2 N.S0013-0 v1.0    IS-771
55
 *
56
 *       DCCH (Clarification of Audit Order with Forced
57
 *         Re-Registration in pre-TIA/EIA-136-A Implementation
58
 *                      3GPP2 A.S0017-B                 IS-730
59
 *
60
 *   UIM
61
 *                      3GPP2 N.S0003
62
 *
63
 *   WIN Phase 2
64
 *                      3GPP2 N.S0004-0 v1.0    IS-848
65
 *
66
 *   TIA/EIA-41-D Pre-Paid Charging
67
 *                      3GPP2 N.S0018-0 v1.0    IS-826
68
 *
69
 *   User Selective Call Forwarding
70
 *                      3GPP2 N.S0021-0 v1.0    IS-838
71
 *
72
 *
73
 *   Answer Hold
74
 *                      3GPP2 N.S0022-0 v1.0    IS-837
75
 *
76
 */
77
78
#include "config.h"
79
80
#include <epan/packet.h>
81
#include <epan/prefs.h>
82
#include <epan/expert.h>
83
#include <epan/tap.h>
84
#include <epan/stat_tap_ui.h>
85
#include <epan/asn1.h>
86
#include <epan/tfs.h>
87
88
#include <wsutil/array.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
void proto_register_ansi_map(void);
98
void proto_reg_handoff_ansi_map(void);
99
100
/* Preference settings */
101
32
#define MAX_SSN 254
102
static range_t *global_ssn_range;
103
16
#define ANSI_MAP_TID_ONLY            0
104
16
#define ANSI_MAP_TID_AND_SOURCE      1
105
16
#define ANSI_MAP_TID_SOURCE_AND_DEST 2
106
static int ansi_map_response_matching_type = ANSI_MAP_TID_AND_SOURCE;
107
108
static dissector_handle_t ansi_map_handle;
109
110
/* Initialize the protocol and registered fields */
111
static int ansi_map_tap;
112
static int proto_ansi_map;
113
114
#if 0
115
static int hf_ansi_map_op_code_fam;
116
static int hf_ansi_map_op_code;
117
#endif
118
119
static int hf_ansi_map_reservedBitH;
120
static int hf_ansi_map_reservedBitHG;
121
static int hf_ansi_map_reservedBitHGFE;
122
static int hf_ansi_map_reservedBitFED;
123
static int hf_ansi_map_reservedBitD;
124
static int hf_ansi_map_reservedBitED;
125
126
static int hf_ansi_map_type_of_digits;
127
static int hf_ansi_map_na;
128
static int hf_ansi_map_pi;
129
static int hf_ansi_map_navail;
130
static int hf_ansi_map_si;
131
static int hf_ansi_map_digits_enc;
132
static int hf_ansi_map_np;
133
static int hf_ansi_map_nr_digits;
134
static int hf_ansi_map_bcd_digits;
135
static int hf_ansi_map_ia5_digits;
136
static int hf_ansi_map_subaddr_type;
137
static int hf_ansi_map_subaddr_odd_even;
138
static int hf_ansi_alertcode_cadence;
139
static int hf_ansi_alertcode_pitch;
140
static int hf_ansi_alertcode_alertaction;
141
static int hf_ansi_map_announcementcode_tone;
142
static int hf_ansi_map_announcementcode_class;
143
static int hf_ansi_map_announcementcode_std_ann;
144
static int hf_ansi_map_announcementcode_cust_ann;
145
static int hf_ansi_map_authorizationperiod_period;
146
static int hf_ansi_map_value;
147
static int hf_ansi_map_msc_type;
148
static int hf_ansi_map_handoffstate_pi;
149
static int hf_ansi_map_tgn;
150
static int hf_ansi_map_tmn;
151
static int hf_ansi_map_messagewaitingnotificationcount_tom;
152
static int hf_ansi_map_messagewaitingnotificationcount_no_mw;
153
static int hf_ansi_map_messagewaitingnotificationtype_mwi;
154
static int hf_ansi_map_messagewaitingnotificationtype_apt;
155
static int hf_ansi_map_messagewaitingnotificationtype_pt;
156
157
static int hf_ansi_map_trans_cap_prof;
158
static int hf_ansi_map_trans_cap_busy;
159
static int hf_ansi_map_trans_cap_ann;
160
static int hf_ansi_map_trans_cap_rui;
161
static int hf_ansi_map_trans_cap_spini;
162
static int hf_ansi_map_trans_cap_uzci;
163
static int hf_ansi_map_trans_cap_ndss;
164
static int hf_ansi_map_trans_cap_nami;
165
static int hf_ansi_trans_cap_multerm;
166
static int hf_ansi_map_terminationtriggers_busy;
167
static int hf_ansi_map_terminationtriggers_rf;
168
static int hf_ansi_map_terminationtriggers_npr;
169
static int hf_ansi_map_terminationtriggers_na;
170
static int hf_ansi_map_terminationtriggers_nr;
171
static int hf_ansi_trans_cap_tl;
172
static int hf_ansi_map_cdmaserviceoption;
173
static int hf_ansi_trans_cap_waddr;
174
static int hf_ansi_map_MarketID;
175
static int hf_ansi_map_swno;
176
static int hf_ansi_map_idno;
177
static int hf_ansi_map_segcount;
178
static int hf_ansi_map_sms_originationrestrictions_fmc;
179
static int hf_ansi_map_sms_originationrestrictions_direct;
180
static int hf_ansi_map_sms_originationrestrictions_default;
181
static int hf_ansi_map_systemcapabilities_auth;
182
static int hf_ansi_map_systemcapabilities_se;
183
static int hf_ansi_map_systemcapabilities_vp;
184
static int hf_ansi_map_systemcapabilities_cave;
185
static int hf_ansi_map_systemcapabilities_ssd;
186
static int hf_ansi_map_systemcapabilities_dp;
187
188
static int hf_ansi_map_mslocation_lat;
189
static int hf_ansi_map_mslocation_long;
190
static int hf_ansi_map_mslocation_res;
191
static int hf_ansi_map_nampscallmode_namps;
192
static int hf_ansi_map_nampscallmode_amps;
193
static int hf_ansi_map_nampschanneldata_navca;
194
static int hf_ansi_map_nampschanneldata_CCIndicator;
195
196
static int hf_ansi_map_callingfeaturesindicator_cfufa;
197
static int hf_ansi_map_callingfeaturesindicator_cfbfa;
198
static int hf_ansi_map_callingfeaturesindicator_cfnafa;
199
static int hf_ansi_map_callingfeaturesindicator_cwfa;
200
static int hf_ansi_map_callingfeaturesindicator_3wcfa;
201
static int hf_ansi_map_callingfeaturesindicator_pcwfa;
202
static int hf_ansi_map_callingfeaturesindicator_dpfa;
203
static int hf_ansi_map_callingfeaturesindicator_ahfa;
204
static int hf_ansi_map_callingfeaturesindicator_uscfvmfa;
205
static int hf_ansi_map_callingfeaturesindicator_uscfmsfa;
206
static int hf_ansi_map_callingfeaturesindicator_uscfnrfa;
207
static int hf_ansi_map_callingfeaturesindicator_cpdsfa;
208
static int hf_ansi_map_callingfeaturesindicator_ccsfa;
209
static int hf_ansi_map_callingfeaturesindicator_epefa;
210
static int hf_ansi_map_callingfeaturesindicator_cdfa;
211
static int hf_ansi_map_callingfeaturesindicator_vpfa;
212
static int hf_ansi_map_callingfeaturesindicator_ctfa;
213
static int hf_ansi_map_callingfeaturesindicator_cnip1fa;
214
static int hf_ansi_map_callingfeaturesindicator_cnip2fa;
215
static int hf_ansi_map_callingfeaturesindicator_cnirfa;
216
static int hf_ansi_map_callingfeaturesindicator_cniroverfa;
217
static int hf_ansi_map_cdmacallmode_cdma;
218
static int hf_ansi_map_cdmacallmode_amps;
219
static int hf_ansi_map_cdmacallmode_namps;
220
static int hf_ansi_map_cdmacallmode_cls1;
221
static int hf_ansi_map_cdmacallmode_cls2;
222
static int hf_ansi_map_cdmacallmode_cls3;
223
static int hf_ansi_map_cdmacallmode_cls4;
224
static int hf_ansi_map_cdmacallmode_cls5;
225
static int hf_ansi_map_cdmacallmode_cls6;
226
static int hf_ansi_map_cdmacallmode_cls7;
227
static int hf_ansi_map_cdmacallmode_cls8;
228
static int hf_ansi_map_cdmacallmode_cls9;
229
static int hf_ansi_map_cdmacallmode_cls10;
230
static int hf_ansi_map_cdmachanneldata_Frame_Offset;
231
static int hf_ansi_map_cdmachanneldata_CDMA_ch_no;
232
static int hf_ansi_map_cdmachanneldata_band_cls;
233
static int hf_ansi_map_cdmachanneldata_lc_mask_b6;
234
static int hf_ansi_map_cdmachanneldata_lc_mask_b5;
235
static int hf_ansi_map_cdmachanneldata_lc_mask_b4;
236
static int hf_ansi_map_cdmachanneldata_lc_mask_b3;
237
static int hf_ansi_map_cdmachanneldata_lc_mask_b2;
238
static int hf_ansi_map_cdmachanneldata_lc_mask_b1;
239
static int hf_ansi_map_cdmachanneldata_np_ext;
240
static int hf_ansi_map_cdmachanneldata_nominal_pwr;
241
static int hf_ansi_map_cdmachanneldata_nr_preamble;
242
243
static int hf_ansi_map_cdmastationclassmark_pc;
244
static int hf_ansi_map_cdmastationclassmark_dtx;
245
static int hf_ansi_map_cdmastationclassmark_smi;
246
static int hf_ansi_map_cdmastationclassmark_dmi;
247
static int hf_ansi_map_channeldata_vmac;
248
static int hf_ansi_map_channeldata_dtx;
249
static int hf_ansi_map_channeldata_scc;
250
static int hf_ansi_map_channeldata_chno;
251
static int hf_ansi_map_ConfidentialityModes_vp;
252
static int hf_ansi_map_controlchanneldata_dcc;
253
static int hf_ansi_map_controlchanneldata_cmac;
254
static int hf_ansi_map_controlchanneldata_chno;
255
static int hf_ansi_map_controlchanneldata_sdcc1;
256
static int hf_ansi_map_controlchanneldata_sdcc2;
257
static int hf_ansi_map_ConfidentialityModes_se;
258
static int hf_ansi_map_deniedauthorizationperiod_period;
259
static int hf_ansi_map_ConfidentialityModes_dp;
260
261
static int hf_ansi_map_originationtriggers_all;
262
static int hf_ansi_map_originationtriggers_local;
263
static int hf_ansi_map_originationtriggers_ilata;
264
static int hf_ansi_map_originationtriggers_olata;
265
static int hf_ansi_map_originationtriggers_int;
266
static int hf_ansi_map_originationtriggers_wz;
267
static int hf_ansi_map_originationtriggers_unrec;
268
static int hf_ansi_map_originationtriggers_rvtc;
269
static int hf_ansi_map_originationtriggers_star;
270
static int hf_ansi_map_originationtriggers_ds;
271
static int hf_ansi_map_originationtriggers_pound;
272
static int hf_ansi_map_originationtriggers_dp;
273
static int hf_ansi_map_originationtriggers_pa;
274
static int hf_ansi_map_originationtriggers_nodig;
275
static int hf_ansi_map_originationtriggers_onedig;
276
static int hf_ansi_map_originationtriggers_twodig;
277
static int hf_ansi_map_originationtriggers_threedig;
278
static int hf_ansi_map_originationtriggers_fourdig;
279
static int hf_ansi_map_originationtriggers_fivedig;
280
static int hf_ansi_map_originationtriggers_sixdig;
281
static int hf_ansi_map_originationtriggers_sevendig;
282
static int hf_ansi_map_originationtriggers_eightdig;
283
static int hf_ansi_map_originationtriggers_ninedig;
284
static int hf_ansi_map_originationtriggers_tendig;
285
static int hf_ansi_map_originationtriggers_elevendig;
286
static int hf_ansi_map_originationtriggers_twelvedig;
287
static int hf_ansi_map_originationtriggers_thirteendig;
288
static int hf_ansi_map_originationtriggers_fourteendig;
289
static int hf_ansi_map_originationtriggers_fifteendig;
290
static int hf_ansi_map_triggercapability_init;
291
static int hf_ansi_map_triggercapability_kdigit;
292
static int hf_ansi_map_triggercapability_all;
293
static int hf_ansi_map_triggercapability_rvtc;
294
static int hf_ansi_map_triggercapability_oaa;
295
static int hf_ansi_map_triggercapability_oans;
296
static int hf_ansi_map_triggercapability_odisc;
297
static int hf_ansi_map_triggercapability_ona;
298
static int hf_ansi_map_triggercapability_ct;
299
static int hf_ansi_map_triggercapability_unrec;
300
static int hf_ansi_map_triggercapability_pa;
301
static int hf_ansi_map_triggercapability_at;
302
static int hf_ansi_map_triggercapability_cgraa;
303
static int hf_ansi_map_triggercapability_it;
304
static int hf_ansi_map_triggercapability_cdraa;
305
static int hf_ansi_map_triggercapability_obsy;
306
static int hf_ansi_map_triggercapability_tra;
307
static int hf_ansi_map_triggercapability_tbusy;
308
static int hf_ansi_map_triggercapability_tna;
309
static int hf_ansi_map_triggercapability_tans;
310
static int hf_ansi_map_triggercapability_tdisc;
311
static int hf_ansi_map_winoperationscapability_conn;
312
static int hf_ansi_map_winoperationscapability_ccdir;
313
static int hf_ansi_map_winoperationscapability_pos;
314
static int hf_ansi_map_PACA_Level;
315
static int hf_ansi_map_pacaindicator_pa;
316
317
static int hf_ansi_map_point_code;
318
static int hf_ansi_map_SSN;
319
static int hf_ansi_map_win_trigger_list;
320
321
static int hf_ansi_map_electronicSerialNumber;    /* ElectronicSerialNumber */
322
static int hf_ansi_map_msid;                      /* MSID */
323
static int hf_ansi_map_authenticationAlgorithmVersion;  /* AuthenticationAlgorithmVersion */
324
static int hf_ansi_map_authenticationResponseReauthentication;  /* AuthenticationResponseReauthentication */
325
static int hf_ansi_map_authenticationResponseUniqueChallenge;  /* AuthenticationResponseUniqueChallenge */
326
static int hf_ansi_map_callHistoryCount;          /* CallHistoryCount */
327
static int hf_ansi_map_cdmaPrivateLongCodeMask;   /* CDMAPrivateLongCodeMask */
328
static int hf_ansi_map_carrierDigits;             /* CarrierDigits */
329
static int hf_ansi_map_caveKey;                   /* CaveKey */
330
static int hf_ansi_map_denyAccess;                /* DenyAccess */
331
static int hf_ansi_map_destinationDigits;         /* DestinationDigits */
332
static int hf_ansi_map_locationAreaID;            /* LocationAreaID */
333
static int hf_ansi_map_randomVariableReauthentication;  /* RandomVariableReauthentication */
334
static int hf_ansi_map_meid;                      /* MEID */
335
static int hf_ansi_map_mobileStationMIN;          /* MobileStationMIN */
336
static int hf_ansi_map_mscid;                     /* MSCID */
337
static int hf_ansi_map_randomVariableSSD;         /* RandomVariableSSD */
338
static int hf_ansi_map_randomVariableUniqueChallenge;  /* RandomVariableUniqueChallenge */
339
static int hf_ansi_map_routingDigits;             /* RoutingDigits */
340
static int hf_ansi_map_senderIdentificationNumber;  /* SenderIdentificationNumber */
341
static int hf_ansi_map_sharedSecretData;          /* SharedSecretData */
342
static int hf_ansi_map_signalingMessageEncryptionKey;  /* SignalingMessageEncryptionKey */
343
static int hf_ansi_map_ssdnotShared;              /* SSDNotShared */
344
static int hf_ansi_map_updateCount;               /* UpdateCount */
345
static int hf_ansi_map_interMSCCircuitID;         /* InterMSCCircuitID */
346
static int hf_ansi_map_mobileIdentificationNumber;  /* MobileIdentificationNumber */
347
static int hf_ansi_map_countUpdateReport;         /* CountUpdateReport */
348
static int hf_ansi_map_uniqueChallengeReport;     /* UniqueChallengeReport */
349
static int hf_ansi_map_reportType;                /* ReportType */
350
static int hf_ansi_map_systemAccessType;          /* SystemAccessType */
351
static int hf_ansi_map_systemCapabilities;        /* SystemCapabilities */
352
static int hf_ansi_map_callHistoryCountExpected;  /* CallHistoryCountExpected */
353
static int hf_ansi_map_reportType2;               /* ReportType */
354
static int hf_ansi_map_terminalType;              /* TerminalType */
355
static int hf_ansi_map_authenticationData;        /* AuthenticationData */
356
static int hf_ansi_map_authenticationResponse;    /* AuthenticationResponse */
357
static int hf_ansi_map_cdmaNetworkIdentification;  /* CDMANetworkIdentification */
358
static int hf_ansi_map_confidentialityModes;      /* ConfidentialityModes */
359
static int hf_ansi_map_controlChannelMode;        /* ControlChannelMode */
360
static int hf_ansi_map_digits;                    /* Digits */
361
static int hf_ansi_map_pc_ssn;                    /* PC_SSN */
362
static int hf_ansi_map_randomVariable;            /* RandomVariable */
363
static int hf_ansi_map_serviceRedirectionCause;   /* ServiceRedirectionCause */
364
static int hf_ansi_map_suspiciousAccess;          /* SuspiciousAccess */
365
static int hf_ansi_map_transactionCapability;     /* TransactionCapability */
366
static int hf_ansi_map_analogRedirectRecord;      /* AnalogRedirectRecord */
367
static int hf_ansi_map_cdmaRedirectRecord;        /* CDMARedirectRecord */
368
static int hf_ansi_map_dataKey;                   /* DataKey */
369
static int hf_ansi_map_roamingIndication;         /* RoamingIndication */
370
static int hf_ansi_map_serviceRedirectionInfo;    /* ServiceRedirectionInfo */
371
static int hf_ansi_map_voicePrivacyMask;          /* VoicePrivacyMask */
372
static int hf_ansi_map_reauthenticationReport;    /* ReauthenticationReport */
373
static int hf_ansi_map_serviceIndicator;          /* ServiceIndicator */
374
static int hf_ansi_map_signalingMessageEncryptionReport;  /* SignalingMessageEncryptionReport */
375
static int hf_ansi_map_ssdUpdateReport;           /* SSDUpdateReport */
376
static int hf_ansi_map_voicePrivacyReport;        /* VoicePrivacyReport */
377
static int hf_ansi_map_randomVariableBaseStation;  /* RandomVariableBaseStation */
378
static int hf_ansi_map_authenticationResponseBaseStation;  /* AuthenticationResponseBaseStation */
379
static int hf_ansi_map_billingID;                 /* BillingID */
380
static int hf_ansi_map_channelData;               /* ChannelData */
381
static int hf_ansi_map_interSwitchCount;          /* InterSwitchCount */
382
static int hf_ansi_map_servingCellID;             /* ServingCellID */
383
static int hf_ansi_map_stationClassMark;          /* StationClassMark */
384
static int hf_ansi_map_targetCellID;              /* TargetCellID */
385
static int hf_ansi_map_handoffReason;             /* HandoffReason */
386
static int hf_ansi_map_handoffState;              /* HandoffState */
387
static int hf_ansi_map_tdmaBurstIndicator;        /* TDMABurstIndicator */
388
static int hf_ansi_map_tdmaCallMode;              /* TDMACallMode */
389
static int hf_ansi_map_tdmaChannelData;           /* TDMAChannelData */
390
static int hf_ansi_map_baseStationManufacturerCode;  /* BaseStationManufacturerCode */
391
static int hf_ansi_map_alertCode;                 /* AlertCode */
392
static int hf_ansi_map_cdma2000HandoffInvokeIOSData;  /* CDMA2000HandoffInvokeIOSData */
393
static int hf_ansi_map_cdmaBandClassList;         /* CDMABandClassList */
394
static int hf_ansi_map_cdmaCallMode;              /* CDMACallMode */
395
static int hf_ansi_map_cdmaChannelData;           /* CDMAChannelData */
396
static int hf_ansi_map_cdmaConnectionReferenceList;  /* CDMAConnectionReferenceList */
397
static int hf_ansi_map_cdmaMobileProtocolRevision;  /* CDMAMobileProtocolRevision */
398
static int hf_ansi_map_cdmaMSMeasuredChannelIdentity;  /* CDMAMSMeasuredChannelIdentity */
399
static int hf_ansi_map_cdmaServiceConfigurationRecord;  /* CDMAServiceConfigurationRecord */
400
static int hf_ansi_map_cdmaServiceOptionList;     /* CDMAServiceOptionList */
401
static int hf_ansi_map_cdmaServingOneWayDelay;    /* CDMAServingOneWayDelay */
402
static int hf_ansi_map_cdmaStationClassMark;      /* CDMAStationClassMark */
403
static int hf_ansi_map_cdmaStationClassMark2;     /* CDMAStationClassMark2 */
404
static int hf_ansi_map_cdmaTargetMAHOList;        /* CDMATargetMAHOList */
405
static int hf_ansi_map_cdmaTargetMeasurementList;  /* CDMATargetMeasurementList */
406
static int hf_ansi_map_dataPrivacyParameters;     /* DataPrivacyParameters */
407
static int hf_ansi_map_ilspInformation;           /* ISLPInformation */
408
static int hf_ansi_map_msLocation;                /* MSLocation */
409
static int hf_ansi_map_nampsCallMode;             /* NAMPSCallMode */
410
static int hf_ansi_map_nampsChannelData;          /* NAMPSChannelData */
411
static int hf_ansi_map_nonPublicData;             /* NonPublicData */
412
static int hf_ansi_map_pdsnAddress;               /* PDSNAddress */
413
static int hf_ansi_map_pdsnProtocolType;          /* PDSNProtocolType */
414
static int hf_ansi_map_qosPriority;               /* QoSPriority */
415
static int hf_ansi_map_systemOperatorCode;        /* SystemOperatorCode */
416
static int hf_ansi_map_tdmaBandwidth;             /* TDMABandwidth */
417
static int hf_ansi_map_tdmaServiceCode;           /* TDMAServiceCode */
418
static int hf_ansi_map_tdmaTerminalCapability;    /* TDMATerminalCapability */
419
static int hf_ansi_map_tdmaVoiceCoder;            /* TDMAVoiceCoder */
420
static int hf_ansi_map_userZoneData;              /* UserZoneData */
421
static int hf_ansi_map_bsmcstatus;                /* BSMCStatus */
422
static int hf_ansi_map_cdma2000HandoffResponseIOSData;  /* CDMA2000HandoffResponseIOSData */
423
static int hf_ansi_map_cdmaCodeChannelList;       /* CDMACodeChannelList */
424
static int hf_ansi_map_cdmaSearchParameters;      /* CDMASearchParameters */
425
static int hf_ansi_map_cdmaSearchWindow;          /* CDMASearchWindow */
426
static int hf_ansi_map_sOCStatus;                 /* SOCStatus */
427
static int hf_ansi_map_releaseReason;             /* ReleaseReason */
428
static int hf_ansi_map_acgencountered;            /* ACGEncountered */
429
static int hf_ansi_map_callingPartyName;          /* CallingPartyName */
430
static int hf_ansi_map_callingPartyNumberDigits1;  /* CallingPartyNumberDigits1 */
431
static int hf_ansi_map_callingPartyNumberDigits2;  /* CallingPartyNumberDigits2 */
432
static int hf_ansi_map_callingPartySubaddress;    /* CallingPartySubaddress */
433
static int hf_ansi_map_conferenceCallingIndicator;  /* ConferenceCallingIndicator */
434
static int hf_ansi_map_mobileDirectoryNumber;     /* MobileDirectoryNumber */
435
static int hf_ansi_map_mSCIdentificationNumber;   /* MSCIdentificationNumber */
436
static int hf_ansi_map_oneTimeFeatureIndicator;   /* OneTimeFeatureIndicator */
437
static int hf_ansi_map_systemMyTypeCode;          /* SystemMyTypeCode */
438
static int hf_ansi_map_featureResult;             /* FeatureResult */
439
static int hf_ansi_map_accessDeniedReason;        /* AccessDeniedReason */
440
static int hf_ansi_map_actionCode;                /* ActionCode */
441
static int hf_ansi_map_announcementList;          /* AnnouncementList */
442
static int hf_ansi_map_callingPartyNumberString1;  /* CallingPartyNumberString1 */
443
static int hf_ansi_map_callingPartyNumberString2;  /* CallingPartyNumberString2 */
444
static int hf_ansi_map_digits_Destination;        /* Digits */
445
static int hf_ansi_map_displayText;               /* DisplayText */
446
static int hf_ansi_map_displayText2;              /* DisplayText2 */
447
static int hf_ansi_map_dmh_AccountCodeDigits;     /* DMH_AccountCodeDigits */
448
static int hf_ansi_map_dmh_AlternateBillingDigits;  /* DMH_AlternateBillingDigits */
449
static int hf_ansi_map_dmh_BillingDigits;         /* DMH_BillingDigits */
450
static int hf_ansi_map_dmh_RedirectionIndicator;  /* DMH_RedirectionIndicator */
451
static int hf_ansi_map_groupInformation;          /* GroupInformation */
452
static int hf_ansi_map_noAnswerTime;              /* NoAnswerTime */
453
static int hf_ansi_map_pACAIndicator;             /* PACAIndicator */
454
static int hf_ansi_map_pilotNumber;               /* PilotNumber */
455
static int hf_ansi_map_preferredLanguageIndicator;  /* PreferredLanguageIndicator */
456
static int hf_ansi_map_redirectingNumberDigits;   /* RedirectingNumberDigits */
457
static int hf_ansi_map_redirectingNumberString;   /* RedirectingNumberString */
458
static int hf_ansi_map_redirectingSubaddress;     /* RedirectingSubaddress */
459
static int hf_ansi_map_resumePIC;                 /* ResumePIC */
460
static int hf_ansi_map_terminationList;           /* TerminationList */
461
static int hf_ansi_map_terminationTriggers;       /* TerminationTriggers */
462
static int hf_ansi_map_triggerAddressList;        /* TriggerAddressList */
463
static int hf_ansi_map_emergencyServicesRoutingDigits;  /* EmergencyServicesRoutingDigits */
464
static int hf_ansi_map_targetCellIDList;          /* TargetCellIDList */
465
static int hf_ansi_map_signalQuality;             /* SignalQuality */
466
static int hf_ansi_map_targetMeasurementList;     /* TargetMeasurementList */
467
static int hf_ansi_map_alertResult;               /* AlertResult */
468
static int hf_ansi_map_messageWaitingNotificationCount;  /* MessageWaitingNotificationCount */
469
static int hf_ansi_map_messageWaitingNotificationType;  /* MessageWaitingNotificationType */
470
static int hf_ansi_map_cdmaBandClass;             /* CDMABandClass */
471
static int hf_ansi_map_cdmaServiceOption;         /* CDMAServiceOption */
472
static int hf_ansi_map_cdmaSlotCycleIndex;        /* CDMASlotCycleIndex */
473
static int hf_ansi_map_extendedMSCID;             /* ExtendedMSCID */
474
static int hf_ansi_map_extendedSystemMyTypeCode;  /* ExtendedSystemMyTypeCode */
475
static int hf_ansi_map_imsi;                      /* IMSI */
476
static int hf_ansi_map_legInformation;            /* LegInformation */
477
static int hf_ansi_map_mSIDUsage;                 /* MSIDUsage */
478
static int hf_ansi_map_networkTMSI;               /* NetworkTMSI */
479
static int hf_ansi_map_pageCount;                 /* PageCount */
480
static int hf_ansi_map_pageIndicator;             /* PageIndicator */
481
static int hf_ansi_map_pageResponseTime;          /* PageResponseTime */
482
static int hf_ansi_map_pilotBillingID;            /* PilotBillingID */
483
static int hf_ansi_map_redirectingPartyName;      /* RedirectingPartyName */
484
static int hf_ansi_map_tdmaDataFeaturesIndicator;  /* TDMADataFeaturesIndicator */
485
static int hf_ansi_map_terminationTreatment;      /* TerminationTreatment */
486
static int hf_ansi_map_conditionallyDeniedReason;  /* ConditionallyDeniedReason */
487
static int hf_ansi_map_pagingFrameClass;          /* PagingFrameClass */
488
static int hf_ansi_map_pSID_RSIDList;             /* PSID_RSIDList */
489
static int hf_ansi_map_randc;                     /* RANDC */
490
static int hf_ansi_map_tdmaDataMode;              /* TDMADataMode */
491
static int hf_ansi_map_changeServiceAttributes;   /* ChangeServiceAttributes */
492
static int hf_ansi_map_edirectingSubaddress;      /* RedirectingSubaddress */
493
static int hf_ansi_map_setupResult;               /* SetupResult */
494
static int hf_ansi_map_terminationAccessType;     /* TerminationAccessType */
495
static int hf_ansi_map_triggerType;               /* TriggerType */
496
static int hf_ansi_map_winCapability;             /* WINCapability */
497
static int hf_ansi_map_callingPartyCategory;      /* CallingPartyCategory */
498
static int hf_ansi_map_controlNetworkID;          /* ControlNetworkID */
499
static int hf_ansi_map_digits_carrier;            /* Digits */
500
static int hf_ansi_map_digits_dest;               /* Digits */
501
static int hf_ansi_map_dmh_ServiceID;             /* DMH_ServiceID */
502
static int hf_ansi_map_lectronicSerialNumber;     /* ElectronicSerialNumber */
503
static int hf_ansi_map_deregistrationType;        /* DeregistrationType */
504
static int hf_ansi_map_servicesResult;            /* ServicesResult */
505
static int hf_ansi_map_sms_MessageWaitingIndicator;  /* SMS_MessageWaitingIndicator */
506
static int hf_ansi_map_featureIndicator;          /* FeatureIndicator */
507
static int hf_ansi_map_authenticationCapability;  /* AuthenticationCapability */
508
static int hf_ansi_map_callingFeaturesIndicator;  /* CallingFeaturesIndicator */
509
static int hf_ansi_map_geographicAuthorization;   /* GeographicAuthorization */
510
static int hf_ansi_map_meidValidated;             /* MEIDValidated */
511
static int hf_ansi_map_mobilePositionCapability;  /* MobilePositionCapability */
512
static int hf_ansi_map_originationIndicator;      /* OriginationIndicator */
513
static int hf_ansi_map_originationTriggers;       /* OriginationTriggers */
514
static int hf_ansi_map_restrictionDigits;         /* RestrictionDigits */
515
static int hf_ansi_map_sms_OriginationRestrictions;  /* SMS_OriginationRestrictions */
516
static int hf_ansi_map_sms_TerminationRestrictions;  /* SMS_TerminationRestrictions */
517
static int hf_ansi_map_spinipin;                  /* SPINIPIN */
518
static int hf_ansi_map_spiniTriggers;             /* SPINITriggers */
519
static int hf_ansi_map_terminationRestrictionCode;  /* TerminationRestrictionCode */
520
static int hf_ansi_map_userGroup;                 /* UserGroup */
521
static int hf_ansi_map_lirMode;                   /* LIRMode */
522
static int hf_ansi_map_cdmaCodeChannel;           /* CDMACodeChannel */
523
static int hf_ansi_map_cdmaMobileCapabilities;    /* CDMAMobileCapabilities */
524
static int hf_ansi_map_cdmaServingOneWayDelay2;   /* CDMAServingOneWayDelay2 */
525
static int hf_ansi_map_cdmaPSMMList;              /* CDMAPSMMList */
526
static int hf_ansi_map_mpcAddress;                /* MPCAddress */
527
static int hf_ansi_map_dmh_ChargeInformation;     /* DMH_ChargeInformation */
528
static int hf_ansi_map_qualificationInformationCode;  /* QualificationInformationCode */
529
static int hf_ansi_map_authorizationDenied;       /* AuthorizationDenied */
530
static int hf_ansi_map_authorizationPeriod;       /* AuthorizationPeriod */
531
static int hf_ansi_map_deniedAuthorizationPeriod;  /* DeniedAuthorizationPeriod */
532
static int hf_ansi_map_randValidTime;             /* RANDValidTime */
533
static int hf_ansi_map_redirectionReason;         /* RedirectionReason */
534
static int hf_ansi_map_cancellationType;          /* CancellationType */
535
static int hf_ansi_map_controlChannelData;        /* ControlChannelData */
536
static int hf_ansi_map_receivedSignalQuality;     /* ReceivedSignalQuality */
537
static int hf_ansi_map_systemAccessData;          /* SystemAccessData */
538
static int hf_ansi_map_cancellationDenied;        /* CancellationDenied */
539
static int hf_ansi_map_availabilityType;          /* AvailabilityType */
540
static int hf_ansi_map_borderCellAccess;          /* BorderCellAccess */
541
static int hf_ansi_map_msc_Address;               /* MSC_Address */
542
static int hf_ansi_map_sms_Address;               /* SMS_Address */
543
static int hf_ansi_map_mpcAddressList;            /* MPCAddressList */
544
static int hf_ansi_map_digits_Carrier;            /* Digits */
545
static int hf_ansi_map_digitCollectionControl;    /* DigitCollectionControl */
546
static int hf_ansi_map_trunkStatus;               /* TrunkStatus */
547
static int hf_ansi_map_voiceMailboxNumber;        /* VoiceMailboxNumber */
548
static int hf_ansi_map_voiceMailboxPIN;           /* VoiceMailboxPIN */
549
static int hf_ansi_map_sms_BearerData;            /* SMS_BearerData */
550
static int hf_ansi_map_sms_TeleserviceIdentifier;  /* SMS_TeleserviceIdentifier */
551
static int hf_ansi_map_sms_ChargeIndicator;       /* SMS_ChargeIndicator */
552
static int hf_ansi_map_sms_DestinationAddress;    /* SMS_DestinationAddress */
553
static int hf_ansi_map_sms_OriginalDestinationAddress;  /* SMS_OriginalDestinationAddress */
554
static int hf_ansi_map_sms_OriginalDestinationSubaddress;  /* SMS_OriginalDestinationSubaddress */
555
static int hf_ansi_map_sms_OriginalOriginatingAddress;  /* SMS_OriginalOriginatingAddress */
556
static int hf_ansi_map_sms_OriginalOriginatingSubaddress;  /* SMS_OriginalOriginatingSubaddress */
557
static int hf_ansi_map_sms_OriginatingAddress;    /* SMS_OriginatingAddress */
558
static int hf_ansi_map_sms_CauseCode;             /* SMS_CauseCode */
559
static int hf_ansi_map_interMessageTime;          /* InterMessageTime */
560
static int hf_ansi_map_newlyAssignedIMSI;         /* NewlyAssignedIMSI */
561
static int hf_ansi_map_newlyAssignedMIN;          /* NewlyAssignedMIN */
562
static int hf_ansi_map_newMINExtension;           /* NewMINExtension */
563
static int hf_ansi_map_sms_MessageCount;          /* SMS_MessageCount */
564
static int hf_ansi_map_sms_NotificationIndicator;  /* SMS_NotificationIndicator */
565
static int hf_ansi_map_teleservice_Priority;      /* Teleservice_Priority */
566
static int hf_ansi_map_temporaryReferenceNumber;  /* TemporaryReferenceNumber */
567
static int hf_ansi_map_mobileStationMSID;         /* MobileStationMSID */
568
static int hf_ansi_map_sms_TransactionID;         /* SMS_TransactionID */
569
static int hf_ansi_map_sms_AccessDeniedReason;    /* SMS_AccessDeniedReason */
570
static int hf_ansi_map_seizureType;               /* SeizureType */
571
static int hf_ansi_map_requiredParametersMask;    /* RequiredParametersMask */
572
static int hf_ansi_map_reasonList;                /* ReasonList */
573
static int hf_ansi_map_networkTMSIExpirationTime;  /* NetworkTMSIExpirationTime */
574
static int hf_ansi_map_newNetworkTMSI;            /* NewNetworkTMSI */
575
static int hf_ansi_map_serviceID;                 /* ServiceID */
576
static int hf_ansi_map_dataAccessElementList;     /* DataAccessElementList */
577
static int hf_ansi_map_timeDateOffset;            /* TimeDateOffset */
578
static int hf_ansi_map_timeOfDay;                 /* TimeOfDay */
579
static int hf_ansi_map_dmd_BillingIndicator;      /* DMH_BillingIndicator */
580
static int hf_ansi_map_failureType;               /* FailureType */
581
static int hf_ansi_map_failureCause;              /* FailureCause */
582
static int hf_ansi_map_outingDigits;              /* RoutingDigits */
583
static int hf_ansi_map_databaseKey;               /* DatabaseKey */
584
static int hf_ansi_map_modificationRequestList;   /* ModificationRequestList */
585
static int hf_ansi_map_modificationResultList;    /* ModificationResultList */
586
static int hf_ansi_map_serviceDataAccessElementList;  /* ServiceDataAccessElementList */
587
static int hf_ansi_map_privateSpecializedResource;  /* PrivateSpecializedResource */
588
static int hf_ansi_map_specializedResource;       /* SpecializedResource */
589
static int hf_ansi_map_executeScript;             /* ExecuteScript */
590
static int hf_ansi_map_scriptResult;              /* ScriptResult */
591
static int hf_ansi_map_tdmaVoiceMode;             /* TDMAVoiceMode */
592
static int hf_ansi_map_callStatus;                /* CallStatus */
593
static int hf_ansi_map_releaseCause;              /* ReleaseCause */
594
static int hf_ansi_map_callRecoveryIDList;        /* CallRecoveryIDList */
595
static int hf_ansi_map_positionInformationCode;   /* PositionInformationCode */
596
static int hf_ansi_map_mSStatus;                  /* MSStatus */
597
static int hf_ansi_map_pSID_RSIDInformation;      /* PSID_RSIDInformation */
598
static int hf_ansi_map_positionRequestType;       /* PositionRequestType */
599
static int hf_ansi_map_lcsBillingID;              /* LCSBillingID */
600
static int hf_ansi_map_lcs_Client_ID;             /* LCS_Client_ID */
601
static int hf_ansi_map_dtxIndication;             /* DTXIndication */
602
static int hf_ansi_map_tdma_MAHO_CELLID;          /* TDMA_MAHO_CELLID */
603
static int hf_ansi_map_tdma_MAHO_CHANNEL;         /* TDMA_MAHO_CHANNEL */
604
static int hf_ansi_map_tdma_TimeAlignment;        /* TDMA_TimeAlignment */
605
static int hf_ansi_map_pqos_HorizontalPosition;   /* PQOS_HorizontalPosition */
606
static int hf_ansi_map_pqos_HorizontalVelocity;   /* PQOS_HorizontalVelocity */
607
static int hf_ansi_map_pqos_MaximumPositionAge;   /* PQOS_MaximumPositionAge */
608
static int hf_ansi_map_pqos_PositionPriority;     /* PQOS_PositionPriority */
609
static int hf_ansi_map_pqos_ResponseTime;         /* PQOS_ResponseTime */
610
static int hf_ansi_map_pqos_VerticalPosition;     /* PQOS_VerticalPosition */
611
static int hf_ansi_map_pqos_VerticalVelocity;     /* PQOS_VerticalVelocity */
612
static int hf_ansi_map_cdmaPSMMCount;             /* CDMAPSMMCount */
613
static int hf_ansi_map_lirAuthorization;          /* LIRAuthorization */
614
static int hf_ansi_map_mpcid;                     /* MPCID */
615
static int hf_ansi_map_tdma_MAHORequest;          /* TDMA_MAHORequest */
616
static int hf_ansi_map_positionResult;            /* PositionResult */
617
static int hf_ansi_map_positionInformation;       /* PositionInformation */
618
static int hf_ansi_map_controlType;               /* ControlType */
619
static int hf_ansi_map_destinationAddress;        /* DestinationAddress */
620
static int hf_ansi_map_gapDuration;               /* GapDuration */
621
static int hf_ansi_map_gapInterval;               /* GapInterval */
622
static int hf_ansi_map_invokingNEType;            /* InvokingNEType */
623
static int hf_ansi_map_range;                     /* Range */
624
static int hf_ansi_map_meidStatus;                /* MEIDStatus */
625
static int hf_ansi_map_aKeyProtocolVersion;       /* AKeyProtocolVersion */
626
static int hf_ansi_map_mobileStationPartialKey;   /* MobileStationPartialKey */
627
static int hf_ansi_map_newlyAssignedMSID;         /* NewlyAssignedMSID */
628
static int hf_ansi_map_baseStationPartialKey;     /* BaseStationPartialKey */
629
static int hf_ansi_map_modulusValue;              /* ModulusValue */
630
static int hf_ansi_map_otasp_ResultCode;          /* OTASP_ResultCode */
631
static int hf_ansi_map_primitiveValue;            /* PrimitiveValue */
632
static int hf_ansi_map_record_Type;               /* Record_Type */
633
static int hf_ansi_map_information_Record;        /* Information_Record */
634
static int hf_ansi_map_cdma2000MobileSupportedCapabilities;  /* CDMA2000MobileSupportedCapabilities */
635
static int hf_ansi_map_announcementCode1;         /* AnnouncementCode */
636
static int hf_ansi_map_announcementCode2;         /* AnnouncementCode */
637
static int hf_ansi_map_cdmaPilotPN;               /* CDMAPilotPN */
638
static int hf_ansi_map_cdmaPowerCombinedIndicator;  /* CDMAPowerCombinedIndicator */
639
static int hf_ansi_map_CDMACodeChannelList_item;  /* CDMACodeChannelInformation */
640
static int hf_ansi_map_cdmaPilotStrength;         /* CDMAPilotStrength */
641
static int hf_ansi_map_cdmaTargetOneWayDelay;     /* CDMATargetOneWayDelay */
642
static int hf_ansi_map_CDMATargetMAHOList_item;   /* CDMATargetMAHOInformation */
643
static int hf_ansi_map_cdmaSignalQuality;         /* CDMASignalQuality */
644
static int hf_ansi_map_CDMATargetMeasurementList_item;  /* CDMATargetMeasurementInformation */
645
static int hf_ansi_map_TargetMeasurementList_item;  /* TargetMeasurementInformation */
646
static int hf_ansi_map_TerminationList_item;      /* TerminationList_item */
647
static int hf_ansi_map_intersystemTermination;    /* IntersystemTermination */
648
static int hf_ansi_map_localTermination;          /* LocalTermination */
649
static int hf_ansi_map_pstnTermination;           /* PSTNTermination */
650
static int hf_ansi_map_CDMABandClassList_item;    /* CDMABandClassInformation */
651
static int hf_ansi_map_CDMAServiceOptionList_item;  /* CDMAServiceOption */
652
static int hf_ansi_map_pSID_RSIDInformation1;     /* PSID_RSIDInformation */
653
static int hf_ansi_map_targetCellID1;             /* TargetCellID */
654
static int hf_ansi_map_cdmaConnectionReference;   /* CDMAConnectionReference */
655
static int hf_ansi_map_cdmaState;                 /* CDMAState */
656
static int hf_ansi_map_cdmaServiceOptionConnectionIdentifier;  /* CDMAServiceOptionConnectionIdentifier */
657
static int hf_ansi_map_CDMAConnectionReferenceList_item;  /* CDMAConnectionReferenceList_item */
658
static int hf_ansi_map_cdmaConnectionReferenceInformation;  /* CDMAConnectionReferenceInformation */
659
static int hf_ansi_map_cdmaConnectionReferenceInformation2;  /* CDMAConnectionReferenceInformation */
660
static int hf_ansi_map_analogRedirectInfo;        /* AnalogRedirectInfo */
661
static int hf_ansi_map_CDMAChannelNumberList_item;  /* CDMAChannelNumberList_item */
662
static int hf_ansi_map_cdmaChannelNumber;         /* CDMAChannelNumber */
663
static int hf_ansi_map_cdmaChannelNumber2;        /* CDMAChannelNumber */
664
static int hf_ansi_map_cdmaChannelNumberList;     /* CDMAChannelNumberList */
665
static int hf_ansi_map_dataID;                    /* DataID */
666
static int hf_ansi_map_change;                    /* Change */
667
static int hf_ansi_map_dataValue;                 /* DataValue */
668
static int hf_ansi_map_DataAccessElementList_item;  /* DataAccessElementList_item */
669
static int hf_ansi_map_dataAccessElement1;        /* DataAccessElement */
670
static int hf_ansi_map_dataAccessElement2;        /* DataAccessElement */
671
static int hf_ansi_map_dataResult;                /* DataResult */
672
static int hf_ansi_map_DataUpdateResultList_item;  /* DataUpdateResult */
673
static int hf_ansi_map_globalTitle;               /* GlobalTitle */
674
static int hf_ansi_map_pC_SSN;                    /* PC_SSN */
675
static int hf_ansi_map_scriptName;                /* ScriptName */
676
static int hf_ansi_map_scriptArgument;            /* ScriptArgument */
677
static int hf_ansi_map_allOrNone;                 /* AllOrNone */
678
static int hf_ansi_map_ModificationRequestList_item;  /* ModificationRequest */
679
static int hf_ansi_map_serviceDataResultList;     /* ServiceDataResultList */
680
static int hf_ansi_map_ModificationResultList_item;  /* ModificationResult */
681
static int hf_ansi_map_ServiceDataAccessElementList_item;  /* ServiceDataAccessElement */
682
static int hf_ansi_map_dataUpdateResultList;      /* DataUpdateResultList */
683
static int hf_ansi_map_ServiceDataResultList_item;  /* ServiceDataResult */
684
static int hf_ansi_map_triggerList;               /* TriggerList */
685
static int hf_ansi_map_triggerListOpt;            /* TriggerList */
686
static int hf_ansi_map_wIN_TriggerList;           /* WIN_TriggerList */
687
static int hf_ansi_map_triggerCapability;         /* TriggerCapability */
688
static int hf_ansi_map_wINOperationsCapability;   /* WINOperationsCapability */
689
static int hf_ansi_map_CallRecoveryIDList_item;   /* CallRecoveryID */
690
static int hf_ansi_map_generalizedTime;           /* GeneralizedTime */
691
static int hf_ansi_map_geographicPosition;        /* GeographicPosition */
692
static int hf_ansi_map_positionSource;            /* PositionSource */
693
static int hf_ansi_map_horizontal_Velocity;       /* Horizontal_Velocity */
694
static int hf_ansi_map_vertical_Velocity;         /* Vertical_Velocity */
695
static int hf_ansi_map_sCFOverloadGapInterval;    /* SCFOverloadGapInterval */
696
static int hf_ansi_map_serviceManagementSystemGapInterval;  /* ServiceManagementSystemGapInterval */
697
static int hf_ansi_map_CDMAPSMMList_item;         /* CDMAPSMMList_item */
698
static int hf_ansi_map_cdmaTargetMAHOList2;       /* CDMATargetMAHOList */
699
static int hf_ansi_map_mpcAddress2;               /* MPCAddress */
700
static int hf_ansi_map_mobileStationIMSI;         /* MobileStationIMSI */
701
static int hf_ansi_map_handoffMeasurementRequest;  /* HandoffMeasurementRequest */
702
static int hf_ansi_map_facilitiesDirective;       /* FacilitiesDirective */
703
static int hf_ansi_map_handoffBack;               /* HandoffBack */
704
static int hf_ansi_map_facilitiesRelease;         /* FacilitiesRelease */
705
static int hf_ansi_map_qualificationRequest;      /* QualificationRequest */
706
static int hf_ansi_map_qualificationDirective;    /* QualificationDirective */
707
static int hf_ansi_map_blocking;                  /* Blocking */
708
static int hf_ansi_map_unblocking;                /* Unblocking */
709
static int hf_ansi_map_resetCircuit;              /* ResetCircuit */
710
static int hf_ansi_map_trunkTest;                 /* TrunkTest */
711
static int hf_ansi_map_trunkTestDisconnect;       /* TrunkTestDisconnect */
712
static int hf_ansi_map_registrationNotification;  /* RegistrationNotification */
713
static int hf_ansi_map_registrationCancellation;  /* RegistrationCancellation */
714
static int hf_ansi_map_locationRequest;           /* LocationRequest */
715
static int hf_ansi_map_routingRequest;            /* RoutingRequest */
716
static int hf_ansi_map_featureRequest;            /* FeatureRequest */
717
static int hf_ansi_map_unreliableRoamerDataDirective;  /* UnreliableRoamerDataDirective */
718
static int hf_ansi_map_mSInactive;                /* MSInactive */
719
static int hf_ansi_map_transferToNumberRequest;   /* TransferToNumberRequest */
720
static int hf_ansi_map_redirectionRequest;        /* RedirectionRequest */
721
static int hf_ansi_map_handoffToThird;            /* HandoffToThird */
722
static int hf_ansi_map_flashRequest;              /* FlashRequest */
723
static int hf_ansi_map_authenticationDirective;   /* AuthenticationDirective */
724
static int hf_ansi_map_authenticationRequest;     /* AuthenticationRequest */
725
static int hf_ansi_map_baseStationChallenge;      /* BaseStationChallenge */
726
static int hf_ansi_map_authenticationFailureReport;  /* AuthenticationFailureReport */
727
static int hf_ansi_map_countRequest;              /* CountRequest */
728
static int hf_ansi_map_interSystemPage;           /* InterSystemPage */
729
static int hf_ansi_map_unsolicitedResponse;       /* UnsolicitedResponse */
730
static int hf_ansi_map_bulkDeregistration;        /* BulkDeregistration */
731
static int hf_ansi_map_handoffMeasurementRequest2;  /* HandoffMeasurementRequest2 */
732
static int hf_ansi_map_facilitiesDirective2;      /* FacilitiesDirective2 */
733
static int hf_ansi_map_handoffBack2;              /* HandoffBack2 */
734
static int hf_ansi_map_handoffToThird2;           /* HandoffToThird2 */
735
static int hf_ansi_map_authenticationDirectiveForward;  /* AuthenticationDirectiveForward */
736
static int hf_ansi_map_authenticationStatusReport;  /* AuthenticationStatusReport */
737
static int hf_ansi_map_informationDirective;      /* InformationDirective */
738
static int hf_ansi_map_informationForward;        /* InformationForward */
739
static int hf_ansi_map_interSystemAnswer;         /* InterSystemAnswer */
740
static int hf_ansi_map_interSystemPage2;          /* InterSystemPage2 */
741
static int hf_ansi_map_interSystemSetup;          /* InterSystemSetup */
742
static int hf_ansi_map_originationRequest;        /* OriginationRequest */
743
static int hf_ansi_map_randomVariableRequest;     /* RandomVariableRequest */
744
static int hf_ansi_map_redirectionDirective;      /* RedirectionDirective */
745
static int hf_ansi_map_remoteUserInteractionDirective;  /* RemoteUserInteractionDirective */
746
static int hf_ansi_map_sMSDeliveryBackward;       /* SMSDeliveryBackward */
747
static int hf_ansi_map_sMSDeliveryForward;        /* SMSDeliveryForward */
748
static int hf_ansi_map_sMSDeliveryPointToPoint;   /* SMSDeliveryPointToPoint */
749
static int hf_ansi_map_sMSNotification;           /* SMSNotification */
750
static int hf_ansi_map_sMSRequest;                /* SMSRequest */
751
static int hf_ansi_map_oTASPRequest;              /* OTASPRequest */
752
static int hf_ansi_map_changeFacilities;          /* ChangeFacilities */
753
static int hf_ansi_map_changeService;             /* ChangeService */
754
static int hf_ansi_map_parameterRequest;          /* ParameterRequest */
755
static int hf_ansi_map_tMSIDirective;             /* TMSIDirective */
756
static int hf_ansi_map_numberPortabilityRequest;  /* NumberPortabilityRequest */
757
static int hf_ansi_map_serviceRequest;            /* ServiceRequest */
758
static int hf_ansi_map_analyzedInformation;       /* AnalyzedInformation */
759
static int hf_ansi_map_connectionFailureReport;   /* ConnectionFailureReport */
760
static int hf_ansi_map_connectResource;           /* ConnectResource */
761
static int hf_ansi_map_facilitySelectedAndAvailable;  /* FacilitySelectedAndAvailable */
762
static int hf_ansi_map_modify;                    /* Modify */
763
static int hf_ansi_map_search;                    /* Search */
764
static int hf_ansi_map_seizeResource;             /* SeizeResource */
765
static int hf_ansi_map_sRFDirective;              /* SRFDirective */
766
static int hf_ansi_map_tBusy;                     /* TBusy */
767
static int hf_ansi_map_tNoAnswer;                 /* TNoAnswer */
768
static int hf_ansi_map_smsDeliveryPointToPointAck;  /* SMSDeliveryPointToPointAck */
769
static int hf_ansi_map_messageDirective;          /* MessageDirective */
770
static int hf_ansi_map_bulkDisconnection;         /* BulkDisconnection */
771
static int hf_ansi_map_callControlDirective;      /* CallControlDirective */
772
static int hf_ansi_map_oAnswer;                   /* OAnswer */
773
static int hf_ansi_map_oDisconnect;               /* ODisconnect */
774
static int hf_ansi_map_callRecoveryReport;        /* CallRecoveryReport */
775
static int hf_ansi_map_tAnswer;                   /* TAnswer */
776
static int hf_ansi_map_tDisconnect;               /* TDisconnect */
777
static int hf_ansi_map_unreliableCallData;        /* UnreliableCallData */
778
static int hf_ansi_map_oCalledPartyBusy;          /* OCalledPartyBusy */
779
static int hf_ansi_map_oNoAnswer;                 /* ONoAnswer */
780
static int hf_ansi_map_positionRequest;           /* PositionRequest */
781
static int hf_ansi_map_positionRequestForward;    /* PositionRequestForward */
782
static int hf_ansi_map_callTerminationReport;     /* CallTerminationReport */
783
static int hf_ansi_map_geoPositionRequest;        /* GeoPositionRequest */
784
static int hf_ansi_map_interSystemPositionRequest;  /* InterSystemPositionRequest */
785
static int hf_ansi_map_interSystemPositionRequestForward;  /* InterSystemPositionRequestForward */
786
static int hf_ansi_map_aCGDirective;              /* ACGDirective */
787
static int hf_ansi_map_roamerDatabaseVerificationRequest;  /* RoamerDatabaseVerificationRequest */
788
static int hf_ansi_map_addService;                /* AddService */
789
static int hf_ansi_map_dropService;               /* DropService */
790
static int hf_ansi_map_lcsParameterRequest;       /* LCSParameterRequest */
791
static int hf_ansi_map_checkMEID;                 /* CheckMEID */
792
static int hf_ansi_map_positionEventNotification;  /* PositionEventNotification */
793
static int hf_ansi_map_statusRequest;             /* StatusRequest */
794
static int hf_ansi_map_interSystemSMSDeliveryPointToPoint;  /* InterSystemSMSDeliveryPointToPoint */
795
static int hf_ansi_map_qualificationRequest2;     /* QualificationRequest2 */
796
static int hf_ansi_map_handoffMeasurementRequestRes;  /* HandoffMeasurementRequestRes */
797
static int hf_ansi_map_facilitiesDirectiveRes;    /* FacilitiesDirectiveRes */
798
static int hf_ansi_map_handoffBackRes;            /* HandoffBackRes */
799
static int hf_ansi_map_facilitiesReleaseRes;      /* FacilitiesReleaseRes */
800
static int hf_ansi_map_qualificationDirectiveRes;  /* QualificationDirectiveRes */
801
static int hf_ansi_map_qualificationRequestRes;   /* QualificationRequestRes */
802
static int hf_ansi_map_resetCircuitRes;           /* ResetCircuitRes */
803
static int hf_ansi_map_registrationNotificationRes;  /* RegistrationNotificationRes */
804
static int hf_ansi_map_registrationCancellationRes;  /* RegistrationCancellationRes */
805
static int hf_ansi_map_locationRequestRes;        /* LocationRequestRes */
806
static int hf_ansi_map_routingRequestRes;         /* RoutingRequestRes */
807
static int hf_ansi_map_featureRequestRes;         /* FeatureRequestRes */
808
static int hf_ansi_map_transferToNumberRequestRes;  /* TransferToNumberRequestRes */
809
static int hf_ansi_map_handoffToThirdRes;         /* HandoffToThirdRes */
810
static int hf_ansi_map_authenticationDirectiveRes;  /* AuthenticationDirectiveRes */
811
static int hf_ansi_map_authenticationRequestRes;  /* AuthenticationRequestRes */
812
static int hf_ansi_map_baseStationChallengeRes;   /* BaseStationChallengeRes */
813
static int hf_ansi_map_authenticationFailureReportRes;  /* AuthenticationFailureReportRes */
814
static int hf_ansi_map_countRequestRes;           /* CountRequestRes */
815
static int hf_ansi_map_interSystemPageRes;        /* InterSystemPageRes */
816
static int hf_ansi_map_unsolicitedResponseRes;    /* UnsolicitedResponseRes */
817
static int hf_ansi_map_handoffMeasurementRequest2Res;  /* HandoffMeasurementRequest2Res */
818
static int hf_ansi_map_facilitiesDirective2Res;   /* FacilitiesDirective2Res */
819
static int hf_ansi_map_handoffBack2Res;           /* HandoffBack2Res */
820
static int hf_ansi_map_handoffToThird2Res;        /* HandoffToThird2Res */
821
static int hf_ansi_map_authenticationDirectiveForwardRes;  /* AuthenticationDirectiveForwardRes */
822
static int hf_ansi_map_authenticationStatusReportRes;  /* AuthenticationStatusReportRes */
823
static int hf_ansi_map_informationDirectiveRes;   /* InformationDirectiveRes */
824
static int hf_ansi_map_informationForwardRes;     /* InformationForwardRes */
825
static int hf_ansi_map_interSystemPage2Res;       /* InterSystemPage2Res */
826
static int hf_ansi_map_interSystemSetupRes;       /* InterSystemSetupRes */
827
static int hf_ansi_map_originationRequestRes;     /* OriginationRequestRes */
828
static int hf_ansi_map_randomVariableRequestRes;  /* RandomVariableRequestRes */
829
static int hf_ansi_map_remoteUserInteractionDirectiveRes;  /* RemoteUserInteractionDirectiveRes */
830
static int hf_ansi_map_sMSDeliveryBackwardRes;    /* SMSDeliveryBackwardRes */
831
static int hf_ansi_map_sMSDeliveryForwardRes;     /* SMSDeliveryForwardRes */
832
static int hf_ansi_map_sMSDeliveryPointToPointRes;  /* SMSDeliveryPointToPointRes */
833
static int hf_ansi_map_sMSNotificationRes;        /* SMSNotificationRes */
834
static int hf_ansi_map_sMSRequestRes;             /* SMSRequestRes */
835
static int hf_ansi_map_oTASPRequestRes;           /* OTASPRequestRes */
836
static int hf_ansi_map_changeFacilitiesRes;       /* ChangeFacilitiesRes */
837
static int hf_ansi_map_changeServiceRes;          /* ChangeServiceRes */
838
static int hf_ansi_map_parameterRequestRes;       /* ParameterRequestRes */
839
static int hf_ansi_map_tMSIDirectiveRes;          /* TMSIDirectiveRes */
840
static int hf_ansi_map_numberPortabilityRequestRes;  /* NumberPortabilityRequestRes */
841
static int hf_ansi_map_serviceRequestRes;         /* ServiceRequestRes */
842
static int hf_ansi_map_analyzedInformationRes;    /* AnalyzedInformationRes */
843
static int hf_ansi_map_facilitySelectedAndAvailableRes;  /* FacilitySelectedAndAvailableRes */
844
static int hf_ansi_map_modifyRes;                 /* ModifyRes */
845
static int hf_ansi_map_searchRes;                 /* SearchRes */
846
static int hf_ansi_map_seizeResourceRes;          /* SeizeResourceRes */
847
static int hf_ansi_map_sRFDirectiveRes;           /* SRFDirectiveRes */
848
static int hf_ansi_map_tBusyRes;                  /* TBusyRes */
849
static int hf_ansi_map_tNoAnswerRes;              /* TNoAnswerRes */
850
static int hf_ansi_map_callControlDirectiveRes;   /* CallControlDirectiveRes */
851
static int hf_ansi_map_oDisconnectRes;            /* ODisconnectRes */
852
static int hf_ansi_map_tDisconnectRes;            /* TDisconnectRes */
853
static int hf_ansi_map_oCalledPartyBusyRes;       /* OCalledPartyBusyRes */
854
static int hf_ansi_map_oNoAnswerRes;              /* ONoAnswerRes */
855
static int hf_ansi_map_positionRequestRes;        /* PositionRequestRes */
856
static int hf_ansi_map_positionRequestForwardRes;  /* PositionRequestForwardRes */
857
static int hf_ansi_map_interSystemPositionRequestRes;  /* InterSystemPositionRequestRes */
858
static int hf_ansi_map_interSystemPositionRequestForwardRes;  /* InterSystemPositionRequestForwardRes */
859
static int hf_ansi_map_roamerDatabaseVerificationRequestRes;  /* RoamerDatabaseVerificationRequestRes */
860
static int hf_ansi_map_addServiceRes;             /* AddServiceRes */
861
static int hf_ansi_map_dropServiceRes;            /* DropServiceRes */
862
static int hf_ansi_map_interSystemSMSPage;        /* InterSystemSMSPage */
863
static int hf_ansi_map_lcsParameterRequestRes;    /* LCSParameterRequestRes */
864
static int hf_ansi_map_checkMEIDRes;              /* CheckMEIDRes */
865
static int hf_ansi_map_statusRequestRes;          /* StatusRequestRes */
866
static int hf_ansi_map_interSystemSMSDeliveryPointToPointRes;  /* InterSystemSMSDeliveryPointToPointRes */
867
static int hf_ansi_map_qualificationRequest2Res;  /* QualificationRequest2Res */
868
869
/* Initialize the subtree pointers */
870
static int ett_ansi_map;
871
static int ett_mintype;
872
static int ett_digitstype;
873
static int ett_billingid;
874
static int ett_sms_bearer_data;
875
static int ett_sms_teleserviceIdentifier;
876
static int ett_extendedmscid;
877
static int ett_extendedsystemmytypecode;
878
static int ett_handoffstate;
879
static int ett_mscid;
880
static int ett_cdmachanneldata;
881
static int ett_cdmastationclassmark;
882
static int ett_channeldata;
883
static int ett_confidentialitymodes;
884
static int ett_controlchanneldata;
885
static int ett_CDMA2000HandoffInvokeIOSData;
886
static int ett_CDMA2000HandoffResponseIOSData;
887
static int ett_originationtriggers;
888
static int ett_pacaindicator;
889
static int ett_callingpartyname;
890
static int ett_triggercapability;
891
static int ett_winoperationscapability;
892
static int ett_win_trigger_list;
893
static int ett_controlnetworkid;
894
static int ett_transactioncapability;
895
static int ett_cdmaserviceoption;
896
static int ett_systemcapabilities;
897
static int ett_sms_originationrestrictions;
898
899
static int ett_ansi_map_AuthenticationDirective_U;
900
static int ett_ansi_map_AuthenticationDirectiveRes_U;
901
static int ett_ansi_map_AuthenticationDirectiveForward_U;
902
static int ett_ansi_map_AuthenticationDirectiveForwardRes_U;
903
static int ett_ansi_map_AuthenticationFailureReport_U;
904
static int ett_ansi_map_AuthenticationFailureReportRes_U;
905
static int ett_ansi_map_AuthenticationRequest_U;
906
static int ett_ansi_map_AuthenticationRequestRes_U;
907
static int ett_ansi_map_AuthenticationStatusReport_U;
908
static int ett_ansi_map_AuthenticationStatusReportRes_U;
909
static int ett_ansi_map_BaseStationChallenge_U;
910
static int ett_ansi_map_BaseStationChallengeRes_U;
911
static int ett_ansi_map_Blocking_U;
912
static int ett_ansi_map_BulkDeregistration_U;
913
static int ett_ansi_map_CountRequest_U;
914
static int ett_ansi_map_CountRequestRes_U;
915
static int ett_ansi_map_FacilitiesDirective_U;
916
static int ett_ansi_map_FacilitiesDirectiveRes_U;
917
static int ett_ansi_map_FacilitiesDirective2_U;
918
static int ett_ansi_map_FacilitiesDirective2Res_U;
919
static int ett_ansi_map_FacilitiesRelease_U;
920
static int ett_ansi_map_FacilitiesReleaseRes_U;
921
static int ett_ansi_map_FeatureRequest_U;
922
static int ett_ansi_map_FeatureRequestRes_U;
923
static int ett_ansi_map_FlashRequest_U;
924
static int ett_ansi_map_HandoffBack_U;
925
static int ett_ansi_map_HandoffBackRes_U;
926
static int ett_ansi_map_HandoffBack2_U;
927
static int ett_ansi_map_HandoffBack2Res_U;
928
static int ett_ansi_map_HandoffMeasurementRequest_U;
929
static int ett_ansi_map_HandoffMeasurementRequestRes_U;
930
static int ett_ansi_map_HandoffMeasurementRequest2_U;
931
static int ett_ansi_map_HandoffMeasurementRequest2Res_U;
932
static int ett_ansi_map_HandoffToThird_U;
933
static int ett_ansi_map_HandoffToThirdRes_U;
934
static int ett_ansi_map_HandoffToThird2_U;
935
static int ett_ansi_map_HandoffToThird2Res_U;
936
static int ett_ansi_map_InformationDirective_U;
937
static int ett_ansi_map_InformationDirectiveRes_U;
938
static int ett_ansi_map_InformationForward_U;
939
static int ett_ansi_map_InformationForwardRes_U;
940
static int ett_ansi_map_InterSystemAnswer_U;
941
static int ett_ansi_map_InterSystemPage_U;
942
static int ett_ansi_map_InterSystemPageRes_U;
943
static int ett_ansi_map_InterSystemPage2_U;
944
static int ett_ansi_map_InterSystemPage2Res_U;
945
static int ett_ansi_map_InterSystemSetup_U;
946
static int ett_ansi_map_InterSystemSetupRes_U;
947
static int ett_ansi_map_LocationRequest_U;
948
static int ett_ansi_map_LocationRequestRes_U;
949
static int ett_ansi_map_MSInactive_U;
950
static int ett_ansi_map_OriginationRequest_U;
951
static int ett_ansi_map_OriginationRequestRes_U;
952
static int ett_ansi_map_QualificationDirective_U;
953
static int ett_ansi_map_QualificationDirectiveRes_U;
954
static int ett_ansi_map_QualificationRequest_U;
955
static int ett_ansi_map_QualificationRequestRes_U;
956
static int ett_ansi_map_RandomVariableRequest_U;
957
static int ett_ansi_map_RandomVariableRequestRes_U;
958
static int ett_ansi_map_RedirectionDirective_U;
959
static int ett_ansi_map_RedirectionRequest_U;
960
static int ett_ansi_map_RegistrationCancellation_U;
961
static int ett_ansi_map_RegistrationCancellationRes_U;
962
static int ett_ansi_map_RegistrationNotification_U;
963
static int ett_ansi_map_RegistrationNotificationRes_U;
964
static int ett_ansi_map_RemoteUserInteractionDirective_U;
965
static int ett_ansi_map_RemoteUserInteractionDirectiveRes_U;
966
static int ett_ansi_map_ResetCircuit_U;
967
static int ett_ansi_map_ResetCircuitRes_U;
968
static int ett_ansi_map_RoutingRequest_U;
969
static int ett_ansi_map_RoutingRequestRes_U;
970
static int ett_ansi_map_SMSDeliveryBackward_U;
971
static int ett_ansi_map_SMSDeliveryBackwardRes_U;
972
static int ett_ansi_map_SMSDeliveryForward_U;
973
static int ett_ansi_map_SMSDeliveryForwardRes_U;
974
static int ett_ansi_map_SMSDeliveryPointToPoint_U;
975
static int ett_ansi_map_SMSDeliveryPointToPointRes_U;
976
static int ett_ansi_map_SMSDeliveryPointToPointAck_U;
977
static int ett_ansi_map_SMSNotification_U;
978
static int ett_ansi_map_SMSNotificationRes_U;
979
static int ett_ansi_map_SMSRequest_U;
980
static int ett_ansi_map_SMSRequestRes_U;
981
static int ett_ansi_map_TransferToNumberRequest_U;
982
static int ett_ansi_map_TransferToNumberRequestRes_U;
983
static int ett_ansi_map_TrunkTest_U;
984
static int ett_ansi_map_TrunkTestDisconnect_U;
985
static int ett_ansi_map_Unblocking_U;
986
static int ett_ansi_map_UnreliableRoamerDataDirective_U;
987
static int ett_ansi_map_UnsolicitedResponse_U;
988
static int ett_ansi_map_UnsolicitedResponseRes_U;
989
static int ett_ansi_map_ParameterRequest_U;
990
static int ett_ansi_map_ParameterRequestRes_U;
991
static int ett_ansi_map_TMSIDirective_U;
992
static int ett_ansi_map_TMSIDirectiveRes_U;
993
static int ett_ansi_map_NumberPortabilityRequest_U;
994
static int ett_ansi_map_NumberPortabilityRequestRes_U;
995
static int ett_ansi_map_ServiceRequest_U;
996
static int ett_ansi_map_ServiceRequestRes_U;
997
static int ett_ansi_map_AnalyzedInformation_U;
998
static int ett_ansi_map_AnalyzedInformationRes_U;
999
static int ett_ansi_map_ConnectionFailureReport_U;
1000
static int ett_ansi_map_ConnectResource_U;
1001
static int ett_ansi_map_FacilitySelectedAndAvailable_U;
1002
static int ett_ansi_map_FacilitySelectedAndAvailableRes_U;
1003
static int ett_ansi_map_Modify_U;
1004
static int ett_ansi_map_ModifyRes_U;
1005
static int ett_ansi_map_Search_U;
1006
static int ett_ansi_map_SearchRes_U;
1007
static int ett_ansi_map_SeizeResource_U;
1008
static int ett_ansi_map_SeizeResourceRes_U;
1009
static int ett_ansi_map_SRFDirective_U;
1010
static int ett_ansi_map_SRFDirectiveRes_U;
1011
static int ett_ansi_map_TBusy_U;
1012
static int ett_ansi_map_TBusyRes_U;
1013
static int ett_ansi_map_TNoAnswer_U;
1014
static int ett_ansi_map_TNoAnswerRes_U;
1015
static int ett_ansi_map_ChangeFacilities_U;
1016
static int ett_ansi_map_ChangeFacilitiesRes_U;
1017
static int ett_ansi_map_ChangeService_U;
1018
static int ett_ansi_map_ChangeServiceRes_U;
1019
static int ett_ansi_map_MessageDirective_U;
1020
static int ett_ansi_map_BulkDisconnection_U;
1021
static int ett_ansi_map_CallControlDirective_U;
1022
static int ett_ansi_map_CallControlDirectiveRes_U;
1023
static int ett_ansi_map_OAnswer_U;
1024
static int ett_ansi_map_ODisconnect_U;
1025
static int ett_ansi_map_ODisconnectRes_U;
1026
static int ett_ansi_map_CallRecoveryReport_U;
1027
static int ett_ansi_map_TAnswer_U;
1028
static int ett_ansi_map_TDisconnect_U;
1029
static int ett_ansi_map_TDisconnectRes_U;
1030
static int ett_ansi_map_UnreliableCallData_U;
1031
static int ett_ansi_map_OCalledPartyBusy_U;
1032
static int ett_ansi_map_OCalledPartyBusyRes_U;
1033
static int ett_ansi_map_ONoAnswer_U;
1034
static int ett_ansi_map_ONoAnswerRes_U;
1035
static int ett_ansi_map_PositionRequest_U;
1036
static int ett_ansi_map_PositionRequestRes_U;
1037
static int ett_ansi_map_PositionRequestForward_U;
1038
static int ett_ansi_map_PositionRequestForwardRes_U;
1039
static int ett_ansi_map_CallTerminationReport_U;
1040
static int ett_ansi_map_GeoPositionRequest_U;
1041
static int ett_ansi_map_InterSystemPositionRequest_U;
1042
static int ett_ansi_map_InterSystemPositionRequestRes_U;
1043
static int ett_ansi_map_InterSystemPositionRequestForward_U;
1044
static int ett_ansi_map_InterSystemPositionRequestForwardRes_U;
1045
static int ett_ansi_map_ACGDirective_U;
1046
static int ett_ansi_map_RoamerDatabaseVerificationRequest_U;
1047
static int ett_ansi_map_RoamerDatabaseVerificationRequestRes_U;
1048
static int ett_ansi_map_LCSParameterRequest_U;
1049
static int ett_ansi_map_LCSParameterRequestRes_U;
1050
static int ett_ansi_map_CheckMEID_U;
1051
static int ett_ansi_map_CheckMEIDRes_U;
1052
static int ett_ansi_map_AddService_U;
1053
static int ett_ansi_map_AddServiceRes_U;
1054
static int ett_ansi_map_DropService_U;
1055
static int ett_ansi_map_DropServiceRes_U;
1056
static int ett_ansi_map_PositionEventNotification_U;
1057
static int ett_ansi_map_OTASPRequest_U;
1058
static int ett_ansi_map_OTASPRequestRes_U;
1059
static int ett_ansi_map_StatusRequest_U;
1060
static int ett_ansi_map_StatusRequestRes_U;
1061
static int ett_ansi_map_InterSystemSMSDeliveryPointToPoint_U;
1062
static int ett_ansi_map_InterSystemSMSDeliveryPointToPointRes_U;
1063
static int ett_ansi_map_InterSystemSMSPage_U;
1064
static int ett_ansi_map_QualificationRequest2_U;
1065
static int ett_ansi_map_QualificationRequest2Res_U;
1066
static int ett_ansi_map_AnnouncementList;
1067
static int ett_ansi_map_CDMACodeChannelInformation;
1068
static int ett_ansi_map_CDMACodeChannelList;
1069
static int ett_ansi_map_CDMATargetMAHOInformation;
1070
static int ett_ansi_map_CDMATargetMAHOList;
1071
static int ett_ansi_map_CDMATargetMeasurementInformation;
1072
static int ett_ansi_map_CDMATargetMeasurementList;
1073
static int ett_ansi_map_IntersystemTermination;
1074
static int ett_ansi_map_LocalTermination;
1075
static int ett_ansi_map_PSTNTermination;
1076
static int ett_ansi_map_TargetMeasurementInformation;
1077
static int ett_ansi_map_TargetMeasurementList;
1078
static int ett_ansi_map_TerminationList;
1079
static int ett_ansi_map_TerminationList_item;
1080
static int ett_ansi_map_CDMABandClassInformation;
1081
static int ett_ansi_map_CDMABandClassList;
1082
static int ett_ansi_map_CDMAServiceOptionList;
1083
static int ett_ansi_map_PSID_RSIDList;
1084
static int ett_ansi_map_TargetCellIDList;
1085
static int ett_ansi_map_CDMAConnectionReferenceInformation;
1086
static int ett_ansi_map_CDMAConnectionReferenceList;
1087
static int ett_ansi_map_CDMAConnectionReferenceList_item;
1088
static int ett_ansi_map_AnalogRedirectRecord;
1089
static int ett_ansi_map_CDMAChannelNumberList;
1090
static int ett_ansi_map_CDMAChannelNumberList_item;
1091
static int ett_ansi_map_CDMARedirectRecord;
1092
static int ett_ansi_map_MSID;
1093
static int ett_ansi_map_DataAccessElement;
1094
static int ett_ansi_map_DataAccessElementList;
1095
static int ett_ansi_map_DataAccessElementList_item;
1096
static int ett_ansi_map_DataUpdateResult;
1097
static int ett_ansi_map_DataUpdateResultList;
1098
static int ett_ansi_map_DestinationAddress;
1099
static int ett_ansi_map_ExecuteScript;
1100
static int ett_ansi_map_ModificationRequest;
1101
static int ett_ansi_map_ModificationRequestList;
1102
static int ett_ansi_map_ModificationResult;
1103
static int ett_ansi_map_ModificationResultList;
1104
static int ett_ansi_map_ServiceDataAccessElement;
1105
static int ett_ansi_map_ServiceDataAccessElementList;
1106
static int ett_ansi_map_ServiceDataResult;
1107
static int ett_ansi_map_ServiceDataResultList;
1108
static int ett_ansi_map_TriggerAddressList;
1109
static int ett_ansi_map_TriggerList;
1110
static int ett_ansi_map_WINCapability;
1111
static int ett_ansi_map_CallRecoveryID;
1112
static int ett_ansi_map_CallRecoveryIDList;
1113
static int ett_ansi_map_PositionInformation;
1114
static int ett_ansi_map_GapInterval;
1115
static int ett_ansi_map_CDMAPSMMList;
1116
static int ett_ansi_map_CDMAPSMMList_item;
1117
static int ett_ansi_map_MPCAddressList;
1118
static int ett_ansi_map_MobileStationMSID;
1119
static int ett_ansi_map_NewlyAssignedMSID;
1120
static int ett_ansi_map_InvokeData;
1121
static int ett_ansi_map_ReturnData;
1122
1123
static expert_field ei_ansi_map_nr_not_used;
1124
static expert_field ei_ansi_map_unknown_invokeData_blob;
1125
static expert_field ei_ansi_map_no_data;
1126
1127
/* Global variables */
1128
static dissector_table_t is637_tele_id_dissector_table; /* IS-637 Teleservice ID */
1129
static dissector_table_t is683_dissector_table; /* IS-683-A (OTA) */
1130
static dissector_table_t is801_dissector_table; /* IS-801 (PLD) */
1131
static packet_info *g_pinfo;
1132
static proto_tree *g_tree;
1133
static tvbuff_t *SMS_BearerData_tvb;
1134
static int32_t   ansi_map_sms_tele_id = -1;
1135
static bool is683_ota;
1136
static bool is801_pld;
1137
static bool ansi_map_is_invoke;
1138
static uint32_t OperationCode;
1139
static uint8_t ServiceIndicator;
1140
1141
1142
struct ansi_map_invokedata_t {
1143
    uint32_t opcode;
1144
    uint8_t ServiceIndicator;
1145
};
1146
1147
static void dissect_ansi_map_win_trigger_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_);
1148
1149
1150
/* Transaction table */
1151
static wmem_multimap_t *TransactionId_table;
1152
1153
/* Store Invoke information needed for the corresponding reply */
1154
static void
1155
0
update_saved_invokedata(packet_info *pinfo, struct ansi_tcap_private_t *p_private_tcap){
1156
0
    struct ansi_map_invokedata_t *ansi_map_saved_invokedata;
1157
0
    address* src = &(pinfo->src);
1158
0
    address* dst = &(pinfo->dst);
1159
0
    const char *src_str;
1160
0
    const char *dst_str;
1161
0
    const char *buf = NULL;
1162
1163
0
    src_str = address_to_str(pinfo->pool, src);
1164
0
    dst_str = address_to_str(pinfo->pool, dst);
1165
1166
    /* Data from the TCAP dissector */
1167
0
    if ((!pinfo->fd->visited)&&(p_private_tcap->TransactionID_str)){
1168
        /* Only do this once XXX I hope it's the right thing to do */
1169
        /* The hash string needs to contain src and dest to distinguish different flows */
1170
0
        switch(ansi_map_response_matching_type){
1171
0
            case ANSI_MAP_TID_ONLY:
1172
0
                buf = wmem_strdup(pinfo->pool, p_private_tcap->TransactionID_str);
1173
0
                break;
1174
0
            case ANSI_MAP_TID_AND_SOURCE:
1175
0
                buf = wmem_strdup_printf(pinfo->pool, "%s%s",p_private_tcap->TransactionID_str,src_str);
1176
0
                break;
1177
0
            case ANSI_MAP_TID_SOURCE_AND_DEST:
1178
0
            default:
1179
0
                buf = wmem_strdup_printf(pinfo->pool, "%s%s%s",p_private_tcap->TransactionID_str,src_str,dst_str);
1180
0
                break;
1181
0
        }
1182
1183
0
        ansi_map_saved_invokedata = wmem_new(wmem_file_scope(), struct ansi_map_invokedata_t);
1184
0
        ansi_map_saved_invokedata->opcode = p_private_tcap->d.OperationCode_private;
1185
0
        ansi_map_saved_invokedata->ServiceIndicator = ServiceIndicator;
1186
1187
0
        wmem_multimap_insert32(TransactionId_table,
1188
0
                            wmem_strdup(wmem_file_scope(), buf),
1189
0
                            pinfo->num,
1190
0
                            ansi_map_saved_invokedata);
1191
1192
        /*ws_warning("Invoke Hash string %s pkt: %u",buf,pinfo->num);*/
1193
0
    }
1194
0
}
1195
/* value strings */
1196
const value_string ansi_map_opr_code_strings[] = {
1197
    {   1, "Handoff Measurement Request" },
1198
    {   2, "Facilities Directive" },
1199
    {   3, "Mobile On Channel" },
1200
    {   4, "Handoff Back" },
1201
    {   5, "Facilities Release" },
1202
    {   6, "Qualification Request" },
1203
    {   7, "Qualification Directive" },
1204
    {   8, "Blocking" },
1205
    {   9, "Unblocking" },
1206
    {  10,  "Reset Circuit" },
1207
    {  11, "Trunk Test" },
1208
    {  12, "Trunk Test Disconnect" },
1209
    {  13, "Registration Notification" },
1210
    {  14, "Registration Cancellation" },
1211
    {  15, "Location Request" },
1212
    {  16, "Routing Request" },
1213
    {  17, "Feature Request" },
1214
    {  18, "Reserved 18 (Service Profile Request, IS-41-C)" },
1215
    {  19, "Reserved 19 (Service Profile Directive, IS-41-C)" },
1216
    {  20, "Unreliable Roamer Data Directive" },
1217
    {  21, "Reserved 21 (Call Data Request, IS-41-C)" },
1218
    {  22, "MS Inactive" },
1219
    {  23, "Transfer To Number Request" },
1220
    {  24, "Redirection Request" },
1221
    {  25, "Handoff To Third" },
1222
    {  26, "Flash Request" },
1223
    {  27, "Authentication Directive" },
1224
    {  28, "Authentication Request" },
1225
    {  29, "Base Station Challenge" },
1226
    {  30, "Authentication Failure Report" },
1227
    {  31, "Count Request" },
1228
    {  32, "Inter System Page" },
1229
    {  33, "Unsolicited Response" },
1230
    {  34, "Bulk Deregistration" },
1231
    {  35, "Handoff Measurement Request 2" },
1232
    {  36, "Facilities Directive 2" },
1233
    {  37, "Handoff Back 2" },
1234
    {  38, "Handoff To Third 2" },
1235
    {  39, "Authentication Directive Forward" },
1236
    {  40, "Authentication Status Report" },
1237
    {  41, "Reserved 41" },
1238
    {  42, "Information Directive" },
1239
    {  43, "Information Forward" },
1240
    {  44, "Inter System Answer" },
1241
    {  45, "Inter System Page 2" },
1242
    {  46, "Inter System Setup" },
1243
    {  47, "Origination Request" },
1244
    {  48, "Random Variable Request" },
1245
    {  49, "Redirection Directive" },
1246
    {  50, "Remote User Interaction Directive" },
1247
    {  51, "SMS Delivery Backward" },
1248
    {  52, "SMS Delivery Forward" },
1249
    {  53, "SMS Delivery Point to Point" },
1250
    {  54, "SMS Notification" },
1251
    {  55, "SMS Request" },
1252
    {  56, "OTASP Request" },
1253
    {  57, "Information Backward" },
1254
    {  58, "Change Facilities" },
1255
    {  59, "Change Service" },
1256
    {  60, "Parameter Request" },
1257
    {  61, "TMSI Directive" },
1258
    {  62, "NumberPortabilityRequest" },
1259
    {  63, "Service Request" },
1260
    {  64, "Analyzed Information Request" },
1261
    {  65, "Connection Failure Report" },
1262
    {  66, "Connect Resource" },
1263
    {  67, "Disconnect Resource" },
1264
    {  68, "Facility Selected and Available" },
1265
    {  69, "Instruction Request" },
1266
    {  70, "Modify" },
1267
    {  71, "Reset Timer" },
1268
    {  72, "Search" },
1269
    {  73, "Seize Resource" },
1270
    {  74, "SRF Directive" },
1271
    {  75, "T Busy" },
1272
    {  76, "T NoAnswer" },
1273
    {  77, "Release" },
1274
    {  78, "SMS Delivery Point to Point Ack" },
1275
    {  79, "Message Directive" },
1276
    {  80, "Bulk Disconnection" },
1277
    {  81, "Call Control Directive" },
1278
    {  82, "O Answer" },
1279
    {  83, "O Disconnect" },
1280
    {  84, "Call Recovery Report" },
1281
    {  85, "T Answer" },
1282
    {  86, "T Disconnect" },
1283
    {  87, "Unreliable Call Data" },
1284
    {  88, "O CalledPartyBusy" },
1285
    {  89, "O NoAnswer" },
1286
    {  90, "Position Request" },
1287
    {  91, "Position Request Forward" },
1288
    {  92, "Call Termination Report" },
1289
    {  93, "Geo Position Directive" },
1290
    {  94, "Geo Position Request" },
1291
    {  95, "Inter System Position Request" },
1292
    {  96, "Inter System Position Request Forward" },
1293
    {  97, "ACG Directive" },
1294
    {  98, "Roamer Database Verification Request" },
1295
    {  99, "Add Service" },
1296
    { 100, "Drop Service" },
1297
    { 101, "InterSystemSMSPage" },
1298
    { 102, "LCSParameterRequest" },
1299
    { 103, "Unknown ANSI-MAP PDU" },
1300
    { 104, "Unknown ANSI-MAP PDU" },
1301
    { 105, "Unknown ANSI-MAP PDU" },
1302
    { 106, "PositionEventNotification" },
1303
    { 107, "Unknown ANSI-MAP PDU" },
1304
    { 108, "Unknown ANSI-MAP PDU" },
1305
    { 109, "Unknown ANSI-MAP PDU" },
1306
    { 110, "Unknown ANSI-MAP PDU" },
1307
    { 111, "InterSystemSMSDelivery-PointToPoint" },
1308
    { 112, "QualificationRequest2" },
1309
    {   0, NULL },
1310
};
1311
static value_string_ext ansi_map_opr_code_strings_ext = VALUE_STRING_EXT_INIT(ansi_map_opr_code_strings);
1312
1313
static unsigned dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, unsigned offset, asn1_ctx_t *actx);
1314
static unsigned dissect_returnData(proto_tree *tree, tvbuff_t *tvb, unsigned offset,  asn1_ctx_t *actx);
1315
static unsigned dissect_ansi_map_SystemMyTypeCode(bool implicit_tag _U_, tvbuff_t *tvb, unsigned offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_);
1316
1317
/* Type of Digits (octet 1, bits A-H) */
1318
static const value_string ansi_map_type_of_digits_vals[] = {
1319
    {   0, "Not Used" },
1320
    {   1, "Dialed Number or Called Party Number" },
1321
    {   2, "Calling Party Number" },
1322
    {   3, "Caller Interaction" },
1323
    {   4, "Routing Number" },
1324
    {   5, "Billing Number" },
1325
    {   6, "Destination Number" },
1326
    {   7, "LATA" },
1327
    {   8, "Carrier" },
1328
    {   0, NULL }
1329
};
1330
/* Nature of Number (octet 2, bits A-H )*/
1331
static const true_false_string ansi_map_na_bool_val  = {
1332
    "International",
1333
    "National"
1334
};
1335
static const true_false_string ansi_map_pi_bool_val  = {
1336
    "Presentation Restricted",
1337
    "Presentation Allowed"
1338
};
1339
static const true_false_string ansi_map_navail_bool_val  = {
1340
    "Number is not available",
1341
    "Number is available"
1342
};
1343
#if 0
1344
static const true_false_string ansi_map_si_bool_val  = {
1345
    "User provided, screening passed",
1346
    "User provided, not screened"
1347
};
1348
#endif
1349
static const value_string ansi_map_si_vals[]  = {
1350
    {   0, "User provided, not screened"},
1351
    {   1, "User provided, screening passed"},
1352
    {   2, "User provided, screening failed"},
1353
    {   3, "Network provided"},
1354
    {   0, NULL }
1355
};
1356
/* Encoding (octet 3, bits A-D) */
1357
static const value_string ansi_map_digits_enc_vals[]  = {
1358
    {   0, "Not used"},
1359
    {   1, "BCD"},
1360
    {   2, "IA5"},
1361
    {   3, "Octet string"},
1362
    {   0, NULL }
1363
};
1364
/* Numbering Plan (octet 3, bits E-H) */
1365
static const value_string ansi_map_np_vals[]  = {
1366
    {   0, "Unknown or not applicable"},
1367
    {   1, "ISDN Numbering"},
1368
    {   2, "Telephony Numbering (ITU-T Rec. E.164,E.163)"},
1369
    {   3, "Data Numbering (ITU-T Rec. X.121)"},
1370
    {   4, "Telex Numbering (ITU-T Rec. F.69)"},
1371
    {   5, "Maritime Mobile Numbering"},
1372
    {   6, "Land Mobile Numbering (ITU-T Rec. E.212)"},
1373
    {   7, "Private Numbering Plan"},
1374
    {  13, "SS7 Point Code (PC) and Subsystem Number (SSN)"},
1375
    {  14, "Internet Protocol (IP) Address."},
1376
    {  15, "Reserved for extension"},
1377
    {   0, NULL }
1378
};
1379
1380
static void
1381
0
dissect_ansi_map_min_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1382
0
    char *digit_str;
1383
0
    unsigned   offset = 0;
1384
1385
0
    proto_tree *subtree;
1386
1387
1388
0
    subtree = proto_item_add_subtree(actx->created_item, ett_mintype);
1389
1390
0
    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|ENC_LITTLE_ENDIAN, pinfo->pool, &digit_str);
1391
0
    proto_item_append_text(actx->created_item, " - %s", digit_str);
1392
0
}
1393
1394
static void
1395
0
dissect_ansi_map_digits_type(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1396
1397
0
    uint8_t octet , octet_len;
1398
0
    uint8_t b1,b2,b3,b4;
1399
0
    unsigned    offset = 0;
1400
0
    char  *digit_str;
1401
1402
0
    proto_tree *subtree;
1403
1404
1405
0
    subtree = proto_item_add_subtree(actx->created_item, ett_digitstype);
1406
1407
    /* Octet 1 */
1408
0
    proto_tree_add_item(subtree, hf_ansi_map_type_of_digits, tvb, offset, 1, ENC_BIG_ENDIAN);
1409
0
    offset++;
1410
    /* Octet 2 */
1411
0
    proto_tree_add_item(subtree, hf_ansi_map_reservedBitHG, tvb, offset, 1, ENC_BIG_ENDIAN);
1412
0
    proto_tree_add_item(subtree, hf_ansi_map_si, tvb, offset, 1, ENC_BIG_ENDIAN);
1413
0
    proto_tree_add_item(subtree, hf_ansi_map_reservedBitD, tvb, offset, 1, ENC_BIG_ENDIAN);
1414
0
    proto_tree_add_item(subtree, hf_ansi_map_navail, tvb, offset, 1, ENC_BIG_ENDIAN);
1415
0
    proto_tree_add_item(subtree, hf_ansi_map_pi, tvb, offset, 1, ENC_BIG_ENDIAN);
1416
0
    proto_tree_add_item(subtree, hf_ansi_map_na, tvb, offset, 1, ENC_BIG_ENDIAN);
1417
0
    offset++;
1418
    /* Octet 3 */
1419
0
    octet = tvb_get_uint8(tvb,offset);
1420
0
    proto_tree_add_item(subtree, hf_ansi_map_np, tvb, offset, 1, ENC_BIG_ENDIAN);
1421
0
    proto_tree_add_item(subtree, hf_ansi_map_digits_enc, tvb, offset, 1, ENC_BIG_ENDIAN);
1422
0
    offset++;
1423
    /* Octet 4 - */
1424
0
    switch(octet>>4){
1425
0
    case 0:/* Unknown or not applicable */
1426
0
        switch ((octet&0xf)){
1427
0
        case 1:
1428
            /* BCD Coding */
1429
0
            octet_len = tvb_get_uint8(tvb,offset);
1430
0
            proto_tree_add_item(subtree, hf_ansi_map_nr_digits, tvb, offset, 1, ENC_BIG_ENDIAN);
1431
0
            if(octet_len == 0)
1432
0
                return;
1433
0
            offset++;
1434
0
            proto_tree_add_item_ret_display_string(subtree, hf_ansi_map_bcd_digits, tvb, offset, -1, ENC_KEYPAD_BC_TBCD|ENC_LITTLE_ENDIAN, pinfo->pool, &digit_str);
1435
0
            proto_item_append_text(actx->created_item, " - %s", digit_str);
1436
0
            break;
1437
0
        case 2:
1438
0
            {
1439
0
            const uint8_t* digits;
1440
            /* IA5 Coding */
1441
0
            octet_len = tvb_get_uint8(tvb,offset);
1442
0
            proto_tree_add_item(subtree, hf_ansi_map_nr_digits, tvb, offset, 1, ENC_BIG_ENDIAN);
1443
0
            if(octet_len == 0)
1444
0
                return;
1445
0
            offset++;
1446
0
            proto_tree_add_item_ret_string(subtree, hf_ansi_map_ia5_digits, tvb, offset, tvb_reported_length_remaining(tvb,offset),
1447
0
                                            ENC_ASCII|ENC_NA, pinfo->pool, &digits);
1448
0
            proto_item_append_text(actx->created_item, " - %s", digits);
1449
0
            }
1450
0
            break;
1451
0
        case 3:
1452
            /* Octet string */
1453
0
            break;
1454
0
        default:
1455
0
            break;
1456
0
        }
1457
0
        break;
1458
0
    case 1:/* ISDN Numbering (not used in this Standard). */
1459
0
    case 3:/* Data Numbering (ITU-T Rec. X.121) (not used in this Standard). */
1460
0
    case 4:/* Telex Numbering (ITU-T Rec. F.69) (not used in this Standard). */
1461
0
    case 5:/* Maritime Mobile Numbering (not used in this Standard). */
1462
0
        proto_tree_add_expert_remaining(subtree, pinfo, &ei_ansi_map_nr_not_used, tvb, offset);
1463
0
        break;
1464
0
    case 2:/* Telephony Numbering (ITU-T Rec. E.164,E.163). */
1465
0
    case 6:/* Land Mobile Numbering (ITU-T Rec. E.212) */
1466
0
    case 7:/* Private Numbering Plan */
1467
0
        octet_len = tvb_get_uint8(tvb,offset);
1468
0
        proto_tree_add_item(subtree, hf_ansi_map_nr_digits, tvb, offset, 1, ENC_BIG_ENDIAN);
1469
0
        if(octet_len == 0)
1470
0
            return;
1471
0
        offset++;
1472
0
        switch ((octet&0xf)){
1473
0
        case 1:
1474
            /* BCD Coding */
1475
0
            proto_tree_add_item_ret_display_string(subtree, hf_ansi_map_bcd_digits, tvb, offset, -1, ENC_KEYPAD_BC_TBCD|ENC_LITTLE_ENDIAN, pinfo->pool, &digit_str);
1476
0
            proto_item_append_text(actx->created_item, " - %s", digit_str);
1477
0
            break;
1478
0
        case 2:
1479
0
            {
1480
0
            const uint8_t* digits;
1481
            /* IA5 Coding */
1482
0
            proto_tree_add_item_ret_string(subtree, hf_ansi_map_ia5_digits, tvb, offset, tvb_reported_length_remaining(tvb,offset),
1483
0
                                            ENC_ASCII|ENC_NA, pinfo->pool, &digits);
1484
0
            proto_item_append_text(actx->created_item, " - %s", digits);
1485
0
            }
1486
0
            break;
1487
0
        case 3:
1488
            /* Octet string */
1489
0
            break;
1490
0
        default:
1491
0
            break;
1492
0
        }
1493
0
        break;
1494
0
    case 13:/* ANSI SS7 Point Code (PC) and Subsystem Number (SSN). */
1495
0
        switch ((octet&0xf)){
1496
0
        case 3:
1497
            /* Octet string */
1498
            /* Point Code Member Number octet 2 */
1499
0
            b1 = tvb_get_uint8(tvb,offset);
1500
0
            offset++;
1501
            /* Point Code Cluster Number octet 3 */
1502
0
            b2 = tvb_get_uint8(tvb,offset);
1503
0
            offset++;
1504
            /* Point Code Network Number octet 4 */
1505
0
            b3 = tvb_get_uint8(tvb,offset);
1506
0
            offset++;
1507
0
            proto_tree_add_bytes_format_value(subtree, hf_ansi_map_point_code, tvb, offset-3, 3, NULL, "%u-%u-%u", b3, b2, b1);
1508
            /* Subsystem Number (SSN) octet 5 */
1509
0
            b4 = tvb_get_uint8(tvb,offset);
1510
0
            proto_tree_add_item(subtree, hf_ansi_map_SSN, tvb, offset, 1, ENC_NA);
1511
0
            proto_item_append_text(actx->created_item, " - Point Code %u-%u-%u  SSN %u", b3, b2, b1, b4);
1512
0
            break;
1513
0
        default:
1514
0
            break;
1515
0
        }
1516
0
        break;
1517
0
    case 14:/* Internet Protocol (IP) Address. */
1518
0
        break;
1519
0
    default:
1520
0
        proto_tree_add_expert_remaining(subtree, pinfo, &ei_ansi_map_nr_not_used, tvb, offset);
1521
0
        break;
1522
0
    }
1523
1524
0
}
1525
/* 6.5.3.13. Subaddress */
1526
1527
/* Type of Subaddress (octet 1, bits E-G) */
1528
static const value_string ansi_map_sub_addr_type_vals[]  = {
1529
    {   0, "NSAP (CCITT Rec. X.213 or ISO 8348 AD2)"},
1530
    {   1, "User specified"},
1531
    {   2, "Reserved"},
1532
    {   3, "Reserved"},
1533
    {   4, "Reserved"},
1534
    {   5, "Reserved"},
1535
    {   6, "Reserved"},
1536
    {   7, "Reserved"},
1537
    {   0, NULL }
1538
};
1539
1540
static void
1541
0
dissect_ansi_map_subaddress(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1542
0
    unsigned offset = 0;
1543
1544
0
    proto_tree *subtree;
1545
1546
1547
0
    subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
1548
    /* Type of Subaddress (octet 1, bits E-G) */
1549
0
    proto_tree_add_item(subtree, hf_ansi_map_subaddr_type, tvb, offset, 1, ENC_BIG_ENDIAN);
1550
    /* Odd/Even Indicator (O/E) (octet 1, bit D) */
1551
0
    proto_tree_add_item(subtree, hf_ansi_map_subaddr_odd_even, tvb, offset, 1, ENC_BIG_ENDIAN);
1552
1553
0
}
1554
/*
1555
 * 6.5.2.2 ActionCode
1556
 * Table 114 ActionCode value
1557
 *
1558
 * 6.5.2.2 ActionCode(TIA/EIA-41.5-D, page 5-129) */
1559
1560
static const value_string ansi_map_ActionCode_vals[]  = {
1561
    {   0, "Not used"},
1562
    {   1, "Continue processing"},
1563
    {   2, "Disconnect call"},
1564
    {   3, "Disconnect call leg"},
1565
    {   4, "Conference Calling Drop Last Party"},
1566
    {   5, "Bridge call leg(s) to conference call"},
1567
    {   6, "Drop call leg on busy or routing failure"},
1568
    {   7, "Disconnect all call legs"},
1569
    {   8, "Attach MSC to OTAF"},
1570
    {   9, "Initiate RegistrationNotification"},
1571
    {  10, "Generate Public Encryption values"},
1572
    {  11, "Generate A-key"},
1573
    {  12, "Perform SSD Update procedure"},
1574
    {  13, "Perform Re-authentication procedure"},
1575
    {  14, "Release TRN"},
1576
    {  15, "Commit A-key"},
1577
    {  16, "Release Resources (e.g., A-key, Traffic Channel)"},
1578
    {  17, "Record NEWMSID"},
1579
    {  18, "Allocate Resources (e.g., Multiple message traffic channel delivery)."},
1580
    {  19, "Generate Authentication Signature"},
1581
    {  20, "Release leg and redirect subscriber"},
1582
    {  21, "Do Not Wait For MS User Level Response"},
1583
    {  22, "Prepare for CDMA Handset-Based Position Determination"},
1584
    {  23, "CDMA Handset-Based Position Determination Complete"},
1585
    {   0, NULL }
1586
};
1587
static value_string_ext ansi_map_ActionCode_vals_ext = VALUE_STRING_EXT_INIT(ansi_map_ActionCode_vals);
1588
1589
/* 6.5.2.3 AlertCode */
1590
1591
/* Pitch (octet 1, bits G-H) */
1592
static const value_string ansi_map_AlertCode_Pitch_vals[]  = {
1593
    {   0, "Medium pitch"},
1594
    {   1, "High pitch"},
1595
    {   2, "Low pitch"},
1596
    {   3, "Reserved"},
1597
    {   0, NULL }
1598
};
1599
/* Cadence (octet 1, bits A-F) */
1600
static const value_string ansi_map_AlertCode_Cadence_vals[]  = {
1601
    {   0, "NoTone"},
1602
    {   1, "Long"},
1603
    {   2, "ShortShort"},
1604
    {   3, "ShortShortLong"},
1605
    {   4, "ShortShort2"},
1606
    {   5, "ShortLongShort"},
1607
    {   6, "ShortShortShortShort"},
1608
    {   7, "PBXLong"},
1609
    {   8, "PBXShortShort"},
1610
    {   9, "PBXShortShortLong"},
1611
1612
    {  10, "PBXShortLongShort"},
1613
    {  11, "PBXShortShortShortShort"},
1614
    {  12, "PipPipPipPip"},
1615
    {  13, "Reserved. Treat the same as value 0, NoTone"},
1616
    {  14, "Reserved. Treat the same as value 0, NoTone"},
1617
    {  15, "Reserved. Treat the same as value 0, NoTone"},
1618
    {  16, "Reserved. Treat the same as value 0, NoTone"},
1619
    {  17, "Reserved. Treat the same as value 0, NoTone"},
1620
    {  18, "Reserved. Treat the same as value 0, NoTone"},
1621
    {  19, "Reserved. Treat the same as value 0, NoTone"},
1622
    {   0, NULL }
1623
};
1624
1625
/* Alert Action (octet 2, bits A-C) */
1626
static const value_string ansi_map_AlertCode_Alert_Action_vals[]  = {
1627
    {   0, "Alert without waiting to report"},
1628
    {   1, "Apply a reminder alert once"},
1629
    {   2, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1630
    {   3, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1631
    {   4, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1632
    {   5, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1633
    {   6, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1634
    {   7, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1635
    {   0, NULL }
1636
};
1637
static void
1638
0
dissect_ansi_map_alertcode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1639
1640
0
    unsigned offset = 0;
1641
1642
0
    proto_tree *subtree;
1643
1644
1645
0
    subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
1646
    /* Pitch (octet 1, bits G-H) */
1647
0
    proto_tree_add_item(subtree, hf_ansi_alertcode_pitch, tvb, offset, 1, ENC_BIG_ENDIAN);
1648
    /* Cadence (octet 1, bits A-F) */
1649
0
    proto_tree_add_item(subtree, hf_ansi_alertcode_cadence, tvb, offset, 1, ENC_BIG_ENDIAN);
1650
0
    offset++;
1651
1652
    /* Alert Action (octet 2, bits A-C) */
1653
0
    proto_tree_add_item(subtree, hf_ansi_alertcode_alertaction, tvb, offset, 1, ENC_BIG_ENDIAN);
1654
1655
0
}
1656
/* 6.5.2.4 AlertResult */
1657
/* Result (octet 1) */
1658
static const value_string ansi_map_AlertResult_result_vals[]  = {
1659
    {   0, "Not specified"},
1660
    {   1, "Success"},
1661
    {   2, "Failure"},
1662
    {   3, "Denied"},
1663
    {   4, "NotAttempted"},
1664
    {   5, "NoPageResponse"},
1665
    {   6, "Busy"},
1666
    {   0, NULL }
1667
};
1668
1669
/* 6.5.2.5 AnnouncementCode Updated from NS0018Re*/
1670
/* Tone (octet 1) */
1671
static const value_string ansi_map_AnnouncementCode_tone_vals[]  = {
1672
    {   0, "DialTone"},
1673
    {   1, "RingBack or AudibleAlerting"},
1674
    {   2, "InterceptTone or MobileReorder"},
1675
    {   3, "CongestionTone or ReorderTone"},
1676
    {   4, "BusyTone"},
1677
    {   5, "ConfirmationTone"},
1678
    {   6, "AnswerTone"},
1679
    {   7, "CallWaitingTone"},
1680
    {   8, "OffHookTone"},
1681
    {  17, "RecallDialTone"},
1682
    {  18, "BargeInTone"},
1683
    {  20, "PPCInsufficientTone"},
1684
    {  21, "PPCWarningTone1"},
1685
    {  22, "PPCWarningTone2"},
1686
    {  23, "PPCWarningTone3"},
1687
    {  24, "PPCDisconnectTone"},
1688
    {  25, "PPCRedirectTone"},
1689
    {  63, "TonesOff"},
1690
    { 192, "PipTone"},
1691
    { 193, "AbbreviatedIntercept"},
1692
    { 194, "AbbreviatedCongestion"},
1693
    { 195, "WarningTone"},
1694
    { 196, "DenialToneBurst"},
1695
    { 197, "DialToneBurst"},
1696
    { 250, "IncomingAdditionalCallTone"},
1697
    { 251, "PriorityAdditionalCallTone"},
1698
    {   0, NULL }
1699
};
1700
/* Class (octet 2, bits A-D) */
1701
static const value_string ansi_map_AnnouncementCode_class_vals[]  = {
1702
    {   0, "Concurrent"},
1703
    {   1, "Sequential"},
1704
    {   0, NULL }
1705
};
1706
/* Standard Announcement (octet 3) Updated with N.S0015 */
1707
static const value_string ansi_map_AnnouncementCode_std_ann_vals[]  = {
1708
    {   0, "None"},
1709
    {   1, "UnauthorizedUser"},
1710
    {   2, "InvalidESN"},
1711
    {   3, "UnauthorizedMobile"},
1712
    {   4, "SuspendedOrigination"},
1713
    {   5, "OriginationDenied"},
1714
    {   6, "ServiceAreaDenial"},
1715
    {  16, "PartialDial"},
1716
    {  17, "Require1Plus"},
1717
    {  18, "Require1PlusNPA"},
1718
    {  19, "Require0Plus"},
1719
    {  20, "Require0PlusNPA"},
1720
    {  21, "Deny1Plus"},
1721
    {  22, "Unsupported10plus"},
1722
    {  23, "Deny10plus"},
1723
    {  24, "Unsupported10XXX"},
1724
    {  25, "Deny10XXX"},
1725
    {  26, "Deny10XXXLocally"},
1726
    {  27, "Require10Plus"},
1727
    {  28, "RequireNPA"},
1728
    {  29, "DenyTollOrigination"},
1729
    {  30, "DenyInternationalOrigination"},
1730
    {  31, "Deny0Minus"},
1731
    {  48, "DenyNumber"},
1732
    {  49, "AlternateOperatorServices"},
1733
    {  64, "No Circuit or AllCircuitsBusy or FacilityProblem"},
1734
    {  65, "Overload"},
1735
    {  66, "InternalOfficeFailure"},
1736
    {  67, "NoWinkReceived"},
1737
    {  68, "InterofficeLinkFailure"},
1738
    {  69, "Vacant"},
1739
    {  70, "InvalidPrefix or InvalidAccessCode"},
1740
    {  71, "OtherDialingIrregularity"},
1741
    {  80, "VacantNumber or DisconnectedNumber"},
1742
    {  81, "DenyTermination"},
1743
    {  82, "SuspendedTermination"},
1744
    {  83, "ChangedNumber"},
1745
    {  84, "InaccessibleSubscriber"},
1746
    {  85, "DenyIncomingTol"},
1747
    {  86, "RoamerAccessScreening"},
1748
    {  87, "RefuseCall"},
1749
    {  88, "RedirectCall"},
1750
    {  89, "NoPageResponse"},
1751
    {  90, "NoAnswer"},
1752
    {  96, "RoamerIntercept"},
1753
    {  97, "GeneralInformation"},
1754
    { 112, "UnrecognizedFeatureCode"},
1755
    { 113, "UnauthorizedFeatureCode"},
1756
    { 114, "RestrictedFeatureCode"},
1757
    { 115, "InvalidModifierDigits"},
1758
    { 116, "SuccessfulFeatureRegistration"},
1759
    { 117, "SuccessfulFeatureDeRegistration"},
1760
    { 118, "SuccessfulFeatureActivation"},
1761
    { 119, "SuccessfulFeatureDeActivation"},
1762
    { 120, "InvalidForwardToNumber"},
1763
    { 121, "CourtesyCallWarning"},
1764
    { 128, "EnterPINSendPrompt"},
1765
    { 129, "EnterPINPrompt"},
1766
    { 130, "ReEnterPINSendPrompt"},
1767
    { 131, "ReEnterPINPrompt"},
1768
    { 132, "EnterOldPINSendPrompt"},
1769
    { 133, "EnterOldPINPrompt"},
1770
    { 134, "EnterNewPINSendPrompt"},
1771
    { 135, "EnterNewPINPrompt"},
1772
    { 136, "ReEnterNewPINSendPrompt"},
1773
    { 137, "ReEnterNewPINPrompt"},
1774
    { 138, "EnterPasswordPrompt"},
1775
    { 139, "EnterDirectoryNumberPrompt"},
1776
    { 140, "ReEnterDirectoryNumberPrompt"},
1777
    { 141, "EnterFeatureCodePrompt"},
1778
    { 142, "EnterEnterCreditCardNumberPrompt"},
1779
    { 143, "EnterDestinationNumberPrompt"},
1780
    { 152, "PPCInsufficientAccountBalance"},
1781
    { 153, "PPCFiveMinuteWarning"},
1782
    { 154, "PPCThreeMinuteWarning"},
1783
    { 155, "PPCTwoMinuteWarning"},
1784
    { 156, "PPCOneMinuteWarning"},
1785
    { 157, "PPCDisconnect"},
1786
    { 158, "PPCRedirect"},
1787
    {   0, NULL }
1788
};
1789
1790
1791
1792
static void
1793
0
dissect_ansi_map_announcementcode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1794
1795
0
    unsigned offset = 0;
1796
1797
0
    proto_tree *subtree;
1798
1799
1800
0
    subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
1801
1802
    /* Tone (octet 1) */
1803
0
    proto_tree_add_item(subtree, hf_ansi_map_announcementcode_tone, tvb, offset, 1, ENC_BIG_ENDIAN);
1804
0
    offset++;
1805
    /* Class (octet 2, bits A-D) */
1806
0
    proto_tree_add_item(subtree, hf_ansi_map_announcementcode_class, tvb, offset, 1, ENC_BIG_ENDIAN);
1807
0
    offset++;
1808
    /* Standard Announcement (octet 3) */
1809
0
    proto_tree_add_item(subtree, hf_ansi_map_announcementcode_std_ann, tvb, offset, 1, ENC_BIG_ENDIAN);
1810
0
    offset++;
1811
    /* Custom Announcement ( octet 4 )
1812
       e.       The assignment of this octet is left to bilateral agreement. When a Custom
1813
       Announcement is specified it takes precedence over either the Standard
1814
       Announcement or Tone
1815
    */
1816
0
    proto_tree_add_item(subtree, hf_ansi_map_announcementcode_cust_ann, tvb, offset, 1, ENC_BIG_ENDIAN);
1817
1818
0
}
1819
/* 6.5.2.8 AuthenticationCapability Updated N.S0003*/
1820
static const value_string ansi_map_AuthenticationCapability_vals[]  = {
1821
    {   0, "Not used"},
1822
    {   1, "No authentication required"},
1823
    {   2, "Authentication required"},
1824
    { 128, "Authentication required and UIM capable."},
1825
    {   0, NULL }
1826
};
1827
1828
/* 6.5.2.14 AuthorizationPeriod*/
1829
1830
/* Period (octet 1) */
1831
static const value_string ansi_map_authorizationperiod_period_vals[]  = {
1832
    {   0, "Not used"},
1833
    {   1, "Per Call"},
1834
    {   2, "Hours"},
1835
    {   3, "Days"},
1836
    {   4, "Weeks"},
1837
    {   5, "Per Agreement"},
1838
    {   6, "Indefinite (i.e., authorized until canceled or deregistered)"},
1839
    {   7, "Number of calls. Re-authorization should be attempted after this number of (rejected) call attempts"},
1840
    {   0, NULL }
1841
};
1842
/* Value (octet 2)
1843
Number of minutes hours, days, weeks, or
1844
number of calls (as per Period). If Period
1845
indicates anything else the Value is set to zero
1846
on sending and ignored on receipt.
1847
*/
1848
static void
1849
0
dissect_ansi_map_authorizationperiod(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1850
1851
0
    unsigned offset = 0;
1852
1853
0
    proto_tree *subtree;
1854
1855
1856
0
    subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
1857
0
    proto_tree_add_item(subtree, hf_ansi_map_authorizationperiod_period, tvb, offset, 1, ENC_BIG_ENDIAN);
1858
0
    offset++;
1859
0
    proto_tree_add_item(subtree, hf_ansi_map_value, tvb, offset, 1, ENC_BIG_ENDIAN);
1860
1861
0
}
1862
/* 6.5.2.15 AvailabilityType */
1863
static const value_string ansi_map_AvailabilityType_vals[]  = {
1864
    {   0, "Not used"},
1865
    {   1, "Unspecified MS inactivity type"},
1866
    {   0, NULL }
1867
};
1868
1869
/* 6.5.2.16 BillingID */
1870
static void
1871
0
dissect_ansi_map_billingid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1872
1873
0
    unsigned offset = 0;
1874
1875
0
    proto_tree *subtree;
1876
1877
1878
0
    subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
1879
1880
0
    proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, ENC_BIG_ENDIAN);
1881
0
    offset = offset + 2;
1882
0
    proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, ENC_BIG_ENDIAN);
1883
0
    offset++;
1884
    /* ID Number */
1885
0
    proto_tree_add_item(subtree, hf_ansi_map_idno, tvb, offset, 3, ENC_BIG_ENDIAN);
1886
0
    offset = offset + 3;
1887
0
    proto_tree_add_item(subtree, hf_ansi_map_segcount, tvb, offset, 1, ENC_BIG_ENDIAN);
1888
1889
0
}
1890
1891
1892
/* 6.5.2.20 CallingFeaturesIndicator */
1893
static const value_string ansi_map_FeatureActivity_vals[]  = {
1894
    {   0, "Not used"},
1895
    {   1, "Not authorized"},
1896
    {   2, "Authorized but de-activated"},
1897
    {   3, "Authorized and activated"},
1898
    {   0, NULL }
1899
};
1900
1901
1902
static void
1903
0
dissect_ansi_map_callingfeaturesindicator(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1904
0
    unsigned offset = 0;
1905
0
    unsigned length;
1906
1907
0
    proto_tree *subtree;
1908
1909
0
    length = tvb_reported_length_remaining(tvb,offset);
1910
1911
0
    subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
1912
1913
    /* Call Waiting: FeatureActivity, CW-FA (Octet 1 bits GH )          */
1914
0
    proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cwfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1915
    /* Call Forwarding No Answer FeatureActivity, CFNA-FA (Octet 1 bits EF )    */
1916
0
    proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cfnafa, tvb, offset, 1, ENC_BIG_ENDIAN);
1917
    /* Call Forwarding Busy FeatureActivity, CFB-FA (Octet 1 bits CD )  */
1918
0
    proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cfbfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1919
    /* Call Forwarding Unconditional FeatureActivity, CFU-FA (Octet 1 bits AB ) */
1920
0
    proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cfufa, tvb, offset, 1, ENC_BIG_ENDIAN);
1921
0
    offset++;
1922
0
    length--;
1923
1924
    /* Call Transfer: FeatureActivity, CT-FA (Octet 2 bits GH )         */
1925
0
    proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_ctfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1926
    /* Voice Privacy FeatureActivity, VP-FA (Octet 2 bits EF )  */
1927
0
    proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_vpfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1928
    /* Call Delivery: FeatureActivity (not interpreted on reception by IS-41-C or later)
1929
       CD-FA (Octet 2 bits CD )         */
1930
0
    proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cdfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1931
    /* Three-Way Calling FeatureActivity, 3WC-FA (Octet 2 bits AB )     */
1932
0
    proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_3wcfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1933
0
    offset++;
1934
0
    length--;
1935
1936
1937
    /* Calling Number Identification Restriction Override FeatureActivity CNIROver-FA (Octet 3 bits GH )        */
1938
0
    proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cniroverfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1939
    /* Calling Number Identification Restriction: FeatureActivity CNIR-FA (Octet 3 bits EF )    */
1940
0
    proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cnirfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1941
    /* Calling Number Identification Presentation: FeatureActivity CNIP2-FA (Octet 3 bits CD )  */
1942
0
    proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cnip2fa, tvb, offset, 1, ENC_BIG_ENDIAN);
1943
    /* Calling Number Identification Presentation: FeatureActivity CNIP1-FA (Octet 3 bits AB )  */
1944
0
    proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cnip1fa, tvb, offset, 1, ENC_BIG_ENDIAN);
1945
0
    length--;
1946
0
    if ( length == 0)
1947
0
        return;
1948
0
    offset++;
1949
1950
    /* USCF divert to voice mail: FeatureActivity USCFvm-FA (Octet 4 bits GH )  */
1951
0
    proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_uscfvmfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1952
    /* Answer Hold: FeatureActivity AH-FA (Octet 4 bits EF ) N.S0029-0 v1.0     */
1953
0
    proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_ahfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1954
    /* Data Privacy Feature Activity DP-FA (Octet 4 bits CD ) N.S0008-0 v 1.0   */
1955
0
    proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_dpfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1956
    /* Priority Call Waiting FeatureActivity PCW-FA (Octet 4 bits AB )  */
1957
0
    proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_pcwfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1958
0
    length--;
1959
0
    if ( length == 0)
1960
0
        return;
1961
0
    offset++;
1962
1963
    /* USCF divert to mobile station provided DN:FeatureActivity.USCFms-FA (Octet 5 bits AB ) */
1964
0
    proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_uscfmsfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1965
    /* USCF divert to network registered DN:FeatureActivity. USCFnr-FA (Octet 5 bits CD )*/
1966
0
    proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_uscfnrfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1967
    /* CDMA-Packet Data Service: FeatureActivity. CPDS-FA (Octet 5 bits EF ) N.S0029-0 v1.0*/
1968
0
    proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cpdsfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1969
    /* CDMA-Concurrent Service:FeatureActivity. CCS-FA (Octet 5 bits GH ) N.S0029-0 v1.0*/
1970
0
    proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_ccsfa, tvb, offset, 1, ENC_BIG_ENDIAN);
1971
0
    length--;
1972
0
    if ( length == 0)
1973
0
        return;
1974
0
    offset++;
1975
1976
    /* TDMA Enhanced Privacy and Encryption:FeatureActivity.TDMA EPE-FA (Octet 6 bits AB ) N.S0029-0 v1.0*/
1977
0
    proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_epefa, tvb, offset, 1, ENC_BIG_ENDIAN);
1978
0
}
1979
1980
1981
/* 6.5.2.27 CancellationType */
1982
static const value_string ansi_map_CancellationType_vals[]  = {
1983
    {   0, "Not used"},
1984
    {   1, "ServingSystemOption"},
1985
    {   2, "ReportInCall."},
1986
    {   3, "Discontinue"},
1987
    {   0, NULL }
1988
};
1989
1990
/* 6.5.2.29 CDMACallMode Updated with N.S0029-0 v1.0*/
1991
/* Call Mode (octet 1, bit A) */
1992
static const true_false_string ansi_map_CDMACallMode_cdma_bool_val  = {
1993
  "CDMA 800 MHz channel (Band Class 0) acceptable.",
1994
  "CDMA 800 MHz channel (Band Class 0) not acceptable"
1995
};
1996
/* Call Mode (octet 1, bit B) */
1997
static const true_false_string ansi_map_CallMode_amps_bool_val  = {
1998
    "AAMPS 800 MHz channel acceptable",
1999
    "AMPS 800 MHz channel not acceptable"
2000
};
2001
/* Call Mode (octet 1, bit C) */
2002
static const true_false_string ansi_map_CallMode_namps_bool_val  = {
2003
    "NAMPS 800 MHz channel acceptable",
2004
    "NAMPS 800 MHz channel not acceptable"
2005
};
2006
/* Call Mode (octet 1, bit D) */
2007
static const true_false_string ansi_map_CDMACallMode_cls1_bool_val  = {
2008
    "CDMA 1900 MHz channel (Band Class 1) acceptable.",
2009
    "CDMA 1900 MHz channel (Band Class 1) not acceptable"
2010
};
2011
/* Call Mode (octet 1, bit E) */
2012
static const true_false_string ansi_map_CDMACallMode_cls2_bool_val  = {
2013
    "TACS channel (Band Class 2) acceptable",
2014
    "TACS channel (Band Class 2) not acceptable"
2015
};
2016
/* Call Mode (octet 1, bit F) */
2017
static const true_false_string ansi_map_CDMACallMode_cls3_bool_val  = {
2018
    "JTACS channel (Band Class 3) acceptable",
2019
    "JTACS channel (Band Class 3) not acceptable"
2020
};
2021
/* Call Mode (octet 1, bit G) */
2022
static const true_false_string ansi_map_CDMACallMode_cls4_bool_val  = {
2023
    "Korean PCS channel (Band Class 4) acceptable",
2024
    "Korean PCS channel (Band Class 4) not acceptable"
2025
};
2026
/* Call Mode (octet 1, bit H) */
2027
static const true_false_string ansi_map_CDMACallMode_cls5_bool_val  = {
2028
    "450 MHz channel (Band Class 5) acceptable",
2029
    "450 MHz channel (Band Class 5) not acceptable"
2030
};
2031
/* Call Mode (octet 2, bit A) */
2032
static const true_false_string ansi_map_CDMACallMode_cls6_bool_val  = {
2033
    "2 GHz channel (Band Class 6) acceptable.",
2034
    "2 GHz channel (Band Class 6) not acceptable."
2035
};
2036
2037
/* Call Mode (octet 2, bit B) */
2038
static const true_false_string ansi_map_CDMACallMode_cls7_bool_val  = {
2039
    "700 MHz channel (Band Class 7) acceptable",
2040
    "700 MHz channel (Band Class 7) not acceptable"
2041
};
2042
2043
/* Call Mode (octet 2, bit C) */
2044
static const true_false_string ansi_map_CDMACallMode_cls8_bool_val  = {
2045
    "1800 MHz channel (Band Class 8) acceptable",
2046
    "1800 MHz channel (Band Class 8) not acceptable"
2047
};
2048
/* Call Mode (octet 2, bit D) */
2049
static const true_false_string ansi_map_CDMACallMode_cls9_bool_val  = {
2050
    "900 MHz channel (Band Class 9) acceptable",
2051
    "900 MHz channel (Band Class 9) not acceptable"
2052
};
2053
/* Call Mode (octet 2, bit E) */
2054
static const true_false_string ansi_map_CDMACallMode_cls10_bool_val  = {
2055
    "Secondary 800 MHz channel (Band Class 10) acceptable.",
2056
    "Secondary 800 MHz channel (Band Class 10) not acceptable."
2057
};
2058
2059
static void
2060
0
dissect_ansi_map_cdmacallmode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2061
0
    unsigned offset = 0;
2062
0
    unsigned length;
2063
2064
0
    proto_tree *subtree;
2065
2066
0
    length = tvb_reported_length_remaining(tvb,offset);
2067
2068
2069
0
    subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2070
    /* Call Mode (octet 1, bit H) */
2071
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls5, tvb, offset, 1, ENC_BIG_ENDIAN);
2072
    /* Call Mode (octet 1, bit G) */
2073
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls4, tvb, offset, 1, ENC_BIG_ENDIAN);
2074
    /* Call Mode (octet 1, bit F) */
2075
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls3, tvb, offset, 1, ENC_BIG_ENDIAN);
2076
    /* Call Mode (octet 1, bit E) */
2077
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls2, tvb, offset, 1, ENC_BIG_ENDIAN);
2078
    /* Call Mode (octet 1, bit D) */
2079
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls1, tvb, offset, 1, ENC_BIG_ENDIAN);
2080
    /* Call Mode (octet 1, bit C) */
2081
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_namps, tvb, offset, 1, ENC_BIG_ENDIAN);
2082
    /* Call Mode (octet 1, bit B) */
2083
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_amps, tvb, offset, 1, ENC_BIG_ENDIAN);
2084
    /* Call Mode (octet 1, bit A) */
2085
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cdma, tvb, offset, 1, ENC_BIG_ENDIAN);
2086
2087
0
    length--;
2088
0
    if ( length == 0)
2089
0
        return;
2090
0
    offset++;
2091
2092
    /* Call Mode (octet 2, bit E) */
2093
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls10, tvb, offset, 1, ENC_BIG_ENDIAN);
2094
    /* Call Mode (octet 2, bit D) */
2095
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls9, tvb, offset, 1, ENC_BIG_ENDIAN);
2096
    /* Call Mode (octet 2, bit C) */
2097
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls8, tvb, offset, 1, ENC_BIG_ENDIAN);
2098
    /* Call Mode (octet 2, bit B) */
2099
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls7, tvb, offset, 1, ENC_BIG_ENDIAN);
2100
    /* Call Mode (octet 2, bit A) */
2101
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls6, tvb, offset, 1, ENC_BIG_ENDIAN);
2102
2103
0
}
2104
/* 6.5.2.30 CDMAChannelData */
2105
/* Updated with N.S0010-0 v 1.0 */
2106
2107
static const value_string ansi_map_cdmachanneldata_band_cls_vals[]  = {
2108
    {   0, "800 MHz Cellular System"},
2109
    {   0, NULL }
2110
};
2111
2112
static void
2113
0
dissect_ansi_map_cdmachanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2114
2115
0
    unsigned offset = 0;
2116
0
    unsigned length;
2117
2118
0
    proto_tree *subtree;
2119
2120
0
    length = tvb_reported_length_remaining(tvb,offset);
2121
2122
2123
0
    subtree = proto_item_add_subtree(actx->created_item, ett_cdmachanneldata);
2124
2125
0
    proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, ENC_BIG_ENDIAN);
2126
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_Frame_Offset, tvb, offset, 1, ENC_BIG_ENDIAN);
2127
    /* CDMA Channel Number */
2128
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_CDMA_ch_no, tvb, offset, 2, ENC_BIG_ENDIAN);
2129
0
    offset = offset + 2;
2130
0
    length = length -2;
2131
    /* Band Class */
2132
0
    proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, ENC_BIG_ENDIAN);
2133
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_band_cls, tvb, offset, 1, ENC_BIG_ENDIAN);
2134
    /* Long Code Mask */
2135
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b6, tvb, offset, 1, ENC_BIG_ENDIAN);
2136
0
    offset++;
2137
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b5, tvb, offset, 1, ENC_BIG_ENDIAN);
2138
0
    offset++;
2139
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b4, tvb, offset, 1, ENC_BIG_ENDIAN);
2140
0
    offset++;
2141
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b3, tvb, offset, 1, ENC_BIG_ENDIAN);
2142
0
    offset++;
2143
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b2, tvb, offset, 1, ENC_BIG_ENDIAN);
2144
0
    offset++;
2145
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b1, tvb, offset, 1, ENC_BIG_ENDIAN);
2146
0
    length = length - 6;
2147
0
    if (length == 0)
2148
0
        return;
2149
0
    offset++;
2150
    /* NP_EXT */
2151
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_np_ext, tvb, offset, 1, ENC_BIG_ENDIAN);
2152
    /* Nominal Power */
2153
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_nominal_pwr, tvb, offset, 1, ENC_BIG_ENDIAN);
2154
    /* Number Preamble */
2155
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_nr_preamble, tvb, offset, 1, ENC_BIG_ENDIAN);
2156
2157
0
}
2158
/* 6.5.2.31 CDMACodeChannel */
2159
2160
/* 6.5.2.41 CDMAStationClassMark */
2161
/* Power Class: (PC) (octet 1, bits A and B) */
2162
static const value_string ansi_map_CDMAStationClassMark_pc_vals[]  = {
2163
    {   0, "Class I"},
2164
    {   1, "Class II"},
2165
    {   2, "Class III"},
2166
    {   3, "Reserved"},
2167
    {   0, NULL }
2168
};
2169
/* Analog Transmission: (DTX) (octet 1, bit C) */
2170
static const true_false_string ansi_map_CDMAStationClassMark_dtx_bool_val  = {
2171
    "Discontinuous",
2172
    "Continuous"
2173
};
2174
/* Slotted Mode Indicator: (SMI) (octet 1, bit F) */
2175
static const true_false_string ansi_map_CDMAStationClassMark_smi_bool_val  = {
2176
    "Slotted capable",
2177
    "Slotted incapable"
2178
};
2179
/* Dual-mode Indicator(DMI) (octet 1, bit G) */
2180
static const true_false_string ansi_map_CDMAStationClassMark_dmi_bool_val  = {
2181
    "Dual-mode CDMA",
2182
    "CDMA only"
2183
};
2184
2185
2186
static void
2187
0
dissect_ansi_map_cdmastationclassmark(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2188
0
    unsigned offset = 0;
2189
2190
0
    proto_tree *subtree;
2191
2192
2193
0
    subtree = proto_item_add_subtree(actx->created_item, ett_cdmastationclassmark);
2194
2195
0
    proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, ENC_BIG_ENDIAN);
2196
    /* Dual-mode Indicator(DMI) (octet 1, bit G) */
2197
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_dmi, tvb, offset, 1, ENC_BIG_ENDIAN);
2198
    /* Slotted Mode Indicator: (SMI) (octet 1, bit F) */
2199
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_smi, tvb, offset, 1, ENC_BIG_ENDIAN);
2200
0
    proto_tree_add_item(subtree, hf_ansi_map_reservedBitED, tvb, offset, 1, ENC_BIG_ENDIAN);
2201
    /* Analog Transmission: (DTX) (octet 1, bit C) */
2202
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_dtx, tvb, offset, 1, ENC_BIG_ENDIAN);
2203
    /* Power Class: (PC) (octet 1, bits A and B) */
2204
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_pc, tvb, offset, 1, ENC_BIG_ENDIAN);
2205
0
}
2206
/* 6.5.2.47 ChannelData */
2207
/* Discontinuous Transmission Mode (DTX) (octet 1, bits E and D) */
2208
static const value_string ansi_map_ChannelData_dtx_vals[]  = {
2209
    {   0, "DTX disabled"},
2210
    {   1, "Reserved. Treat the same as value 00, DTX disabled."},
2211
    {   2, "DTX-low mode"},
2212
    {   3, "DTX mode active or acceptable"},
2213
    {   0, NULL }
2214
};
2215
2216
2217
static void
2218
0
dissect_ansi_map_channeldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2219
0
    unsigned offset = 0;
2220
2221
0
    proto_tree *subtree;
2222
2223
2224
0
    subtree = proto_item_add_subtree(actx->created_item, ett_channeldata);
2225
2226
    /* SAT Color Code (SCC) (octet 1, bits H and G) */
2227
0
    proto_tree_add_item(subtree, hf_ansi_map_channeldata_scc, tvb, offset, 1, ENC_BIG_ENDIAN);
2228
    /* Discontinuous Transmission Mode (DTX) (octet 1, bits E and D) */
2229
0
    proto_tree_add_item(subtree, hf_ansi_map_channeldata_dtx, tvb, offset, 1, ENC_BIG_ENDIAN);
2230
    /* Voice Mobile Attenuation Code (VMAC) (octet 1, bits A - C)*/
2231
0
    proto_tree_add_item(subtree, hf_ansi_map_channeldata_vmac, tvb, offset, 1, ENC_BIG_ENDIAN);
2232
2233
0
    offset++;
2234
    /* Channel Number (CHNO) ( octet 2 and 3 ) */
2235
0
    proto_tree_add_item(subtree, hf_ansi_map_channeldata_chno, tvb, offset, 2, ENC_BIG_ENDIAN);
2236
2237
0
}
2238
2239
/* 6.5.2.50 ConfidentialityModes */
2240
/* Updated with N.S0008-0 v 1.0*/
2241
/* Voice Privacy (VP) Confidentiality Status (octet 1, bit A) */
2242
2243
static void
2244
0
dissect_ansi_map_confidentialitymodes(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2245
0
    unsigned offset = 0;
2246
2247
0
    proto_tree *subtree;
2248
2249
2250
0
    subtree = proto_item_add_subtree(actx->created_item, ett_confidentialitymodes);
2251
2252
    /* DataPrivacy (DP) Confidentiality Status (octet 1, bit C) */
2253
0
    proto_tree_add_item(subtree, hf_ansi_map_ConfidentialityModes_dp, tvb, offset, 1, ENC_BIG_ENDIAN);
2254
    /* Signaling Message Encryption (SE) Confidentiality Status (octet 1, bit B) */
2255
0
    proto_tree_add_item(subtree, hf_ansi_map_ConfidentialityModes_se, tvb, offset, 1, ENC_BIG_ENDIAN);
2256
    /* Voice Privacy (VP) Confidentiality Status (octet 1, bit A) */
2257
0
    proto_tree_add_item(subtree, hf_ansi_map_ConfidentialityModes_vp, tvb, offset, 1, ENC_BIG_ENDIAN);
2258
2259
0
}
2260
2261
/* 6.5.2.51 ControlChannelData */
2262
2263
/* Digital Color Code (DCC) (octet 1, bit H and G) */
2264
/* Control Mobile Attenuation Code (CMAC) (octet 1, bit A - C) */
2265
/* Channel Number (CHNO) ( octet 2 and 3 ) */
2266
/* Supplementary Digital Color Codes (SDCC1 and SDCC2) */
2267
/* SDCC1 ( octet 4, bit D and C )*/
2268
/* SDCC2 ( octet 4, bit A and B )*/
2269
2270
static void
2271
0
dissect_ansi_map_controlchanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2272
0
    unsigned offset = 0;
2273
2274
0
    proto_tree *subtree;
2275
2276
2277
0
    subtree = proto_item_add_subtree(actx->created_item, ett_controlchanneldata);
2278
2279
    /* Digital Color Code (DCC) (octet 1, bit H and G) */
2280
0
    proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_dcc, tvb, offset, 1, ENC_BIG_ENDIAN);
2281
0
    proto_tree_add_item(subtree, hf_ansi_map_reservedBitFED, tvb, offset, 1, ENC_BIG_ENDIAN);
2282
    /* Control Mobile Attenuation Code (CMAC) (octet 1, bit A - C) */
2283
0
    proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_cmac, tvb, offset, 1, ENC_BIG_ENDIAN);
2284
0
    offset++;
2285
    /* Channel Number (CHNO) ( octet 2 and 3 ) */
2286
0
    proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_chno, tvb, offset, 2, ENC_BIG_ENDIAN);
2287
    /* Supplementary Digital Color Codes (SDCC1 and SDCC2) */
2288
0
    offset = offset +2;
2289
    /* SDCC1 ( octet 4, bit D and C )*/
2290
0
    proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_sdcc1, tvb, offset, 1, ENC_BIG_ENDIAN);
2291
0
    proto_tree_add_item(subtree, hf_ansi_map_reservedBitHGFE, tvb, offset, 1, ENC_BIG_ENDIAN);
2292
    /* SDCC2 ( octet 4, bit A and B )*/
2293
0
    proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_sdcc2, tvb, offset, 1, ENC_BIG_ENDIAN);
2294
2295
0
}
2296
2297
/* 6.5.2.52 CountUpdateReport */
2298
static const value_string ansi_map_CountUpdateReport_vals[]  = {
2299
    {   0, "Class I"},
2300
    {   1, "Class II"},
2301
    {   2, "Class III"},
2302
    {   3, "Reserved"},
2303
    {   0, NULL }
2304
};
2305
2306
/* 6.5.2.53 DeniedAuthorizationPeriod */
2307
/* Period (octet 1) */
2308
static const value_string ansi_map_deniedauthorizationperiod_period_vals[]  = {
2309
    {   0, "Not used"},
2310
    {   1, "Per Call. Re-authorization should be attempted on the next call attempt"},
2311
    {   2, "Hours"},
2312
    {   3, "Days"},
2313
    {   4, "Weeks"},
2314
    {   5, "Per Agreement"},
2315
    {   6, "Reserved"},
2316
    {   7, "Number of calls. Re-authorization should be attempted after this number of (rejected) call attempts"},
2317
    {   8, "Minutes"},
2318
    {   0, NULL }
2319
};
2320
/* Value (octet 2)
2321
Number of minutes hours, days, weeks, or
2322
number of calls (as per Period). If Period
2323
indicates anything else the Value is set to zero
2324
on sending and ignored on receipt.
2325
*/
2326
2327
static void
2328
0
dissect_ansi_map_deniedauthorizationperiod(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2329
2330
0
    unsigned offset = 0;
2331
2332
0
    proto_tree *subtree;
2333
2334
2335
0
    subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
2336
0
    proto_tree_add_item(subtree, hf_ansi_map_deniedauthorizationperiod_period, tvb, offset, 1, ENC_BIG_ENDIAN);
2337
0
    offset++;
2338
0
    proto_tree_add_item(subtree, hf_ansi_map_value, tvb, offset, 1, ENC_BIG_ENDIAN);
2339
2340
0
}
2341
2342
2343
/* 6.5.2.57 DigitCollectionControl */
2344
/* TODO Add decoding here */
2345
2346
/* 6.5.2.64 ExtendedMSCID */
2347
static const value_string ansi_map_msc_type_vals[]  = {
2348
    {   0, "Not specified"},
2349
    {   1, "Serving MSC"},
2350
    {   2, "Home MSC"},
2351
    {   3, "Gateway MSC"},
2352
    {   4, "HLR"},
2353
    {   5, "VLR"},
2354
    {   6, "EIR (reserved)"},
2355
    {   7, "AC"},
2356
    {   8, "Border MSC"},
2357
    {   9, "Originating MSC"},
2358
    {   0, NULL }
2359
};
2360
2361
static void
2362
0
dissect_ansi_map_extendedmscid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2363
2364
0
    unsigned offset = 0;
2365
2366
0
    proto_tree *subtree;
2367
2368
2369
0
    subtree = proto_item_add_subtree(actx->created_item, ett_extendedmscid);
2370
    /* Type (octet 1) */
2371
0
    proto_tree_add_item(subtree, hf_ansi_map_msc_type, tvb, offset, 1, ENC_BIG_ENDIAN);
2372
0
    offset++;
2373
0
    proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, ENC_BIG_ENDIAN);
2374
0
    offset = offset + 2;
2375
0
    proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, ENC_BIG_ENDIAN);
2376
2377
0
}
2378
/* 6.5.2.65 ExtendedSystemMyTypeCode */
2379
static void
2380
0
dissect_ansi_map_extendedsystemmytypecode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx){
2381
2382
0
    unsigned offset = 0;
2383
2384
0
    proto_tree *subtree;
2385
2386
2387
0
    subtree = proto_item_add_subtree(actx->created_item, ett_extendedsystemmytypecode);
2388
    /* Type (octet 1) */
2389
0
    proto_tree_add_item(subtree, hf_ansi_map_msc_type, tvb, offset, 1, ENC_BIG_ENDIAN);
2390
0
    offset++;
2391
0
    dissect_ansi_map_SystemMyTypeCode(true, tvb, offset, actx, subtree, hf_ansi_map_systemMyTypeCode);
2392
0
}
2393
2394
2395
/* 6.5.2.68 GeographicAuthorization */
2396
/* Geographic Authorization (octet 1) */
2397
static const value_string ansi_map_GeographicAuthorization_vals[]  = {
2398
    {   0, "Not used"},
2399
    {   1, "Authorized for all MarketIDs served by the VLR"},
2400
    {   2, "Authorized for this MarketID only"},
2401
    {   3, "Authorized for this MarketID and Switch Number only"},
2402
    {   4, "Authorized for this LocationAreaID within a MarketID only"},
2403
    {   5, "VLR"},
2404
    {   6, "EIR (reserved)"},
2405
    {   7, "AC"},
2406
    {   8, "Border MSC"},
2407
    {   9, "Originating MSC"},
2408
    {   0, NULL }
2409
};
2410
2411
/* 6.5.2.71 HandoffState */
2412
/* Party Involved (PI) (octet 1, bit A) */
2413
static const true_false_string ansi_map_HandoffState_pi_bool_val  = {
2414
    "Terminator is handing off",
2415
    "Originator is handing off"
2416
};
2417
static void
2418
0
dissect_ansi_map_handoffstate(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2419
2420
0
    unsigned offset = 0;
2421
2422
0
    proto_tree *subtree;
2423
2424
2425
0
    subtree = proto_item_add_subtree(actx->created_item, ett_handoffstate);
2426
    /* Party Involved (PI) (octet 1, bit A) */
2427
0
    proto_tree_add_item(subtree, hf_ansi_map_handoffstate_pi, tvb, offset, 1, ENC_BIG_ENDIAN);
2428
0
}
2429
2430
/* 6.5.2.72 InterMSCCircuitID */
2431
/* Trunk Member Number (M) Octet2 */
2432
static void
2433
0
dissect_ansi_map_intermsccircuitid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2434
2435
0
    unsigned offset = 0;
2436
2437
0
    proto_tree *subtree;
2438
0
    uint8_t octet, octet2;
2439
2440
2441
0
    subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
2442
    /* Trunk Group Number (G) Octet 1 */
2443
0
    octet = tvb_get_uint8(tvb,offset);
2444
0
    proto_tree_add_item(subtree, hf_ansi_map_tgn, tvb, offset, 1, ENC_BIG_ENDIAN);
2445
0
    offset++;
2446
    /* Trunk Member Number (M) Octet2 */
2447
0
    octet2 = tvb_get_uint8(tvb,offset);
2448
0
    proto_tree_add_item(subtree, hf_ansi_map_tmn, tvb, offset, 1, ENC_BIG_ENDIAN);
2449
0
    proto_item_append_text(actx->created_item, " (G %u/M %u)", octet, octet2);
2450
0
}
2451
2452
/* 6.5.2.78 MessageWaitingNotificationCount */
2453
/* Type of messages (octet 1) */
2454
static const value_string ansi_map_MessageWaitingNotificationCount_type_vals[]  = {
2455
    {   0, "Voice messages"},
2456
    {   1, "Short Message Services (SMS) messages"},
2457
    {   2, "Group 3 (G3) Fax messages"},
2458
    {   0, NULL }
2459
};
2460
2461
static void
2462
0
dissect_ansi_map_messagewaitingnotificationcount(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2463
2464
0
    unsigned offset = 0;
2465
2466
0
    proto_tree *subtree;
2467
2468
2469
0
    subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
2470
    /* Type of messages (octet 1) */
2471
0
    proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationcount_tom, tvb, offset, 1, ENC_BIG_ENDIAN);
2472
0
    offset++;
2473
    /* Number of Messages Waiting (octet 2) */
2474
0
    proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationcount_no_mw, tvb, offset, 1, ENC_BIG_ENDIAN);
2475
2476
0
}
2477
2478
#if 0
2479
/* 6.5.2.79 MessageWaitingNotificationType */
2480
/* Pip Tone (PT) (octet 1, bit A) */
2481
static const true_false_string ansi_map_MessageWaitingNotificationType_pt_bool_val  = {
2482
    "Pip Tone (PT) notification is required",
2483
    "Pip Tone (PT) notification is not authorized or no notification is required"
2484
};
2485
#endif
2486
#if 0
2487
/* Alert Pip Tone (APT) (octet 1, bit B) */
2488
static const true_false_string ansi_map_MessageWaitingNotificationType_apt_bool_val  = {
2489
    "Alert Pip Tone (APT) notification is required",
2490
    "Alert Pip Tone (APT) notification is not authorized or notification is not required"
2491
};
2492
#endif
2493
/* Message Waiting Indication (MWI) (octet 1, bits C and D) */
2494
static const value_string ansi_map_MessageWaitingNotificationType_mwi_vals[]  = {
2495
    {   0, "No MWI. Message Waiting Indication (MWI) notification is not authorized or notification is not required"},
2496
    {   1, "Reserved"},
2497
    {   2, "MWI On. Message Waiting Indication (MWI) notification is required. Messages waiting"},
2498
    {   3, "MWI Off. Message Waiting Indication (MWI) notification is required. No messages waiting"},
2499
    {   0, NULL }
2500
};
2501
2502
static void
2503
0
dissect_ansi_map_messagewaitingnotificationtype(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2504
2505
0
    unsigned offset = 0;
2506
2507
0
    proto_tree *subtree;
2508
2509
2510
0
    subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
2511
2512
    /* Message Waiting Indication (MWI) (octet 1, bits C and D) */
2513
0
    proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationtype_mwi, tvb, offset, 1, ENC_BIG_ENDIAN);
2514
    /* Alert Pip Tone (APT) (octet 1, bit B) */
2515
0
    proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationtype_apt, tvb, offset, 1, ENC_BIG_ENDIAN);
2516
    /* Pip Tone (PT) (octet 1, bit A) */
2517
0
    proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationtype_pt, tvb, offset, 1, ENC_BIG_ENDIAN);
2518
0
}
2519
2520
/* 6.5.2.81 MobileIdentificationNumber */
2521
2522
/* 6.5.2.82 MSCID */
2523
2524
static void
2525
0
dissect_ansi_map_mscid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2526
0
    unsigned offset = 0;
2527
2528
0
    proto_tree *subtree;
2529
2530
2531
0
    subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2532
2533
0
    proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, ENC_BIG_ENDIAN);
2534
0
    offset = offset + 2;
2535
0
    proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, ENC_BIG_ENDIAN);
2536
0
}
2537
2538
2539
/* 6.5.2.84 MSLocation */
2540
static void
2541
0
dissect_ansi_map_mslocation(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2542
0
    unsigned offset = 0;
2543
2544
0
    proto_tree *subtree;
2545
2546
2547
0
    subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2548
2549
    /* Latitude in tenths of a second octet 1 - 3 */
2550
0
    proto_tree_add_item(subtree, hf_ansi_map_mslocation_lat, tvb, offset, 3, ENC_BIG_ENDIAN);
2551
0
    offset = offset + 3;
2552
    /* Longitude in tenths of a second octet 4 - 6 */
2553
0
    proto_tree_add_item(subtree, hf_ansi_map_mslocation_long, tvb, offset, 3, ENC_BIG_ENDIAN);
2554
0
    offset = offset + 3;
2555
    /* Resolution in units of 1 foot octet 7, octet 8 optional */
2556
0
    proto_tree_add_item(subtree, hf_ansi_map_mslocation_res, tvb, offset, -1, ENC_BIG_ENDIAN);
2557
2558
0
}
2559
/* 6.5.2.85 NAMPSCallMode */
2560
static void
2561
0
dissect_ansi_map_nampscallmode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2562
0
    unsigned offset = 0;
2563
0
    proto_tree *subtree;
2564
2565
2566
0
    subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2567
2568
    /* Call Mode (octet 1, bits A and B) */
2569
0
    proto_tree_add_item(subtree, hf_ansi_map_nampscallmode_amps, tvb, offset, 1, ENC_BIG_ENDIAN);
2570
0
    proto_tree_add_item(subtree, hf_ansi_map_nampscallmode_namps, tvb, offset, 1, ENC_BIG_ENDIAN);
2571
0
}
2572
2573
/* 6.5.2.86 NAMPSChannelData */
2574
/* Narrow Analog Voice Channel Assignment (NAVCA) (octet 1, bits A and B) */
2575
static const value_string ansi_map_NAMPSChannelData_navca_vals[]  = {
2576
    {   0, "Wide. 30 kHz AMPS voice channel"},
2577
    {   1, "Upper. 10 kHz NAMPS voice channel"},
2578
    {   2, "Middle. 10 kHz NAMPS voice channel"},
2579
    {   3, "Lower. 10 kHz NAMPS voice channel"},
2580
    {   0, NULL }
2581
};
2582
/* Color Code Indicator (CCIndicator) (octet 1, bits C, D, and E) */
2583
static const value_string ansi_map_NAMPSChannelData_ccinidicator_vals[]  = {
2584
    {   0, "ChannelData parameter SCC field applies"},
2585
    {   1, "Digital SAT Color Code 1 (ignore SCC field)"},
2586
    {   2, "Digital SAT Color Code 2 (ignore SCC field)"},
2587
    {   3, "Digital SAT Color Code 3 (ignore SCC field)"},
2588
    {   4, "Digital SAT Color Code 4 (ignore SCC field)"},
2589
    {   5, "Digital SAT Color Code 5 (ignore SCC field)"},
2590
    {   6, "Digital SAT Color Code 6 (ignore SCC field)"},
2591
    {   7, "Digital SAT Color Code 7 (ignore SCC field)"},
2592
    {   0, NULL }
2593
};
2594
2595
2596
2597
static void
2598
0
dissect_ansi_map_nampschanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2599
0
    unsigned offset = 0;
2600
0
    proto_tree *subtree;
2601
2602
2603
0
    subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2604
2605
    /* Color Code Indicator (CCIndicator) (octet 1, bits C, D, and E) */
2606
0
    proto_tree_add_item(subtree, hf_ansi_map_nampschanneldata_CCIndicator, tvb, offset, 1, ENC_BIG_ENDIAN);
2607
    /* Narrow Analog Voice Channel Assignment (NAVCA) (octet 1, bits A and B) */
2608
0
    proto_tree_add_item(subtree, hf_ansi_map_nampschanneldata_navca, tvb, offset, 1, ENC_BIG_ENDIAN);
2609
2610
0
}
2611
2612
#if 0
2613
/* 6.5.2.88 OneTimeFeatureIndicator */
2614
/* updated with N.S0012 */
2615
/* Call Waiting for Future Incoming Call (CWFI) (octet 1, bits A and B) */
2616
/* Call Waiting for Incoming Call (CWIC) (octet 1, bits C and D) */
2617
2618
static const value_string ansi_map_onetimefeatureindicator_cw_vals[]  = {
2619
    {   0, "Ignore"},
2620
    {   1, "No CW"},
2621
    {   2, "Normal CW"},
2622
    {   3, "Priority CW"},
2623
    {   0, NULL }
2624
};
2625
#endif
2626
#if 0
2627
/* MessageWaitingNotification (MWN) (octet 1, bits E and F) */
2628
static const value_string ansi_map_onetimefeatureindicator_mwn_vals[]  = {
2629
    {   0, "Ignore"},
2630
    {   1, "Pip Tone Inactive"},
2631
    {   2, "Pip Tone Active"},
2632
    {   3, "Reserved"},
2633
    {   0, NULL }
2634
};
2635
#endif
2636
#if 0
2637
/* Calling Number Identification Restriction (CNIR) (octet 1, bits G and H)*/
2638
static const value_string ansi_map_onetimefeatureindicator_cnir_vals[]  = {
2639
    {   0, "Ignore"},
2640
    {   1, "CNIR Inactive"},
2641
    {   2, "CNIR Active"},
2642
    {   3, "Reserved"},
2643
    {   0, NULL }
2644
};
2645
#endif
2646
2647
#if 0
2648
/* Priority Access and Channel Assignment (PACA) (octet 2, bits A and B)*/
2649
static const value_string ansi_map_onetimefeatureindicator_paca_vals[]  = {
2650
    {   0, "Ignore"},
2651
    {   1, "PACA Demand Inactive"},
2652
    {   2, "PACA Demand Activated"},
2653
    {   3, "Reserved"},
2654
    {   0, NULL }
2655
};
2656
#endif
2657
2658
#if 0
2659
/* Flash Privileges (Flash) (octet 2, bits C and D) */
2660
static const value_string ansi_map_onetimefeatureindicator_flash_vals[]  = {
2661
    {   0, "Ignore"},
2662
    {   1, "Flash Inactive"},
2663
    {   2, "Flash Active"},
2664
    {   3, "Reserved"},
2665
    {   0, NULL }
2666
};
2667
#endif
2668
#if 0
2669
/* Calling Name Restriction (CNAR) (octet 2, bits E and F) */
2670
static const value_string ansi_map_onetimefeatureindicator_cnar_vals[]  = {
2671
    {   0, "Ignore"},
2672
    {   1, "Presentation Allowed"},
2673
    {   2, "Presentation Restricted."},
2674
    {   3, "Blocking Toggle"},
2675
    {   0, NULL }
2676
};
2677
#endif
2678
static void
2679
0
dissect_ansi_map_onetimefeatureindicator(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2680
    /*
2681
    unsigned offset = 0;
2682
    proto_tree *subtree;
2683
2684
2685
    subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2686
    */
2687
    /* Calling Number Identification Restriction (CNIR) (octet 1, bits G and H)*/
2688
    /* MessageWaitingNotification (MWN) (octet 1, bits E and F) */
2689
    /* Call Waiting for Incoming Call (CWIC) (octet 1, bits C and D) */
2690
    /* Call Waiting for Future Incoming Call (CWFI) (octet 1, bits A and B) */
2691
    /*offset++;*/
2692
    /* Calling Name Restriction (CNAR) (octet 2, bits E and F) */
2693
    /* Flash Privileges (Flash) (octet 2, bits C and D) */
2694
    /* Priority Access and Channel Assignment (PACA) (octet 2, bits A and B)*/
2695
2696
2697
0
}
2698
2699
/* 6.5.2.90 OriginationTriggers */
2700
/* All Origination (All) (octet 1, bit A) */
2701
static const true_false_string ansi_map_originationtriggers_all_bool_val  = {
2702
    "Launch an OriginationRequest for any call attempt. This overrides all other values",
2703
    "Trigger is not active"
2704
};
2705
2706
/* Local (octet 1, bit B) */
2707
static const true_false_string ansi_map_originationtriggers_local_bool_val  = {
2708
    "Launch an OriginationRequest for any local call attempt",
2709
    "Trigger is not active"
2710
};
2711
2712
/* Intra-LATA Toll (ILATA) (octet 1, bit C) */
2713
static const true_false_string ansi_map_originationtriggers_ilata_bool_val  = {
2714
    "Launch an OriginationRequest for any intra-LATA call attempt",
2715
    "Trigger is not active"
2716
};
2717
/* Inter-LATA Toll (OLATA) (octet 1, bit D) */
2718
static const true_false_string ansi_map_originationtriggers_olata_bool_val  = {
2719
    "Launch an OriginationRequest for any inter-LATA toll call attempt",
2720
    "Trigger is not active"
2721
};
2722
/* International (Int'l ) (octet 1, bit E) */
2723
static const true_false_string ansi_map_originationtriggers_int_bool_val  = {
2724
    "Launch an OriginationRequest for any international call attempt",
2725
    "Trigger is not active"
2726
};
2727
/* World Zone (WZ) (octet 1, bit F) */
2728
static const true_false_string ansi_map_originationtriggers_wz_bool_val  = {
2729
    "Launch an OriginationRequest for any call attempt outside of the current World Zone (as defined in ITU-T Rec. E.164)",
2730
    "Trigger is not active"
2731
};
2732
2733
/* Unrecognized Number (Unrec) (octet 1, bit G) */
2734
static const true_false_string ansi_map_originationtriggers_unrec_bool_val  = {
2735
    "Launch an OriginationRequest for any call attempt to an unrecognized number",
2736
    "Trigger is not active"
2737
};
2738
/* Revertive Call (RvtC) (octet 1, bit H)*/
2739
static const true_false_string ansi_map_originationtriggers_rvtc_bool_val  = {
2740
    "Launch an OriginationRequest for any Revertive Call attempt",
2741
    "Trigger is not active"
2742
};
2743
2744
/* Star (octet 2, bit A) */
2745
static const true_false_string ansi_map_originationtriggers_star_bool_val  = {
2746
    "Launch an OriginationRequest for any number beginning with a Star '*' digit",
2747
    "Trigger is not active"
2748
};
2749
2750
/* Double Star (DS) (octet 2, bit B) */
2751
static const true_false_string ansi_map_originationtriggers_ds_bool_val  = {
2752
    "Launch an OriginationRequest for any number beginning with two Star '**' digits",
2753
    "Trigger is not active"
2754
};
2755
/* Pound (octet 2, bit C) */
2756
static const true_false_string ansi_map_originationtriggers_pound_bool_val  = {
2757
    "Launch an OriginationRequest for any number beginning with a Pound '#' digit",
2758
    "Trigger is not active"
2759
};
2760
/* Double Pound (DP) (octet 2, bit D) */
2761
static const true_false_string ansi_map_originationtriggers_dp_bool_val  = {
2762
    "Launch an OriginationRequest for any number beginning with two Pound '##' digits",
2763
    "Trigger is not active"
2764
};
2765
/* Prior Agreement (PA) (octet 2, bit E) */
2766
static const true_false_string ansi_map_originationtriggers_pa_bool_val  = {
2767
    "Launch an OriginationRequest for any number matching a criteria of a prior agreement",
2768
    "Trigger is not active"
2769
};
2770
2771
/* No digits (octet 3, bit A) */
2772
static const true_false_string ansi_map_originationtriggers_nodig_bool_val  = {
2773
    "Launch an OriginationRequest for any call attempt with no digits",
2774
    "Trigger is not active"
2775
};
2776
2777
/* 1 digit (octet 3, bit B) */
2778
static const true_false_string ansi_map_originationtriggers_onedig_bool_val  = {
2779
    "Launch an OriginationRequest for any call attempt with 1 digit",
2780
    "Trigger is not active"
2781
};
2782
/* 1 digit (octet 3, bit C) */
2783
static const true_false_string ansi_map_originationtriggers_twodig_bool_val  = {
2784
    "Launch an OriginationRequest for any call attempt with 2 digits",
2785
    "Trigger is not active"
2786
};
2787
/* 1 digit (octet 3, bit D) */
2788
static const true_false_string ansi_map_originationtriggers_threedig_bool_val  = {
2789
    "Launch an OriginationRequest for any call attempt with 3 digits",
2790
    "Trigger is not active"
2791
};
2792
/* 1 digit (octet 3, bit E) */
2793
static const true_false_string ansi_map_originationtriggers_fourdig_bool_val  = {
2794
    "Launch an OriginationRequest for any call attempt with 4 digits",
2795
    "Trigger is not active"
2796
};
2797
/* 1 digit (octet 3, bit F) */
2798
static const true_false_string ansi_map_originationtriggers_fivedig_bool_val  = {
2799
    "Launch an OriginationRequest for any call attempt with 5 digits",
2800
    "Trigger is not active"
2801
};
2802
/* 1 digit (octet 3, bit G) */
2803
static const true_false_string ansi_map_originationtriggers_sixdig_bool_val  = {
2804
    "Launch an OriginationRequest for any call attempt with 6 digits",
2805
    "Trigger is not active"
2806
};
2807
/* 1 digit (octet 3, bit H) */
2808
static const true_false_string ansi_map_originationtriggers_sevendig_bool_val  = {
2809
    "Launch an OriginationRequest for any call attempt with 7 digits",
2810
    "Trigger is not active"
2811
};
2812
/* 1 digit (octet 4, bit A) */
2813
static const true_false_string ansi_map_originationtriggers_eightdig_bool_val  = {
2814
    "Launch an OriginationRequest for any call attempt with 8 digits",
2815
    "Trigger is not active"
2816
};
2817
/* 1 digit (octet 4, bit B) */
2818
static const true_false_string ansi_map_originationtriggers_ninedig_bool_val  = {
2819
    "Launch an OriginationRequest for any call attempt with 9 digits",
2820
    "Trigger is not active"
2821
};
2822
/* 1 digit (octet 4, bit C) */
2823
static const true_false_string ansi_map_originationtriggers_tendig_bool_val  = {
2824
    "Launch an OriginationRequest for any call attempt with 10 digits",
2825
    "Trigger is not active"
2826
};
2827
/* 1 digit (octet 4, bit D) */
2828
static const true_false_string ansi_map_originationtriggers_elevendig_bool_val  = {
2829
    "Launch an OriginationRequest for any call attempt with 11 digits",
2830
    "Trigger is not active"
2831
};
2832
/* 1 digit (octet 4, bit E) */
2833
static const true_false_string ansi_map_originationtriggers_twelvedig_bool_val  = {
2834
    "Launch an OriginationRequest for any call attempt with 12 digits",
2835
    "Trigger is not active"
2836
};
2837
/* 1 digit (octet 4, bit F) */
2838
static const true_false_string ansi_map_originationtriggers_thirteendig_bool_val  = {
2839
    "Launch an OriginationRequest for any call attempt with 13 digits",
2840
    "Trigger is not active"
2841
};
2842
/* 1 digit (octet 4, bit G) */
2843
static const true_false_string ansi_map_originationtriggers_fourteendig_bool_val  = {
2844
    "Launch an OriginationRequest for any call attempt with 14 digits",
2845
    "Trigger is not active"
2846
};
2847
/* 1 digit (octet 4, bit H) */
2848
static const true_false_string ansi_map_originationtriggers_fifteendig_bool_val  = {
2849
    "Launch an OriginationRequest for any call attempt with 15 digits",
2850
    "Trigger is not active"
2851
};
2852
2853
static void
2854
0
dissect_ansi_map_originationtriggers(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2855
2856
0
    unsigned offset = 0;
2857
0
    proto_tree *subtree;
2858
2859
2860
0
    subtree = proto_item_add_subtree(actx->created_item, ett_originationtriggers);
2861
2862
    /* Revertive Call (RvtC) (octet 1, bit H)*/
2863
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_rvtc, tvb, offset,     1, ENC_BIG_ENDIAN);
2864
    /* Unrecognized Number (Unrec) (octet 1, bit G) */
2865
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_unrec, tvb, offset,    1, ENC_BIG_ENDIAN);
2866
    /* World Zone (WZ) (octet 1, bit F) */
2867
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_wz, tvb, offset,       1, ENC_BIG_ENDIAN);
2868
    /* International (Int'l ) (octet 1, bit E) */
2869
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_int, tvb, offset,      1, ENC_BIG_ENDIAN);
2870
    /* Inter-LATA Toll (OLATA) (octet 1, bit D) */
2871
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_olata, tvb, offset,    1, ENC_BIG_ENDIAN);
2872
    /* Intra-LATA Toll (ILATA) (octet 1, bit C) */
2873
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_ilata, tvb, offset,    1, ENC_BIG_ENDIAN);
2874
    /* Local (octet 1, bit B) */
2875
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_local, tvb, offset,    1, ENC_BIG_ENDIAN);
2876
    /* All Origination (All) (octet 1, bit A) */
2877
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_all, tvb, offset,      1, ENC_BIG_ENDIAN);
2878
0
    offset++;
2879
2880
    /*Prior Agreement (PA) (octet 2, bit E) */
2881
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_pa, tvb, offset,       1, ENC_BIG_ENDIAN);
2882
    /* Double Pound (DP) (octet 2, bit D) */
2883
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_dp, tvb, offset,       1, ENC_BIG_ENDIAN);
2884
    /* Pound (octet 2, bit C) */
2885
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_pound, tvb, offset,    1, ENC_BIG_ENDIAN);
2886
    /* Double Star (DS) (octet 2, bit B) */
2887
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_ds, tvb, offset,       1, ENC_BIG_ENDIAN);
2888
    /* Star (octet 2, bit A) */
2889
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_star, tvb, offset,     1, ENC_BIG_ENDIAN);
2890
0
    offset++;
2891
2892
    /* 7 digit (octet 3, bit H) */
2893
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_sevendig, tvb, offset, 1, ENC_BIG_ENDIAN);
2894
    /* 6 digit (octet 3, bit G) */
2895
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_sixdig, tvb, offset,   1, ENC_BIG_ENDIAN);
2896
    /* 5 digit (octet 3, bit F) */
2897
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fivedig, tvb, offset,  1, ENC_BIG_ENDIAN);
2898
    /* 4 digit (octet 3, bit E) */
2899
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fourdig, tvb, offset,  1, ENC_BIG_ENDIAN);
2900
    /* 3 digit (octet 3, bit D) */
2901
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_threedig, tvb, offset, 1, ENC_BIG_ENDIAN);
2902
    /* 2 digit (octet 3, bit C) */
2903
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_twodig, tvb, offset,   1, ENC_BIG_ENDIAN);
2904
    /* 1 digit (octet 3, bit B) */
2905
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_onedig, tvb, offset,   1, ENC_BIG_ENDIAN);
2906
    /* No digits (octet 3, bit A) */
2907
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_nodig, tvb, offset,    1, ENC_BIG_ENDIAN);
2908
0
    offset++;
2909
2910
    /* 15 digit (octet 4, bit H) */
2911
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fifteendig, tvb, offset,       1, ENC_BIG_ENDIAN);
2912
    /* 14 digit (octet 4, bit G) */
2913
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fourteendig, tvb, offset,      1, ENC_BIG_ENDIAN);
2914
    /* 13 digit (octet 4, bit F) */
2915
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_thirteendig, tvb, offset,      1, ENC_BIG_ENDIAN);
2916
    /* 12 digit (octet 4, bit E) */
2917
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_twelvedig, tvb, offset,        1, ENC_BIG_ENDIAN);
2918
    /* 11 digit (octet 4, bit D) */
2919
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_elevendig, tvb, offset,        1, ENC_BIG_ENDIAN);
2920
    /* 10 digit (octet 4, bit C) */
2921
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_tendig, tvb, offset,   1, ENC_BIG_ENDIAN);
2922
    /* 9 digit (octet 4, bit B) */
2923
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_ninedig, tvb, offset,  1, ENC_BIG_ENDIAN);
2924
    /* 8 digits (octet 4, bit A) */
2925
0
    proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_eightdig, tvb, offset, 1, ENC_BIG_ENDIAN);
2926
2927
0
}
2928
2929
/* 6.5.2.91 PACAIndicator */
2930
2931
/* Permanent Activation (PA) (octet 1, bit A) */
2932
static const true_false_string ansi_map_pacaindicator_pa_bool_val  = {
2933
    "PACA is permanently activated",
2934
    "PACA is not permanently activated"
2935
};
2936
2937
static const value_string ansi_map_PACA_Level_vals[]  = {
2938
    {   0, "Not used"},
2939
    {   1, "Priority Level. 1 This is the highest level"},
2940
    {   2, "Priority Level 2"},
2941
    {   3, "Priority Level 3"},
2942
    {   4, "Priority Level 4"},
2943
    {   5, "Priority Level 5"},
2944
    {   6, "Priority Level 6"},
2945
    {   7, "Priority Level 7"},
2946
    {   8, "Priority Level 8"},
2947
    {   9, "Priority Level 9"},
2948
    {   10, "Priority Level 10"},
2949
    {   11, "Priority Level 11"},
2950
    {   12, "Priority Level 12"},
2951
    {   13, "Priority Level 13"},
2952
    {   14, "Priority Level 14"},
2953
    {   15, "Priority Level 15"},
2954
    {   0, NULL }
2955
};
2956
2957
static void
2958
0
dissect_ansi_map_pacaindicator(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2959
2960
0
    unsigned offset = 0;
2961
0
    proto_tree *subtree;
2962
2963
2964
0
    subtree = proto_item_add_subtree(actx->created_item, ett_pacaindicator);
2965
    /* PACA Level (octet 1, bits B-E) */
2966
0
    proto_tree_add_item(subtree, hf_ansi_map_PACA_Level, tvb, offset,   1, ENC_BIG_ENDIAN);
2967
    /* Permanent Activation (PA) (octet 1, bit A) */
2968
0
    proto_tree_add_item(subtree, hf_ansi_map_pacaindicator_pa, tvb, offset,     1, ENC_BIG_ENDIAN);
2969
0
}
2970
2971
/* 6.5.2.92 PageIndicator */
2972
static const value_string ansi_map_PageIndicator_vals[]  = {
2973
    {   0, "Not used"},
2974
    {   1, "Page"},
2975
    {   2, "Listen only"},
2976
    {   0, NULL }
2977
};
2978
2979
/* 6.5.2.93 PC_SSN */
2980
static void
2981
0
dissect_ansi_map_pc_ssn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2982
2983
0
    unsigned offset = 0;
2984
0
    proto_tree *subtree;
2985
0
    uint8_t b1,b2,b3;
2986
2987
2988
0
    subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
2989
    /* Type (octet 1) */
2990
0
    proto_tree_add_item(subtree, hf_ansi_map_msc_type, tvb, offset, 1, ENC_BIG_ENDIAN);
2991
0
    offset++;
2992
    /* Point Code Member Number octet 2 */
2993
0
    b1 = tvb_get_uint8(tvb,offset);
2994
0
    offset++;
2995
    /* Point Code Cluster Number octet 3 */
2996
0
    b2 = tvb_get_uint8(tvb,offset);
2997
0
    offset++;
2998
    /* Point Code Network Number octet 4 */
2999
0
    b3 = tvb_get_uint8(tvb,offset);
3000
0
    offset++;
3001
0
    proto_tree_add_bytes_format_value(subtree, hf_ansi_map_point_code, tvb, offset-3, 3, NULL, "%u-%u-%u", b3, b2, b1);
3002
0
    proto_tree_add_item(subtree, hf_ansi_map_SSN, tvb, offset, 1, ENC_NA);
3003
0
}
3004
/* 6.5.2.94 PilotBillingID */
3005
static void
3006
0
dissect_ansi_map_pilotbillingid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3007
3008
0
    unsigned offset = 0;
3009
0
    proto_tree *subtree;
3010
3011
3012
0
    subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
3013
    /* First Originating MarketID octet 1 and 2 */
3014
0
    proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, ENC_BIG_ENDIAN);
3015
0
    offset = offset + 2;
3016
    /* First Originating Switch Number octet 3*/
3017
0
    proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, ENC_BIG_ENDIAN);
3018
0
    offset++;
3019
    /* ID Number */
3020
0
    proto_tree_add_item(subtree, hf_ansi_map_idno, tvb, offset, 3, ENC_BIG_ENDIAN);
3021
0
    offset = offset + 3;
3022
0
    proto_tree_add_item(subtree, hf_ansi_map_segcount, tvb, offset, 1, ENC_BIG_ENDIAN);
3023
3024
0
}
3025
/* 6.5.2.96 PreferredLanguageIndicator */
3026
static const value_string ansi_map_PreferredLanguageIndicator_vals[]  = {
3027
    {   0, "Unspecified"},
3028
    {   1, "English"},
3029
    {   2, "French"},
3030
    {   3, "Spanish"},
3031
    {   4, "German"},
3032
    {   5, "Portuguese"},
3033
    {   0, NULL }
3034
};
3035
3036
/* 6.5.2.106 ReceivedSignalQuality */
3037
/* a. This octet is encoded the same as octet 1 in the SignalQuality parameter (see
3038
   6.5.2.121).
3039
*/
3040
/* 6.5.2.118 SetupResult */
3041
static const value_string ansi_map_SetupResult_vals[]  = {
3042
    {   0, "Not used"},
3043
    {   1, "Unsuccessful"},
3044
    {   2, "Successful"},
3045
    {   0, NULL }
3046
};
3047
/* 6.5.2.121 SignalQuality */
3048
/* TODO */
3049
3050
/*      6.5.2.122 SMS_AccessDeniedReason (TIA/EIA-41.5-D, page 5-256)
3051
        N.S0011-0 v 1.0
3052
*/
3053
static const value_string ansi_map_SMS_AccessDeniedReason_vals[]  = {
3054
    {   0, "Not used"},
3055
    {   1, "Denied"},
3056
    {   2, "Postponed"},
3057
    {   3, "Unavailable"},
3058
    {   4, "Invalid"},
3059
    {   0, NULL }
3060
};
3061
3062
3063
/* 6.5.2.125 SMS_CauseCode (TIA/EIA-41.5-D, page 5-262)
3064
   N.S0011-0 v 1.0
3065
*/
3066
static const value_string ansi_map_SMS_CauseCode_vals[]  = {
3067
    {   0, "Address vacant"},
3068
    {   1, "Address translation failure"},
3069
    {   2, "Network resource shortage"},
3070
    {   3, "Network failure"},
3071
    {   4, "Invalid Teleservice ID"},
3072
    {   5, "Other network problem"},
3073
    {   6, "Unsupported network interface"},
3074
    {   8, "CDMA handset-based position determination failure"},
3075
    {   9, "CDMA handset-based position determination resources released - voice service request"},
3076
    {   10, "CDMA handset-based position determination resources released - voice service request - message acknowledged"},
3077
    {   11, "Reserved"},
3078
    {   12, "Reserved"},
3079
    {   13, "Reserved"},
3080
    {   14, "Emergency Services Call Precedence"},
3081
    {   32, "No page response"},
3082
    {   33, "Destination busy"},
3083
    {   34, "No acknowledgment"},
3084
    {   35, "Destination resource shortage"},
3085
    {   36, "SMS delivery postponed"},
3086
    {   37, "Destination out of service"},
3087
    {   38, "Destination no longer at this address"},
3088
    {   39, "Other terminal problem"},
3089
    {   64, "Radio interface resource shortage"},
3090
    {   65, "Radio interface incompatibility"},
3091
    {   66, "Other radio interface problem"},
3092
    {   67, "Unsupported Base Station Capability"},
3093
    {   96, "Encoding problem"},
3094
    {   97, "Service origination denied"},
3095
    {   98, "Service termination denied"},
3096
    {   99, "Supplementary service not supported"},
3097
    {   100, "Service not supported"},
3098
    {   101, "Reserved"},
3099
    {   102, "Missing expected parameter"},
3100
    {   103, "Missing mandatory parameter"},
3101
    {   104, "Unrecognized parameter value"},
3102
    {   105, "Unexpected parameter value"},
3103
    {   106, "User Data size error"},
3104
    {   107, "Other general problems"},
3105
    {   108, "Session not active"},
3106
    {   109, "Reserved"},
3107
    {   110, "MS Disconnect"},
3108
    {   0, NULL }
3109
};
3110
static value_string_ext ansi_map_SMS_CauseCode_vals_ext = VALUE_STRING_EXT_INIT(ansi_map_SMS_CauseCode_vals);
3111
3112
/* 6.5.2.126 SMS_ChargeIndicator */
3113
/* SMS Charge Indicator (octet 1) */
3114
static const value_string ansi_map_SMS_ChargeIndicator_vals[]  = {
3115
    {   0, "Not used"},
3116
    {   1, "No charge"},
3117
    {   2, "Charge original originator"},
3118
    {   3, "Charge original destination"},
3119
    {   0, NULL }
3120
};
3121
/*      4 through 63 Reserved. Treat the same as value 1, No charge.
3122
        64 through 127 Reserved. Treat the same as value 2, Charge original originator.
3123
        128 through 223 Reserved. Treat the same as value 3, Charge original destination.
3124
        224 through 255 Reserved for TIA/EIA-41 protocol extension. If unknown, treat the same as value 2, Charge
3125
        original originator.
3126
*/
3127
3128
/* 6.5.2.130 SMS_NotificationIndicator N.S0005-0 v 1.0*/
3129
static const value_string ansi_map_SMS_NotificationIndicator_vals[]  = {
3130
    {   0, "Not used"},
3131
    {   1, "Notify when available"},
3132
    {   2, "Do not notify when available"},
3133
    {   0, NULL }
3134
};
3135
3136
/* 6.5.2.136 SMS_OriginationRestrictions */
3137
/* DEFAULT (octet 1, bits A and B) */
3138
3139
static const value_string ansi_map_SMS_OriginationRestrictions_default_vals[]  = {
3140
    {   0, "Block all"},
3141
    {   1, "Reserved"},
3142
    {   2, "Allow specific"},
3143
    {   3, "Allow all"},
3144
    {   0, NULL }
3145
};
3146
/* DIRECT (octet 1, bit C) */
3147
static const true_false_string ansi_map_SMS_OriginationRestrictions_direct_bool_val  = {
3148
    "Allow Direct",
3149
    "Block Direct"
3150
};
3151
3152
/* Force Message Center (FMC) (octet 1, bit D) */
3153
static const true_false_string ansi_map_SMS_OriginationRestrictions_fmc_bool_val  = {
3154
    "Force Indirect",
3155
    "No effect"
3156
};
3157
3158
static void
3159
0
dissect_ansi_map_sms_originationrestrictions(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3160
3161
0
    unsigned offset = 0;
3162
0
    proto_tree *subtree;
3163
3164
3165
0
    subtree = proto_item_add_subtree(actx->created_item, ett_sms_originationrestrictions);
3166
0
    proto_tree_add_item(subtree, hf_ansi_map_reservedBitHGFE, tvb, offset, 1, ENC_BIG_ENDIAN);
3167
0
    proto_tree_add_item(subtree, hf_ansi_map_sms_originationrestrictions_fmc, tvb, offset, 1, ENC_BIG_ENDIAN);
3168
0
    proto_tree_add_item(subtree, hf_ansi_map_sms_originationrestrictions_direct, tvb, offset, 1, ENC_BIG_ENDIAN);
3169
0
    proto_tree_add_item(subtree, hf_ansi_map_sms_originationrestrictions_default, tvb, offset, 1, ENC_BIG_ENDIAN);
3170
3171
0
}
3172
3173
/* 6.5.2.137 SMS_TeleserviceIdentifier */
3174
/* Updated with N.S0011-0 v 1.0 */
3175
3176
#if 0
3177
/* SMS Teleservice Identifier (octets 1 and 2) */
3178
static const value_string ansi_map_SMS_TeleserviceIdentifier_vals[]  = {
3179
    {     0, "Not used"},
3180
    {     1, "Reserved for maintenance"},
3181
    {     2, "SSD Update no response"},
3182
    {     3, "SSD Update successful"},
3183
    {     4, "SSD Update failed"},
3184
    {  4096, "AMPS Extended Protocol Enhanced Services" },
3185
    {  4097, "CDMA Cellular Paging Teleservice" },
3186
    {  4098, "CDMA Cellular Messaging Teleservice" },
3187
    {  4099, "CDMA Voice Mail Notification" },
3188
    { 32513, "TDMA Cellular Messaging Teleservice" },
3189
    { 32520, "TDMA System Assisted Mobile Positioning through Satellite (SAMPS)" },
3190
    { 32584, "TDMA Segmented System Assisted Mobile Positioning Service" },
3191
    {     0, NULL }
3192
};
3193
#endif
3194
/* 6.5.2.140 SPINITriggers */
3195
/* All Origination (All) (octet 1, bit A) */
3196
3197
/* 6.5.2.142 SSDUpdateReport */
3198
static const value_string ansi_map_SSDUpdateReport_vals[]  = {
3199
    {       0, "Not used"},
3200
    {    4096, "AMPS Extended Protocol Enhanced Services"},
3201
    {    4097, "CDMA Cellular Paging Teleservice"},
3202
    {    4098, "CDMA Cellular Messaging Teleservice"},
3203
    {   32513, "TDMA Cellular Messaging Teleservice"},
3204
    {   32514, "TDMA Cellular Paging Teleservice (CPT-136)"},
3205
    {   32515, "TDMA Over-the-Air Activation Teleservice (OATS)"},
3206
    {   32516, "TDMA Over-the-Air Programming Teleservice (OPTS)"},
3207
    {   32517, "TDMA General UDP Transport Service (GUTS)"},
3208
    {   32576, "Reserved"},
3209
    {   32577, "TDMA Segmented Cellular MessagingTeleservice"},
3210
    {   32578, "TDMA Segmented Cellular Paging Teleservice"},
3211
    {   32579, "TDMA Segmented Over-the-Air Activation Teleservice (OATS)"},
3212
    {   32580, "TDMA Segmented Over-the-Air Programming Teleservice (OPTS)."},
3213
    {   32581, "TDMA Segmented General UDP Transport Service (GUTS)"},
3214
    {       0, NULL }
3215
};
3216
3217
/* 6.5.2.143 StationClassMark */
3218
3219
/* 6.5.2.144 SystemAccessData */
3220
3221
/* 6.5.2.146 SystemCapabilities */
3222
/* Updated in N.S0008-0 v 1.0 */
3223
static const true_false_string ansi_map_systemcapabilities_auth_bool_val  = {
3224
    "Authentication parameters were requested on this system access (AUTH=1 in the OMT)",
3225
    "Authentication parameters were not requested on this system access (AUTH=0 in the OMT)."
3226
};
3227
3228
static const true_false_string ansi_map_systemcapabilities_se_bool_val  = {
3229
    "Signaling Message Encryption supported by the system",
3230
    "Signaling Message Encryption not supported by the system"
3231
};
3232
3233
static const true_false_string ansi_map_systemcapabilities_vp_bool_val  = {
3234
    "Voice Privacy supported by the system",
3235
    "Voice Privacy not supported by the system"
3236
};
3237
3238
static const true_false_string ansi_map_systemcapabilities_cave_bool_val  = {
3239
    "System can execute the CAVE algorithm and share SSD for the indicated MS",
3240
    "System cannot execute the CAVE algorithm and cannot share SSD for the indicated MS"
3241
};
3242
3243
static const true_false_string ansi_map_systemcapabilities_ssd_bool_val  = {
3244
    "SSD is shared with the system for the indicated MS",
3245
    "SSD is not shared with the system for the indicated MS"
3246
};
3247
3248
static const true_false_string ansi_map_systemcapabilities_dp_bool_val  = {
3249
    "DP is supported by the system",
3250
    "DP is not supported by the system"
3251
};
3252
3253
static void
3254
0
dissect_ansi_map_systemcapabilities(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3255
3256
0
    unsigned offset = 0;
3257
0
    proto_tree *subtree;
3258
3259
3260
0
    subtree = proto_item_add_subtree(actx->created_item, ett_systemcapabilities);
3261
0
    proto_tree_add_item(subtree, hf_ansi_map_reservedBitHG, tvb, offset, 1, ENC_BIG_ENDIAN);
3262
0
    proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_dp, tvb, offset, 1, ENC_BIG_ENDIAN);
3263
0
    proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_ssd, tvb, offset, 1, ENC_BIG_ENDIAN);
3264
0
    proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_cave, tvb, offset, 1, ENC_BIG_ENDIAN);
3265
0
    proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_vp, tvb, offset, 1, ENC_BIG_ENDIAN);
3266
0
    proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_se, tvb, offset, 1, ENC_BIG_ENDIAN);
3267
0
    proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_auth, tvb, offset, 1, ENC_BIG_ENDIAN);
3268
0
}
3269
3270
/* 6.5.2.151 TDMABurstIndicator */
3271
/* 6.5.2.152 TDMACallMode */
3272
/* 6.5.2.153 TDMAChannelData Updated in N.S0007-0 v 1.0*/
3273
3274
/* 6.5.2.155 TerminationAccessType */
3275
/* XXX Fix Me, Fill up the values or do special decoding? */
3276
static const value_string ansi_map_TerminationAccessType_vals[]  = {
3277
    {   0, "Not used"},
3278
    {   1, "Reserved for controlling system assignment (may be a trunk group identifier)."},
3279
    /* 1 through  127 */
3280
    { 127, "Reserved for controlling system assignment (may be a trunk group identifier)."},
3281
    { 128, "Reserved for TIA/EIA-41 protocol extension. If unknown, treat the same as value 253, Land-to-Mobile Directory Number access"},
3282
    /* 128 through  160 */
3283
    { 160, "Reserved for TIA/EIA-41 protocol extension. If unknown, treat the same as value 253, Land-to-Mobile Directory Number access"},
3284
    { 161, "Reserved for this Standard"},
3285
    /* 161 through  251 */
3286
    { 151, "Reserved for this Standard"},
3287
    { 252, "Mobile-to-Mobile Directory Number access"},
3288
    { 253, "Land-to-Mobile Directory Number access"},
3289
    { 254, "Remote Feature Control port access"},
3290
    { 255, "Roamer port access"},
3291
    {   0, NULL }
3292
};
3293
3294
/* 6.5.2.158 TerminationTreatment */
3295
static const value_string ansi_map_TerminationTreatment_vals[]  = {
3296
    {   0, "Not used"},
3297
    {   1, "MS Termination"},
3298
    {   2, "Voice Mail Storage"},
3299
    {   3, "Voice Mail Retrieval"},
3300
    {   4, "Dialogue Termination"},
3301
    {   0, NULL }
3302
};
3303
3304
/* 6.5.2.159 TerminationTriggers */
3305
/* Busy (octet 1, bits A and B) */
3306
static const value_string ansi_map_terminationtriggers_busy_vals[]  = {
3307
    {   0, "Busy Call"},
3308
    {   1, "Busy Trigger"},
3309
    {   2, "Busy Leg"},
3310
    {   3, "Reserved. Treat as an unrecognized parameter value"},
3311
    {   0, NULL }
3312
};
3313
/* Routing Failure (RF) (octet 1, bits C and D) */
3314
static const value_string ansi_map_terminationtriggers_rf_vals[]  = {
3315
    {   0, "Failed Call"},
3316
    {   1, "Routing Failure Trigger"},
3317
    {   2, "Failed Leg"},
3318
    {   3, "Reserved. Treat as an unrecognized parameter value"},
3319
    {   0, NULL }
3320
};
3321
/* No Page Response (NPR) (octet 1, bits E and F) */
3322
static const value_string ansi_map_terminationtriggers_npr_vals[]  = {
3323
    {   0, "No Page Response Call"},
3324
    {   1, "No Page Response Trigger"},
3325
    {   2, "No Page Response Leg"},
3326
    {   3, "Reserved. Treat as an unrecognized parameter value"},
3327
    {   0, NULL }
3328
};
3329
/* No Answer (NA) (octet 1, bits G and H) */
3330
static const value_string ansi_map_terminationtriggers_na_vals[]  = {
3331
    {   0, "No Answer Call"},
3332
    {   1, "No Answer Trigger"},
3333
    {   2, "No Answer Leg"},
3334
    {   3, "Reserved"},
3335
    {   0, NULL }
3336
};
3337
/* None Reachable (NR) (octet 2, bit A) */
3338
static const value_string ansi_map_terminationtriggers_nr_vals[]  = {
3339
    {   0, "Member Not Reachable"},
3340
    {   1, "Group Not Reachable"},
3341
    {   0, NULL }
3342
};
3343
3344
/* 6.5.2.159 TerminationTriggers N.S0005-0 v 1.0*/
3345
static void
3346
0
dissect_ansi_map_terminationtriggers(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3347
3348
0
    unsigned offset = 0;
3349
0
    proto_tree *subtree;
3350
3351
3352
0
    subtree = proto_item_add_subtree(actx->created_item, ett_transactioncapability);
3353
3354
0
    proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, ENC_BIG_ENDIAN);
3355
    /* No Page Response (NPR) (octet 1, bits E and F) */
3356
0
    proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_npr, tvb, offset, 1, ENC_BIG_ENDIAN);
3357
    /* No Answer (NA) (octet 1, bits G and H) */
3358
0
    proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_na, tvb, offset, 1, ENC_BIG_ENDIAN);
3359
    /* Routing Failure (RF) (octet 1, bits C and D) */
3360
0
    proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_rf, tvb, offset, 1, ENC_BIG_ENDIAN);
3361
    /* Busy (octet 1, bits A and B) */
3362
0
    proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_busy, tvb, offset, 1, ENC_BIG_ENDIAN);
3363
0
    offset++;
3364
3365
    /* None Reachable (NR) (octet 2, bit A) */
3366
0
    proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_nr, tvb, offset, 1, ENC_BIG_ENDIAN);
3367
0
}
3368
3369
/* 6.5.2.160 TransactionCapability (TIA/EIA-41.5-D, page 5-315) */
3370
/* Updated with N.S0010-0 v 1.0, N.S0012-0 v 1.0 N.S0013-0 v 1.0 */
3371
static const true_false_string ansi_map_trans_cap_prof_bool_val  = {
3372
    "The system is capable of supporting the IS-41-C profile parameters",
3373
    "The system is not capable of supporting the IS-41-C profile parameters"
3374
};
3375
3376
static const true_false_string ansi_map_trans_cap_busy_bool_val  = {
3377
    "The system is capable of detecting a busy condition at the current time",
3378
    "The system is not capable of detecting a busy condition at the current time"
3379
};
3380
3381
static const true_false_string ansi_map_trans_cap_ann_bool_val  = {
3382
    "The system is capable of honoring the AnnouncementList parameter at the current time",
3383
    "The system is not capable of honoring the AnnouncementList parameter at the current time"
3384
};
3385
3386
static const true_false_string ansi_map_trans_cap_rui_bool_val  = {
3387
    "The system is capable of interacting with the user",
3388
    "The system is not capable of interacting with the user"
3389
};
3390
3391
static const true_false_string ansi_map_trans_cap_spini_bool_val  = {
3392
    "The system is capable of supporting local SPINI operation",
3393
    "The system is not capable of supporting local SPINI operation at the current time"
3394
};
3395
3396
static const true_false_string ansi_map_trans_cap_uzci_bool_val  = {
3397
    "The system is User Zone capable at the current time",
3398
    "The system is not User Zone capable at the current time"
3399
};
3400
static const true_false_string ansi_map_trans_cap_ndss_bool_val  = {
3401
    "Serving system is NDSS capable",
3402
    "Serving system is not NDSS capable"
3403
};
3404
static const true_false_string ansi_map_trans_cap_nami_bool_val  = {
3405
    "The system is CNAP/CNAR capable",
3406
    "The system is not CNAP/CNAR capable"
3407
};
3408
3409
static const value_string ansi_map_trans_cap_multerm_vals[]  = {
3410
    {   0, "The system cannot accept a termination at this time (i.e., cannot accept routing information)"},
3411
    {   1, "The system supports the number of call legs indicated"},
3412
    {   2, "The system supports the number of call legs indicated"},
3413
    {   3, "The system supports the number of call legs indicated"},
3414
    {   4, "The system supports the number of call legs indicated"},
3415
    {   5, "The system supports the number of call legs indicated"},
3416
    {   6, "The system supports the number of call legs indicated"},
3417
    {   7, "The system supports the number of call legs indicated"},
3418
    {   8, "The system supports the number of call legs indicated"},
3419
    {   9, "The system supports the number of call legs indicated"},
3420
    {   10, "The system supports the number of call legs indicated"},
3421
    {   11, "The system supports the number of call legs indicated"},
3422
    {   12, "The system supports the number of call legs indicated"},
3423
    {   13, "The system supports the number of call legs indicated"},
3424
    {   14, "The system supports the number of call legs indicated"},
3425
    {   15, "The system supports the number of call legs indicated"},
3426
    {   0, NULL }
3427
};
3428
3429
static const true_false_string ansi_map_trans_cap_tl_bool_val  = {
3430
    "The system is capable of supporting the TerminationList parameter at the current time",
3431
    "The system is not capable of supporting the TerminationList parameter at the current time"
3432
};
3433
3434
static const true_false_string ansi_map_trans_cap_waddr_bool_val  = {
3435
    "The system is capable of supporting the TriggerAddressList parameter",
3436
    "The system is not capable of supporting the TriggerAddressList parameter"
3437
};
3438
3439
3440
static void
3441
0
dissect_ansi_map_transactioncapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3442
3443
0
    unsigned offset = 0;
3444
0
    proto_tree *subtree;
3445
3446
3447
0
    subtree = proto_item_add_subtree(actx->created_item, ett_transactioncapability);
3448
3449
    /*NAME Capability Indicator (NAMI) (octet 1, bit H) */
3450
0
    proto_tree_add_item(subtree, hf_ansi_map_trans_cap_nami, tvb, offset, 1, ENC_BIG_ENDIAN);
3451
    /* NDSS Capability (NDSS) (octet 1, bit G) */
3452
0
    proto_tree_add_item(subtree, hf_ansi_map_trans_cap_ndss, tvb, offset, 1, ENC_BIG_ENDIAN);
3453
    /* UZ Capability Indicator (UZCI) (octet 1, bit F) */
3454
0
    proto_tree_add_item(subtree, hf_ansi_map_trans_cap_uzci, tvb, offset, 1, ENC_BIG_ENDIAN);
3455
    /* Subscriber PIN Intercept (SPINI) (octet 1, bit E) */
3456
0
    proto_tree_add_item(subtree, hf_ansi_map_trans_cap_spini, tvb, offset, 1, ENC_BIG_ENDIAN);
3457
    /* Remote User Interaction (RUI) (octet 1, bit D) */
3458
0
    proto_tree_add_item(subtree, hf_ansi_map_trans_cap_rui, tvb, offset, 1, ENC_BIG_ENDIAN);
3459
    /* Announcements (ANN) (octet 1, bit C) */
3460
0
    proto_tree_add_item(subtree, hf_ansi_map_trans_cap_ann, tvb, offset, 1, ENC_BIG_ENDIAN);
3461
    /* Busy Detection (BUSY) (octet 1, bit B) */
3462
0
    proto_tree_add_item(subtree, hf_ansi_map_trans_cap_busy, tvb, offset, 1, ENC_BIG_ENDIAN);
3463
    /* Profile (PROF) (octet 1, bit A) */
3464
0
    proto_tree_add_item(subtree, hf_ansi_map_trans_cap_prof, tvb, offset, 1, ENC_BIG_ENDIAN);
3465
0
    offset++;
3466
3467
    /* WIN Addressing (WADDR) (octet 2, bit F) */
3468
0
    proto_tree_add_item(subtree, hf_ansi_trans_cap_waddr, tvb, offset, 1, ENC_BIG_ENDIAN);
3469
    /* TerminationList (TL) (octet 2, bit E) */
3470
0
    proto_tree_add_item(subtree, hf_ansi_trans_cap_tl, tvb, offset, 1, ENC_BIG_ENDIAN);
3471
    /* Multiple Terminations (octet 2, bits A-D) */
3472
0
    proto_tree_add_item(subtree, hf_ansi_trans_cap_multerm, tvb, offset, 1, ENC_BIG_ENDIAN);
3473
0
}
3474
3475
/* 6.5.2.162 UniqueChallengeReport */
3476
/* Unique Challenge Report (octet 1) */
3477
static const value_string ansi_map_UniqueChallengeReport_vals[]  = {
3478
    {   0, "Not used"},
3479
    {   1, "Unique Challenge not attempted"},
3480
    {   2, "Unique Challenge no response"},
3481
    {   3, "Unique Challenge successful"},
3482
    {   4, "Unique Challenge failed"},
3483
    {   0, NULL }
3484
};
3485
3486
/* 6.5.2.166 VoicePrivacyMask */
3487
3488
3489
/* 6.5.2.e (TSB76) CDMAServiceConfigurationRecord N.S0008-0 v 1.0 */
3490
/* a. This field carries the CDMA Service Configuration Record. The bit-layout is the
3491
   same as that of Service Configuration Record in TSB74, and J-STD-008.
3492
*/
3493
3494
/* 6.5.2.f CDMAServiceOption N.S0010-0 v 1.0 */
3495
3496
/* values copied from old ANSI map dissector */
3497
static const range_string cdmaserviceoption_vals[] = {
3498
    { 1, 1, "Basic Variable Rate Voice Service (8 kbps)" },
3499
    { 2, 2, "Mobile Station Loopback (8 kbps)" },
3500
    { 3, 3, "Enhanced Variable Rate Voice Service (8 kbps)" },
3501
    { 4, 4, "Asynchronous Data Service (9.6 kbps)" },
3502
    { 5, 5, "Group 3 Facsimile (9.6 kbps)" },
3503
    { 6, 6, "Short Message Services (Rate Set 1)" },
3504
    { 7, 7, "Packet Data Service: Internet or ISO Protocol Stack (9.6 kbps)" },
3505
    { 8, 8, "Packet Data Service: CDPD Protocol Stack (9.6 kbps)" },
3506
    { 9, 9, "Mobile Station Loopback (13 kbps)" },
3507
    { 10, 10, "STU-III Transparent Service" },
3508
    { 11, 11, "STU-III Non-Transparent Service" },
3509
    { 12, 12, "Asynchronous Data Service (14.4 or 9.6 kbps)" },
3510
    { 13, 13, "Group 3 Facsimile (14.4 or 9.6 kbps)" },
3511
    { 14, 14, "Short Message Services (Rate Set 2)" },
3512
    { 15, 15, "Packet Data Service: Internet or ISO Protocol Stack (14.4 kbps)" },
3513
    { 16, 16, "Packet Data Service: CDPD Protocol Stack (14.4 kbps)" },
3514
    { 17, 17, "High Rate Voice Service (13 kbps)" },
3515
    { 18, 18, "Over-the-Air Parameter Administration (Rate Set 1)" },
3516
    { 19, 19, "Over-the-Air Parameter Administration (Rate Set 2)" },
3517
    { 20, 20, "Group 3 Analog Facsimile (Rate Set 1)" },
3518
    { 21, 21, "Group 3 Analog Facsimile (Rate Set 2)" },
3519
    { 22, 22, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS1 forward, RS1 reverse)" },
3520
    { 23, 23, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS1 forward, RS2 reverse)" },
3521
    { 24, 24, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS2 forward, RS1 reverse)" },
3522
    { 25, 25, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS2 forward, RS2 reverse)" },
3523
    { 26, 26, "High Speed Packet Data Service: CDPD Protocol Stack (RS1 forward, RS1 reverse)" },
3524
    { 27, 27, "High Speed Packet Data Service: CDPD Protocol Stack (RS1 forward, RS2 reverse)" },
3525
    { 28, 28, "High Speed Packet Data Service: CDPD Protocol Stack (RS2 forward, RS1 reverse)" },
3526
    { 29, 29, "High Speed Packet Data Service: CDPD Protocol Stack (RS2 forward, RS2 reverse)" },
3527
    { 30, 30, "Supplemental Channel Loopback Test for Rate Set 1" },
3528
    { 31, 31, "Supplemental Channel Loopback Test for Rate Set 2" },
3529
    { 32, 32, "Test Data Service Option (TDSO)" },
3530
    { 33, 33, "cdma2000 High Speed Packet Data Service, Internet or ISO Protocol Stack" },
3531
    { 34, 34, "cdma2000 High Speed Packet Data Service, CDPD Protocol Stack" },
3532
    { 35, 35, "Location Services, Rate Set 1 (9.6 kbps)" },
3533
    { 36, 36, "Location Services, Rate Set 2 (14.4 kbps)" },
3534
    { 37, 37, "ISDN Interworking Service (64 kbps)" },
3535
    { 38, 38, "GSM Voice" },
3536
    { 39, 39, "GSM Circuit Data" },
3537
    { 40, 40, "GSM Packet Data" },
3538
    { 41, 41, "GSM Short Message Service" },
3539
    { 42, 42, "None Reserved for MC-MAP standard service options" },
3540
    { 54, 54, "Markov Service Option (MSO)" },
3541
    { 55, 55, "Loopback Service Option (LSO)" },
3542
    { 56, 56, "Selectable Mode Vocoder" },
3543
    { 57, 57, "32 kbps Circuit Video Conferencing" },
3544
    { 58, 58, "64 kbps Circuit Video Conferencing" },
3545
    { 59, 59, "HRPD Accounting Records Identifier" },
3546
    { 60, 60, "Link Layer Assisted Robust Header Compression (LLA ROHC) - Header Removal" },
3547
    { 61, 61, "Link Layer Assisted Robust Header Compression (LLA ROHC) - Header Compression" },
3548
    { 62, 62, "Source-Controlled Variable-Rate Multimode Wideband Speech Codec (VMR-WB) Rate Set 2" },
3549
    { 63, 63, "Source-Controlled Variable-Rate Multimode Wideband Speech Codec (VMR-WB) Rate Set 1" },
3550
    { 64, 64, "HRPD auxiliary Packet Data Service instance" },
3551
    { 65, 65, "cdma2000/GPRS Inter-working" },
3552
    { 66, 66, "cdma2000 High Speed Packet Data Service, Internet or ISO Protocol Stack" },
3553
    { 67, 67, "HRPD Packet Data IP Service where Higher Layer Protocol is IP or ROHC" },
3554
    { 68, 68, "Enhanced Variable Rate Voice Service (EVRC-B)" },
3555
    { 69, 69, "HRPD Packet Data Service, which when used in paging over the 1x air interface, a page response is required" },
3556
    { 70, 70, "Enhanced Variable Rate Voice Service (EVRC-WB)" },
3557
    { 71, 4099, "None Reserved for standard service options" },
3558
    { 4100, 4100, "Asynchronous Data Service, Revision 1 (9.6 or 14.4 kbps)" },
3559
    { 4101, 4101, "Group 3 Facsimile, Revision 1 (9.6 or 14.4 kbps)" },
3560
    { 4102, 4102, "Reserved for standard service option" },
3561
    { 4103, 4103, "Packet Data Service: Internet or ISO Protocol Stack, Revision 1 (9.6 or 14.4 kbps)" },
3562
    { 4104, 4104, "Packet Data Service: CDPD Protocol Stack, Revision 1 (9.6 or 14.4 kbps)" },
3563
    { 4105, 32767, "Reserved for standard service options" },
3564
    { 32768, 32768, "QCELP (13 kbps)" },
3565
    { 32769, 32771, "Proprietary QUALCOMM Incorporated" },
3566
    { 32772, 32775, "Proprietary OKI Telecom" },
3567
    { 32776, 32779, "Proprietary Lucent Technologies" },
3568
    { 32780, 32783, "Nokia" },
3569
    { 32784, 32787, "NORTEL NETWORKS" },
3570
    { 32788, 32791, "Sony Electronics Inc" },
3571
    { 32792, 32795, "Motorola" },
3572
    { 32796, 32799, "QUALCOMM Incorporated" },
3573
    { 32800, 32803, "QUALCOMM Incorporated" },
3574
    { 32804, 32807, "QUALCOMM Incorporated" },
3575
    { 32808, 32811, "QUALCOMM Incorporated" },
3576
    { 32812, 32815, "Lucent Technologies" },
3577
    { 32816, 32819, "Denso International" },
3578
    { 32820, 32823, "Motorola" },
3579
    { 32824, 32827, "Denso International" },
3580
    { 32828, 32831, "Denso International" },
3581
    { 32832, 32835, "Denso International" },
3582
    { 32836, 32839, "NEC America" },
3583
    { 32840, 32843, "Samsung Electronics" },
3584
    { 32844, 32847, "Texas Instruments Incorporated" },
3585
    { 32848, 32851, "Toshiba Corporation" },
3586
    { 32852, 32855, "LG Electronics Inc." },
3587
    { 32856, 32859, "VIA Telecom Inc." },
3588
    { 0,           0,          NULL                   }
3589
};
3590
3591
static void
3592
0
dissect_ansi_map_cdmaserviceoption(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3593
0
    unsigned offset = 0;
3594
0
    proto_tree *subtree;
3595
3596
3597
0
    subtree = proto_item_add_subtree(actx->created_item, ett_cdmaserviceoption);
3598
3599
0
    proto_tree_add_item(subtree, hf_ansi_map_cdmaserviceoption, tvb, offset, 2, ENC_BIG_ENDIAN);
3600
3601
3602
0
}
3603
/* 6.5.2.f (TSB76) CDMAServiceOption N.S0008-0 v 1.0*/
3604
/* This field carries the CDMA Service Option. The bit-layout is the same as that of
3605
   Service Option in TSB74 and J-STD-008.*/
3606
3607
/* 6.5.2.i (IS-730) TDMAServiceCode N.S0008-0 v 1.0 */
3608
static const value_string ansi_map_TDMAServiceCode_vals[]  = {
3609
    {   0, "Analog Speech Only"},
3610
    {   1, "Digital Speech Only"},
3611
    {   2, "Analog or Digital Speech, Analog Preferred"},
3612
    {   3, "Analog or Digital Speech, Digital Preferred"},
3613
    {   4, "Asynchronous Data"},
3614
    {   5, "G3 Fax"},
3615
    {   6, "Not Used (Service Rejected)"},
3616
    {   7, "STU-III"},
3617
    {   0, NULL }
3618
};
3619
#if 0
3620
/* 6.5.2.j (IS-730) TDMATerminalCapability N.S0008-0 v 1.0 Updated with N.S0015-0 */
3621
/* Supported Frequency Band (octet 1) */
3622
/* Voice Coder (octet 2) */
3623
/* Protocol Version (octet 3) N.S0015-0 */
3624
static const value_string ansi_map_TDMATerminalCapability_prot_ver_vals[]  = {
3625
    {   0, "EIA-553 or IS-54-A"},
3626
    {   1, "TIA/EIA-627.(IS-54-B)"},
3627
    {   2, "IS-136"},
3628
    {   3, "Permanently Reserved (ANSI J-STD-011).Treat the same as value 4, IS-136-A."},
3629
    {   4, "PV 0 as published in TIA/EIA-136-0 and IS-136-A."},
3630
    {   5, "PV 1 as published in TIA/EIA-136-A."},
3631
    {   6, "PV 2 as published in TIA/EIA-136-A."},
3632
    {   7, "PV 3 as published in TIA/EIA-136-A."},
3633
    {   0, NULL }
3634
};
3635
#endif
3636
/* Asynchronous Data (ADS) (octet 4, bit A) N.S0007-0*/
3637
/* Group 3 Fax (G3FAX) (octet 4, bit B) */
3638
/* Secure Telephone Unit III (STU3) (octet 4, bit C) */
3639
/* Analog Voice (AVOX) (octet 4, bit D) */
3640
/* Half Rate (HRATE) (octet 4, bit E) */
3641
/* Full Rate (FRATE) (octet 4, bit F) */
3642
/* Double Rate (2RATE) (octet 4, bit G) */
3643
/* Triple Rate (3RATE) (octet 4, bit H) */
3644
3645
3646
/* 6.5.2.k (IS-730)) TDMAVoiceCoder N.S0008-0 v 1.0, N.S0007-0 */
3647
/* VoiceCoder (octet 1) */
3648
3649
/* 6.5.2.p UserZoneData N.S0015-0 */
3650
3651
/* 6.5.2.aa BaseStationManufacturerCode N.S0007-0 v 1.0 */
3652
/* The BaseStationManufacturerCode (BSMC) parameter specifies the manufacturer of the
3653
   base station that is currently serving the MS (see IS-136 for enumeration of values).*/
3654
3655
/* 6.5.2.ab BSMCStatus */
3656
3657
/* BSMC Status (octet 1) */
3658
static const value_string ansi_map_BSMCStatus_vals[]  = {
3659
    {   0, "Same BSMC Value shall not be supported"},
3660
    {   1, "Same BSMC Value shall be supported"},
3661
    {   0, NULL }
3662
};
3663
3664
/*- 6.5.2.ac ControlChannelMode (N.S0007-0 v 1.0)*/
3665
static const value_string ansi_map_ControlChannelMode_vals[]  = {
3666
    {   0, "Unknown"},
3667
    {   1, "MS is in Analog CC Mode"},
3668
    {   2, "MS is in Digital CC Mode"},
3669
    {   3, "MS is in NAMPS CC Mode"},
3670
    {   0, NULL }
3671
};
3672
3673
/* 6.5.2.ad NonPublicData N.S0007-0 v 1.0*/
3674
/* NP Only Service (NPOS) (octet 1, bits A and B) */
3675
/* Charging Area Tone Service (CATS) (octet 1, bits C - F) */
3676
/* PSID/RSID Download Order (PRDO) (octet 1, bits G and H) */
3677
3678
/* 6.5.2.ae PagingFrameClass N.S0007-0 v 1.0*/
3679
/* Paging Frame Class (octet 1) */
3680
3681
static const value_string ansi_map_PagingFrameClass_vals[]  = {
3682
    {   0, "PagingFrameClass 1 (1.28 seconds)"},
3683
    {   1, "PagingFrameClass 2 (2.56 seconds)"},
3684
    {   2, "PagingFrameClass 3 (3.84 seconds)"},
3685
    {   3, "PagingFrameClass 4 (7.68 seconds)"},
3686
    {   4, "PagingFrameClass 5 (15.36 seconds)"},
3687
    {   5, "PagingFrameClass 6 (30.72 seconds)"},
3688
    {   6, "PagingFrameClass 7 (61.44 seconds)"},
3689
    {   7, "PagingFrameClass 8 (122.88 seconds)"},
3690
    {   8, "Reserved. Treat the same as value 0, PagingFrameClass 1"},
3691
    {   0, NULL }
3692
};
3693
3694
/* 6.5.2.af PSID_RSIDInformation N.S0007-0 v 1.0*/
3695
/* PSID/RSID Indicator (octet 1, bit A) */
3696
/* PSID/RSID Type (octet 1, bits B-D) */
3697
3698
/* 6.5.2.ah ServicesResult N.S0007-0 v 1.0*/
3699
/* PSID/RSID Download Result (PRDR) (octet 1, bits A and B) */
3700
static const value_string ansi_map_ServicesResult_ppr_vals[]  = {
3701
    {   0, "No Indication"},
3702
    {   1, "Unsuccessful PSID/RSID download"},
3703
    {   2, "Successful PSID/RSID download"},
3704
    {   3, "Reserved. Treat the same as value 0, No Indication"},
3705
    {   0, NULL }
3706
};
3707
3708
/* 6.5.2.ai SOCStatus N.S0007-0 v 1.0*/
3709
3710
/* SOC Status (octet 1) */
3711
static const value_string ansi_map_SOCStatus_vals[]  = {
3712
    {   0, "Same SOC Value shall not be supported"},
3713
    {   1, "Same SOC Value shall be supported"},
3714
    {   0, NULL }
3715
};
3716
3717
/* 6.5.2.aj SystemOperatorCode N.S0007-0 v 1.0*/
3718
/* The SystemOperatorCode (SOC) parameter specifies the system operator that is currently
3719
   providing service to a MS (see IS-136 for enumeration of values) */
3720
3721
/* 6.5.2.al UserGroup N.S0007-0 v 1.0*/
3722
3723
/* 6.5.2.am UserZoneData N.S0007-0 v 1.0*/
3724
3725
3726
/*Table 6.5.2.ay TDMABandwidth value N.S0008-0 v 1.0 */
3727
static const value_string ansi_map_TDMABandwidth_vals[]  = {
3728
    {   0, "Half-Rate Digital Traffic Channel Only"},
3729
    {   1, "Full-Rate Digital Traffic Channel Only"},
3730
    {   2, "Half-Rate or Full-rate Digital Traffic Channel - Full-Rate Preferred"},
3731
    {   3, "Half-rate or Full-rate Digital Traffic Channel - Half-rate Preferred"},
3732
    {   4, "Double Full-Rate Digital Traffic Channel Only"},
3733
    {   5, "Triple Full-Rate Digital Traffic Channel Only"},
3734
    {   6, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3735
    {   7, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3736
    {   8, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3737
    {   9, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3738
    {   10, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3739
    {   11, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3740
    {   12, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3741
    {   13, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3742
    {   14, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3743
    {   15, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3744
    {   0, NULL }
3745
3746
};
3747
3748
/* 6.5.2.az TDMADataFeaturesIndicator N.S0008-0 v 1.0 */
3749
/* TDMADataFeaturesIndicator
3750
   ansi_map_FeatureActivity_vals
3751
3752
   ADS FeatureActivity ADS-FA ( octet 1 bit A and B )
3753
   G3 Fax FeatureActivity G3FAX-FA ( octet 1 bit C and D )
3754
   STU-III FeatureActivity STUIII-FA ( octet 1 bit E and F )
3755
   Half Rate data FeatureActivity HRATE-FA ( octet 2 bit A and B )
3756
   Full Rate data FeatureActivity FRATE-FA ( octet 2 bit C and D )
3757
   Double Rate data FeatureActivity 2RATE-FA ( octet 2 bit E and F )
3758
   Triple Rate data FeatureActivity 3RATE-FA ( octet g bit G and H )
3759
3760
   Table 6.5.2.azt TDMADataFeaturesIndicator value
3761
   static const value_string ansi_map_TDMADataFeaturesIndicator_vals[]  = {
3762
   {   0, "Not Used"},
3763
   {   1, "Not Authorized"},
3764
   {   2, "Authorized, but de-activated"},
3765
   {   3, "Authorized and activated"},
3766
   {   0, NULL }
3767
3768
   };
3769
*/
3770
3771
/* 6.5.2.ba TDMADataMode N.S0008-0 v 1.0*/
3772
3773
/* 6.5.2.bb TDMAVoiceMode */
3774
3775
/* 6.5.2.bb CDMAConnectionReference N.S0008-0 v 1.0 */
3776
/* Service Option Connection Reference Octet 1 */
3777
/*      a. This field carries the CDMA Service Option Connection Reference. The bitlayout
3778
        is the same as that of Service Option Connection Reference in TSB74 and
3779
        J-STD-008.
3780
*/
3781
3782
/* 6.5.2.ad CDMAState N.S0008-0 v 1.0 */
3783
/* Service Option State Octet 1 */
3784
/* a. This field carries the CDMA Service Option State information. The CDMA
3785
   Service Option State is defined in the current CDMA Service Options standard.
3786
   If CDMA Service Option State is not explicitly defined within a section of the
3787
   relevant CDMA Service Option standard, the CDMA Service Option State shall
3788
   carry the value of the ORD_Q octet of all current Service Option Control Orders
3789
   (see IS-95), or the contents of all current CDMA Service Option Control
3790
   Messages (see TSB74) type specific field for this connection reference. */
3791
3792
/* 6.5.2.aj SecondInterMSCCircuitID */
3793
/* -- XXX Same code as ISLPinformation???
3794
   dissect_ansi_map_secondintermsccircuitid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree){
3795
3796
   unsigned offset = 0;
3797
3798
   proto_tree *subtree;
3799
3800
3801
   subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
3802
   / Trunk Group Number (G) Octet 1 /
3803
   proto_tree_add_item(subtree, hf_ansi_map_tgn, tvb, offset, 1, ENC_BIG_ENDIAN);
3804
   offset++;
3805
   / Trunk Member Number (M) Octet2 /
3806
   proto_tree_add_item(subtree, hf_ansi_map_tmn, tvb, offset, 1, ENC_BIG_ENDIAN);
3807
   }
3808
*/
3809
#if 0
3810
/* 6.5.2.as ChangeServiceAttributes N.S0008-0 v 1.0 */
3811
/* Change Facilities Flag (CHGFAC)(octet 1, bits A - B) */
3812
static const value_string ansi_map_ChangeServiceAttributes_chgfac_vals[]  = {
3813
    {   0, "Change Facilities Operation Requested"},
3814
    {   1, "Change Facilities Operation Not Requested"},
3815
    {   2, "Change Facilities Operation Used"},
3816
    {   3, "Change Facilities Operation Not Used"},
3817
    {   0, NULL }
3818
};
3819
#endif
3820
#if 0
3821
/* Service Negotiate Flag (SRVNEG)(octet 1, bits C - D) */
3822
static const value_string ansi_map_ChangeServiceAttributes_srvneg_vals[]  = {
3823
    {   0, "Service Negotiation Used"},
3824
    {   1, "Service Negotiation Not Used"},
3825
    {   2, "Service Negotiation Required"},
3826
    {   3, "Service Negotiation Not Required"},
3827
    {   0, NULL }
3828
};
3829
#endif
3830
#if 0
3831
/* 6.5.2.au DataPrivacyParameters N.S0008-0 v 1.0*/
3832
/* Privacy Mode (PM) (octet 1, Bits A and B) */
3833
static const value_string ansi_map_DataPrivacyParameters_pm_vals[]  = {
3834
    {   0, "Privacy inactive or not supported"},
3835
    {   1, "Privacy Requested or Acknowledged"},
3836
    {   2, "Reserved. Treat reserved values the same as value 0, Privacy inactive or not supported."},
3837
    {   3, "Reserved. Treat reserved values the same as value 0, Privacy inactive or not supported."},
3838
    {   0, NULL }
3839
};
3840
#endif
3841
#if 0
3842
/* Data Privacy Version (PM) (octet 2) */
3843
static const value_string ansi_map_DataPrivacyParameters_data_priv_ver_vals[]  = {
3844
    {   0, "Not used"},
3845
    {   1, "Data Privacy Version 1"},
3846
    {   0, NULL }
3847
};
3848
#endif
3849
3850
/* 6.5.2.av ISLPInformation N.S0008-0 v 1.0*/
3851
/* ISLP Type (octet 1) */
3852
static const value_string ansi_map_islp_type_vals[]  = {
3853
    {   0, "No ISLP supported"},
3854
    {   1, "ISLP supported"},
3855
    {   0, NULL }
3856
};
3857
/* 6.5.2.bc AnalogRedirectInfo */
3858
/* Sys Ordering (octet 1, bits A-E) */
3859
/* Ignore CDMA (IC) (octet 1, bit F) */
3860
3861
/* 6.5.2.be CDMAChannelNumber N.S0010-0 v 1.0*/
3862
3863
/* 6.5.2.bg CDMAPowerCombinedIndicator N.S0010-0 v 1.0*/
3864
3865
/* 6.5.2.bi CDMASearchParameters N.S0010-0 v 1.0*/
3866
3867
/* 6.5.2.bk CDMANetworkIdentification N.S0010-0 v 1.0*/
3868
/* See CDMA [J-STD-008] for encoding of this field. */
3869
3870
/* 6.5.2.bo RequiredParametersMask N.S0010-0 v 1.0 */
3871
3872
/* 6.5.2.bp ServiceRedirectionCause */
3873
static const value_string ansi_map_ServiceRedirectionCause_type_vals[]  = {
3874
    {   0, "Not used"},
3875
    {   1, "NormalRegistration"},
3876
    {   2, "SystemNotFound."},
3877
    {   3, "ProtocolMismatch."},
3878
    {   4, "RegistrationRejection."},
3879
    {   5, "WrongSID."},
3880
    {   6, "WrongNID.."},
3881
    {   0, NULL }
3882
};
3883
3884
/* 6.5.2.bq ServiceRedirectionInfo  N.S0010-0 v 1.0 */
3885
3886
/* 6.5.2.br RoamingIndication N.S0010-0 v 1.0*/
3887
/* See CDMA [TSB58] for the definition of this field. */
3888
3889
/* 6.5.2.bw CallingPartyName N.S0012-0 v 1.0*/
3890
3891
#if 0
3892
/* Presentation Status (octet 1, bits A and B) */
3893
static const value_string ansi_map_Presentation_Status_vals[]  = {
3894
    {   0, "Presentation allowed"},
3895
    {   1, "Presentation restricted"},
3896
    {   2, "Blocking toggle"},
3897
    {   3, "No indication"},
3898
    {   0, NULL }
3899
};
3900
#endif
3901
#if 0
3902
/* Availability (octet 1, bit E) N.S0012-0 v 1.0*/
3903
static const true_false_string ansi_map_Availability_bool_val  = {
3904
    "Name not available",
3905
    "Name available/unknown"
3906
};
3907
#endif
3908
static void
3909
0
dissect_ansi_map_callingpartyname(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3910
3911
    /* Availability (octet 1, bit E) N.S0012-0 v 1.0*/
3912
3913
    /* Presentation Status (octet 1, bits A and B) */
3914
3915
3916
3917
0
}
3918
3919
3920
/* 6.5.2.bx DisplayText N.S0012-0 v 1.0*/
3921
/* a. Refer to ANSI T1.610 for field encoding. */
3922
3923
/* 6.5.2.bz ServiceID
3924
   Service Identifier (octets 1 to n)
3925
   0 Not used.
3926
   1 Calling Name Presentation - No RND.
3927
   2 Calling Name Presentation with RND.
3928
*/
3929
3930
/* 6.5.2.co GlobalTitle N.S0013-0 v 1.0
3931
 * Refer to Section 3 of ANSI T1.112 for the encoding of this field.
3932
 */
3933
/* Address Indicator octet 1 */
3934
/* Global Title Octet 2 - n */
3935
3936
3937
#if 0
3938
/* 6.5.2.dc SpecializedResource N.S0013-0 v 1.0*/
3939
/* Resource Type (octet 1) */
3940
static const value_string ansi_map_resource_type_vals[]  = {
3941
    {   0, "Not used"},
3942
    {   1, "DTMF tone detector"},
3943
    {   2, "Automatic Speech Recognition - Speaker Independent - Digits"},
3944
    {   3, "Automatic Speech Recognition - Speaker Independent - Speech User Interface Version 1"},
3945
    {   0, NULL }
3946
};
3947
#endif
3948
/* 6.5.2.df TriggerCapability */
3949
/* Updated with N.S0004 N.S0013-0 v 1.0*/
3950
3951
static const true_false_string ansi_map_triggercapability_bool_val  = {
3952
    "triggers can be armed by the TriggerAddressList parameter",
3953
    "triggers cannot be armed by the TriggerAddressList parameter"
3954
};
3955
3956
static void
3957
0
dissect_ansi_map_triggercapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3958
3959
0
    unsigned offset = 0;
3960
0
    proto_tree *subtree;
3961
3962
3963
0
    subtree = proto_item_add_subtree(actx->created_item, ett_triggercapability);
3964
3965
3966
    /* O_No_Answer (ONA) (octet 1, bit H)*/
3967
0
    proto_tree_add_item(subtree, hf_ansi_map_triggercapability_ona, tvb, offset,        1, ENC_BIG_ENDIAN);
3968
    /* O_Disconnect (ODISC) (octet 1, bit G)*/
3969
0
    proto_tree_add_item(subtree, hf_ansi_map_triggercapability_odisc, tvb, offset,      1, ENC_BIG_ENDIAN);
3970
    /* O_Answer (OANS) (octet 1, bit F)*/
3971
0
    proto_tree_add_item(subtree, hf_ansi_map_triggercapability_oans, tvb, offset,       1, ENC_BIG_ENDIAN);
3972
    /* Origination_Attempt_Authorized (OAA) (octet 1, bit E)*/
3973
0
    proto_tree_add_item(subtree, hf_ansi_map_triggercapability_oaa, tvb, offset,        1, ENC_BIG_ENDIAN);
3974
    /* Revertive_Call (RvtC) (octet 1, bit D)*/
3975
0
    proto_tree_add_item(subtree, hf_ansi_map_triggercapability_rvtc, tvb, offset,       1, ENC_BIG_ENDIAN);
3976
    /* All_Calls (All) (octet 1, bit C)*/
3977
0
    proto_tree_add_item(subtree, hf_ansi_map_triggercapability_all, tvb, offset,        1, ENC_BIG_ENDIAN);
3978
    /* K-digit (K-digit) (octet 1, bit B)*/
3979
0
    proto_tree_add_item(subtree, hf_ansi_map_triggercapability_kdigit, tvb, offset,     1, ENC_BIG_ENDIAN);
3980
    /* Introducing Star/Pound (INIT) (octet 1, bit A) */
3981
0
    proto_tree_add_item(subtree, hf_ansi_map_triggercapability_init, tvb, offset,       1, ENC_BIG_ENDIAN);
3982
0
    offset++;
3983
3984
3985
    /* O_Called_Party_Busy (OBSY) (octet 2, bit H)*/
3986
0
    proto_tree_add_item(subtree, hf_ansi_map_triggercapability_obsy, tvb, offset,       1, ENC_BIG_ENDIAN);
3987
    /* Called_Routing_Address_Available (CdRAA) (octet 2, bit G)*/
3988
0
    proto_tree_add_item(subtree, hf_ansi_map_triggercapability_cdraa, tvb, offset,      1, ENC_BIG_ENDIAN);
3989
    /* Initial_Termination (IT) (octet 2, bit F)*/
3990
0
    proto_tree_add_item(subtree, hf_ansi_map_triggercapability_it, tvb, offset,         1, ENC_BIG_ENDIAN);
3991
    /* Calling_Routing_Address_Available (CgRAA)*/
3992
0
    proto_tree_add_item(subtree, hf_ansi_map_triggercapability_cgraa, tvb, offset,      1, ENC_BIG_ENDIAN);
3993
    /* Advanced_Termination (AT) (octet 2, bit D)*/
3994
0
    proto_tree_add_item(subtree, hf_ansi_map_triggercapability_at, tvb, offset,         1, ENC_BIG_ENDIAN);
3995
    /* Prior_Agreement (PA) (octet 2, bit C)*/
3996
0
    proto_tree_add_item(subtree, hf_ansi_map_triggercapability_pa, tvb, offset,         1, ENC_BIG_ENDIAN);
3997
    /* Unrecognized_Number (Unrec) (octet 2, bit B)*/
3998
0
    proto_tree_add_item(subtree, hf_ansi_map_triggercapability_unrec, tvb, offset,      1, ENC_BIG_ENDIAN);
3999
    /* Call Types (CT) (octet 2, bit A)*/
4000
0
    proto_tree_add_item(subtree, hf_ansi_map_triggercapability_ct, tvb, offset,         1, ENC_BIG_ENDIAN);
4001
0
    offset++;
4002
    /* */
4003
    /* */
4004
    /* */
4005
    /* T_Disconnect (TDISC) (octet 3, bit E)*/
4006
0
    proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tdisc, tvb, offset,      1, ENC_BIG_ENDIAN);
4007
    /* T_Answer (TANS) (octet 3, bit D)*/
4008
0
    proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tans, tvb, offset,       1, ENC_BIG_ENDIAN);
4009
    /* T_No_Answer (TNA) (octet 3, bit C)*/
4010
0
    proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tna, tvb, offset,        1, ENC_BIG_ENDIAN);
4011
    /* T_Busy (TBusy) (octet 3, bit B)*/
4012
0
    proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tbusy, tvb, offset,      1, ENC_BIG_ENDIAN);
4013
    /* Terminating_Resource_Available (TRA) (octet 3, bit A) */
4014
0
    proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tra, tvb, offset,        1, ENC_BIG_ENDIAN);
4015
4016
0
}
4017
/* 6.5.2.ei DMH_ServiceID N.S0018 */
4018
4019
/* 6.5.2.dj WINOperationsCapability */
4020
/* Updated with N.S0004 */
4021
/* ConnectResource (CONN) (octet 1, bit A) */
4022
static const true_false_string ansi_map_winoperationscapability_conn_bool_val  = {
4023
    "Sender is capable of supporting the ConnectResource, DisconnectResource, ConnectionFailureReport and ResetTimer (SSFT timer) operations",
4024
    "Sender is not capable of supporting the ConnectResource, DisconnectResource,ConnectionFailureReport and ResetTimer (SSFT timer) operations"
4025
};
4026
4027
/* CallControlDirective (CCDIR) (octet 1, bit B) */
4028
static const true_false_string ansi_map_winoperationscapability_ccdir_bool_val  = {
4029
    "Sender is capable of supporting the CallControlDirective operation",
4030
    "Sender is not capable of supporting the CallControlDirective operation"
4031
};
4032
4033
/* PositionRequest (POS) (octet 1, bit C) */
4034
static const true_false_string ansi_map_winoperationscapability_pos_bool_val  = {
4035
    "Sender is capable of supporting the PositionRequest operation",
4036
    "Sender is not capable of supporting the PositionRequest operation"
4037
};
4038
static void
4039
0
dissect_ansi_map_winoperationscapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
4040
4041
0
    unsigned offset = 0;
4042
0
    proto_tree *subtree;
4043
4044
0
    subtree = proto_item_add_subtree(actx->created_item, ett_winoperationscapability);
4045
4046
    /* PositionRequest (POS) (octet 1, bit C) */
4047
0
    proto_tree_add_item(subtree, hf_ansi_map_winoperationscapability_pos, tvb, offset,  1, ENC_BIG_ENDIAN);
4048
    /* CallControlDirective (CCDIR) (octet 1, bit B) */
4049
0
    proto_tree_add_item(subtree, hf_ansi_map_winoperationscapability_ccdir, tvb, offset,        1, ENC_BIG_ENDIAN);
4050
    /* ConnectResource (CONN) (octet 1, bit A) */
4051
0
    proto_tree_add_item(subtree, hf_ansi_map_winoperationscapability_conn, tvb, offset, 1, ENC_BIG_ENDIAN);
4052
4053
0
}
4054
/*
4055
 * 6.5.2.dk N.S0013-0 v 1.0,X.S0004-550-E v1.0 2.301
4056
 * Code to be found after include functions.
4057
 */
4058
4059
/* 6.5.2.ei TIA/EIA-41.5-D Modifications N.S0018Re */
4060
/* Octet 1,2 1st MarketID */
4061
/* Octet 3 1st MarketSegmentID */
4062
/* Octet 4,5 1st DMH_ServiceID value */
4063
/* Second marcet ID etc */
4064
/* 6.5.2.ek ControlNetworkID N.S0018*/
4065
static void
4066
0
dissect_ansi_map_controlnetworkid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
4067
4068
0
    unsigned offset = 0;
4069
0
    proto_tree *subtree;
4070
4071
4072
0
    subtree = proto_item_add_subtree(actx->created_item, ett_controlnetworkid);
4073
    /* MarketID octet 1 and 2 */
4074
0
    proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, ENC_BIG_ENDIAN);
4075
0
    offset = offset + 2;
4076
    /* Switch Number octet 3*/
4077
0
    proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, ENC_BIG_ENDIAN);
4078
0
    offset++;
4079
0
}
4080
4081
4082
/* 6.5.2.dk WIN_TriggerList N.S0013-0 v 1.0 */
4083
4084
/* 6.5.2.ec DisplayText2 Updated in N.S0015-0*/
4085
4086
/* 6.5.2.eq MSStatus N.S0004 */
4087
4088
/* 6.5.2.er PositionInformationCode N.S0004 */
4089
4090
/* 6.5.2.fd InterMessageTime N.S0015-0*/
4091
/* Timer value (in 10s of seconds) octet 1 */
4092
4093
/* 6.5.2.fe MSIDUsage N.S0015-0 */
4094
/* M and I Report (octet 1, bits A and B) */
4095
static const value_string ansi_MSIDUsage_m_or_i_vals[]  = {
4096
    {   0, "Not used"},
4097
    {   1, "MIN last used"},
4098
    {   2, "IMSI last used"},
4099
    {   3, "Reserved"},
4100
    {   0, NULL }
4101
};
4102
4103
/* 6.5.2.ff NewMINExtension N.S0015-0 */
4104
4105
#if 0
4106
/* 6.5.2.fv ACGEncountered N.S0023-0 v 1.0 */
4107
/* ACG Encountered (octet 1, bits A-F) */
4108
static const value_string ansi_ACGEncountered_vals[]  = {
4109
    {   0, "PC_SSN"},
4110
    {   1, "1-digit control"},
4111
    {   2, "2-digit control"},
4112
    {   3, "3-digit control"},
4113
    {   4, "4-digit control"},
4114
    {   5, "5-digit control"},
4115
    {   6, "6-digit control"},
4116
    {   7, "7-digit control"},
4117
    {   8, "8-digit control"},
4118
    {   9, "9-digit control"},
4119
    {   10, "10-digit control"},
4120
    {   11, "11-digit control"},
4121
    {   12, "12-digit control"},
4122
    {   13, "13-digit control"},
4123
    {   14, "14-digit control"},
4124
    {   15, "15-digit control"},
4125
    {   0, NULL }
4126
};
4127
#endif
4128
#if 0
4129
/* Control Type (octet 1, bits G-H) */
4130
static const value_string ansi_ACGEncountered_cntrl_type_vals[]  = {
4131
    {   0, "Not used."},
4132
    {   1, "Service Management System Initiated control encountered"},
4133
    {   2, "SCF Overload control encountered"},
4134
    {   3, "Reserved. Treat the same as value 0, Not used."},
4135
    {   0, NULL }
4136
};
4137
#endif
4138
4139
/* 6.5.2.fw ControlType N.S0023-0 v 1.0 */
4140
4141
4142
4143
#if 0
4144
/* 6.5.2.ge QoSPriority N.S0029-0 v1.0*/
4145
/* 6.5.2.xx QOSPriority */
4146
/* Non-Assured Priority (octet 1, bits A-D) */
4147
static const value_string ansi_map_Priority_vals[]  = {
4148
    {   0, "Priority Level 0. This is the lowest level"},
4149
    {   1, "Priority Level 1"},
4150
    {   2, "Priority Level 2"},
4151
    {   3, "Priority Level 3"},
4152
    {   4, "Priority Level 4"},
4153
    {   5, "Priority Level 5"},
4154
    {   6, "Priority Level 6"},
4155
    {   7, "Priority Level 7"},
4156
    {   8, "Priority Level 8"},
4157
    {   8, "Priority Level 9"},
4158
    {   10, "Priority Level 10"},
4159
    {   11, "Priority Level 11"},
4160
    {   12, "Priority Level 12"},
4161
    {   13, "Priority Level 13"},
4162
    {   14, "Reserved"},
4163
    {   15, "Reserved"},
4164
    {   0, NULL }
4165
};
4166
#endif
4167
/* Assured Priority (octet 1, bits E-H)*/
4168
4169
4170
/* 6.5.2.gf PDSNAddress N.S0029-0 v1.0*/
4171
/* a. See IOS Handoff Request message for the definition of this field. */
4172
4173
/* 6.5.2.gg PDSNProtocolType N.S0029-0 v1.0*/
4174
/* See IOS Handoff Request message for the definition of this field. */
4175
4176
/* 6.5.2.gh CDMAMSMeasuredChannelIdentity N.S0029-0 v1.0*/
4177
4178
/* 6.5.2.gl CallingPartyCategory N.S0027*/
4179
/* a. Refer to ITU-T Q.763 (Signalling System No. 7  ISDN user part formats and
4180
   codes) for encoding of this parameter.
4181
   b. Refer to national ISDN user part specifications for definitions and encoding of the
4182
   reserved for national use values.
4183
*/
4184
/* 6.5.2.gm CDMA2000HandoffInvokeIOSData N.S0029-0 v1.0*/
4185
/* IOS A1 Element Handoff Invoke Information */
4186
4187
4188
/* 6.5.2.gn CDMA2000HandoffResponseIOSData */
4189
/* IOS A1 Element Handoff Response Information N.S0029-0 v1.0*/
4190
4191
/* 6.5.2.gr CDMAServiceOptionConnectionIdentifier N.S0029-0 v1.0*/
4192
4193
/* 6.5.2.fk GeographicPosition */
4194
/* Calling Geodetic Location (CGL)
4195
 * a. See T1.628 for encoding.
4196
 * b. Ignore extra octets, if received. Send only defined (or significant) octets.
4197
 */
4198
/* 6.5.2.fs PositionRequestType (See J-STD-036, page 8-47) X.S0002-0 v2.0
4199
 */
4200
4201
/* Position Request Type (octet 1, bits A-H) */
4202
/*
4203
  static const value_string ansi_map_Position_Request_Type_vals[]  = {
4204
  {   0, "Not used"},
4205
  {   1, "Initial Position"},
4206
  {   2, "Return the updated position"},
4207
  {   3, "Return the updated or last known position"},
4208
  {   4, "Reserved for LSP interface"},
4209
  {   5, "Initial Position Only"},
4210
  {   6, "Return the last known position"},
4211
  {   7, "Return the updated position based on the serving cell identity"},
4212
*/
4213
/*
4214
  values through 95 Reserved. Treat the same as value 1, Initial position.
4215
  96 through 255 Reserved for TIA/EIA-41 protocol extension. If unknown, treat the
4216
  same as value 1, Initial position.
4217
  *
4218
  {     0, NULL }
4219
  };
4220
4221
*/
4222
4223
/* LCS Client Type (CTYP) (octet 2, bit A) *
4224
   0 Emergency services LCS Client.
4225
   1 Non-emergency services LCS Client.
4226
   Call-Related Indicator (CALL) (octet 2, bit B)
4227
   Decimal Value Meaning
4228
   0 Call-related LCS Client request.
4229
   1 Non call-related LCS Client request.
4230
4231
   Current Serving Cell Information for Coarse Position Determination (CELL) (octet 2, bit C)
4232
   Decimal Value Meaning
4233
   0 No specific request.
4234
   1 Current serving cell information. Current serving cell information for
4235
   Target MS requested. Radio contact with Target MS is required.
4236
*/
4237
/* 6.5.2.ft PositionResult *
4238
   static const value_string ansi_map_PositionResult_vals[]  = {
4239
   {   0, "Not used"},
4240
   {   1, "Initial position returned"},
4241
   {   2, "Updated position returned"},
4242
   {   3, "Last known position returned"},
4243
   {   4, "Requested position is not available"},
4244
   {   5, "Target MS disconnect"},
4245
   {   6, "Target MS has handed-off"},
4246
   {   7, "Identified MS is inactive or has roamed to another system"},
4247
   {   8, "Unresponsive"},
4248
   {   9, "Identified MS is responsive, but refused position request"},
4249
   {   10, "System Failure"},
4250
   {   11, "MSID is not known"},
4251
   {   12, "Callback number is not known"},
4252
   {   13, "Improper request"},
4253
   {   14, "Mobile information returned"},
4254
   {   15, "Signal not detected"},
4255
   {   16, "PDE Timeout"},
4256
   {   17, "Position pending"},
4257
   {   18, "TDMA MAHO Information Returned"},
4258
   {   19, "TDMA MAHO Information is not available"},
4259
   {   20, "Access Denied"},
4260
   {   21, "Requested PQOS not met"},
4261
   {   22, "Resource required for CDMA handset-based position determination is currently unavailable"},
4262
   {   23, "CDMA handset-based position determination failure"},
4263
   {   24, "CDMA handset-based position determination failure detected by the PDE"},
4264
   {   25, "CDMA handset-based position determination incomplete traffic channel requested for voice services"},
4265
   {   26, "Emergency services call notification"},
4266
   {   27, "Emergency services call precedence"},
4267
   {   28, "Request acknowledged"},
4268
   {    0, NULL }
4269
   };
4270
*/
4271
#if 0
4272
/* 6.5.2.bp-1 ServiceRedirectionCause value */
4273
static const value_string ansi_map_ServiceRedirectionCause_vals[]  = {
4274
    {   0, "Not used"},
4275
    {   1, "NormalRegistration"},
4276
    {   2, "SystemNotFound"},
4277
    {   3, "ProtocolMismatch"},
4278
    {   4, "RegistrationRejection"},
4279
    {   5, "WrongSID"},
4280
    {   6, "WrongNID"},
4281
    {   0, NULL }
4282
};
4283
#endif
4284
/* 6.5.2.mT AuthenticationResponseReauthentication N.S0011-0 v 1.0*/
4285
4286
/* 6.5.2.vT ReauthenticationReport N.S0011-0 v 1.0*/
4287
static const value_string ansi_map_ReauthenticationReport_vals[]  = {
4288
    {   0, "Not used"},
4289
    {   1, "Reauthentication not attempted"},
4290
    {   2, "Reauthentication no response"},
4291
    {   3, "Reauthentication successful"},
4292
    {   4, "Reauthentication failed"},
4293
    {   0, NULL }
4294
};
4295
4296
4297
4298
#if 0
4299
/* 6.5.2.lB AKeyProtocolVersion
4300
   N.S0011-0 v 1.0
4301
*/
4302
static const value_string ansi_map_AKeyProtocolVersion_vals[]  = {
4303
    {   0, "Not used"},
4304
    {   1, "A-key Generation not supported"},
4305
    {   2, "Diffie Hellman with 768-bit modulus, 160-bit primitive, and 160-bit exponents"},
4306
    {   3, "Diffie Hellman with 512-bit modulus, 160-bit primitive, and 160-bit exponents"},
4307
    {   4, "Diffie Hellman with 768-bit modulus, 32-bit primitive, and 160-bit exponents"},
4308
    {   0, NULL }
4309
};
4310
#endif
4311
/* 6.5.2.sB OTASP_ResultCode
4312
   N.S0011-0 v 1.0
4313
*/
4314
static const value_string ansi_map_OTASP_ResultCode_vals[]  = {
4315
    {   0, "Accepted - Successful"},
4316
    {   1, "Rejected - Unknown cause."},
4317
    {   2, "Computation Failure - E.g., unable to compute A-key"},
4318
    {   3, "CSC Rejected - CSC challenge failure"},
4319
    {   4, "Unrecognized OTASPCallEntry"},
4320
    {   5, "Unsupported AKeyProtocolVersion(s)"},
4321
    {   6, "Unable to Commit"},
4322
    {   0, NULL }
4323
};
4324
4325
/*6.5.2.wB ServiceIndicator
4326
  N.S0011-0 v 1.0
4327
*/
4328
static const value_string ansi_map_ServiceIndicator_vals[]  = {
4329
    {   0, "Undefined Service"},
4330
    {   1, "CDMA OTASP Service"},
4331
    {   2, "TDMA OTASP Service"},
4332
    {   3, "CDMA OTAPA Service"},
4333
    {   4, "CDMA Position Determination Service (Emergency Services)"},
4334
    {   5, "AMPS Position Determination Service (Emergency Services)"},
4335
    {   6, "CDMA Position Determination Service (Value Added Services)"},
4336
    {   0, NULL }
4337
};
4338
4339
/* 6.5.2.xB SignalingMessageEncryptionReport
4340
   N.S0011-0 v 1.0
4341
*/
4342
static const value_string ansi_map_SMEReport_vals[]  = {
4343
    {   0, "Not used"},
4344
    {   1, "Signaling Message Encryption enabling not attempted"},
4345
    {   2, "Signaling Message Encryption enabling no response"},
4346
    {   3, "Signaling Message Encryption is enabled"},
4347
    {   4, "Signaling Message Encryption enabling failed"},
4348
    {   0, NULL }
4349
};
4350
4351
/* 6.5.2.zB VoicePrivacyReport
4352
   N.S0011-0 v 1.0
4353
*/
4354
static const value_string ansi_map_VoicePrivacyReport_vals[]  = {
4355
    {   0, "Not used"},
4356
    {   1, "Voice Privacy not attempted"},
4357
    {   2, "Voice Privacy no response"},
4358
    {   3, "Voice Privacy is active"},
4359
    {   4, "Voice Privacy failed"},
4360
    {   0, NULL }
4361
};
4362
4363
4364
4365
4366
static unsigned
4367
0
dissect_ansi_map_ElectronicSerialNumber(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4368
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4369
0
                                       NULL);
4370
4371
0
  return offset;
4372
0
}
4373
4374
4375
4376
static unsigned
4377
0
dissect_ansi_map_MINType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4378
0
  tvbuff_t *parameter_tvb = NULL;
4379
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4380
0
                                       &parameter_tvb);
4381
4382
0
  if (parameter_tvb){
4383
0
    dissect_ansi_map_min_type(parameter_tvb,actx->pinfo,tree, actx);
4384
0
  }
4385
4386
4387
0
  return offset;
4388
0
}
4389
4390
4391
4392
static unsigned
4393
0
dissect_ansi_map_MobileIdentificationNumber(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4394
0
  offset = dissect_ansi_map_MINType(implicit_tag, tvb, offset, actx, tree, hf_index);
4395
4396
0
  return offset;
4397
0
}
4398
4399
4400
static const value_string ansi_map_MSID_vals[] = {
4401
  {   8, "mobileIdentificationNumber" },
4402
  { 242, "imsi" },
4403
  { 0, NULL }
4404
};
4405
4406
static const ber_choice_t MSID_choice[] = {
4407
  {   8, &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
4408
  { 242, &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
4409
  { 0, NULL, 0, 0, 0, NULL }
4410
};
4411
4412
static unsigned
4413
0
dissect_ansi_map_MSID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4414
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
4415
0
                                 MSID_choice, hf_index, ett_ansi_map_MSID,
4416
0
                                 NULL);
4417
4418
0
  return offset;
4419
0
}
4420
4421
4422
4423
static unsigned
4424
0
dissect_ansi_map_AuthenticationAlgorithmVersion(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4425
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4426
0
                                       NULL);
4427
4428
0
  return offset;
4429
0
}
4430
4431
4432
4433
static unsigned
4434
0
dissect_ansi_map_AuthenticationResponseReauthentication(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4435
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4436
0
                                       NULL);
4437
4438
0
  return offset;
4439
0
}
4440
4441
4442
4443
static unsigned
4444
0
dissect_ansi_map_AuthenticationResponseUniqueChallenge(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4445
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4446
0
                                       NULL);
4447
4448
0
  return offset;
4449
0
}
4450
4451
4452
4453
static unsigned
4454
0
dissect_ansi_map_CallHistoryCount(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4455
0
  offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
4456
0
                                                            0U, 63U, hf_index, NULL);
4457
4458
0
  return offset;
4459
0
}
4460
4461
4462
4463
static unsigned
4464
0
dissect_ansi_map_CDMAPrivateLongCodeMask(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4465
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4466
0
                                       NULL);
4467
4468
0
  return offset;
4469
0
}
4470
4471
4472
4473
static unsigned
4474
0
dissect_ansi_map_DigitsType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4475
0
  tvbuff_t *parameter_tvb = NULL;
4476
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4477
0
                                       &parameter_tvb);
4478
4479
0
  if (parameter_tvb){
4480
0
    dissect_ansi_map_digits_type(parameter_tvb,actx->pinfo,tree, actx);
4481
0
  }
4482
4483
4484
0
  return offset;
4485
0
}
4486
4487
4488
4489
static unsigned
4490
0
dissect_ansi_map_CarrierDigits(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4491
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
4492
4493
0
  return offset;
4494
0
}
4495
4496
4497
4498
static unsigned
4499
0
dissect_ansi_map_CaveKey(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4500
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4501
0
                                       NULL);
4502
4503
0
  return offset;
4504
0
}
4505
4506
4507
static const value_string ansi_map_DenyAccess_vals[] = {
4508
  {   0, "not-used" },
4509
  {   1, "unspecified" },
4510
  {   2, "ssd-Update-failure" },
4511
  {   3, "cOUNT-Update-failure" },
4512
  {   4, "unique-Challenge-failure" },
4513
  {   5, "aUTHR-mismatch" },
4514
  {   6, "cOUNT-mismatch" },
4515
  {   7, "process-collision" },
4516
  {   8, "missing-authentication-parameters" },
4517
  {   9, "terminalType-mismatch" },
4518
  {  10, "mIN-IMSI-or-ESN-authorization-failure" },
4519
  { 0, NULL }
4520
};
4521
4522
4523
static unsigned
4524
0
dissect_ansi_map_DenyAccess(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4525
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4526
0
                                  NULL);
4527
4528
0
  return offset;
4529
0
}
4530
4531
4532
4533
static unsigned
4534
0
dissect_ansi_map_DestinationDigits(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4535
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
4536
4537
0
  return offset;
4538
0
}
4539
4540
4541
4542
static unsigned
4543
0
dissect_ansi_map_LocationAreaID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4544
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4545
0
                                       NULL);
4546
4547
0
  return offset;
4548
0
}
4549
4550
4551
4552
static unsigned
4553
0
dissect_ansi_map_RandomVariableReauthentication(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4554
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4555
0
                                       NULL);
4556
4557
0
  return offset;
4558
0
}
4559
4560
4561
4562
static unsigned
4563
0
dissect_ansi_map_MEID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4564
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4565
0
                                       NULL);
4566
4567
0
  return offset;
4568
0
}
4569
4570
4571
4572
static unsigned
4573
0
dissect_ansi_map_MobileStationMIN(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4574
0
  offset = dissect_ansi_map_MINType(implicit_tag, tvb, offset, actx, tree, hf_index);
4575
4576
0
  return offset;
4577
0
}
4578
4579
4580
4581
static unsigned
4582
0
dissect_ansi_map_MSCID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4583
0
  tvbuff_t *parameter_tvb = NULL;
4584
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4585
0
                                       &parameter_tvb);
4586
4587
0
  if (parameter_tvb){
4588
0
    dissect_ansi_map_mscid(parameter_tvb,actx->pinfo,tree, actx);
4589
0
  }
4590
4591
4592
0
  return offset;
4593
0
}
4594
4595
4596
4597
static unsigned
4598
0
dissect_ansi_map_RandomVariableSSD(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4599
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4600
0
                                       NULL);
4601
4602
0
  return offset;
4603
0
}
4604
4605
4606
4607
static unsigned
4608
0
dissect_ansi_map_RandomVariableUniqueChallenge(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4609
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4610
0
                                       NULL);
4611
4612
0
  return offset;
4613
0
}
4614
4615
4616
4617
static unsigned
4618
0
dissect_ansi_map_RoutingDigits(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4619
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
4620
4621
0
  return offset;
4622
0
}
4623
4624
4625
4626
static unsigned
4627
0
dissect_ansi_map_SenderIdentificationNumber(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4628
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
4629
4630
0
  return offset;
4631
0
}
4632
4633
4634
4635
static unsigned
4636
0
dissect_ansi_map_SharedSecretData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4637
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4638
0
                                       NULL);
4639
4640
0
  return offset;
4641
0
}
4642
4643
4644
4645
static unsigned
4646
0
dissect_ansi_map_SignalingMessageEncryptionKey(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4647
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4648
0
                                       NULL);
4649
4650
0
  return offset;
4651
0
}
4652
4653
4654
static const value_string ansi_map_SSDNotShared_vals[] = {
4655
  {   0, "not-used" },
4656
  {   1, "discard-SSD" },
4657
  { 0, NULL }
4658
};
4659
4660
4661
static unsigned
4662
0
dissect_ansi_map_SSDNotShared(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4663
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4664
0
                                  NULL);
4665
4666
0
  return offset;
4667
0
}
4668
4669
4670
static const value_string ansi_map_UpdateCount_vals[] = {
4671
  {   0, "not-used" },
4672
  {   1, "update-COUNT" },
4673
  { 0, NULL }
4674
};
4675
4676
4677
static unsigned
4678
0
dissect_ansi_map_UpdateCount(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4679
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4680
0
                                  NULL);
4681
4682
0
  return offset;
4683
0
}
4684
4685
4686
static const ber_sequence_t AuthenticationDirective_U_set[] = {
4687
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
4688
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
4689
  { &hf_ansi_map_authenticationAlgorithmVersion, BER_CLASS_CON, 77, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationAlgorithmVersion },
4690
  { &hf_ansi_map_authenticationResponseReauthentication, BER_CLASS_CON, 182, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseReauthentication },
4691
  { &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
4692
  { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
4693
  { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
4694
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
4695
  { &hf_ansi_map_caveKey    , BER_CLASS_CON, 316, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CaveKey },
4696
  { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
4697
  { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
4698
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
4699
  { &hf_ansi_map_randomVariableReauthentication, BER_CLASS_CON, 191, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableReauthentication },
4700
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
4701
  { &hf_ansi_map_mobileStationMIN, BER_CLASS_CON, 184, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileStationMIN },
4702
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
4703
  { &hf_ansi_map_randomVariableSSD, BER_CLASS_CON, 42, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableSSD },
4704
  { &hf_ansi_map_randomVariableUniqueChallenge, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableUniqueChallenge },
4705
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
4706
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
4707
  { &hf_ansi_map_sharedSecretData, BER_CLASS_CON, 46, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SharedSecretData },
4708
  { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
4709
  { &hf_ansi_map_ssdnotShared, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDNotShared },
4710
  { &hf_ansi_map_updateCount, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UpdateCount },
4711
  { NULL, 0, 0, 0, NULL }
4712
};
4713
4714
static unsigned
4715
0
dissect_ansi_map_AuthenticationDirective_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4716
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4717
0
                              AuthenticationDirective_U_set, hf_index, ett_ansi_map_AuthenticationDirective_U);
4718
4719
0
  return offset;
4720
0
}
4721
4722
4723
4724
static unsigned
4725
0
dissect_ansi_map_AuthenticationDirective(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4726
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4727
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_AuthenticationDirective_U);
4728
4729
0
  return offset;
4730
0
}
4731
4732
4733
static const ber_sequence_t AuthenticationDirectiveRes_U_set[] = {
4734
  { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
4735
  { NULL, 0, 0, 0, NULL }
4736
};
4737
4738
static unsigned
4739
0
dissect_ansi_map_AuthenticationDirectiveRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4740
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4741
0
                              AuthenticationDirectiveRes_U_set, hf_index, ett_ansi_map_AuthenticationDirectiveRes_U);
4742
4743
0
  return offset;
4744
0
}
4745
4746
4747
4748
static unsigned
4749
0
dissect_ansi_map_AuthenticationDirectiveRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4750
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4751
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_AuthenticationDirectiveRes_U);
4752
4753
0
  return offset;
4754
0
}
4755
4756
4757
4758
static unsigned
4759
0
dissect_ansi_map_InterMSCCircuitID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4760
0
  tvbuff_t *parameter_tvb = NULL;
4761
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4762
0
                                       &parameter_tvb);
4763
4764
0
  if (parameter_tvb){
4765
0
    dissect_ansi_map_intermsccircuitid(parameter_tvb,actx->pinfo,tree, actx);
4766
0
  }
4767
4768
4769
0
  return offset;
4770
0
}
4771
4772
4773
static const ber_sequence_t AuthenticationDirectiveForward_U_set[] = {
4774
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
4775
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
4776
  { &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
4777
  { &hf_ansi_map_randomVariableUniqueChallenge, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableUniqueChallenge },
4778
  { &hf_ansi_map_updateCount, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UpdateCount },
4779
  { NULL, 0, 0, 0, NULL }
4780
};
4781
4782
static unsigned
4783
0
dissect_ansi_map_AuthenticationDirectiveForward_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4784
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4785
0
                              AuthenticationDirectiveForward_U_set, hf_index, ett_ansi_map_AuthenticationDirectiveForward_U);
4786
4787
0
  return offset;
4788
0
}
4789
4790
4791
4792
static unsigned
4793
0
dissect_ansi_map_AuthenticationDirectiveForward(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4794
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4795
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_AuthenticationDirectiveForward_U);
4796
4797
0
  return offset;
4798
0
}
4799
4800
4801
4802
static unsigned
4803
0
dissect_ansi_map_CountUpdateReport(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4804
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4805
0
                                       NULL);
4806
4807
0
  return offset;
4808
0
}
4809
4810
4811
4812
static unsigned
4813
0
dissect_ansi_map_UniqueChallengeReport(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4814
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4815
0
                                       NULL);
4816
4817
0
  return offset;
4818
0
}
4819
4820
4821
static const ber_sequence_t AuthenticationDirectiveForwardRes_U_set[] = {
4822
  { &hf_ansi_map_countUpdateReport, BER_CLASS_CON, 138, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CountUpdateReport },
4823
  { &hf_ansi_map_uniqueChallengeReport, BER_CLASS_CON, 124, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UniqueChallengeReport },
4824
  { NULL, 0, 0, 0, NULL }
4825
};
4826
4827
static unsigned
4828
0
dissect_ansi_map_AuthenticationDirectiveForwardRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4829
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4830
0
                              AuthenticationDirectiveForwardRes_U_set, hf_index, ett_ansi_map_AuthenticationDirectiveForwardRes_U);
4831
4832
0
  return offset;
4833
0
}
4834
4835
4836
4837
static unsigned
4838
0
dissect_ansi_map_AuthenticationDirectiveForwardRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4839
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4840
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_AuthenticationDirectiveForwardRes_U);
4841
4842
0
  return offset;
4843
0
}
4844
4845
4846
static const value_string ansi_map_ReportType_vals[] = {
4847
  {   0, "not-used" },
4848
  {   1, "unspecified-security-violation" },
4849
  {   2, "mSID-ESN-mismatch" },
4850
  {   3, "rANDC-mismatch" },
4851
  {   4, "reserved" },
4852
  {   5, "sSD-update-failed" },
4853
  {   6, "reserved" },
4854
  {   7, "cOUNT-mismatch" },
4855
  {   8, "reserved" },
4856
  {   9, "unique-Challenge-failed" },
4857
  {  10, "unsolicited-Base-Station-Challenge" },
4858
  {  11, "sSD-Update-no-response" },
4859
  {  12, "cOUNT-Update-no-response" },
4860
  {  13, "unique-Challenge-no-response" },
4861
  {  14, "aUTHR-mismatch" },
4862
  {  15, "tERMTYP-mismatch" },
4863
  {  16, "missing-authentication-parameters" },
4864
  { 0, NULL }
4865
};
4866
4867
4868
static unsigned
4869
0
dissect_ansi_map_ReportType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4870
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4871
0
                                  NULL);
4872
4873
0
  return offset;
4874
0
}
4875
4876
4877
static const value_string ansi_map_SystemAccessType_vals[] = {
4878
  {   0, "not-used" },
4879
  {   1, "unspecified" },
4880
  {   2, "flash-request" },
4881
  {   3, "autonomous-registration" },
4882
  {   4, "call-origination" },
4883
  {   5, "page-response" },
4884
  {   6, "no-access" },
4885
  {   7, "power-down-registration" },
4886
  {   8, "sms-page-response" },
4887
  {   9, "otasp" },
4888
  { 0, NULL }
4889
};
4890
4891
4892
static unsigned
4893
0
dissect_ansi_map_SystemAccessType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4894
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4895
0
                                  NULL);
4896
4897
0
  return offset;
4898
0
}
4899
4900
4901
4902
static unsigned
4903
0
dissect_ansi_map_SystemCapabilities(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4904
0
  tvbuff_t *parameter_tvb = NULL;
4905
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4906
0
                                       &parameter_tvb);
4907
4908
0
  if (parameter_tvb){
4909
0
    dissect_ansi_map_systemcapabilities(parameter_tvb,actx->pinfo,tree, actx);
4910
0
  }
4911
4912
4913
4914
0
  return offset;
4915
0
}
4916
4917
4918
4919
static unsigned
4920
0
dissect_ansi_map_CallHistoryCountExpected(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4921
0
  offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
4922
0
                                                            0U, 63U, hf_index, NULL);
4923
4924
0
  return offset;
4925
0
}
4926
4927
4928
static const value_string ansi_map_TerminalType_vals[] = {
4929
  {   0, "not-used" },
4930
  {   1, "not-distinguished" },
4931
  {   2, "iS-54-B" },
4932
  {   3, "iS-136" },
4933
  {   4, "j-STD-011" },
4934
  {   5, "iS-136-A-or-TIA-EIA-136-Revision-0" },
4935
  {   6, "tIA-EIA-136-A" },
4936
  {   7, "iA-EIA-136-B" },
4937
  {  32, "iS-95" },
4938
  {  33, "iS-95B" },
4939
  {  34, "j-STD-008" },
4940
  {  35, "tIA-EIA-95-B" },
4941
  {  36, "iS-2000" },
4942
  {  64, "iS-88" },
4943
  {  65, "iS-94" },
4944
  {  66, "iS-91" },
4945
  {  67, "j-STD-014" },
4946
  {  68, "tIA-EIA-553-A" },
4947
  {  69, "iS-91-A" },
4948
  { 0, NULL }
4949
};
4950
4951
static value_string_ext ansi_map_TerminalType_vals_ext = VALUE_STRING_EXT_INIT(ansi_map_TerminalType_vals);
4952
4953
4954
static unsigned
4955
0
dissect_ansi_map_TerminalType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4956
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4957
0
                                  NULL);
4958
4959
0
  return offset;
4960
0
}
4961
4962
4963
static const ber_sequence_t AuthenticationFailureReport_U_set[] = {
4964
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
4965
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
4966
  { &hf_ansi_map_reportType , BER_CLASS_CON, 44, BER_FLAGS_IMPLTAG, dissect_ansi_map_ReportType },
4967
  { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
4968
  { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
4969
  { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
4970
  { &hf_ansi_map_callHistoryCountExpected, BER_CLASS_CON, 79, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCountExpected },
4971
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
4972
  { &hf_ansi_map_reportType2, BER_CLASS_CON, 44, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReportType },
4973
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
4974
  { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
4975
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
4976
  { NULL, 0, 0, 0, NULL }
4977
};
4978
4979
static unsigned
4980
0
dissect_ansi_map_AuthenticationFailureReport_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4981
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4982
0
                              AuthenticationFailureReport_U_set, hf_index, ett_ansi_map_AuthenticationFailureReport_U);
4983
4984
0
  return offset;
4985
0
}
4986
4987
4988
4989
static unsigned
4990
0
dissect_ansi_map_AuthenticationFailureReport(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4991
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4992
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_AuthenticationFailureReport_U);
4993
4994
0
  return offset;
4995
0
}
4996
4997
4998
static const ber_sequence_t AuthenticationFailureReportRes_U_set[] = {
4999
  { &hf_ansi_map_authenticationAlgorithmVersion, BER_CLASS_CON, 77, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationAlgorithmVersion },
5000
  { &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
5001
  { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
5002
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
5003
  { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
5004
  { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
5005
  { &hf_ansi_map_randomVariableSSD, BER_CLASS_CON, 42, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableSSD },
5006
  { &hf_ansi_map_randomVariableUniqueChallenge, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableUniqueChallenge },
5007
  { &hf_ansi_map_sharedSecretData, BER_CLASS_CON, 46, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SharedSecretData },
5008
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
5009
  { &hf_ansi_map_ssdnotShared, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDNotShared },
5010
  { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
5011
  { &hf_ansi_map_updateCount, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UpdateCount },
5012
  { NULL, 0, 0, 0, NULL }
5013
};
5014
5015
static unsigned
5016
0
dissect_ansi_map_AuthenticationFailureReportRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5017
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5018
0
                              AuthenticationFailureReportRes_U_set, hf_index, ett_ansi_map_AuthenticationFailureReportRes_U);
5019
5020
0
  return offset;
5021
0
}
5022
5023
5024
5025
static unsigned
5026
0
dissect_ansi_map_AuthenticationFailureReportRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5027
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5028
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_AuthenticationFailureReportRes_U);
5029
5030
0
  return offset;
5031
0
}
5032
5033
5034
5035
static unsigned
5036
0
dissect_ansi_map_AuthenticationData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5037
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5038
0
                                       NULL);
5039
5040
0
  return offset;
5041
0
}
5042
5043
5044
5045
static unsigned
5046
0
dissect_ansi_map_AuthenticationResponse(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5047
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5048
0
                                       NULL);
5049
5050
0
  return offset;
5051
0
}
5052
5053
5054
5055
static unsigned
5056
0
dissect_ansi_map_CDMANetworkIdentification(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5057
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5058
0
                                       NULL);
5059
5060
0
  return offset;
5061
0
}
5062
5063
5064
5065
static unsigned
5066
0
dissect_ansi_map_ConfidentialityModes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5067
0
  tvbuff_t *parameter_tvb = NULL;
5068
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5069
0
                                       &parameter_tvb);
5070
5071
0
  if (parameter_tvb){
5072
0
    dissect_ansi_map_confidentialitymodes(parameter_tvb,actx->pinfo,tree, actx);
5073
0
  }
5074
5075
0
  return offset;
5076
0
}
5077
5078
5079
5080
static unsigned
5081
0
dissect_ansi_map_ControlChannelMode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5082
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5083
0
                                       NULL);
5084
5085
0
  return offset;
5086
0
}
5087
5088
5089
5090
static unsigned
5091
0
dissect_ansi_map_Digits(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5092
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
5093
5094
0
  return offset;
5095
0
}
5096
5097
5098
5099
static unsigned
5100
0
dissect_ansi_map_PC_SSN(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5101
0
  tvbuff_t *parameter_tvb = NULL;
5102
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5103
0
                                       &parameter_tvb);
5104
5105
0
  if (parameter_tvb){
5106
0
    dissect_ansi_map_pc_ssn(parameter_tvb,actx->pinfo,tree, actx);
5107
0
  }
5108
5109
5110
0
  return offset;
5111
0
}
5112
5113
5114
5115
static unsigned
5116
0
dissect_ansi_map_RandomVariable(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5117
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5118
0
                                       NULL);
5119
5120
0
  return offset;
5121
0
}
5122
5123
5124
5125
static unsigned
5126
0
dissect_ansi_map_ServiceRedirectionCause(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5127
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5128
0
                                       NULL);
5129
5130
0
  return offset;
5131
0
}
5132
5133
5134
static const value_string ansi_map_SuspiciousAccess_vals[] = {
5135
  {   0, "not-used" },
5136
  {   1, "anomalous-Digits" },
5137
  {   2, "unspecified" },
5138
  { 0, NULL }
5139
};
5140
5141
5142
static unsigned
5143
0
dissect_ansi_map_SuspiciousAccess(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5144
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5145
0
                                  NULL);
5146
5147
0
  return offset;
5148
0
}
5149
5150
5151
5152
static unsigned
5153
0
dissect_ansi_map_TransactionCapability(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5154
0
  tvbuff_t *parameter_tvb = NULL;
5155
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5156
0
                                       &parameter_tvb);
5157
5158
0
  if (parameter_tvb){
5159
0
    dissect_ansi_map_transactioncapability(parameter_tvb,actx->pinfo,tree, actx);
5160
0
  }
5161
5162
5163
0
  return offset;
5164
0
}
5165
5166
5167
static const ber_sequence_t AuthenticationRequest_U_set[] = {
5168
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
5169
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
5170
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
5171
  { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
5172
  { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
5173
  { &hf_ansi_map_authenticationData, BER_CLASS_CON, 161, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationData },
5174
  { &hf_ansi_map_authenticationResponse, BER_CLASS_CON, 35, BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponse },
5175
  { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
5176
  { &hf_ansi_map_cdmaNetworkIdentification, BER_CLASS_CON, 232, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMANetworkIdentification },
5177
  { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
5178
  { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
5179
  { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
5180
  { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
5181
  { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
5182
  { &hf_ansi_map_serviceRedirectionCause, BER_CLASS_CON, 237, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionCause },
5183
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
5184
  { &hf_ansi_map_suspiciousAccess, BER_CLASS_CON, 285, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SuspiciousAccess },
5185
  { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
5186
  { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
5187
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
5188
  { NULL, 0, 0, 0, NULL }
5189
};
5190
5191
static unsigned
5192
0
dissect_ansi_map_AuthenticationRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5193
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5194
0
                              AuthenticationRequest_U_set, hf_index, ett_ansi_map_AuthenticationRequest_U);
5195
5196
0
  return offset;
5197
0
}
5198
5199
5200
5201
static unsigned
5202
0
dissect_ansi_map_AuthenticationRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5203
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5204
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_AuthenticationRequest_U);
5205
5206
0
  return offset;
5207
0
}
5208
5209
5210
5211
static unsigned
5212
0
dissect_ansi_map_AnalogRedirectInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5213
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5214
0
                                       NULL);
5215
5216
0
  return offset;
5217
0
}
5218
5219
5220
static const ber_sequence_t AnalogRedirectRecord_sequence[] = {
5221
  { &hf_ansi_map_analogRedirectInfo, BER_CLASS_CON, 224, BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectInfo },
5222
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
5223
  { NULL, 0, 0, 0, NULL }
5224
};
5225
5226
static unsigned
5227
0
dissect_ansi_map_AnalogRedirectRecord(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5228
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5229
0
                                   AnalogRedirectRecord_sequence, hf_index, ett_ansi_map_AnalogRedirectRecord);
5230
5231
0
  return offset;
5232
0
}
5233
5234
5235
5236
static unsigned
5237
0
dissect_ansi_map_CDMABandClass(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5238
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5239
0
                                       NULL);
5240
5241
0
  return offset;
5242
0
}
5243
5244
5245
5246
static unsigned
5247
0
dissect_ansi_map_CDMAChannelNumber(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5248
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5249
0
                                       NULL);
5250
5251
0
  return offset;
5252
0
}
5253
5254
5255
static const ber_sequence_t CDMAChannelNumberList_item_sequence[] = {
5256
  { &hf_ansi_map_cdmaChannelNumber, BER_CLASS_CON, 226, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelNumber },
5257
  { &hf_ansi_map_cdmaChannelNumber2, BER_CLASS_CON, 226, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelNumber },
5258
  { NULL, 0, 0, 0, NULL }
5259
};
5260
5261
static unsigned
5262
0
dissect_ansi_map_CDMAChannelNumberList_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5263
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5264
0
                                   CDMAChannelNumberList_item_sequence, hf_index, ett_ansi_map_CDMAChannelNumberList_item);
5265
5266
0
  return offset;
5267
0
}
5268
5269
5270
static const ber_sequence_t CDMAChannelNumberList_sequence_of[1] = {
5271
  { &hf_ansi_map_CDMAChannelNumberList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CDMAChannelNumberList_item },
5272
};
5273
5274
static unsigned
5275
0
dissect_ansi_map_CDMAChannelNumberList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5276
0
  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5277
0
                                      CDMAChannelNumberList_sequence_of, hf_index, ett_ansi_map_CDMAChannelNumberList);
5278
5279
0
  return offset;
5280
0
}
5281
5282
5283
static const ber_sequence_t CDMARedirectRecord_sequence[] = {
5284
  { &hf_ansi_map_cdmaBandClass, BER_CLASS_CON, 170, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClass },
5285
  { &hf_ansi_map_cdmaChannelNumberList, BER_CLASS_CON, 227, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelNumberList },
5286
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
5287
  { &hf_ansi_map_cdmaNetworkIdentification, BER_CLASS_CON, 232, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMANetworkIdentification },
5288
  { NULL, 0, 0, 0, NULL }
5289
};
5290
5291
static unsigned
5292
0
dissect_ansi_map_CDMARedirectRecord(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5293
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5294
0
                                   CDMARedirectRecord_sequence, hf_index, ett_ansi_map_CDMARedirectRecord);
5295
5296
0
  return offset;
5297
0
}
5298
5299
5300
5301
static unsigned
5302
0
dissect_ansi_map_DataKey(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5303
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5304
0
                                       NULL);
5305
5306
0
  return offset;
5307
0
}
5308
5309
5310
5311
static unsigned
5312
0
dissect_ansi_map_RoamingIndication(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5313
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5314
0
                                       NULL);
5315
5316
0
  return offset;
5317
0
}
5318
5319
5320
5321
static unsigned
5322
0
dissect_ansi_map_ServiceRedirectionInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5323
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5324
0
                                       NULL);
5325
5326
0
  return offset;
5327
0
}
5328
5329
5330
5331
static unsigned
5332
0
dissect_ansi_map_VoicePrivacyMask(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5333
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5334
0
                                       NULL);
5335
5336
0
  return offset;
5337
0
}
5338
5339
5340
static const ber_sequence_t AuthenticationRequestRes_U_set[] = {
5341
  { &hf_ansi_map_analogRedirectRecord, BER_CLASS_CON, 225, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectRecord },
5342
  { &hf_ansi_map_authenticationAlgorithmVersion, BER_CLASS_CON, 77, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationAlgorithmVersion },
5343
  { &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
5344
  { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
5345
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
5346
  { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
5347
  { &hf_ansi_map_cdmaRedirectRecord, BER_CLASS_CON, 229, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMARedirectRecord },
5348
  { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
5349
  { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
5350
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
5351
  { &hf_ansi_map_roamingIndication, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoamingIndication },
5352
  { &hf_ansi_map_serviceRedirectionInfo, BER_CLASS_CON, 238, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionInfo },
5353
  { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
5354
  { &hf_ansi_map_randomVariableSSD, BER_CLASS_CON, 42, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableSSD },
5355
  { &hf_ansi_map_randomVariableUniqueChallenge, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableUniqueChallenge },
5356
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
5357
  { &hf_ansi_map_sharedSecretData, BER_CLASS_CON, 46, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SharedSecretData },
5358
  { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
5359
  { &hf_ansi_map_ssdnotShared, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDNotShared },
5360
  { &hf_ansi_map_updateCount, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UpdateCount },
5361
  { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
5362
  { NULL, 0, 0, 0, NULL }
5363
};
5364
5365
static unsigned
5366
0
dissect_ansi_map_AuthenticationRequestRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5367
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5368
0
                              AuthenticationRequestRes_U_set, hf_index, ett_ansi_map_AuthenticationRequestRes_U);
5369
5370
0
  return offset;
5371
0
}
5372
5373
5374
5375
static unsigned
5376
0
dissect_ansi_map_AuthenticationRequestRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5377
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5378
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_AuthenticationRequestRes_U);
5379
5380
0
  return offset;
5381
0
}
5382
5383
5384
5385
static unsigned
5386
0
dissect_ansi_map_ReauthenticationReport(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5387
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5388
0
                                       NULL);
5389
5390
0
  return offset;
5391
0
}
5392
5393
5394
5395
static unsigned
5396
0
dissect_ansi_map_ServiceIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5397
0
  tvbuff_t *parameter_tvb = NULL;
5398
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5399
0
                                       &parameter_tvb);
5400
5401
0
  if (parameter_tvb){
5402
0
    ServiceIndicator = tvb_get_uint8(parameter_tvb,0);
5403
0
    if (SMS_BearerData_tvb !=NULL)
5404
0
    {
5405
0
      switch(ServiceIndicator){
5406
0
        case 1: /* CDMA OTASP Service */
5407
0
        case 3: /* CDMA OTAPA Service */
5408
0
          dissector_try_uint(is683_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
5409
0
          break;
5410
0
        case 4: /* CDMA Position Determination Service */
5411
0
          dissector_try_uint(is801_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
5412
0
          break;
5413
0
        default:
5414
0
          break;
5415
0
      }
5416
0
    }
5417
0
  }
5418
5419
5420
0
  return offset;
5421
0
}
5422
5423
5424
5425
static unsigned
5426
0
dissect_ansi_map_SignalingMessageEncryptionReport(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5427
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5428
0
                                       NULL);
5429
5430
0
  return offset;
5431
0
}
5432
5433
5434
5435
static unsigned
5436
0
dissect_ansi_map_SSDUpdateReport(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5437
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5438
0
                                       NULL);
5439
5440
0
  return offset;
5441
0
}
5442
5443
5444
5445
static unsigned
5446
0
dissect_ansi_map_VoicePrivacyReport(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5447
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5448
0
                                       NULL);
5449
5450
0
  return offset;
5451
0
}
5452
5453
5454
static const ber_sequence_t AuthenticationStatusReport_U_set[] = {
5455
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
5456
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
5457
  { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
5458
  { &hf_ansi_map_countUpdateReport, BER_CLASS_CON, 138, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CountUpdateReport },
5459
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
5460
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
5461
  { &hf_ansi_map_reauthenticationReport, BER_CLASS_CON, 192, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReauthenticationReport },
5462
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
5463
  { &hf_ansi_map_serviceIndicator, BER_CLASS_CON, 193, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceIndicator },
5464
  { &hf_ansi_map_signalingMessageEncryptionReport, BER_CLASS_CON, 194, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionReport },
5465
  { &hf_ansi_map_ssdUpdateReport, BER_CLASS_CON, 156, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDUpdateReport },
5466
  { &hf_ansi_map_uniqueChallengeReport, BER_CLASS_CON, 124, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UniqueChallengeReport },
5467
  { &hf_ansi_map_voicePrivacyReport, BER_CLASS_CON, 196, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyReport },
5468
  { NULL, 0, 0, 0, NULL }
5469
};
5470
5471
static unsigned
5472
0
dissect_ansi_map_AuthenticationStatusReport_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5473
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5474
0
                              AuthenticationStatusReport_U_set, hf_index, ett_ansi_map_AuthenticationStatusReport_U);
5475
5476
0
  return offset;
5477
0
}
5478
5479
5480
5481
static unsigned
5482
0
dissect_ansi_map_AuthenticationStatusReport(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5483
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5484
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_AuthenticationStatusReport_U);
5485
5486
0
  return offset;
5487
0
}
5488
5489
5490
static const ber_sequence_t AuthenticationStatusReportRes_U_set[] = {
5491
  { &hf_ansi_map_authenticationAlgorithmVersion, BER_CLASS_CON, 77, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationAlgorithmVersion },
5492
  { &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
5493
  { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
5494
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
5495
  { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
5496
  { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
5497
  { &hf_ansi_map_randomVariableSSD, BER_CLASS_CON, 42, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableSSD },
5498
  { &hf_ansi_map_randomVariableUniqueChallenge, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableUniqueChallenge },
5499
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
5500
  { &hf_ansi_map_sharedSecretData, BER_CLASS_CON, 46, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SharedSecretData },
5501
  { &hf_ansi_map_ssdnotShared, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDNotShared },
5502
  { &hf_ansi_map_updateCount, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UpdateCount },
5503
  { NULL, 0, 0, 0, NULL }
5504
};
5505
5506
static unsigned
5507
0
dissect_ansi_map_AuthenticationStatusReportRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5508
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5509
0
                              AuthenticationStatusReportRes_U_set, hf_index, ett_ansi_map_AuthenticationStatusReportRes_U);
5510
5511
0
  return offset;
5512
0
}
5513
5514
5515
5516
static unsigned
5517
0
dissect_ansi_map_AuthenticationStatusReportRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5518
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5519
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_AuthenticationStatusReportRes_U);
5520
5521
0
  return offset;
5522
0
}
5523
5524
5525
5526
static unsigned
5527
0
dissect_ansi_map_RandomVariableBaseStation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5528
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5529
0
                                       NULL);
5530
5531
0
  return offset;
5532
0
}
5533
5534
5535
static const ber_sequence_t BaseStationChallenge_U_set[] = {
5536
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
5537
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
5538
  { &hf_ansi_map_randomVariableBaseStation, BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableBaseStation },
5539
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
5540
  { &hf_ansi_map_serviceIndicator, BER_CLASS_CON, 193, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceIndicator },
5541
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
5542
  { NULL, 0, 0, 0, NULL }
5543
};
5544
5545
static unsigned
5546
0
dissect_ansi_map_BaseStationChallenge_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5547
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5548
0
                              BaseStationChallenge_U_set, hf_index, ett_ansi_map_BaseStationChallenge_U);
5549
5550
0
  return offset;
5551
0
}
5552
5553
5554
5555
static unsigned
5556
0
dissect_ansi_map_BaseStationChallenge(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5557
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5558
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_BaseStationChallenge_U);
5559
5560
0
  return offset;
5561
0
}
5562
5563
5564
5565
static unsigned
5566
0
dissect_ansi_map_AuthenticationResponseBaseStation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5567
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5568
0
                                       NULL);
5569
5570
0
  return offset;
5571
0
}
5572
5573
5574
static const ber_sequence_t BaseStationChallengeRes_U_set[] = {
5575
  { &hf_ansi_map_authenticationResponseBaseStation, BER_CLASS_CON, 36, BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseBaseStation },
5576
  { NULL, 0, 0, 0, NULL }
5577
};
5578
5579
static unsigned
5580
0
dissect_ansi_map_BaseStationChallengeRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5581
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5582
0
                              BaseStationChallengeRes_U_set, hf_index, ett_ansi_map_BaseStationChallengeRes_U);
5583
5584
0
  return offset;
5585
0
}
5586
5587
5588
5589
static unsigned
5590
0
dissect_ansi_map_BaseStationChallengeRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5591
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5592
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_BaseStationChallengeRes_U);
5593
5594
0
  return offset;
5595
0
}
5596
5597
5598
static const ber_sequence_t Blocking_U_set[] = {
5599
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
5600
  { NULL, 0, 0, 0, NULL }
5601
};
5602
5603
static unsigned
5604
0
dissect_ansi_map_Blocking_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5605
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5606
0
                              Blocking_U_set, hf_index, ett_ansi_map_Blocking_U);
5607
5608
0
  return offset;
5609
0
}
5610
5611
5612
5613
static unsigned
5614
0
dissect_ansi_map_Blocking(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5615
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5616
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_Blocking_U);
5617
5618
0
  return offset;
5619
0
}
5620
5621
5622
static const ber_sequence_t BulkDeregistration_U_set[] = {
5623
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
5624
  { NULL, 0, 0, 0, NULL }
5625
};
5626
5627
static unsigned
5628
0
dissect_ansi_map_BulkDeregistration_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5629
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5630
0
                              BulkDeregistration_U_set, hf_index, ett_ansi_map_BulkDeregistration_U);
5631
5632
0
  return offset;
5633
0
}
5634
5635
5636
5637
static unsigned
5638
0
dissect_ansi_map_BulkDeregistration(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5639
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5640
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_BulkDeregistration_U);
5641
5642
0
  return offset;
5643
0
}
5644
5645
5646
static const ber_sequence_t CountRequest_U_set[] = {
5647
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
5648
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
5649
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
5650
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
5651
  { NULL, 0, 0, 0, NULL }
5652
};
5653
5654
static unsigned
5655
0
dissect_ansi_map_CountRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5656
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5657
0
                              CountRequest_U_set, hf_index, ett_ansi_map_CountRequest_U);
5658
5659
0
  return offset;
5660
0
}
5661
5662
5663
5664
static unsigned
5665
0
dissect_ansi_map_CountRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5666
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5667
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_CountRequest_U);
5668
5669
0
  return offset;
5670
0
}
5671
5672
5673
static const ber_sequence_t CountRequestRes_U_set[] = {
5674
  { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
5675
  { NULL, 0, 0, 0, NULL }
5676
};
5677
5678
static unsigned
5679
0
dissect_ansi_map_CountRequestRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5680
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5681
0
                              CountRequestRes_U_set, hf_index, ett_ansi_map_CountRequestRes_U);
5682
5683
0
  return offset;
5684
0
}
5685
5686
5687
5688
static unsigned
5689
0
dissect_ansi_map_CountRequestRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5690
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5691
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_CountRequestRes_U);
5692
5693
0
  return offset;
5694
0
}
5695
5696
5697
5698
static unsigned
5699
0
dissect_ansi_map_BillingID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5700
0
  tvbuff_t *parameter_tvb = NULL;
5701
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5702
0
                                       &parameter_tvb);
5703
5704
0
  if (parameter_tvb){
5705
0
    dissect_ansi_map_billingid(parameter_tvb,actx->pinfo,tree, actx);
5706
0
  }
5707
5708
5709
0
  return offset;
5710
0
}
5711
5712
5713
5714
static unsigned
5715
0
dissect_ansi_map_ChannelData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5716
0
  tvbuff_t *parameter_tvb = NULL;
5717
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5718
0
                                       &parameter_tvb);
5719
5720
0
  if (parameter_tvb){
5721
0
    dissect_ansi_map_channeldata(parameter_tvb,actx->pinfo,tree, actx);
5722
0
  }
5723
5724
5725
0
  return offset;
5726
0
}
5727
5728
5729
5730
static unsigned
5731
0
dissect_ansi_map_InterSwitchCount(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5732
0
  offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
5733
0
                                                            0U, 255U, hf_index, NULL);
5734
5735
0
  return offset;
5736
0
}
5737
5738
5739
5740
static unsigned
5741
0
dissect_ansi_map_ServingCellID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5742
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5743
0
                                       NULL);
5744
5745
0
  return offset;
5746
0
}
5747
5748
5749
5750
static unsigned
5751
0
dissect_ansi_map_StationClassMark(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5752
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5753
0
                                       NULL);
5754
5755
0
  return offset;
5756
0
}
5757
5758
5759
5760
static unsigned
5761
0
dissect_ansi_map_TargetCellID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5762
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5763
0
                                       NULL);
5764
5765
0
  return offset;
5766
0
}
5767
5768
5769
static const value_string ansi_map_HandoffReason_vals[] = {
5770
  {   0, "not-used" },
5771
  {   1, "unspecified" },
5772
  {   2, "weak-Signal" },
5773
  {   3, "off-loading" },
5774
  {   4, "anticipatory" },
5775
  { 0, NULL }
5776
};
5777
5778
5779
static unsigned
5780
0
dissect_ansi_map_HandoffReason(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5781
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5782
0
                                  NULL);
5783
5784
0
  return offset;
5785
0
}
5786
5787
5788
5789
static unsigned
5790
0
dissect_ansi_map_HandoffState(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5791
0
  tvbuff_t *parameter_tvb = NULL;
5792
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5793
0
                                       &parameter_tvb);
5794
5795
0
  if (parameter_tvb){
5796
0
    dissect_ansi_map_handoffstate(parameter_tvb,actx->pinfo,tree, actx);
5797
0
  }
5798
5799
5800
0
  return offset;
5801
0
}
5802
5803
5804
5805
static unsigned
5806
0
dissect_ansi_map_TDMABurstIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5807
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5808
0
                                       NULL);
5809
5810
0
  return offset;
5811
0
}
5812
5813
5814
5815
static unsigned
5816
0
dissect_ansi_map_TDMACallMode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5817
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5818
0
                                       NULL);
5819
5820
0
  return offset;
5821
0
}
5822
5823
5824
5825
static unsigned
5826
0
dissect_ansi_map_TDMAChannelData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5827
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5828
0
                                       NULL);
5829
5830
0
  return offset;
5831
0
}
5832
5833
5834
static const ber_sequence_t FacilitiesDirective_U_set[] = {
5835
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
5836
  { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
5837
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
5838
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
5839
  { &hf_ansi_map_interSwitchCount, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterSwitchCount },
5840
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
5841
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
5842
  { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
5843
  { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
5844
  { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
5845
  { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
5846
  { &hf_ansi_map_handoffState, BER_CLASS_CON, 164, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffState },
5847
  { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
5848
  { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
5849
  { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
5850
  { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
5851
  { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
5852
  { NULL, 0, 0, 0, NULL }
5853
};
5854
5855
static unsigned
5856
0
dissect_ansi_map_FacilitiesDirective_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5857
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5858
0
                              FacilitiesDirective_U_set, hf_index, ett_ansi_map_FacilitiesDirective_U);
5859
5860
0
  return offset;
5861
0
}
5862
5863
5864
5865
static unsigned
5866
0
dissect_ansi_map_FacilitiesDirective(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5867
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5868
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_FacilitiesDirective_U);
5869
5870
0
  return offset;
5871
0
}
5872
5873
5874
static const ber_sequence_t FacilitiesDirectiveRes_U_set[] = {
5875
  { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
5876
  { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
5877
  { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
5878
  { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
5879
  { NULL, 0, 0, 0, NULL }
5880
};
5881
5882
static unsigned
5883
0
dissect_ansi_map_FacilitiesDirectiveRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5884
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5885
0
                              FacilitiesDirectiveRes_U_set, hf_index, ett_ansi_map_FacilitiesDirectiveRes_U);
5886
5887
0
  return offset;
5888
0
}
5889
5890
5891
5892
static unsigned
5893
0
dissect_ansi_map_FacilitiesDirectiveRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5894
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5895
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_FacilitiesDirectiveRes_U);
5896
5897
0
  return offset;
5898
0
}
5899
5900
5901
5902
static unsigned
5903
0
dissect_ansi_map_BaseStationManufacturerCode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5904
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5905
0
                                       NULL);
5906
5907
0
  return offset;
5908
0
}
5909
5910
5911
5912
static unsigned
5913
0
dissect_ansi_map_AlertCode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5914
0
  tvbuff_t *parameter_tvb = NULL;
5915
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5916
0
                                       &parameter_tvb);
5917
5918
0
  if (parameter_tvb){
5919
0
    dissect_ansi_map_alertcode(parameter_tvb,actx->pinfo,tree, actx);
5920
0
  }
5921
5922
5923
0
  return offset;
5924
0
}
5925
5926
5927
5928
static unsigned
5929
0
dissect_ansi_map_CDMA2000HandoffInvokeIOSData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5930
0
  tvbuff_t *parameter_tvb = NULL;
5931
0
    proto_tree *subtree;
5932
5933
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5934
0
                                       &parameter_tvb);
5935
5936
0
  if (parameter_tvb){
5937
0
    subtree = proto_item_add_subtree(actx->created_item, ett_CDMA2000HandoffInvokeIOSData);
5938
0
    dissect_cdma2000_a1_elements(parameter_tvb, actx->pinfo, subtree,
5939
0
      0, tvb_reported_length_remaining(parameter_tvb,0));
5940
0
  }
5941
5942
0
  return offset;
5943
0
}
5944
5945
5946
5947
static unsigned
5948
0
dissect_ansi_map_CDMAMobileProtocolRevision(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5949
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5950
0
                                       NULL);
5951
5952
0
  return offset;
5953
0
}
5954
5955
5956
5957
static unsigned
5958
0
dissect_ansi_map_CDMAStationClassMark2(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5959
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5960
0
                                       NULL);
5961
5962
0
  return offset;
5963
0
}
5964
5965
5966
static const ber_sequence_t CDMABandClassInformation_sequence[] = {
5967
  { &hf_ansi_map_cdmaBandClass, BER_CLASS_CON, 170, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClass },
5968
  { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
5969
  { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
5970
  { NULL, 0, 0, 0, NULL }
5971
};
5972
5973
static unsigned
5974
0
dissect_ansi_map_CDMABandClassInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5975
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5976
0
                                   CDMABandClassInformation_sequence, hf_index, ett_ansi_map_CDMABandClassInformation);
5977
5978
0
  return offset;
5979
0
}
5980
5981
5982
static const ber_sequence_t CDMABandClassList_sequence_of[1] = {
5983
  { &hf_ansi_map_CDMABandClassList_item, BER_CLASS_CON, 171, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClassInformation },
5984
};
5985
5986
static unsigned
5987
0
dissect_ansi_map_CDMABandClassList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5988
0
  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5989
0
                                      CDMABandClassList_sequence_of, hf_index, ett_ansi_map_CDMABandClassList);
5990
5991
0
  return offset;
5992
0
}
5993
5994
5995
5996
static unsigned
5997
0
dissect_ansi_map_CDMACallMode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5998
0
  tvbuff_t *parameter_tvb = NULL;
5999
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6000
0
                                       &parameter_tvb);
6001
6002
0
  if (parameter_tvb){
6003
0
    dissect_ansi_map_cdmacallmode(parameter_tvb,actx->pinfo,tree, actx);
6004
0
  }
6005
6006
0
  return offset;
6007
0
}
6008
6009
6010
6011
static unsigned
6012
0
dissect_ansi_map_CDMAChannelData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6013
0
  tvbuff_t *parameter_tvb = NULL;
6014
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6015
0
                                       &parameter_tvb);
6016
6017
0
  if (parameter_tvb){
6018
0
    dissect_ansi_map_cdmachanneldata(parameter_tvb,actx->pinfo,tree, actx);
6019
0
  }
6020
6021
6022
0
  return offset;
6023
0
}
6024
6025
6026
6027
static unsigned
6028
0
dissect_ansi_map_CDMAConnectionReference(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6029
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6030
0
                                       NULL);
6031
6032
0
  return offset;
6033
0
}
6034
6035
6036
6037
static unsigned
6038
0
dissect_ansi_map_CDMAServiceOption(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6039
0
  tvbuff_t *parameter_tvb = NULL;
6040
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6041
0
                                       &parameter_tvb);
6042
6043
0
  if (parameter_tvb){
6044
0
    dissect_ansi_map_cdmaserviceoption(parameter_tvb,actx->pinfo,tree, actx);
6045
0
  }
6046
6047
6048
6049
0
  return offset;
6050
0
}
6051
6052
6053
6054
static unsigned
6055
0
dissect_ansi_map_CDMAState(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6056
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6057
0
                                       NULL);
6058
6059
0
  return offset;
6060
0
}
6061
6062
6063
6064
static unsigned
6065
0
dissect_ansi_map_DataPrivacyParameters(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6066
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6067
0
                                       NULL);
6068
6069
0
  return offset;
6070
0
}
6071
6072
6073
6074
static unsigned
6075
0
dissect_ansi_map_CDMAServiceOptionConnectionIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6076
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6077
0
                                       NULL);
6078
6079
0
  return offset;
6080
0
}
6081
6082
6083
static const ber_sequence_t CDMAConnectionReferenceInformation_sequence[] = {
6084
  { &hf_ansi_map_cdmaConnectionReference, BER_CLASS_CON, 208, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReference },
6085
  { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
6086
  { &hf_ansi_map_cdmaState  , BER_CLASS_CON, 213, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAState },
6087
  { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
6088
  { &hf_ansi_map_cdmaServiceOptionConnectionIdentifier, BER_CLASS_CON, 361, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionConnectionIdentifier },
6089
  { NULL, 0, 0, 0, NULL }
6090
};
6091
6092
static unsigned
6093
0
dissect_ansi_map_CDMAConnectionReferenceInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6094
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6095
0
                                   CDMAConnectionReferenceInformation_sequence, hf_index, ett_ansi_map_CDMAConnectionReferenceInformation);
6096
6097
0
  return offset;
6098
0
}
6099
6100
6101
static const ber_sequence_t CDMAConnectionReferenceList_item_sequence[] = {
6102
  { &hf_ansi_map_cdmaConnectionReferenceInformation, BER_CLASS_CON, 211, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceInformation },
6103
  { &hf_ansi_map_cdmaConnectionReferenceInformation2, BER_CLASS_CON, 211, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceInformation },
6104
  { NULL, 0, 0, 0, NULL }
6105
};
6106
6107
static unsigned
6108
0
dissect_ansi_map_CDMAConnectionReferenceList_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6109
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6110
0
                                   CDMAConnectionReferenceList_item_sequence, hf_index, ett_ansi_map_CDMAConnectionReferenceList_item);
6111
6112
0
  return offset;
6113
0
}
6114
6115
6116
static const ber_sequence_t CDMAConnectionReferenceList_sequence_of[1] = {
6117
  { &hf_ansi_map_CDMAConnectionReferenceList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CDMAConnectionReferenceList_item },
6118
};
6119
6120
static unsigned
6121
0
dissect_ansi_map_CDMAConnectionReferenceList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6122
0
  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6123
0
                                      CDMAConnectionReferenceList_sequence_of, hf_index, ett_ansi_map_CDMAConnectionReferenceList);
6124
6125
0
  return offset;
6126
0
}
6127
6128
6129
6130
static unsigned
6131
0
dissect_ansi_map_CDMAMSMeasuredChannelIdentity(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6132
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6133
0
                                       NULL);
6134
6135
0
  return offset;
6136
0
}
6137
6138
6139
6140
static unsigned
6141
0
dissect_ansi_map_CDMAServiceConfigurationRecord(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6142
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6143
0
                                       NULL);
6144
6145
0
  return offset;
6146
0
}
6147
6148
6149
static const ber_sequence_t CDMAServiceOptionList_sequence_of[1] = {
6150
  { &hf_ansi_map_CDMAServiceOptionList_item, BER_CLASS_CON, 175, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
6151
};
6152
6153
static unsigned
6154
0
dissect_ansi_map_CDMAServiceOptionList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6155
0
  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6156
0
                                      CDMAServiceOptionList_sequence_of, hf_index, ett_ansi_map_CDMAServiceOptionList);
6157
6158
0
  return offset;
6159
0
}
6160
6161
6162
6163
static unsigned
6164
0
dissect_ansi_map_CDMAServingOneWayDelay(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6165
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6166
0
                                       NULL);
6167
6168
0
  return offset;
6169
0
}
6170
6171
6172
6173
static unsigned
6174
0
dissect_ansi_map_CDMAStationClassMark(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6175
0
  tvbuff_t *parameter_tvb = NULL;
6176
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6177
0
                                       &parameter_tvb);
6178
6179
0
  if (parameter_tvb){
6180
0
    dissect_ansi_map_cdmastationclassmark(parameter_tvb,actx->pinfo,tree, actx);
6181
0
  }
6182
6183
6184
0
  return offset;
6185
0
}
6186
6187
6188
6189
static unsigned
6190
0
dissect_ansi_map_CDMAPilotStrength(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6191
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6192
0
                                       NULL);
6193
6194
0
  return offset;
6195
0
}
6196
6197
6198
6199
static unsigned
6200
0
dissect_ansi_map_CDMATargetOneWayDelay(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6201
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6202
0
                                       NULL);
6203
6204
0
  return offset;
6205
0
}
6206
6207
6208
static const ber_sequence_t CDMATargetMAHOInformation_sequence[] = {
6209
  { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
6210
  { &hf_ansi_map_cdmaPilotStrength, BER_CLASS_CON, 65, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPilotStrength },
6211
  { &hf_ansi_map_cdmaTargetOneWayDelay, BER_CLASS_CON, 61, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetOneWayDelay },
6212
  { NULL, 0, 0, 0, NULL }
6213
};
6214
6215
static unsigned
6216
0
dissect_ansi_map_CDMATargetMAHOInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6217
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6218
0
                                   CDMATargetMAHOInformation_sequence, hf_index, ett_ansi_map_CDMATargetMAHOInformation);
6219
6220
0
  return offset;
6221
0
}
6222
6223
6224
static const ber_sequence_t CDMATargetMAHOList_sequence_of[1] = {
6225
  { &hf_ansi_map_CDMATargetMAHOList_item, BER_CLASS_CON, 135, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOInformation },
6226
};
6227
6228
static unsigned
6229
0
dissect_ansi_map_CDMATargetMAHOList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6230
0
  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6231
0
                                      CDMATargetMAHOList_sequence_of, hf_index, ett_ansi_map_CDMATargetMAHOList);
6232
6233
0
  return offset;
6234
0
}
6235
6236
6237
6238
static unsigned
6239
0
dissect_ansi_map_CDMASignalQuality(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6240
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6241
0
                                       NULL);
6242
6243
0
  return offset;
6244
0
}
6245
6246
6247
static const ber_sequence_t CDMATargetMeasurementInformation_sequence[] = {
6248
  { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
6249
  { &hf_ansi_map_cdmaSignalQuality, BER_CLASS_CON, 64, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASignalQuality },
6250
  { &hf_ansi_map_cdmaTargetOneWayDelay, BER_CLASS_CON, 61, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetOneWayDelay },
6251
  { NULL, 0, 0, 0, NULL }
6252
};
6253
6254
static unsigned
6255
0
dissect_ansi_map_CDMATargetMeasurementInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6256
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6257
0
                                   CDMATargetMeasurementInformation_sequence, hf_index, ett_ansi_map_CDMATargetMeasurementInformation);
6258
6259
0
  return offset;
6260
0
}
6261
6262
6263
static const ber_sequence_t CDMATargetMeasurementList_sequence_of[1] = {
6264
  { &hf_ansi_map_CDMATargetMeasurementList_item, BER_CLASS_CON, 133, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementInformation },
6265
};
6266
6267
static unsigned
6268
0
dissect_ansi_map_CDMATargetMeasurementList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6269
0
  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6270
0
                                      CDMATargetMeasurementList_sequence_of, hf_index, ett_ansi_map_CDMATargetMeasurementList);
6271
6272
0
  return offset;
6273
0
}
6274
6275
6276
6277
static unsigned
6278
0
dissect_ansi_map_ISLPInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6279
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6280
0
                                       NULL);
6281
6282
0
  return offset;
6283
0
}
6284
6285
6286
6287
static unsigned
6288
0
dissect_ansi_map_MSLocation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6289
0
  tvbuff_t *parameter_tvb = NULL;
6290
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6291
0
                                       &parameter_tvb);
6292
6293
0
  if (parameter_tvb){
6294
0
    dissect_ansi_map_mslocation(parameter_tvb,actx->pinfo,tree, actx);
6295
0
  }
6296
6297
6298
0
  return offset;
6299
0
}
6300
6301
6302
6303
static unsigned
6304
0
dissect_ansi_map_NAMPSCallMode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6305
0
  tvbuff_t *parameter_tvb = NULL;
6306
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6307
0
                                       &parameter_tvb);
6308
6309
0
  if (parameter_tvb){
6310
0
    dissect_ansi_map_nampscallmode(parameter_tvb,actx->pinfo,tree, actx);
6311
0
  }
6312
6313
6314
0
  return offset;
6315
0
}
6316
6317
6318
6319
static unsigned
6320
0
dissect_ansi_map_NAMPSChannelData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6321
0
  tvbuff_t *parameter_tvb = NULL;
6322
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6323
0
                                       &parameter_tvb);
6324
6325
0
  if (parameter_tvb){
6326
0
    dissect_ansi_map_nampschanneldata(parameter_tvb,actx->pinfo,tree, actx);
6327
0
  }
6328
6329
6330
0
  return offset;
6331
0
}
6332
6333
6334
6335
static unsigned
6336
0
dissect_ansi_map_NonPublicData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6337
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6338
0
                                       NULL);
6339
6340
0
  return offset;
6341
0
}
6342
6343
6344
6345
static unsigned
6346
0
dissect_ansi_map_PDSNAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6347
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6348
0
                                       NULL);
6349
6350
0
  return offset;
6351
0
}
6352
6353
6354
6355
static unsigned
6356
0
dissect_ansi_map_PDSNProtocolType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6357
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6358
0
                                       NULL);
6359
6360
0
  return offset;
6361
0
}
6362
6363
6364
6365
static unsigned
6366
0
dissect_ansi_map_QoSPriority(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6367
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6368
0
                                       NULL);
6369
6370
0
  return offset;
6371
0
}
6372
6373
6374
6375
static unsigned
6376
0
dissect_ansi_map_SystemOperatorCode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6377
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6378
0
                                       NULL);
6379
6380
0
  return offset;
6381
0
}
6382
6383
6384
6385
static unsigned
6386
0
dissect_ansi_map_TDMABandwidth(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6387
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6388
0
                                       NULL);
6389
6390
0
  return offset;
6391
0
}
6392
6393
6394
6395
static unsigned
6396
0
dissect_ansi_map_TDMAServiceCode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6397
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6398
0
                                       NULL);
6399
6400
0
  return offset;
6401
0
}
6402
6403
6404
6405
static unsigned
6406
0
dissect_ansi_map_TDMATerminalCapability(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6407
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6408
0
                                       NULL);
6409
6410
0
  return offset;
6411
0
}
6412
6413
6414
6415
static unsigned
6416
0
dissect_ansi_map_TDMAVoiceCoder(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6417
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6418
0
                                       NULL);
6419
6420
0
  return offset;
6421
0
}
6422
6423
6424
6425
static unsigned
6426
0
dissect_ansi_map_UserZoneData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6427
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6428
0
                                       NULL);
6429
6430
0
  return offset;
6431
0
}
6432
6433
6434
static const ber_sequence_t FacilitiesDirective2_U_set[] = {
6435
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
6436
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
6437
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
6438
  { &hf_ansi_map_interSwitchCount, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterSwitchCount },
6439
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
6440
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
6441
  { &hf_ansi_map_baseStationManufacturerCode, BER_CLASS_CON, 197, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BaseStationManufacturerCode },
6442
  { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
6443
  { &hf_ansi_map_cdma2000HandoffInvokeIOSData, BER_CLASS_CON, 356, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffInvokeIOSData },
6444
  { &hf_ansi_map_cdmaBandClassList, BER_CLASS_CON, 172, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClassList },
6445
  { &hf_ansi_map_cdmaCallMode, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACallMode },
6446
  { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
6447
  { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
6448
  { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
6449
  { &hf_ansi_map_cdmaMSMeasuredChannelIdentity, BER_CLASS_CON, 351, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMSMeasuredChannelIdentity },
6450
  { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
6451
  { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
6452
  { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
6453
  { &hf_ansi_map_cdmaServingOneWayDelay, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay },
6454
  { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
6455
  { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
6456
  { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
6457
  { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList },
6458
  { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
6459
  { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
6460
  { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
6461
  { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
6462
  { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
6463
  { &hf_ansi_map_handoffState, BER_CLASS_CON, 164, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffState },
6464
  { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
6465
  { &hf_ansi_map_msLocation , BER_CLASS_CON, 70, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSLocation },
6466
  { &hf_ansi_map_nampsCallMode, BER_CLASS_CON, 165, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSCallMode },
6467
  { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
6468
  { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
6469
  { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
6470
  { &hf_ansi_map_pdsnAddress, BER_CLASS_CON, 349, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNAddress },
6471
  { &hf_ansi_map_pdsnProtocolType, BER_CLASS_CON, 350, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNProtocolType },
6472
  { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
6473
  { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
6474
  { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
6475
  { &hf_ansi_map_systemOperatorCode, BER_CLASS_CON, 206, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemOperatorCode },
6476
  { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
6477
  { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
6478
  { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
6479
  { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
6480
  { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
6481
  { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
6482
  { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL, dissect_ansi_map_TDMATerminalCapability },
6483
  { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
6484
  { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
6485
  { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
6486
  { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
6487
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
6488
  { NULL, 0, 0, 0, NULL }
6489
};
6490
6491
static unsigned
6492
0
dissect_ansi_map_FacilitiesDirective2_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6493
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6494
0
                              FacilitiesDirective2_U_set, hf_index, ett_ansi_map_FacilitiesDirective2_U);
6495
6496
0
  return offset;
6497
0
}
6498
6499
6500
6501
static unsigned
6502
0
dissect_ansi_map_FacilitiesDirective2(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6503
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
6504
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_FacilitiesDirective2_U);
6505
6506
0
  return offset;
6507
0
}
6508
6509
6510
6511
static unsigned
6512
0
dissect_ansi_map_BSMCStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6513
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6514
0
                                       NULL);
6515
6516
0
  return offset;
6517
0
}
6518
6519
6520
6521
static unsigned
6522
0
dissect_ansi_map_CDMA2000HandoffResponseIOSData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6523
0
  tvbuff_t *parameter_tvb = NULL;
6524
0
    proto_tree *subtree;
6525
6526
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6527
0
                                       &parameter_tvb);
6528
6529
0
  if (parameter_tvb){
6530
0
    subtree = proto_item_add_subtree(actx->created_item, ett_CDMA2000HandoffResponseIOSData);
6531
0
    dissect_cdma2000_a1_elements(parameter_tvb, actx->pinfo, subtree,
6532
0
      0, tvb_reported_length_remaining(parameter_tvb,0));
6533
0
  }
6534
6535
0
  return offset;
6536
0
}
6537
6538
6539
6540
static unsigned
6541
0
dissect_ansi_map_CDMACodeChannel(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6542
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6543
0
                                       NULL);
6544
6545
0
  return offset;
6546
0
}
6547
6548
6549
6550
static unsigned
6551
0
dissect_ansi_map_CDMAPilotPN(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6552
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6553
0
                                       NULL);
6554
6555
0
  return offset;
6556
0
}
6557
6558
6559
6560
static unsigned
6561
0
dissect_ansi_map_CDMAPowerCombinedIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6562
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6563
0
                                       NULL);
6564
6565
0
  return offset;
6566
0
}
6567
6568
6569
static const ber_sequence_t CDMACodeChannelInformation_sequence[] = {
6570
  { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
6571
  { &hf_ansi_map_cdmaCodeChannel, BER_CLASS_CON, 68, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannel },
6572
  { &hf_ansi_map_cdmaPilotPN, BER_CLASS_CON, 173, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPilotPN },
6573
  { &hf_ansi_map_cdmaPowerCombinedIndicator, BER_CLASS_CON, 228, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPowerCombinedIndicator },
6574
  { NULL, 0, 0, 0, NULL }
6575
};
6576
6577
static unsigned
6578
0
dissect_ansi_map_CDMACodeChannelInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6579
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6580
0
                                   CDMACodeChannelInformation_sequence, hf_index, ett_ansi_map_CDMACodeChannelInformation);
6581
6582
0
  return offset;
6583
0
}
6584
6585
6586
static const ber_sequence_t CDMACodeChannelList_sequence_of[1] = {
6587
  { &hf_ansi_map_CDMACodeChannelList_item, BER_CLASS_CON, 131, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannelInformation },
6588
};
6589
6590
static unsigned
6591
0
dissect_ansi_map_CDMACodeChannelList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6592
0
  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6593
0
                                      CDMACodeChannelList_sequence_of, hf_index, ett_ansi_map_CDMACodeChannelList);
6594
6595
0
  return offset;
6596
0
}
6597
6598
6599
6600
static unsigned
6601
0
dissect_ansi_map_CDMASearchParameters(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6602
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6603
0
                                       NULL);
6604
6605
0
  return offset;
6606
0
}
6607
6608
6609
6610
static unsigned
6611
0
dissect_ansi_map_CDMASearchWindow(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6612
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6613
0
                                       NULL);
6614
6615
0
  return offset;
6616
0
}
6617
6618
6619
6620
static unsigned
6621
0
dissect_ansi_map_SOCStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6622
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6623
0
                                       NULL);
6624
6625
0
  return offset;
6626
0
}
6627
6628
6629
static const ber_sequence_t FacilitiesDirective2Res_U_set[] = {
6630
  { &hf_ansi_map_bsmcstatus , BER_CLASS_CON, 198, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BSMCStatus },
6631
  { &hf_ansi_map_cdma2000HandoffResponseIOSData, BER_CLASS_CON, 357, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffResponseIOSData },
6632
  { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
6633
  { &hf_ansi_map_cdmaCodeChannelList, BER_CLASS_CON, 132, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannelList },
6634
  { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
6635
  { &hf_ansi_map_cdmaSearchParameters, BER_CLASS_CON, 230, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchParameters },
6636
  { &hf_ansi_map_cdmaSearchWindow, BER_CLASS_CON, 69, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchWindow },
6637
  { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
6638
  { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
6639
  { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
6640
  { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
6641
  { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
6642
  { &hf_ansi_map_sOCStatus  , BER_CLASS_CON, 205, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SOCStatus },
6643
  { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
6644
  { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
6645
  { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
6646
  { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
6647
  { NULL, 0, 0, 0, NULL }
6648
};
6649
6650
static unsigned
6651
0
dissect_ansi_map_FacilitiesDirective2Res_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6652
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6653
0
                              FacilitiesDirective2Res_U_set, hf_index, ett_ansi_map_FacilitiesDirective2Res_U);
6654
6655
0
  return offset;
6656
0
}
6657
6658
6659
6660
static unsigned
6661
0
dissect_ansi_map_FacilitiesDirective2Res(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6662
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
6663
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_FacilitiesDirective2Res_U);
6664
6665
0
  return offset;
6666
0
}
6667
6668
6669
static const value_string ansi_map_ReleaseReason_vals[] = {
6670
  {   0, "unspecified" },
6671
  {   1, "callOverClearForward" },
6672
  {   2, "callOverClearBackward" },
6673
  {   3, "handoffSuccessful" },
6674
  {   4, "handoffAbort-call-over" },
6675
  {   5, "handoffAbort-not-received" },
6676
  {   6, "abnormalMobileTermination" },
6677
  {   7, "abnormalSwitchTermination" },
6678
  {   8, "specialFeatureRelease" },
6679
  {   9, "sessionOverClearForward" },
6680
  {  10, "sessionOverClearBackward" },
6681
  {  11, "clearAllServicesForward" },
6682
  {  12, "clearAllServicesBackward" },
6683
  {  13, "anchor-MSC-was-removed-from-the-packet-data-session" },
6684
  {  14, "keep-MS-on-traffic-channel" },
6685
  { 0, NULL }
6686
};
6687
6688
6689
static unsigned
6690
0
dissect_ansi_map_ReleaseReason(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6691
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6692
0
                                  NULL);
6693
6694
0
  return offset;
6695
0
}
6696
6697
6698
static const ber_sequence_t FacilitiesRelease_U_set[] = {
6699
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
6700
  { &hf_ansi_map_releaseReason, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_ansi_map_ReleaseReason },
6701
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
6702
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
6703
  { NULL, 0, 0, 0, NULL }
6704
};
6705
6706
static unsigned
6707
0
dissect_ansi_map_FacilitiesRelease_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6708
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6709
0
                              FacilitiesRelease_U_set, hf_index, ett_ansi_map_FacilitiesRelease_U);
6710
6711
0
  return offset;
6712
0
}
6713
6714
6715
6716
static unsigned
6717
0
dissect_ansi_map_FacilitiesRelease(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6718
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
6719
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_FacilitiesRelease_U);
6720
6721
0
  return offset;
6722
0
}
6723
6724
6725
static const ber_sequence_t FacilitiesReleaseRes_U_set[] = {
6726
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
6727
  { NULL, 0, 0, 0, NULL }
6728
};
6729
6730
static unsigned
6731
0
dissect_ansi_map_FacilitiesReleaseRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6732
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6733
0
                              FacilitiesReleaseRes_U_set, hf_index, ett_ansi_map_FacilitiesReleaseRes_U);
6734
6735
0
  return offset;
6736
0
}
6737
6738
6739
6740
static unsigned
6741
0
dissect_ansi_map_FacilitiesReleaseRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6742
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
6743
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_FacilitiesReleaseRes_U);
6744
6745
0
  return offset;
6746
0
}
6747
6748
6749
6750
static unsigned
6751
0
dissect_ansi_map_ACGEncountered(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6752
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6753
0
                                       NULL);
6754
6755
0
  return offset;
6756
0
}
6757
6758
6759
6760
static unsigned
6761
0
dissect_ansi_map_CallingPartyName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6762
0
  tvbuff_t *parameter_tvb = NULL;
6763
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6764
0
                                       &parameter_tvb);
6765
6766
0
  if (parameter_tvb){
6767
0
    dissect_ansi_map_callingpartyname(parameter_tvb,actx->pinfo,tree, actx);
6768
0
  }
6769
6770
6771
0
  return offset;
6772
0
}
6773
6774
6775
6776
static unsigned
6777
0
dissect_ansi_map_CallingPartyNumberDigits1(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6778
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
6779
6780
0
  return offset;
6781
0
}
6782
6783
6784
6785
static unsigned
6786
0
dissect_ansi_map_CallingPartyNumberDigits2(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6787
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
6788
6789
0
  return offset;
6790
0
}
6791
6792
6793
6794
static unsigned
6795
0
dissect_ansi_map_Subaddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6796
0
  tvbuff_t *parameter_tvb = NULL;
6797
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6798
0
                                       &parameter_tvb);
6799
6800
0
  if (parameter_tvb){
6801
0
    dissect_ansi_map_subaddress(parameter_tvb,actx->pinfo,tree, actx);
6802
0
  }
6803
6804
6805
0
  return offset;
6806
0
}
6807
6808
6809
6810
static unsigned
6811
0
dissect_ansi_map_CallingPartySubaddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6812
0
  offset = dissect_ansi_map_Subaddress(implicit_tag, tvb, offset, actx, tree, hf_index);
6813
6814
0
  return offset;
6815
0
}
6816
6817
6818
6819
static unsigned
6820
0
dissect_ansi_map_ConferenceCallingIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6821
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6822
0
                                       NULL);
6823
6824
0
  return offset;
6825
0
}
6826
6827
6828
6829
static unsigned
6830
0
dissect_ansi_map_MobileDirectoryNumber(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6831
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
6832
6833
0
  return offset;
6834
0
}
6835
6836
6837
6838
static unsigned
6839
0
dissect_ansi_map_MSCIdentificationNumber(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6840
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
6841
6842
0
  return offset;
6843
0
}
6844
6845
6846
6847
static unsigned
6848
0
dissect_ansi_map_OneTimeFeatureIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6849
0
  tvbuff_t *parameter_tvb = NULL;
6850
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6851
0
                                       &parameter_tvb);
6852
6853
0
  if (parameter_tvb){
6854
0
    dissect_ansi_map_onetimefeatureindicator(parameter_tvb,actx->pinfo,tree, actx);
6855
0
  }
6856
6857
6858
0
  return offset;
6859
0
}
6860
6861
6862
static const value_string ansi_map_SystemMyTypeCode_vals[] = {
6863
  {   0, "not-used" },
6864
  {   1, "eDS" },
6865
  {   2, "astronet" },
6866
  {   3, "lucent-Technologies" },
6867
  {   4, "ericsson" },
6868
  {   5, "gTE" },
6869
  {   6, "motorola" },
6870
  {   7, "nEC" },
6871
  {   8, "nORTEL" },
6872
  {   9, "novAtel" },
6873
  {  10, "plexsys" },
6874
  {  11, "digital-Equipment-Corp" },
6875
  {  12, "iNET" },
6876
  {  13, "bellcore" },
6877
  {  14, "alcatel-SEL" },
6878
  {  15, "compaq" },
6879
  {  16, "qUALCOMM" },
6880
  {  17, "aldiscon" },
6881
  {  18, "celcore" },
6882
  {  19, "tELOS" },
6883
  {  20, "aDI-Limited" },
6884
  {  21, "coral-Systems" },
6885
  {  22, "synacom-Technology" },
6886
  {  23, "dSC" },
6887
  {  24, "mCI" },
6888
  {  25, "newNet" },
6889
  {  26, "sema-Group-Telecoms" },
6890
  {  27, "lG-Information-and-Communications" },
6891
  {  28, "cBIS" },
6892
  {  29, "siemens" },
6893
  {  30, "samsung-Electronics" },
6894
  {  31, "readyCom-Inc" },
6895
  {  32, "aG-Communication-Systems" },
6896
  {  33, "hughes-Network-Systems" },
6897
  {  34, "phoenix-Wireless-Group" },
6898
  { 0, NULL }
6899
};
6900
6901
static value_string_ext ansi_map_SystemMyTypeCode_vals_ext = VALUE_STRING_EXT_INIT(ansi_map_SystemMyTypeCode_vals);
6902
6903
6904
static unsigned
6905
0
dissect_ansi_map_SystemMyTypeCode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6906
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6907
0
                                  NULL);
6908
6909
0
  return offset;
6910
0
}
6911
6912
6913
static const ber_sequence_t FeatureRequest_U_set[] = {
6914
  { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
6915
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
6916
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
6917
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
6918
  { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
6919
  { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
6920
  { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
6921
  { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
6922
  { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
6923
  { &hf_ansi_map_conferenceCallingIndicator, BER_CLASS_CON, 137, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConferenceCallingIndicator },
6924
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
6925
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
6926
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
6927
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
6928
  { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
6929
  { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
6930
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
6931
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
6932
  { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
6933
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
6934
  { NULL, 0, 0, 0, NULL }
6935
};
6936
6937
static unsigned
6938
0
dissect_ansi_map_FeatureRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6939
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6940
0
                              FeatureRequest_U_set, hf_index, ett_ansi_map_FeatureRequest_U);
6941
6942
0
  return offset;
6943
0
}
6944
6945
6946
6947
static unsigned
6948
0
dissect_ansi_map_FeatureRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6949
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
6950
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_FeatureRequest_U);
6951
6952
0
  return offset;
6953
0
}
6954
6955
6956
static const value_string ansi_map_FeatureResult_vals[] = {
6957
  {   0, "not-used" },
6958
  {   1, "unsuccessful" },
6959
  {   2, "successful" },
6960
  { 0, NULL }
6961
};
6962
6963
6964
static unsigned
6965
0
dissect_ansi_map_FeatureResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6966
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6967
0
                                  NULL);
6968
6969
0
  return offset;
6970
0
}
6971
6972
6973
static const value_string ansi_map_AccessDeniedReason_vals[] = {
6974
  {   0, "not-used" },
6975
  {   1, "unassigned-directory-number" },
6976
  {   2, "inactive" },
6977
  {   3, "busy" },
6978
  {   4, "termination-denied" },
6979
  {   5, "no-page-response" },
6980
  {   6, "unavailable" },
6981
  {   7, "service-Rejected-by-MS" },
6982
  {   8, "services-Rejected-by-the-System" },
6983
  {   9, "service-Type-Mismatch" },
6984
  {  10, "service-Denied" },
6985
  {  12, "position-Determination-Not-Supported" },
6986
  { 0, NULL }
6987
};
6988
6989
6990
static unsigned
6991
0
dissect_ansi_map_AccessDeniedReason(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6992
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6993
0
                                  NULL);
6994
6995
0
  return offset;
6996
0
}
6997
6998
6999
7000
static unsigned
7001
0
dissect_ansi_map_ActionCode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7002
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7003
0
                                       NULL);
7004
7005
0
  return offset;
7006
0
}
7007
7008
7009
7010
static unsigned
7011
0
dissect_ansi_map_AnnouncementCode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7012
0
  tvbuff_t *parameter_tvb = NULL;
7013
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7014
0
                                       &parameter_tvb);
7015
7016
0
  if (parameter_tvb){
7017
0
    dissect_ansi_map_announcementcode(parameter_tvb,actx->pinfo,tree, actx);
7018
0
  }
7019
7020
7021
0
  return offset;
7022
0
}
7023
7024
7025
static const ber_sequence_t AnnouncementList_sequence[] = {
7026
  { &hf_ansi_map_announcementCode1, BER_CLASS_CON, 76, BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementCode },
7027
  { &hf_ansi_map_announcementCode2, BER_CLASS_CON, 76, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementCode },
7028
  { NULL, 0, 0, 0, NULL }
7029
};
7030
7031
static unsigned
7032
0
dissect_ansi_map_AnnouncementList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7033
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7034
0
                                   AnnouncementList_sequence, hf_index, ett_ansi_map_AnnouncementList);
7035
7036
0
  return offset;
7037
0
}
7038
7039
7040
7041
static unsigned
7042
0
dissect_ansi_map_CallingPartyNumberString1(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7043
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7044
7045
0
  return offset;
7046
0
}
7047
7048
7049
7050
static unsigned
7051
0
dissect_ansi_map_CallingPartyNumberString2(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7052
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7053
7054
0
  return offset;
7055
0
}
7056
7057
7058
7059
static unsigned
7060
0
dissect_ansi_map_DisplayText(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7061
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7062
0
                                       NULL);
7063
7064
0
  return offset;
7065
0
}
7066
7067
7068
7069
static unsigned
7070
0
dissect_ansi_map_DisplayText2(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7071
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7072
0
                                       NULL);
7073
7074
0
  return offset;
7075
0
}
7076
7077
7078
7079
static unsigned
7080
0
dissect_ansi_map_DMH_AccountCodeDigits(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7081
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7082
7083
0
  return offset;
7084
0
}
7085
7086
7087
7088
static unsigned
7089
0
dissect_ansi_map_DMH_AlternateBillingDigits(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7090
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7091
7092
0
  return offset;
7093
0
}
7094
7095
7096
7097
static unsigned
7098
0
dissect_ansi_map_DMH_BillingDigits(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7099
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7100
7101
0
  return offset;
7102
0
}
7103
7104
7105
static const value_string ansi_map_DMH_RedirectionIndicator_vals[] = {
7106
  {   0, "not-specified" },
7107
  {   1, "cfu" },
7108
  {   2, "cfb" },
7109
  {   3, "cfna" },
7110
  {   4, "cfo" },
7111
  {   5, "cd-Unspecified" },
7112
  {   6, "cd-PSTN" },
7113
  {   7, "cd-Private" },
7114
  {   8, "pstn-Tandem" },
7115
  {   9, "private" },
7116
  {  10, "busy" },
7117
  {  11, "inactive" },
7118
  {  12, "unassigned" },
7119
  {  13, "termination-denied" },
7120
  {  14, "cd-failure" },
7121
  {  15, "ect" },
7122
  {  16, "mah" },
7123
  {  17, "fa" },
7124
  {  18, "abandoned-call-leg" },
7125
  {  19, "pca-call-refused" },
7126
  {  20, "sca-call-refused" },
7127
  {  21, "dialogue" },
7128
  {  22, "cfd" },
7129
  {  23, "cd-local" },
7130
  {  24, "voice-mail-retrieval" },
7131
  { 0, NULL }
7132
};
7133
7134
static value_string_ext ansi_map_DMH_RedirectionIndicator_vals_ext = VALUE_STRING_EXT_INIT(ansi_map_DMH_RedirectionIndicator_vals);
7135
7136
7137
static unsigned
7138
0
dissect_ansi_map_DMH_RedirectionIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7139
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7140
0
                                  NULL);
7141
7142
0
  return offset;
7143
0
}
7144
7145
7146
7147
static unsigned
7148
0
dissect_ansi_map_GroupInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7149
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7150
0
                                       NULL);
7151
7152
0
  return offset;
7153
0
}
7154
7155
7156
7157
static unsigned
7158
0
dissect_ansi_map_NoAnswerTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7159
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7160
0
                                       NULL);
7161
7162
0
  return offset;
7163
0
}
7164
7165
7166
7167
static unsigned
7168
0
dissect_ansi_map_PACAIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7169
0
  tvbuff_t *parameter_tvb = NULL;
7170
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7171
0
                                       &parameter_tvb);
7172
7173
0
  if (parameter_tvb){
7174
0
    dissect_ansi_map_pacaindicator(parameter_tvb,actx->pinfo,tree, actx);
7175
0
  }
7176
7177
7178
0
  return offset;
7179
0
}
7180
7181
7182
7183
static unsigned
7184
0
dissect_ansi_map_PilotNumber(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7185
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7186
7187
0
  return offset;
7188
0
}
7189
7190
7191
7192
static unsigned
7193
0
dissect_ansi_map_PreferredLanguageIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7194
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7195
0
                                       NULL);
7196
7197
0
  return offset;
7198
0
}
7199
7200
7201
7202
static unsigned
7203
0
dissect_ansi_map_RedirectingNumberDigits(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7204
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7205
7206
0
  return offset;
7207
0
}
7208
7209
7210
7211
static unsigned
7212
0
dissect_ansi_map_RedirectingNumberString(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7213
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7214
7215
0
  return offset;
7216
0
}
7217
7218
7219
7220
static unsigned
7221
0
dissect_ansi_map_RedirectingSubaddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7222
0
  offset = dissect_ansi_map_Subaddress(implicit_tag, tvb, offset, actx, tree, hf_index);
7223
7224
0
  return offset;
7225
0
}
7226
7227
7228
static const value_string ansi_map_ResumePIC_vals[] = {
7229
  {   1, "continue-Call-Processing" },
7230
  {   2, "collect-Information-PIC" },
7231
  {   3, "analyze-Information-PIC" },
7232
  {   4, "select-Route-PIC" },
7233
  {   5, "authorize-Origination-Attempt-PIC" },
7234
  {   6, "authorize-Call-Setup-PIC" },
7235
  {   7, "send-Call-PIC" },
7236
  {   8, "o-Alerting-PIC" },
7237
  {   9, "o-Active-PIC" },
7238
  {  10, "o-Suspended-PIC" },
7239
  {  11, "o-Null-PIC" },
7240
  {  32, "select-Facility-PIC" },
7241
  {  33, "present-Call-PIC" },
7242
  {  34, "authorize-Termination-Attempt-PIC" },
7243
  {  35, "t-Alerting-PIC" },
7244
  {  36, "t-Active-PIC" },
7245
  {  37, "t-Suspended-PIC" },
7246
  {  38, "t-Null-PIC" },
7247
  { 0, NULL }
7248
};
7249
7250
7251
static unsigned
7252
0
dissect_ansi_map_ResumePIC(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7253
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7254
0
                                  NULL);
7255
7256
0
  return offset;
7257
0
}
7258
7259
7260
7261
static unsigned
7262
0
dissect_ansi_map_LegInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7263
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7264
0
                                       NULL);
7265
7266
0
  return offset;
7267
0
}
7268
7269
7270
7271
static unsigned
7272
0
dissect_ansi_map_TerminationTriggers(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7273
0
  tvbuff_t *parameter_tvb = NULL;
7274
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7275
0
                                       &parameter_tvb);
7276
7277
0
  if (parameter_tvb){
7278
0
    dissect_ansi_map_terminationtriggers(parameter_tvb,actx->pinfo,tree, actx);
7279
0
  }
7280
7281
7282
0
  return offset;
7283
0
}
7284
7285
7286
static const ber_sequence_t IntersystemTermination_sequence[] = {
7287
  { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
7288
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
7289
  { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
7290
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
7291
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
7292
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
7293
  { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
7294
  { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
7295
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
7296
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7297
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
7298
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
7299
  { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
7300
  { NULL, 0, 0, 0, NULL }
7301
};
7302
7303
static unsigned
7304
0
dissect_ansi_map_IntersystemTermination(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7305
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7306
0
                                   IntersystemTermination_sequence, hf_index, ett_ansi_map_IntersystemTermination);
7307
7308
0
  return offset;
7309
0
}
7310
7311
7312
7313
static unsigned
7314
0
dissect_ansi_map_TerminationTreatment(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7315
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7316
0
                                       NULL);
7317
7318
0
  return offset;
7319
0
}
7320
7321
7322
7323
static unsigned
7324
0
dissect_ansi_map_VoiceMailboxPIN(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7325
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7326
7327
0
  return offset;
7328
0
}
7329
7330
7331
7332
static unsigned
7333
0
dissect_ansi_map_VoiceMailboxNumber(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7334
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7335
7336
0
  return offset;
7337
0
}
7338
7339
7340
static const ber_sequence_t LocalTermination_sequence[] = {
7341
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
7342
  { &hf_ansi_map_terminationTreatment, BER_CLASS_CON, 121, BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTreatment },
7343
  { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
7344
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
7345
  { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
7346
  { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
7347
  { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
7348
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
7349
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7350
  { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
7351
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
7352
  { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
7353
  { &hf_ansi_map_voiceMailboxPIN, BER_CLASS_CON, 159, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoiceMailboxPIN },
7354
  { &hf_ansi_map_voiceMailboxNumber, BER_CLASS_CON, 160, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoiceMailboxNumber },
7355
  { NULL, 0, 0, 0, NULL }
7356
};
7357
7358
static unsigned
7359
0
dissect_ansi_map_LocalTermination(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7360
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7361
0
                                   LocalTermination_sequence, hf_index, ett_ansi_map_LocalTermination);
7362
7363
0
  return offset;
7364
0
}
7365
7366
7367
static const ber_sequence_t PSTNTermination_sequence[] = {
7368
  { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
7369
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
7370
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
7371
  { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
7372
  { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
7373
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7374
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
7375
  { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
7376
  { NULL, 0, 0, 0, NULL }
7377
};
7378
7379
static unsigned
7380
0
dissect_ansi_map_PSTNTermination(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7381
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7382
0
                                   PSTNTermination_sequence, hf_index, ett_ansi_map_PSTNTermination);
7383
7384
0
  return offset;
7385
0
}
7386
7387
7388
static const value_string ansi_map_TerminationList_item_vals[] = {
7389
  {  89, "intersystemTermination" },
7390
  {  91, "localTermination" },
7391
  {  95, "pstnTermination" },
7392
  { 0, NULL }
7393
};
7394
7395
static const ber_choice_t TerminationList_item_choice[] = {
7396
  {  89, &hf_ansi_map_intersystemTermination, BER_CLASS_CON, 89, BER_FLAGS_IMPLTAG, dissect_ansi_map_IntersystemTermination },
7397
  {  91, &hf_ansi_map_localTermination, BER_CLASS_CON, 91, BER_FLAGS_IMPLTAG, dissect_ansi_map_LocalTermination },
7398
  {  95, &hf_ansi_map_pstnTermination, BER_CLASS_CON, 95, BER_FLAGS_IMPLTAG, dissect_ansi_map_PSTNTermination },
7399
  { 0, NULL, 0, 0, 0, NULL }
7400
};
7401
7402
static unsigned
7403
0
dissect_ansi_map_TerminationList_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7404
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
7405
0
                                 TerminationList_item_choice, hf_index, ett_ansi_map_TerminationList_item,
7406
0
                                 NULL);
7407
7408
0
  return offset;
7409
0
}
7410
7411
7412
static const ber_sequence_t TerminationList_set_of[1] = {
7413
  { &hf_ansi_map_TerminationList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_TerminationList_item },
7414
};
7415
7416
static unsigned
7417
0
dissect_ansi_map_TerminationList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7418
0
  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
7419
0
                                 TerminationList_set_of, hf_index, ett_ansi_map_TerminationList);
7420
7421
0
  return offset;
7422
0
}
7423
7424
7425
7426
static unsigned
7427
0
dissect_ansi_map_GlobalTitle(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7428
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7429
0
                                       NULL);
7430
7431
0
  return offset;
7432
0
}
7433
7434
7435
static const value_string ansi_map_DestinationAddress_vals[] = {
7436
  { 261, "globalTitle" },
7437
  {  32, "pC-SSN" },
7438
  { 0, NULL }
7439
};
7440
7441
static const ber_choice_t DestinationAddress_choice[] = {
7442
  { 261, &hf_ansi_map_globalTitle, BER_CLASS_CON, 261, BER_FLAGS_IMPLTAG, dissect_ansi_map_GlobalTitle },
7443
  {  32, &hf_ansi_map_pC_SSN     , BER_CLASS_CON, 32, BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
7444
  { 0, NULL, 0, 0, 0, NULL }
7445
};
7446
7447
static unsigned
7448
0
dissect_ansi_map_DestinationAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7449
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
7450
0
                                 DestinationAddress_choice, hf_index, ett_ansi_map_DestinationAddress,
7451
0
                                 NULL);
7452
7453
0
  return offset;
7454
0
}
7455
7456
7457
7458
static unsigned
7459
0
dissect_ansi_map_WIN_TriggerList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7460
0
  tvbuff_t *parameter_tvb = NULL;
7461
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7462
0
                                       &parameter_tvb);
7463
7464
0
  if (parameter_tvb){
7465
0
    dissect_ansi_map_win_trigger_list(parameter_tvb,actx->pinfo,tree, actx);
7466
0
  }
7467
7468
7469
0
  return offset;
7470
0
}
7471
7472
7473
static const ber_sequence_t TriggerList_set[] = {
7474
  { &hf_ansi_map_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_DestinationAddress },
7475
  { &hf_ansi_map_wIN_TriggerList, BER_CLASS_CON, 283, BER_FLAGS_IMPLTAG, dissect_ansi_map_WIN_TriggerList },
7476
  { NULL, 0, 0, 0, NULL }
7477
};
7478
7479
static unsigned
7480
0
dissect_ansi_map_TriggerList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7481
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7482
0
                              TriggerList_set, hf_index, ett_ansi_map_TriggerList);
7483
7484
0
  return offset;
7485
0
}
7486
7487
7488
static const ber_sequence_t TriggerAddressList_set[] = {
7489
  { &hf_ansi_map_triggerList, BER_CLASS_CON, 278, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerList },
7490
  { &hf_ansi_map_triggerListOpt, BER_CLASS_CON, 278, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerList },
7491
  { NULL, 0, 0, 0, NULL }
7492
};
7493
7494
static unsigned
7495
0
dissect_ansi_map_TriggerAddressList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7496
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7497
0
                              TriggerAddressList_set, hf_index, ett_ansi_map_TriggerAddressList);
7498
7499
0
  return offset;
7500
0
}
7501
7502
7503
static const ber_sequence_t FeatureRequestRes_U_set[] = {
7504
  { &hf_ansi_map_featureResult, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureResult },
7505
  { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
7506
  { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
7507
  { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
7508
  { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
7509
  { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
7510
  { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
7511
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
7512
  { &hf_ansi_map_conferenceCallingIndicator, BER_CLASS_CON, 137, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConferenceCallingIndicator },
7513
  { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
7514
  { &hf_ansi_map_digits_Destination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
7515
  { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
7516
  { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
7517
  { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
7518
  { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
7519
  { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
7520
  { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
7521
  { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
7522
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
7523
  { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
7524
  { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
7525
  { &hf_ansi_map_pACAIndicator, BER_CLASS_CON, 146, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PACAIndicator },
7526
  { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
7527
  { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
7528
  { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
7529
  { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
7530
  { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
7531
  { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
7532
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
7533
  { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
7534
  { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
7535
  { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
7536
  { NULL, 0, 0, 0, NULL }
7537
};
7538
7539
static unsigned
7540
0
dissect_ansi_map_FeatureRequestRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7541
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7542
0
                              FeatureRequestRes_U_set, hf_index, ett_ansi_map_FeatureRequestRes_U);
7543
7544
0
  return offset;
7545
0
}
7546
7547
7548
7549
static unsigned
7550
0
dissect_ansi_map_FeatureRequestRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7551
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7552
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_FeatureRequestRes_U);
7553
7554
0
  return offset;
7555
0
}
7556
7557
7558
7559
static unsigned
7560
0
dissect_ansi_map_EmergencyServicesRoutingDigits(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7561
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7562
7563
0
  return offset;
7564
0
}
7565
7566
7567
static const ber_sequence_t FlashRequest_U_set[] = {
7568
  { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
7569
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
7570
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7571
  { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
7572
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
7573
  { &hf_ansi_map_emergencyServicesRoutingDigits, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_EmergencyServicesRoutingDigits },
7574
  { NULL, 0, 0, 0, NULL }
7575
};
7576
7577
static unsigned
7578
0
dissect_ansi_map_FlashRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7579
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7580
0
                              FlashRequest_U_set, hf_index, ett_ansi_map_FlashRequest_U);
7581
7582
0
  return offset;
7583
0
}
7584
7585
7586
7587
static unsigned
7588
0
dissect_ansi_map_FlashRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7589
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7590
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_FlashRequest_U);
7591
7592
0
  return offset;
7593
0
}
7594
7595
7596
static const ber_sequence_t HandoffBack_U_set[] = {
7597
  { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7598
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
7599
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7600
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
7601
  { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7602
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
7603
  { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
7604
  { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
7605
  { &hf_ansi_map_handoffState, BER_CLASS_CON, 164, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffState },
7606
  { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
7607
  { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
7608
  { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
7609
  { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7610
  { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
7611
  { NULL, 0, 0, 0, NULL }
7612
};
7613
7614
static unsigned
7615
0
dissect_ansi_map_HandoffBack_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7616
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7617
0
                              HandoffBack_U_set, hf_index, ett_ansi_map_HandoffBack_U);
7618
7619
0
  return offset;
7620
0
}
7621
7622
7623
7624
static unsigned
7625
0
dissect_ansi_map_HandoffBack(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7626
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7627
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_HandoffBack_U);
7628
7629
0
  return offset;
7630
0
}
7631
7632
7633
static const ber_sequence_t HandoffBackRes_U_set[] = {
7634
  { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7635
  { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
7636
  { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
7637
  { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7638
  { NULL, 0, 0, 0, NULL }
7639
};
7640
7641
static unsigned
7642
0
dissect_ansi_map_HandoffBackRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7643
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7644
0
                              HandoffBackRes_U_set, hf_index, ett_ansi_map_HandoffBackRes_U);
7645
7646
0
  return offset;
7647
0
}
7648
7649
7650
7651
static unsigned
7652
0
dissect_ansi_map_HandoffBackRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7653
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7654
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_HandoffBackRes_U);
7655
7656
0
  return offset;
7657
0
}
7658
7659
7660
static const ber_sequence_t HandoffBack2_U_set[] = {
7661
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
7662
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
7663
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7664
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
7665
  { &hf_ansi_map_baseStationManufacturerCode, BER_CLASS_CON, 197, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BaseStationManufacturerCode },
7666
  { &hf_ansi_map_cdma2000HandoffInvokeIOSData, BER_CLASS_CON, 356, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffInvokeIOSData },
7667
  { &hf_ansi_map_cdmaBandClassList, BER_CLASS_CON, 172, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClassList },
7668
  { &hf_ansi_map_cdmaCallMode, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACallMode },
7669
  { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
7670
  { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
7671
  { &hf_ansi_map_cdmaMSMeasuredChannelIdentity, BER_CLASS_CON, 351, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMSMeasuredChannelIdentity },
7672
  { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
7673
  { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
7674
  { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
7675
  { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
7676
  { &hf_ansi_map_cdmaServingOneWayDelay, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay },
7677
  { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
7678
  { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
7679
  { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
7680
  { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList },
7681
  { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7682
  { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
7683
  { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
7684
  { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
7685
  { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
7686
  { &hf_ansi_map_handoffState, BER_CLASS_CON, 164, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffState },
7687
  { &hf_ansi_map_interSwitchCount, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_InterSwitchCount },
7688
  { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
7689
  { &hf_ansi_map_msLocation , BER_CLASS_CON, 70, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSLocation },
7690
  { &hf_ansi_map_nampsCallMode, BER_CLASS_CON, 165, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSCallMode },
7691
  { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
7692
  { &hf_ansi_map_pdsnAddress, BER_CLASS_CON, 349, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNAddress },
7693
  { &hf_ansi_map_pdsnProtocolType, BER_CLASS_CON, 350, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNProtocolType },
7694
  { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
7695
  { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
7696
  { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
7697
  { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
7698
  { &hf_ansi_map_systemOperatorCode, BER_CLASS_CON, 206, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemOperatorCode },
7699
  { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7700
  { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
7701
  { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
7702
  { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
7703
  { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7704
  { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
7705
  { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL, dissect_ansi_map_TDMATerminalCapability },
7706
  { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
7707
  { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
7708
  { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
7709
  { NULL, 0, 0, 0, NULL }
7710
};
7711
7712
static unsigned
7713
0
dissect_ansi_map_HandoffBack2_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7714
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7715
0
                              HandoffBack2_U_set, hf_index, ett_ansi_map_HandoffBack2_U);
7716
7717
0
  return offset;
7718
0
}
7719
7720
7721
7722
static unsigned
7723
0
dissect_ansi_map_HandoffBack2(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7724
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7725
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_HandoffBack2_U);
7726
7727
0
  return offset;
7728
0
}
7729
7730
7731
static const ber_sequence_t HandoffBack2Res_U_set[] = {
7732
  { &hf_ansi_map_bsmcstatus , BER_CLASS_CON, 198, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BSMCStatus },
7733
  { &hf_ansi_map_cdma2000HandoffResponseIOSData, BER_CLASS_CON, 357, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffResponseIOSData },
7734
  { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
7735
  { &hf_ansi_map_cdmaCodeChannelList, BER_CLASS_CON, 132, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannelList },
7736
  { &hf_ansi_map_cdmaSearchParameters, BER_CLASS_CON, 230, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchParameters },
7737
  { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
7738
  { &hf_ansi_map_cdmaSearchWindow, BER_CLASS_CON, 69, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchWindow },
7739
  { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
7740
  { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7741
  { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
7742
  { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
7743
  { &hf_ansi_map_sOCStatus  , BER_CLASS_CON, 205, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SOCStatus },
7744
  { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7745
  { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
7746
  { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7747
  { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
7748
  { NULL, 0, 0, 0, NULL }
7749
};
7750
7751
static unsigned
7752
0
dissect_ansi_map_HandoffBack2Res_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7753
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7754
0
                              HandoffBack2Res_U_set, hf_index, ett_ansi_map_HandoffBack2Res_U);
7755
7756
0
  return offset;
7757
0
}
7758
7759
7760
7761
static unsigned
7762
0
dissect_ansi_map_HandoffBack2Res(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7763
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7764
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_HandoffBack2Res_U);
7765
7766
0
  return offset;
7767
0
}
7768
7769
7770
static const ber_sequence_t TargetCellIDList_sequence[] = {
7771
  { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7772
  { &hf_ansi_map_targetCellID1, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7773
  { NULL, 0, 0, 0, NULL }
7774
};
7775
7776
static unsigned
7777
0
dissect_ansi_map_TargetCellIDList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7778
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7779
0
                                   TargetCellIDList_sequence, hf_index, ett_ansi_map_TargetCellIDList);
7780
7781
0
  return offset;
7782
0
}
7783
7784
7785
static const ber_sequence_t HandoffMeasurementRequest_U_set[] = {
7786
  { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7787
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
7788
  { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
7789
  { &hf_ansi_map_targetCellIDList, BER_CLASS_CON, 207, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellIDList },
7790
  { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
7791
  { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7792
  { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMATerminalCapability },
7793
  { NULL, 0, 0, 0, NULL }
7794
};
7795
7796
static unsigned
7797
0
dissect_ansi_map_HandoffMeasurementRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7798
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7799
0
                              HandoffMeasurementRequest_U_set, hf_index, ett_ansi_map_HandoffMeasurementRequest_U);
7800
7801
0
  return offset;
7802
0
}
7803
7804
7805
7806
static unsigned
7807
0
dissect_ansi_map_HandoffMeasurementRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7808
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7809
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_HandoffMeasurementRequest_U);
7810
7811
0
  return offset;
7812
0
}
7813
7814
7815
static const value_string ansi_map_SignalQuality_vals[] = {
7816
  {   0, "not-a-usable-signal" },
7817
  {   1, "treat-as-Not-a-usable-signal" },
7818
  {   2, "treat-as-Not-a-usable-signal" },
7819
  {   3, "treat-as-Not-a-usable-signal" },
7820
  {   4, "treat-as-Not-a-usable-signal" },
7821
  {   5, "treat-as-Not-a-usable-signal" },
7822
  {   6, "treat-as-Not-a-usable-signal" },
7823
  {   7, "treat-as-Not-a-usable-signal" },
7824
  {   8, "treat-as-Not-a-usable-signal" },
7825
  {   9, "usable-signal-range" },
7826
  { 245, "usable-signal-range" },
7827
  { 246, "treat-the-same-as-interference" },
7828
  { 247, "treat-the-same-as-interference" },
7829
  { 248, "treat-the-same-as-interference" },
7830
  { 249, "treat-the-same-as-interference" },
7831
  { 250, "treat-the-same-as-interference" },
7832
  { 251, "treat-the-same-as-interference" },
7833
  { 252, "treat-the-same-as-interference" },
7834
  { 253, "treat-the-same-as-interference" },
7835
  { 254, "treat-the-same-as-interference" },
7836
  { 255, "interference" },
7837
  { 0, NULL }
7838
};
7839
7840
static value_string_ext ansi_map_SignalQuality_vals_ext = VALUE_STRING_EXT_INIT(ansi_map_SignalQuality_vals);
7841
7842
7843
static unsigned
7844
0
dissect_ansi_map_SignalQuality(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7845
0
  offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
7846
0
                                                            0U, 255U, hf_index, NULL);
7847
7848
0
  return offset;
7849
0
}
7850
7851
7852
static const ber_sequence_t HandoffMeasurementRequestRes_U_set[] = {
7853
  { &hf_ansi_map_signalQuality, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalQuality },
7854
  { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7855
  { NULL, 0, 0, 0, NULL }
7856
};
7857
7858
static unsigned
7859
0
dissect_ansi_map_HandoffMeasurementRequestRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7860
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7861
0
                              HandoffMeasurementRequestRes_U_set, hf_index, ett_ansi_map_HandoffMeasurementRequestRes_U);
7862
7863
0
  return offset;
7864
0
}
7865
7866
7867
7868
static unsigned
7869
0
dissect_ansi_map_HandoffMeasurementRequestRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7870
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7871
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_HandoffMeasurementRequestRes_U);
7872
7873
0
  return offset;
7874
0
}
7875
7876
7877
static const ber_sequence_t HandoffMeasurementRequest2_U_set[] = {
7878
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
7879
  { &hf_ansi_map_cdmaCallMode, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACallMode },
7880
  { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
7881
  { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
7882
  { &hf_ansi_map_cdmaServingOneWayDelay, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay },
7883
  { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
7884
  { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
7885
  { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7886
  { &hf_ansi_map_msLocation , BER_CLASS_CON, 70, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSLocation },
7887
  { &hf_ansi_map_nampsCallMode, BER_CLASS_CON, 165, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSCallMode },
7888
  { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
7889
  { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
7890
  { &hf_ansi_map_targetCellIDList, BER_CLASS_CON, 207, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellIDList },
7891
  { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
7892
  { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
7893
  { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7894
  { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
7895
  { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMATerminalCapability },
7896
  { NULL, 0, 0, 0, NULL }
7897
};
7898
7899
static unsigned
7900
0
dissect_ansi_map_HandoffMeasurementRequest2_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7901
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7902
0
                              HandoffMeasurementRequest2_U_set, hf_index, ett_ansi_map_HandoffMeasurementRequest2_U);
7903
7904
0
  return offset;
7905
0
}
7906
7907
7908
7909
static unsigned
7910
0
dissect_ansi_map_HandoffMeasurementRequest2(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7911
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7912
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_HandoffMeasurementRequest2_U);
7913
7914
0
  return offset;
7915
0
}
7916
7917
7918
static const ber_sequence_t TargetMeasurementInformation_sequence[] = {
7919
  { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7920
  { &hf_ansi_map_signalQuality, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalQuality },
7921
  { NULL, 0, 0, 0, NULL }
7922
};
7923
7924
static unsigned
7925
0
dissect_ansi_map_TargetMeasurementInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7926
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7927
0
                                   TargetMeasurementInformation_sequence, hf_index, ett_ansi_map_TargetMeasurementInformation);
7928
7929
0
  return offset;
7930
0
}
7931
7932
7933
static const ber_sequence_t TargetMeasurementList_sequence_of[1] = {
7934
  { &hf_ansi_map_TargetMeasurementList_item, BER_CLASS_CON, 157, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetMeasurementInformation },
7935
};
7936
7937
static unsigned
7938
0
dissect_ansi_map_TargetMeasurementList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7939
0
  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7940
0
                                      TargetMeasurementList_sequence_of, hf_index, ett_ansi_map_TargetMeasurementList);
7941
7942
0
  return offset;
7943
0
}
7944
7945
7946
static const ber_sequence_t HandoffMeasurementRequest2Res_U_set[] = {
7947
  { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList },
7948
  { &hf_ansi_map_targetMeasurementList, BER_CLASS_CON, 157, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetMeasurementList },
7949
  { NULL, 0, 0, 0, NULL }
7950
};
7951
7952
static unsigned
7953
0
dissect_ansi_map_HandoffMeasurementRequest2Res_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7954
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7955
0
                              HandoffMeasurementRequest2Res_U_set, hf_index, ett_ansi_map_HandoffMeasurementRequest2Res_U);
7956
7957
0
  return offset;
7958
0
}
7959
7960
7961
7962
static unsigned
7963
0
dissect_ansi_map_HandoffMeasurementRequest2Res(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7964
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7965
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_HandoffMeasurementRequest2Res_U);
7966
7967
0
  return offset;
7968
0
}
7969
7970
7971
static const ber_sequence_t HandoffToThird_U_set[] = {
7972
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
7973
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
7974
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
7975
  { &hf_ansi_map_interSwitchCount, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterSwitchCount },
7976
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7977
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
7978
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
7979
  { &hf_ansi_map_baseStationManufacturerCode, BER_CLASS_CON, 197, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BaseStationManufacturerCode },
7980
  { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
7981
  { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7982
  { &hf_ansi_map_cdmaBandClassList, BER_CLASS_CON, 172, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClassList },
7983
  { &hf_ansi_map_cdmaCallMode, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACallMode },
7984
  { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
7985
  { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
7986
  { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
7987
  { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
7988
  { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
7989
  { &hf_ansi_map_cdmaServingOneWayDelay, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay },
7990
  { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
7991
  { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
7992
  { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
7993
  { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList },
7994
  { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7995
  { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
7996
  { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
7997
  { &hf_ansi_map_handoffState, BER_CLASS_CON, 164, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffState },
7998
  { &hf_ansi_map_msLocation , BER_CLASS_CON, 70, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSLocation },
7999
  { &hf_ansi_map_nampsCallMode, BER_CLASS_CON, 165, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSCallMode },
8000
  { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
8001
  { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
8002
  { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
8003
  { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
8004
  { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
8005
  { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8006
  { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMATerminalCapability },
8007
  { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
8008
  { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
8009
  { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
8010
  { NULL, 0, 0, 0, NULL }
8011
};
8012
8013
static unsigned
8014
0
dissect_ansi_map_HandoffToThird_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8015
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8016
0
                              HandoffToThird_U_set, hf_index, ett_ansi_map_HandoffToThird_U);
8017
8018
0
  return offset;
8019
0
}
8020
8021
8022
8023
static unsigned
8024
0
dissect_ansi_map_HandoffToThird(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8025
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8026
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_HandoffToThird_U);
8027
8028
0
  return offset;
8029
0
}
8030
8031
8032
static const ber_sequence_t HandoffToThirdRes_U_set[] = {
8033
  { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
8034
  { &hf_ansi_map_cdmaCodeChannelList, BER_CLASS_CON, 132, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannelList },
8035
  { &hf_ansi_map_cdmaSearchWindow, BER_CLASS_CON, 69, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchWindow },
8036
  { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
8037
  { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
8038
  { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
8039
  { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
8040
  { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
8041
  { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
8042
  { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
8043
  { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
8044
  { NULL, 0, 0, 0, NULL }
8045
};
8046
8047
static unsigned
8048
0
dissect_ansi_map_HandoffToThirdRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8049
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8050
0
                              HandoffToThirdRes_U_set, hf_index, ett_ansi_map_HandoffToThirdRes_U);
8051
8052
0
  return offset;
8053
0
}
8054
8055
8056
8057
static unsigned
8058
0
dissect_ansi_map_HandoffToThirdRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8059
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8060
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_HandoffToThirdRes_U);
8061
8062
0
  return offset;
8063
0
}
8064
8065
8066
static const ber_sequence_t HandoffToThird2_U_set[] = {
8067
  { &hf_ansi_map_bsmcstatus , BER_CLASS_CON, 198, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BSMCStatus },
8068
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8069
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8070
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
8071
  { &hf_ansi_map_interSwitchCount, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterSwitchCount },
8072
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8073
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
8074
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
8075
  { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
8076
  { &hf_ansi_map_cdma2000HandoffInvokeIOSData, BER_CLASS_CON, 356, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffInvokeIOSData },
8077
  { &hf_ansi_map_cdmaCallMode, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACallMode },
8078
  { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
8079
  { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
8080
  { &hf_ansi_map_cdmaMSMeasuredChannelIdentity, BER_CLASS_CON, 351, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMSMeasuredChannelIdentity },
8081
  { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
8082
  { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
8083
  { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
8084
  { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
8085
  { &hf_ansi_map_cdmaServingOneWayDelay, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay },
8086
  { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
8087
  { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
8088
  { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
8089
  { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList },
8090
  { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
8091
  { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
8092
  { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
8093
  { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
8094
  { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
8095
  { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
8096
  { &hf_ansi_map_msLocation , BER_CLASS_CON, 70, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSLocation },
8097
  { &hf_ansi_map_nampsCallMode, BER_CLASS_CON, 165, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSCallMode },
8098
  { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
8099
  { &hf_ansi_map_pdsnAddress, BER_CLASS_CON, 349, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNAddress },
8100
  { &hf_ansi_map_pdsnProtocolType, BER_CLASS_CON, 350, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNProtocolType },
8101
  { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
8102
  { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
8103
  { &hf_ansi_map_sOCStatus  , BER_CLASS_CON, 205, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SOCStatus },
8104
  { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
8105
  { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
8106
  { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
8107
  { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
8108
  { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
8109
  { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
8110
  { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8111
  { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL, dissect_ansi_map_TDMATerminalCapability },
8112
  { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
8113
  { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
8114
  { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
8115
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
8116
  { NULL, 0, 0, 0, NULL }
8117
};
8118
8119
static unsigned
8120
0
dissect_ansi_map_HandoffToThird2_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8121
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8122
0
                              HandoffToThird2_U_set, hf_index, ett_ansi_map_HandoffToThird2_U);
8123
8124
0
  return offset;
8125
0
}
8126
8127
8128
8129
static unsigned
8130
0
dissect_ansi_map_HandoffToThird2(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8131
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8132
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_HandoffToThird2_U);
8133
8134
0
  return offset;
8135
0
}
8136
8137
8138
static const ber_sequence_t HandoffToThird2Res_U_set[] = {
8139
  { &hf_ansi_map_cdma2000HandoffResponseIOSData, BER_CLASS_CON, 357, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffResponseIOSData },
8140
  { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
8141
  { &hf_ansi_map_cdmaCodeChannelList, BER_CLASS_CON, 132, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannelList },
8142
  { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
8143
  { &hf_ansi_map_cdmaSearchParameters, BER_CLASS_CON, 230, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchParameters },
8144
  { &hf_ansi_map_cdmaSearchWindow, BER_CLASS_CON, 69, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchWindow },
8145
  { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
8146
  { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
8147
  { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
8148
  { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
8149
  { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
8150
  { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
8151
  { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
8152
  { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
8153
  { NULL, 0, 0, 0, NULL }
8154
};
8155
8156
static unsigned
8157
0
dissect_ansi_map_HandoffToThird2Res_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8158
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8159
0
                              HandoffToThird2Res_U_set, hf_index, ett_ansi_map_HandoffToThird2Res_U);
8160
8161
0
  return offset;
8162
0
}
8163
8164
8165
8166
static unsigned
8167
0
dissect_ansi_map_HandoffToThird2Res(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8168
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8169
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_HandoffToThird2Res_U);
8170
8171
0
  return offset;
8172
0
}
8173
8174
8175
static const ber_sequence_t InformationDirective_U_set[] = {
8176
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8177
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
8178
  { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
8179
  { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
8180
  { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
8181
  { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
8182
  { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
8183
  { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
8184
  { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
8185
  { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
8186
  { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
8187
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
8188
  { NULL, 0, 0, 0, NULL }
8189
};
8190
8191
static unsigned
8192
0
dissect_ansi_map_InformationDirective_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8193
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8194
0
                              InformationDirective_U_set, hf_index, ett_ansi_map_InformationDirective_U);
8195
8196
0
  return offset;
8197
0
}
8198
8199
8200
8201
static unsigned
8202
0
dissect_ansi_map_InformationDirective(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8203
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8204
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_InformationDirective_U);
8205
8206
0
  return offset;
8207
0
}
8208
8209
8210
8211
static unsigned
8212
0
dissect_ansi_map_AlertResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8213
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8214
0
                                       NULL);
8215
8216
0
  return offset;
8217
0
}
8218
8219
8220
static const ber_sequence_t InformationDirectiveRes_U_set[] = {
8221
  { &hf_ansi_map_alertResult, BER_CLASS_CON, 129, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertResult },
8222
  { NULL, 0, 0, 0, NULL }
8223
};
8224
8225
static unsigned
8226
0
dissect_ansi_map_InformationDirectiveRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8227
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8228
0
                              InformationDirectiveRes_U_set, hf_index, ett_ansi_map_InformationDirectiveRes_U);
8229
8230
0
  return offset;
8231
0
}
8232
8233
8234
8235
static unsigned
8236
0
dissect_ansi_map_InformationDirectiveRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8237
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8238
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_InformationDirectiveRes_U);
8239
8240
0
  return offset;
8241
0
}
8242
8243
8244
8245
static unsigned
8246
0
dissect_ansi_map_MessageWaitingNotificationCount(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8247
0
  tvbuff_t *parameter_tvb = NULL;
8248
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8249
0
                                       &parameter_tvb);
8250
8251
0
  if (parameter_tvb){
8252
0
    dissect_ansi_map_messagewaitingnotificationcount(parameter_tvb,actx->pinfo,tree, actx);
8253
0
  }
8254
8255
8256
0
  return offset;
8257
0
}
8258
8259
8260
8261
static unsigned
8262
0
dissect_ansi_map_MessageWaitingNotificationType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8263
0
  tvbuff_t *parameter_tvb = NULL;
8264
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8265
0
                                       &parameter_tvb);
8266
8267
0
  if (parameter_tvb){
8268
0
    dissect_ansi_map_messagewaitingnotificationtype(parameter_tvb,actx->pinfo,tree, actx);
8269
0
  }
8270
8271
8272
8273
0
  return offset;
8274
0
}
8275
8276
8277
static const ber_sequence_t InformationForward_U_set[] = {
8278
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
8279
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8280
  { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
8281
  { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
8282
  { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
8283
  { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
8284
  { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
8285
  { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
8286
  { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
8287
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8288
  { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
8289
  { &hf_ansi_map_messageWaitingNotificationType, BER_CLASS_CON, 145, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationType },
8290
  { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
8291
  { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
8292
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
8293
  { NULL, 0, 0, 0, NULL }
8294
};
8295
8296
static unsigned
8297
0
dissect_ansi_map_InformationForward_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8298
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8299
0
                              InformationForward_U_set, hf_index, ett_ansi_map_InformationForward_U);
8300
8301
0
  return offset;
8302
0
}
8303
8304
8305
8306
static unsigned
8307
0
dissect_ansi_map_InformationForward(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8308
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8309
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_InformationForward_U);
8310
8311
0
  return offset;
8312
0
}
8313
8314
8315
static const ber_sequence_t InformationForwardRes_U_set[] = {
8316
  { &hf_ansi_map_alertResult, BER_CLASS_CON, 129, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertResult },
8317
  { NULL, 0, 0, 0, NULL }
8318
};
8319
8320
static unsigned
8321
0
dissect_ansi_map_InformationForwardRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8322
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8323
0
                              InformationForwardRes_U_set, hf_index, ett_ansi_map_InformationForwardRes_U);
8324
8325
0
  return offset;
8326
0
}
8327
8328
8329
8330
static unsigned
8331
0
dissect_ansi_map_InformationForwardRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8332
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8333
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_InformationForwardRes_U);
8334
8335
0
  return offset;
8336
0
}
8337
8338
8339
static const ber_sequence_t InterSystemAnswer_U_set[] = {
8340
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
8341
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8342
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8343
  { NULL, 0, 0, 0, NULL }
8344
};
8345
8346
static unsigned
8347
0
dissect_ansi_map_InterSystemAnswer_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8348
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8349
0
                              InterSystemAnswer_U_set, hf_index, ett_ansi_map_InterSystemAnswer_U);
8350
8351
0
  return offset;
8352
0
}
8353
8354
8355
8356
static unsigned
8357
0
dissect_ansi_map_InterSystemAnswer(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8358
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8359
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_InterSystemAnswer_U);
8360
8361
0
  return offset;
8362
0
}
8363
8364
8365
8366
static unsigned
8367
0
dissect_ansi_map_CDMASlotCycleIndex(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8368
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8369
0
                                       NULL);
8370
8371
0
  return offset;
8372
0
}
8373
8374
8375
8376
static unsigned
8377
0
dissect_ansi_map_ExtendedMSCID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8378
0
  tvbuff_t *parameter_tvb = NULL;
8379
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8380
0
                                       &parameter_tvb);
8381
8382
0
  if (parameter_tvb){
8383
0
    dissect_ansi_map_extendedmscid(parameter_tvb,actx->pinfo,tree, actx);
8384
0
  }
8385
8386
8387
0
  return offset;
8388
0
}
8389
8390
8391
8392
static unsigned
8393
0
dissect_ansi_map_ExtendedSystemMyTypeCode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8394
0
  tvbuff_t *parameter_tvb = NULL;
8395
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8396
0
                                       &parameter_tvb);
8397
8398
0
  if (parameter_tvb){
8399
0
    dissect_ansi_map_extendedsystemmytypecode(parameter_tvb, actx->pinfo, tree, actx);
8400
0
  }
8401
8402
0
  return offset;
8403
0
}
8404
8405
8406
8407
static unsigned
8408
0
dissect_ansi_map_MSIDUsage(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8409
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8410
0
                                       NULL);
8411
8412
0
  return offset;
8413
0
}
8414
8415
8416
8417
static unsigned
8418
0
dissect_ansi_map_NetworkTMSI(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8419
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8420
0
                                       NULL);
8421
8422
0
  return offset;
8423
0
}
8424
8425
8426
8427
static unsigned
8428
0
dissect_ansi_map_PageCount(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8429
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8430
0
                                       NULL);
8431
8432
0
  return offset;
8433
0
}
8434
8435
8436
8437
static unsigned
8438
0
dissect_ansi_map_PageIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8439
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8440
0
                                       NULL);
8441
8442
0
  return offset;
8443
0
}
8444
8445
8446
8447
static unsigned
8448
0
dissect_ansi_map_PageResponseTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8449
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8450
0
                                       NULL);
8451
8452
0
  return offset;
8453
0
}
8454
8455
8456
8457
static unsigned
8458
0
dissect_ansi_map_PilotBillingID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8459
8460
0
  tvbuff_t *parameter_tvb = NULL;
8461
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8462
0
                                       &parameter_tvb);
8463
8464
0
  if (parameter_tvb){
8465
0
    dissect_ansi_map_pilotbillingid(parameter_tvb,actx->pinfo,tree, actx);
8466
0
  }
8467
8468
8469
0
  return offset;
8470
0
}
8471
8472
8473
8474
static unsigned
8475
0
dissect_ansi_map_RedirectingPartyName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8476
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8477
0
                                       NULL);
8478
8479
0
  return offset;
8480
0
}
8481
8482
8483
8484
static unsigned
8485
0
dissect_ansi_map_TDMADataFeaturesIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8486
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8487
0
                                       NULL);
8488
8489
0
  return offset;
8490
0
}
8491
8492
8493
static const ber_sequence_t InterSystemPage_U_set[] = {
8494
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8495
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8496
  { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
8497
  { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
8498
  { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
8499
  { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
8500
  { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
8501
  { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
8502
  { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
8503
  { &hf_ansi_map_cdmaBandClass, BER_CLASS_CON, 170, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClass },
8504
  { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
8505
  { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8506
  { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
8507
  { &hf_ansi_map_cdmaSlotCycleIndex, BER_CLASS_CON, 166, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASlotCycleIndex },
8508
  { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
8509
  { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
8510
  { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
8511
  { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
8512
  { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
8513
  { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
8514
  { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
8515
  { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
8516
  { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
8517
  { &hf_ansi_map_extendedSystemMyTypeCode, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedSystemMyTypeCode },
8518
  { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
8519
  { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
8520
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
8521
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
8522
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8523
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
8524
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
8525
  { &hf_ansi_map_mSIDUsage  , BER_CLASS_CON, 327, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSIDUsage },
8526
  { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
8527
  { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
8528
  { &hf_ansi_map_pageCount  , BER_CLASS_CON, 300, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageCount },
8529
  { &hf_ansi_map_pageIndicator, BER_CLASS_CON, 71, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageIndicator },
8530
  { &hf_ansi_map_pageResponseTime, BER_CLASS_CON, 301, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageResponseTime },
8531
  { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
8532
  { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
8533
  { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
8534
  { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
8535
  { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
8536
  { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
8537
  { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
8538
  { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
8539
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
8540
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
8541
  { &hf_ansi_map_tdmaDataFeaturesIndicator, BER_CLASS_CON, 221, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataFeaturesIndicator },
8542
  { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8543
  { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
8544
  { &hf_ansi_map_terminationTreatment, BER_CLASS_CON, 121, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTreatment },
8545
  { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
8546
  { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
8547
  { NULL, 0, 0, 0, NULL }
8548
};
8549
8550
static unsigned
8551
0
dissect_ansi_map_InterSystemPage_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8552
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8553
0
                              InterSystemPage_U_set, hf_index, ett_ansi_map_InterSystemPage_U);
8554
8555
0
  return offset;
8556
0
}
8557
8558
8559
8560
static unsigned
8561
0
dissect_ansi_map_InterSystemPage(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8562
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8563
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_InterSystemPage_U);
8564
8565
0
  return offset;
8566
0
}
8567
8568
8569
static const value_string ansi_map_ConditionallyDeniedReason_vals[] = {
8570
  {   0, "not-used" },
8571
  {   1, "waitable" },
8572
  { 0, NULL }
8573
};
8574
8575
8576
static unsigned
8577
0
dissect_ansi_map_ConditionallyDeniedReason(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8578
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8579
0
                                  NULL);
8580
8581
0
  return offset;
8582
0
}
8583
8584
8585
static const ber_sequence_t InterSystemPageRes_U_set[] = {
8586
  { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
8587
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8588
  { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8589
  { &hf_ansi_map_conditionallyDeniedReason, BER_CLASS_CON, 162, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConditionallyDeniedReason },
8590
  { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
8591
  { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
8592
  { &hf_ansi_map_extendedSystemMyTypeCode, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedSystemMyTypeCode },
8593
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
8594
  { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
8595
  { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8596
  { NULL, 0, 0, 0, NULL }
8597
};
8598
8599
static unsigned
8600
0
dissect_ansi_map_InterSystemPageRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8601
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8602
0
                              InterSystemPageRes_U_set, hf_index, ett_ansi_map_InterSystemPageRes_U);
8603
8604
0
  return offset;
8605
0
}
8606
8607
8608
8609
static unsigned
8610
0
dissect_ansi_map_InterSystemPageRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8611
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8612
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_InterSystemPageRes_U);
8613
8614
0
  return offset;
8615
0
}
8616
8617
8618
8619
static unsigned
8620
0
dissect_ansi_map_PagingFrameClass(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8621
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8622
0
                                       NULL);
8623
8624
0
  return offset;
8625
0
}
8626
8627
8628
8629
static unsigned
8630
0
dissect_ansi_map_PSID_RSIDInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8631
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8632
0
                                       NULL);
8633
8634
0
  return offset;
8635
0
}
8636
8637
8638
static const ber_sequence_t PSID_RSIDList_sequence[] = {
8639
  { &hf_ansi_map_pSID_RSIDInformation, BER_CLASS_CON, 202, BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDInformation },
8640
  { &hf_ansi_map_pSID_RSIDInformation1, BER_CLASS_CON, 202, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDInformation },
8641
  { NULL, 0, 0, 0, NULL }
8642
};
8643
8644
static unsigned
8645
0
dissect_ansi_map_PSID_RSIDList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8646
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8647
0
                                   PSID_RSIDList_sequence, hf_index, ett_ansi_map_PSID_RSIDList);
8648
8649
0
  return offset;
8650
0
}
8651
8652
8653
static const ber_sequence_t InterSystemPage2_U_set[] = {
8654
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8655
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8656
  { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
8657
  { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
8658
  { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
8659
  { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
8660
  { &hf_ansi_map_cdmaBandClass, BER_CLASS_CON, 170, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClass },
8661
  { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
8662
  { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
8663
  { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8664
  { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
8665
  { &hf_ansi_map_cdmaSlotCycleIndex, BER_CLASS_CON, 166, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASlotCycleIndex },
8666
  { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
8667
  { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
8668
  { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
8669
  { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
8670
  { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
8671
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
8672
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
8673
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8674
  { &hf_ansi_map_mSIDUsage  , BER_CLASS_CON, 327, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSIDUsage },
8675
  { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
8676
  { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
8677
  { &hf_ansi_map_pageCount  , BER_CLASS_CON, 300, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageCount },
8678
  { &hf_ansi_map_pageIndicator, BER_CLASS_CON, 71, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageIndicator },
8679
  { &hf_ansi_map_pagingFrameClass, BER_CLASS_CON, 210, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PagingFrameClass },
8680
  { &hf_ansi_map_pageResponseTime, BER_CLASS_CON, 301, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageResponseTime },
8681
  { &hf_ansi_map_pSID_RSIDList, BER_CLASS_CON, 203, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDList },
8682
  { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
8683
  { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
8684
  { &hf_ansi_map_tdmaDataFeaturesIndicator, BER_CLASS_CON, 221, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataFeaturesIndicator },
8685
  { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8686
  { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
8687
  { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
8688
  { NULL, 0, 0, 0, NULL }
8689
};
8690
8691
static unsigned
8692
0
dissect_ansi_map_InterSystemPage2_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8693
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8694
0
                              InterSystemPage2_U_set, hf_index, ett_ansi_map_InterSystemPage2_U);
8695
8696
0
  return offset;
8697
0
}
8698
8699
8700
8701
static unsigned
8702
0
dissect_ansi_map_InterSystemPage2(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8703
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8704
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_InterSystemPage2_U);
8705
8706
0
  return offset;
8707
0
}
8708
8709
8710
8711
static unsigned
8712
0
dissect_ansi_map_RANDC(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8713
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8714
0
                                       NULL);
8715
8716
0
  return offset;
8717
0
}
8718
8719
8720
8721
static unsigned
8722
0
dissect_ansi_map_TDMADataMode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8723
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8724
0
                                       NULL);
8725
8726
0
  return offset;
8727
0
}
8728
8729
8730
static const ber_sequence_t InterSystemPage2Res_U_set[] = {
8731
  { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
8732
  { &hf_ansi_map_authenticationResponseBaseStation, BER_CLASS_CON, 36, BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseBaseStation },
8733
  { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
8734
  { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8735
  { &hf_ansi_map_randc      , BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RANDC },
8736
  { &hf_ansi_map_randomVariableBaseStation, BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableBaseStation },
8737
  { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
8738
  { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
8739
  { &hf_ansi_map_tdmaDataMode, BER_CLASS_CON, 222, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataMode },
8740
  { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8741
  { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
8742
  { NULL, 0, 0, 0, NULL }
8743
};
8744
8745
static unsigned
8746
0
dissect_ansi_map_InterSystemPage2Res_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8747
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8748
0
                              InterSystemPage2Res_U_set, hf_index, ett_ansi_map_InterSystemPage2Res_U);
8749
8750
0
  return offset;
8751
0
}
8752
8753
8754
8755
static unsigned
8756
0
dissect_ansi_map_InterSystemPage2Res(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8757
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8758
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_InterSystemPage2Res_U);
8759
8760
0
  return offset;
8761
0
}
8762
8763
8764
8765
static unsigned
8766
0
dissect_ansi_map_ChangeServiceAttributes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8767
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8768
0
                                       NULL);
8769
8770
0
  return offset;
8771
0
}
8772
8773
8774
static const ber_sequence_t InterSystemSetup_U_set[] = {
8775
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8776
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8777
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
8778
  { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
8779
  { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
8780
  { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
8781
  { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
8782
  { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
8783
  { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8784
  { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
8785
  { &hf_ansi_map_changeServiceAttributes, BER_CLASS_CON, 214, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChangeServiceAttributes },
8786
  { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
8787
  { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
8788
  { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
8789
  { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
8790
  { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
8791
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8792
  { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
8793
  { &hf_ansi_map_edirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
8794
  { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
8795
  { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
8796
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
8797
  { NULL, 0, 0, 0, NULL }
8798
};
8799
8800
static unsigned
8801
0
dissect_ansi_map_InterSystemSetup_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8802
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8803
0
                              InterSystemSetup_U_set, hf_index, ett_ansi_map_InterSystemSetup_U);
8804
8805
0
  return offset;
8806
0
}
8807
8808
8809
8810
static unsigned
8811
0
dissect_ansi_map_InterSystemSetup(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8812
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8813
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_InterSystemSetup_U);
8814
8815
0
  return offset;
8816
0
}
8817
8818
8819
8820
static unsigned
8821
0
dissect_ansi_map_SetupResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8822
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8823
0
                                       NULL);
8824
8825
0
  return offset;
8826
0
}
8827
8828
8829
static const ber_sequence_t InterSystemSetupRes_U_set[] = {
8830
  { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
8831
  { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8832
  { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
8833
  { &hf_ansi_map_setupResult, BER_CLASS_CON, 151, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SetupResult },
8834
  { NULL, 0, 0, 0, NULL }
8835
};
8836
8837
static unsigned
8838
0
dissect_ansi_map_InterSystemSetupRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8839
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8840
0
                              InterSystemSetupRes_U_set, hf_index, ett_ansi_map_InterSystemSetupRes_U);
8841
8842
0
  return offset;
8843
0
}
8844
8845
8846
8847
static unsigned
8848
0
dissect_ansi_map_InterSystemSetupRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8849
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8850
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_InterSystemSetupRes_U);
8851
8852
0
  return offset;
8853
0
}
8854
8855
8856
8857
static unsigned
8858
0
dissect_ansi_map_TerminationAccessType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8859
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8860
0
                                       NULL);
8861
8862
0
  return offset;
8863
0
}
8864
8865
8866
static const value_string ansi_map_TriggerType_vals[] = {
8867
  {   1, "all-Calls" },
8868
  {   2, "double-Introducing-Star" },
8869
  {   3, "single-Introducing-Star" },
8870
  {   4, "reserved-for-Home-System-Feature-Code" },
8871
  {   5, "double-Introducing-Pound" },
8872
  {   6, "single-Introducing-Pound" },
8873
  {   7, "revertive-Call" },
8874
  {   8, "a0-Digit" },
8875
  {   9, "a1-Digit" },
8876
  {  10, "a2-Digit" },
8877
  {  11, "a3-Digit" },
8878
  {  12, "a4-Digit" },
8879
  {  13, "a5-Digit" },
8880
  {  14, "a6-Digit" },
8881
  {  15, "a7-Digit" },
8882
  {  16, "a8-Digit" },
8883
  {  17, "a9-Digit" },
8884
  {  18, "a10-Digit" },
8885
  {  19, "a11-Digit" },
8886
  {  20, "a12-Digit" },
8887
  {  21, "a13-Digit" },
8888
  {  22, "a14-Digit" },
8889
  {  23, "a15-Digit" },
8890
  {  24, "local-Call" },
8891
  {  25, "intra-LATA-Toll-Call" },
8892
  {  26, "inter-LATA-Toll-Call" },
8893
  {  27, "world-Zone-Call" },
8894
  {  28, "international-Call" },
8895
  {  29, "unrecognized-Number" },
8896
  {  30, "prior-Agreement" },
8897
  {  31, "specific-Called-Party-Digit-String" },
8898
  {  32, "mobile-Termination" },
8899
  {  33, "advanced-Termination" },
8900
  {  34, "location" },
8901
  {  35, "locally-Allowed-Specific-Digit-String" },
8902
  {  36, "origination-Attempt-Authorized" },
8903
  {  37, "calling-Routing-Address-Available" },
8904
  {  38, "initial-Termination" },
8905
  {  39, "called-Routing-Address-Available" },
8906
  {  40, "o-Answer" },
8907
  {  41, "o-Disconnect" },
8908
  {  42, "o-Called-Party-Busy" },
8909
  {  43, "o-No-Answer" },
8910
  {  64, "terminating-Resource-Available" },
8911
  {  65, "t-Busy" },
8912
  {  66, "t-No-Answer" },
8913
  {  67, "t-No-Page-Response" },
8914
  {  68, "t-Routable" },
8915
  {  69, "t-Answer" },
8916
  {  70, "t-Disconnect" },
8917
  { 220, "reserved-for-TDP-R-DP-Type-value" },
8918
  { 221, "reserved-for-TDP-N-DP-Type-value" },
8919
  { 222, "reserved-for-EDP-R-DP-Type-value" },
8920
  { 223, "reserved-for-EDP-N-DP-Type-value" },
8921
  { 0, NULL }
8922
};
8923
8924
static value_string_ext ansi_map_TriggerType_vals_ext = VALUE_STRING_EXT_INIT(ansi_map_TriggerType_vals);
8925
8926
8927
static unsigned
8928
0
dissect_ansi_map_TriggerType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8929
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8930
0
                                  NULL);
8931
8932
0
  return offset;
8933
0
}
8934
8935
8936
8937
static unsigned
8938
0
dissect_ansi_map_TriggerCapability(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8939
0
  tvbuff_t *parameter_tvb = NULL;
8940
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8941
0
                                       &parameter_tvb);
8942
8943
0
  if (parameter_tvb){
8944
0
    dissect_ansi_map_triggercapability(parameter_tvb,actx->pinfo,tree, actx);
8945
0
  }
8946
8947
8948
0
  return offset;
8949
0
}
8950
8951
8952
8953
static unsigned
8954
0
dissect_ansi_map_WINOperationsCapability(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8955
0
  tvbuff_t *parameter_tvb = NULL;
8956
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8957
0
                                       &parameter_tvb);
8958
8959
0
  if (parameter_tvb){
8960
0
    dissect_ansi_map_winoperationscapability(parameter_tvb,actx->pinfo,tree, actx);
8961
0
  }
8962
8963
0
  return offset;
8964
0
}
8965
8966
8967
static const ber_sequence_t WINCapability_set[] = {
8968
  { &hf_ansi_map_triggerCapability, BER_CLASS_CON, 277, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerCapability },
8969
  { &hf_ansi_map_wINOperationsCapability, BER_CLASS_CON, 281, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINOperationsCapability },
8970
  { NULL, 0, 0, 0, NULL }
8971
};
8972
8973
static unsigned
8974
0
dissect_ansi_map_WINCapability(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8975
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8976
0
                              WINCapability_set, hf_index, ett_ansi_map_WINCapability);
8977
8978
0
  return offset;
8979
0
}
8980
8981
8982
8983
static unsigned
8984
0
dissect_ansi_map_CallingPartyCategory(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8985
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8986
0
                                       NULL);
8987
8988
0
  return offset;
8989
0
}
8990
8991
8992
static const ber_sequence_t LocationRequest_U_set[] = {
8993
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8994
  { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
8995
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
8996
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
8997
  { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
8998
  { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
8999
  { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
9000
  { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
9001
  { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
9002
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
9003
  { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
9004
  { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
9005
  { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
9006
  { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
9007
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9008
  { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
9009
  { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
9010
  { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
9011
  { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
9012
  { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
9013
  { &hf_ansi_map_callingPartyCategory, BER_CLASS_CON, 355, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyCategory },
9014
  { NULL, 0, 0, 0, NULL }
9015
};
9016
9017
static unsigned
9018
0
dissect_ansi_map_LocationRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9019
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9020
0
                              LocationRequest_U_set, hf_index, ett_ansi_map_LocationRequest_U);
9021
9022
0
  return offset;
9023
0
}
9024
9025
9026
9027
static unsigned
9028
0
dissect_ansi_map_LocationRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9029
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9030
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_LocationRequest_U);
9031
9032
0
  return offset;
9033
0
}
9034
9035
9036
9037
static unsigned
9038
0
dissect_ansi_map_ControlNetworkID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9039
0
  tvbuff_t *parameter_tvb = NULL;
9040
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9041
0
                                       &parameter_tvb);
9042
9043
0
  if (parameter_tvb){
9044
0
    dissect_ansi_map_controlnetworkid(parameter_tvb,actx->pinfo,tree, actx);
9045
0
  }
9046
9047
9048
0
  return offset;
9049
0
}
9050
9051
9052
9053
static unsigned
9054
0
dissect_ansi_map_DMH_ServiceID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9055
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9056
0
                                       NULL);
9057
9058
0
  return offset;
9059
0
}
9060
9061
9062
static const ber_sequence_t LocationRequestRes_U_set[] = {
9063
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9064
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
9065
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9066
  { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
9067
  { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
9068
  { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
9069
  { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
9070
  { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
9071
  { &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
9072
  { &hf_ansi_map_digits_carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9073
  { &hf_ansi_map_digits_dest, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9074
  { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
9075
  { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
9076
  { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
9077
  { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
9078
  { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
9079
  { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
9080
  { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
9081
  { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
9082
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
9083
  { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
9084
  { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
9085
  { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
9086
  { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
9087
  { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
9088
  { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
9089
  { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
9090
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
9091
  { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
9092
  { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
9093
  { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
9094
  { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
9095
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
9096
  { NULL, 0, 0, 0, NULL }
9097
};
9098
9099
static unsigned
9100
0
dissect_ansi_map_LocationRequestRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9101
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9102
0
                              LocationRequestRes_U_set, hf_index, ett_ansi_map_LocationRequestRes_U);
9103
9104
0
  return offset;
9105
0
}
9106
9107
9108
9109
static unsigned
9110
0
dissect_ansi_map_LocationRequestRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9111
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9112
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_LocationRequestRes_U);
9113
9114
0
  return offset;
9115
0
}
9116
9117
9118
static const value_string ansi_map_DeregistrationType_vals[] = {
9119
  {   0, "not-used" },
9120
  {   1, "deregister-for-an-unspecified-reason" },
9121
  {   2, "deregister-for-an-administrative-reason" },
9122
  {   3, "deregister-due-to-MS-power-down" },
9123
  { 0, NULL }
9124
};
9125
9126
9127
static unsigned
9128
0
dissect_ansi_map_DeregistrationType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9129
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9130
0
                                  NULL);
9131
9132
0
  return offset;
9133
0
}
9134
9135
9136
9137
static unsigned
9138
0
dissect_ansi_map_ServicesResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9139
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9140
0
                                       NULL);
9141
9142
0
  return offset;
9143
0
}
9144
9145
9146
9147
static unsigned
9148
0
dissect_ansi_map_SMS_MessageWaitingIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9149
0
  offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
9150
9151
0
  return offset;
9152
0
}
9153
9154
9155
static const ber_sequence_t MSInactive_U_set[] = {
9156
  { &hf_ansi_map_lectronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9157
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
9158
  { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
9159
  { &hf_ansi_map_deregistrationType, BER_CLASS_CON, 73, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DeregistrationType },
9160
  { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
9161
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
9162
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9163
  { &hf_ansi_map_servicesResult, BER_CLASS_CON, 204, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServicesResult },
9164
  { &hf_ansi_map_sms_MessageWaitingIndicator, BER_CLASS_CON, 118, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageWaitingIndicator },
9165
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
9166
  { NULL, 0, 0, 0, NULL }
9167
};
9168
9169
static unsigned
9170
0
dissect_ansi_map_MSInactive_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9171
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9172
0
                              MSInactive_U_set, hf_index, ett_ansi_map_MSInactive_U);
9173
9174
0
  return offset;
9175
0
}
9176
9177
9178
9179
static unsigned
9180
0
dissect_ansi_map_MSInactive(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9181
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9182
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_MSInactive_U);
9183
9184
0
  return offset;
9185
0
}
9186
9187
9188
static const value_string ansi_map_FeatureIndicator_vals[] = {
9189
  {   0, "not-used" },
9190
  {  38, "user-selective-call-forwarding" },
9191
  { 0, NULL }
9192
};
9193
9194
9195
static unsigned
9196
0
dissect_ansi_map_FeatureIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9197
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9198
0
                                  NULL);
9199
9200
0
  return offset;
9201
0
}
9202
9203
9204
9205
static unsigned
9206
0
dissect_ansi_map_AuthenticationCapability(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9207
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9208
0
                                       NULL);
9209
9210
0
  return offset;
9211
0
}
9212
9213
9214
9215
static unsigned
9216
0
dissect_ansi_map_CallingFeaturesIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9217
0
  tvbuff_t *parameter_tvb = NULL;
9218
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9219
0
                                       &parameter_tvb);
9220
9221
0
  if (parameter_tvb){
9222
0
    dissect_ansi_map_callingfeaturesindicator(parameter_tvb,actx->pinfo,tree, actx);
9223
0
  }
9224
9225
0
  return offset;
9226
0
}
9227
9228
9229
9230
static unsigned
9231
0
dissect_ansi_map_GeographicAuthorization(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9232
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9233
0
                                       NULL);
9234
9235
0
  return offset;
9236
0
}
9237
9238
9239
9240
static unsigned
9241
0
dissect_ansi_map_MEIDValidated(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9242
0
  offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
9243
9244
0
  return offset;
9245
0
}
9246
9247
9248
9249
static unsigned
9250
0
dissect_ansi_map_MobilePositionCapability(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9251
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9252
0
                                       NULL);
9253
9254
0
  return offset;
9255
0
}
9256
9257
9258
static const value_string ansi_map_OriginationIndicator_vals[] = {
9259
  {   0, "not-used" },
9260
  {   1, "prior-agreement" },
9261
  {   2, "origination-denied" },
9262
  {   3, "local-calls-only" },
9263
  {   4, "selected-leading-digits-of-directorynumber-or-of-international-E164-number" },
9264
  {   5, "selected-leading-digits-of-directorynumber-or-of-international-E164-number-and-local-calls-only" },
9265
  {   6, "national-long-distance" },
9266
  {   7, "international-calls" },
9267
  {   8, "single-directory-number-or-international-E164-number" },
9268
  { 0, NULL }
9269
};
9270
9271
9272
static unsigned
9273
0
dissect_ansi_map_OriginationIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9274
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9275
0
                                  NULL);
9276
9277
0
  return offset;
9278
0
}
9279
9280
9281
9282
static unsigned
9283
0
dissect_ansi_map_OriginationTriggers(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9284
0
  tvbuff_t *parameter_tvb = NULL;
9285
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9286
0
                                       &parameter_tvb);
9287
9288
0
  if (parameter_tvb){
9289
0
    dissect_ansi_map_originationtriggers(parameter_tvb,actx->pinfo,tree, actx);
9290
0
  }
9291
9292
9293
0
  return offset;
9294
0
}
9295
9296
9297
9298
static unsigned
9299
0
dissect_ansi_map_RestrictionDigits(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9300
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
9301
9302
0
  return offset;
9303
0
}
9304
9305
9306
9307
static unsigned
9308
0
dissect_ansi_map_SMS_OriginationRestrictions(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9309
0
  tvbuff_t *parameter_tvb = NULL;
9310
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9311
0
                                       &parameter_tvb);
9312
9313
0
  if (parameter_tvb){
9314
0
    dissect_ansi_map_sms_originationrestrictions(parameter_tvb,actx->pinfo,tree, actx);
9315
0
  }
9316
9317
9318
0
  return offset;
9319
0
}
9320
9321
9322
9323
static unsigned
9324
0
dissect_ansi_map_SMS_TerminationRestrictions(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9325
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9326
0
                                       NULL);
9327
9328
0
  return offset;
9329
0
}
9330
9331
9332
9333
static unsigned
9334
0
dissect_ansi_map_SPINIPIN(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9335
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
9336
9337
0
  return offset;
9338
0
}
9339
9340
9341
9342
static unsigned
9343
0
dissect_ansi_map_SPINITriggers(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9344
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9345
0
                                       NULL);
9346
9347
0
  return offset;
9348
0
}
9349
9350
9351
static const value_string ansi_map_TerminationRestrictionCode_vals[] = {
9352
  {   0, "not-used" },
9353
  {   1, "termination-denied" },
9354
  {   2, "unrestricted" },
9355
  {   3, "the-treatment-for-this-value-is-not-specified" },
9356
  { 0, NULL }
9357
};
9358
9359
9360
static unsigned
9361
0
dissect_ansi_map_TerminationRestrictionCode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9362
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9363
0
                                  NULL);
9364
9365
0
  return offset;
9366
0
}
9367
9368
9369
9370
static unsigned
9371
0
dissect_ansi_map_UserGroup(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9372
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9373
0
                                       NULL);
9374
9375
0
  return offset;
9376
0
}
9377
9378
9379
static const value_string ansi_map_LIRMode_vals[] = {
9380
  {   0, "not-used" },
9381
  {   1, "unconditionally-Restricted" },
9382
  {   2, "pre-Authorized-LCS-Clients-Only" },
9383
  {   3, "pre-Authorized-LCS-Clients-and-User-Authorized-LCS-Clients" },
9384
  {   4, "unrestricted" },
9385
  { 0, NULL }
9386
};
9387
9388
9389
static unsigned
9390
0
dissect_ansi_map_LIRMode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9391
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9392
0
                                  NULL);
9393
9394
0
  return offset;
9395
0
}
9396
9397
9398
9399
static unsigned
9400
0
dissect_ansi_map_CDMAMobileCapabilities(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9401
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9402
0
                                       NULL);
9403
9404
0
  return offset;
9405
0
}
9406
9407
9408
9409
static unsigned
9410
0
dissect_ansi_map_CDMAServingOneWayDelay2(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9411
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9412
0
                                       NULL);
9413
9414
0
  return offset;
9415
0
}
9416
9417
9418
static const ber_sequence_t CDMAPSMMList_item_set[] = {
9419
  { &hf_ansi_map_cdmaServingOneWayDelay2, BER_CLASS_CON, 347, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay2 },
9420
  { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
9421
  { &hf_ansi_map_cdmaTargetMAHOList2, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
9422
  { NULL, 0, 0, 0, NULL }
9423
};
9424
9425
static unsigned
9426
0
dissect_ansi_map_CDMAPSMMList_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9427
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9428
0
                              CDMAPSMMList_item_set, hf_index, ett_ansi_map_CDMAPSMMList_item);
9429
9430
0
  return offset;
9431
0
}
9432
9433
9434
static const ber_sequence_t CDMAPSMMList_set_of[1] = {
9435
  { &hf_ansi_map_CDMAPSMMList_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CDMAPSMMList_item },
9436
};
9437
9438
static unsigned
9439
0
dissect_ansi_map_CDMAPSMMList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9440
0
  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
9441
0
                                 CDMAPSMMList_set_of, hf_index, ett_ansi_map_CDMAPSMMList);
9442
9443
0
  return offset;
9444
0
}
9445
9446
9447
9448
static unsigned
9449
0
dissect_ansi_map_MPCAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9450
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
9451
9452
0
  return offset;
9453
0
}
9454
9455
9456
static const ber_sequence_t OriginationRequest_U_set[] = {
9457
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
9458
  { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9459
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9460
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
9461
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9462
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
9463
  { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
9464
  { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
9465
  { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
9466
  { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
9467
  { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
9468
  { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
9469
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
9470
  { &hf_ansi_map_featureIndicator, BER_CLASS_CON, 306, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureIndicator },
9471
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
9472
  { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
9473
  { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
9474
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9475
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
9476
  { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
9477
  { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
9478
  { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
9479
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
9480
  { &hf_ansi_map_authenticationCapability, BER_CLASS_CON, 78, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationCapability },
9481
  { &hf_ansi_map_callingFeaturesIndicator, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingFeaturesIndicator },
9482
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
9483
  { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
9484
  { &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
9485
  { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
9486
  { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
9487
  { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
9488
  { &hf_ansi_map_geographicAuthorization, BER_CLASS_CON, 143, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GeographicAuthorization },
9489
  { &hf_ansi_map_meidValidated, BER_CLASS_CON, 401, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEIDValidated },
9490
  { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
9491
  { &hf_ansi_map_messageWaitingNotificationType, BER_CLASS_CON, 145, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationType },
9492
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
9493
  { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
9494
  { &hf_ansi_map_originationIndicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationIndicator },
9495
  { &hf_ansi_map_originationTriggers, BER_CLASS_CON, 98, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationTriggers },
9496
  { &hf_ansi_map_pACAIndicator, BER_CLASS_CON, 146, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PACAIndicator },
9497
  { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
9498
  { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
9499
  { &hf_ansi_map_restrictionDigits, BER_CLASS_CON, 227, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RestrictionDigits },
9500
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
9501
  { &hf_ansi_map_pSID_RSIDList, BER_CLASS_CON, 203, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDList },
9502
  { &hf_ansi_map_sms_OriginationRestrictions, BER_CLASS_CON, 115, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginationRestrictions },
9503
  { &hf_ansi_map_sms_TerminationRestrictions, BER_CLASS_CON, 117, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TerminationRestrictions },
9504
  { &hf_ansi_map_spinipin   , BER_CLASS_CON, 154, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINIPIN },
9505
  { &hf_ansi_map_spiniTriggers, BER_CLASS_CON, 155, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINITriggers },
9506
  { &hf_ansi_map_tdmaDataFeaturesIndicator, BER_CLASS_CON, 221, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataFeaturesIndicator },
9507
  { &hf_ansi_map_terminationRestrictionCode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationRestrictionCode },
9508
  { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
9509
  { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
9510
  { &hf_ansi_map_userGroup  , BER_CLASS_CON, 208, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserGroup },
9511
  { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
9512
  { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
9513
  { &hf_ansi_map_callingPartyCategory, BER_CLASS_CON, 355, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyCategory },
9514
  { &hf_ansi_map_lirMode    , BER_CLASS_CON, 369, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LIRMode },
9515
  { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
9516
  { &hf_ansi_map_cdmaCodeChannel, BER_CLASS_CON, 68, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannel },
9517
  { &hf_ansi_map_cdmaMobileCapabilities, BER_CLASS_CON, 330, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileCapabilities },
9518
  { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
9519
  { &hf_ansi_map_cdmaServingOneWayDelay2, BER_CLASS_CON, 347, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay2 },
9520
  { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
9521
  { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
9522
  { &hf_ansi_map_cdmaPSMMList, BER_CLASS_CON, 346, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPSMMList },
9523
  { &hf_ansi_map_mpcAddress , BER_CLASS_CON, 370, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddress },
9524
  { NULL, 0, 0, 0, NULL }
9525
};
9526
9527
static unsigned
9528
0
dissect_ansi_map_OriginationRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9529
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9530
0
                              OriginationRequest_U_set, hf_index, ett_ansi_map_OriginationRequest_U);
9531
9532
0
  return offset;
9533
0
}
9534
9535
9536
9537
static unsigned
9538
0
dissect_ansi_map_OriginationRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9539
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9540
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_OriginationRequest_U);
9541
9542
0
  return offset;
9543
0
}
9544
9545
9546
9547
static unsigned
9548
0
dissect_ansi_map_DMH_ChargeInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9549
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9550
0
                                       NULL);
9551
9552
0
  return offset;
9553
0
}
9554
9555
9556
static const ber_sequence_t OriginationRequestRes_U_set[] = {
9557
  { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
9558
  { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
9559
  { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
9560
  { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
9561
  { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
9562
  { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
9563
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
9564
  { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9565
  { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
9566
  { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
9567
  { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
9568
  { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
9569
  { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
9570
  { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
9571
  { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
9572
  { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
9573
  { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
9574
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
9575
  { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
9576
  { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
9577
  { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
9578
  { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
9579
  { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
9580
  { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
9581
  { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
9582
  { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
9583
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
9584
  { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
9585
  { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
9586
  { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
9587
  { NULL, 0, 0, 0, NULL }
9588
};
9589
9590
static unsigned
9591
0
dissect_ansi_map_OriginationRequestRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9592
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9593
0
                              OriginationRequestRes_U_set, hf_index, ett_ansi_map_OriginationRequestRes_U);
9594
9595
0
  return offset;
9596
0
}
9597
9598
9599
9600
static unsigned
9601
0
dissect_ansi_map_OriginationRequestRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9602
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9603
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_OriginationRequestRes_U);
9604
9605
0
  return offset;
9606
0
}
9607
9608
9609
static const value_string ansi_map_QualificationInformationCode_vals[] = {
9610
  {   0, "not-used" },
9611
  {   1, "no-information" },
9612
  {   2, "validation-only" },
9613
  {   3, "validation-and-profile" },
9614
  {   4, "profile-only" },
9615
  { 0, NULL }
9616
};
9617
9618
9619
static unsigned
9620
0
dissect_ansi_map_QualificationInformationCode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9621
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9622
0
                                  NULL);
9623
9624
0
  return offset;
9625
0
}
9626
9627
9628
static const value_string ansi_map_AuthorizationDenied_vals[] = {
9629
  {   0, "not-used" },
9630
  {   1, "delinquent-account" },
9631
  {   2, "invalid-serial-number" },
9632
  {   3, "stolen-unit" },
9633
  {   4, "duplicate-unit" },
9634
  {   5, "unassigned-directory-number" },
9635
  {   6, "unspecified" },
9636
  {   7, "multiple-access" },
9637
  {   8, "not-Authorized-for-the-MSC" },
9638
  {   9, "missing-authentication-parameters" },
9639
  {  10, "terminalType-mismatch" },
9640
  {  11, "requested-Service-Code-Not-Supported" },
9641
  { 0, NULL }
9642
};
9643
9644
9645
static unsigned
9646
0
dissect_ansi_map_AuthorizationDenied(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9647
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9648
0
                                  NULL);
9649
9650
0
  return offset;
9651
0
}
9652
9653
9654
9655
static unsigned
9656
0
dissect_ansi_map_AuthorizationPeriod(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9657
0
  tvbuff_t *parameter_tvb = NULL;
9658
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9659
0
                                       &parameter_tvb);
9660
9661
0
  if (parameter_tvb){
9662
0
    dissect_ansi_map_authorizationperiod(parameter_tvb,actx->pinfo,tree, actx);
9663
0
  }
9664
9665
9666
9667
0
  return offset;
9668
0
}
9669
9670
9671
9672
static unsigned
9673
0
dissect_ansi_map_DeniedAuthorizationPeriod(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9674
0
  tvbuff_t *parameter_tvb = NULL;
9675
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9676
0
                                       &parameter_tvb);
9677
9678
0
  if (parameter_tvb){
9679
0
    dissect_ansi_map_deniedauthorizationperiod(parameter_tvb,actx->pinfo,tree, actx);
9680
0
  }
9681
9682
9683
0
  return offset;
9684
0
}
9685
9686
9687
static const ber_sequence_t QualificationDirective_U_set[] = {
9688
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9689
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
9690
  { &hf_ansi_map_qualificationInformationCode, BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_ansi_map_QualificationInformationCode },
9691
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
9692
  { &hf_ansi_map_analogRedirectRecord, BER_CLASS_CON, 225, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectRecord },
9693
  { &hf_ansi_map_authorizationDenied, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationDenied },
9694
  { &hf_ansi_map_authorizationPeriod, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationPeriod },
9695
  { &hf_ansi_map_cdmaRedirectRecord, BER_CLASS_CON, 229, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMARedirectRecord },
9696
  { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
9697
  { &hf_ansi_map_deniedAuthorizationPeriod, BER_CLASS_CON, 167, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DeniedAuthorizationPeriod },
9698
  { &hf_ansi_map_digits_carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9699
  { &hf_ansi_map_digits_dest, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9700
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
9701
  { &hf_ansi_map_authenticationCapability, BER_CLASS_CON, 78, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationCapability },
9702
  { &hf_ansi_map_callingFeaturesIndicator, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingFeaturesIndicator },
9703
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
9704
  { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
9705
  { &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
9706
  { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
9707
  { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
9708
  { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
9709
  { &hf_ansi_map_geographicAuthorization, BER_CLASS_CON, 143, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GeographicAuthorization },
9710
  { &hf_ansi_map_meidValidated, BER_CLASS_CON, 401, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEIDValidated },
9711
  { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
9712
  { &hf_ansi_map_messageWaitingNotificationType, BER_CLASS_CON, 145, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationType },
9713
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
9714
  { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
9715
  { &hf_ansi_map_originationIndicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationIndicator },
9716
  { &hf_ansi_map_originationTriggers, BER_CLASS_CON, 98, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationTriggers },
9717
  { &hf_ansi_map_pACAIndicator, BER_CLASS_CON, 146, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PACAIndicator },
9718
  { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
9719
  { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
9720
  { &hf_ansi_map_restrictionDigits, BER_CLASS_CON, 227, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RestrictionDigits },
9721
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
9722
  { &hf_ansi_map_pSID_RSIDList, BER_CLASS_CON, 203, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDList },
9723
  { &hf_ansi_map_sms_OriginationRestrictions, BER_CLASS_CON, 115, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginationRestrictions },
9724
  { &hf_ansi_map_sms_TerminationRestrictions, BER_CLASS_CON, 117, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TerminationRestrictions },
9725
  { &hf_ansi_map_spinipin   , BER_CLASS_CON, 154, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINIPIN },
9726
  { &hf_ansi_map_spiniTriggers, BER_CLASS_CON, 155, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINITriggers },
9727
  { &hf_ansi_map_tdmaDataFeaturesIndicator, BER_CLASS_CON, 221, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataFeaturesIndicator },
9728
  { &hf_ansi_map_terminationRestrictionCode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationRestrictionCode },
9729
  { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
9730
  { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
9731
  { &hf_ansi_map_userGroup  , BER_CLASS_CON, 208, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserGroup },
9732
  { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
9733
  { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
9734
  { &hf_ansi_map_callingPartyCategory, BER_CLASS_CON, 355, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyCategory },
9735
  { &hf_ansi_map_lirMode    , BER_CLASS_CON, 369, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LIRMode },
9736
  { &hf_ansi_map_serviceRedirectionInfo, BER_CLASS_CON, 238, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionInfo },
9737
  { &hf_ansi_map_roamingIndication, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoamingIndication },
9738
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9739
  { NULL, 0, 0, 0, NULL }
9740
};
9741
9742
static unsigned
9743
0
dissect_ansi_map_QualificationDirective_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9744
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9745
0
                              QualificationDirective_U_set, hf_index, ett_ansi_map_QualificationDirective_U);
9746
9747
0
  return offset;
9748
0
}
9749
9750
9751
9752
static unsigned
9753
0
dissect_ansi_map_QualificationDirective(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9754
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9755
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_QualificationDirective_U);
9756
9757
0
  return offset;
9758
0
}
9759
9760
9761
static const ber_sequence_t QualificationDirectiveRes_U_set[] = {
9762
  { NULL, 0, 0, 0, NULL }
9763
};
9764
9765
static unsigned
9766
0
dissect_ansi_map_QualificationDirectiveRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9767
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9768
0
                              QualificationDirectiveRes_U_set, hf_index, ett_ansi_map_QualificationDirectiveRes_U);
9769
9770
0
  return offset;
9771
0
}
9772
9773
9774
9775
static unsigned
9776
0
dissect_ansi_map_QualificationDirectiveRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9777
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9778
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_QualificationDirectiveRes_U);
9779
9780
0
  return offset;
9781
0
}
9782
9783
9784
static const ber_sequence_t QualificationRequest_U_set[] = {
9785
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9786
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
9787
  { &hf_ansi_map_qualificationInformationCode, BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_ansi_map_QualificationInformationCode },
9788
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
9789
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
9790
  { &hf_ansi_map_cdmaNetworkIdentification, BER_CLASS_CON, 232, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMANetworkIdentification },
9791
  { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
9792
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9793
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9794
  { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
9795
  { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
9796
  { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
9797
  { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
9798
  { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
9799
  { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
9800
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
9801
  { NULL, 0, 0, 0, NULL }
9802
};
9803
9804
static unsigned
9805
0
dissect_ansi_map_QualificationRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9806
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9807
0
                              QualificationRequest_U_set, hf_index, ett_ansi_map_QualificationRequest_U);
9808
9809
0
  return offset;
9810
0
}
9811
9812
9813
9814
static unsigned
9815
0
dissect_ansi_map_QualificationRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9816
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9817
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_QualificationRequest_U);
9818
9819
0
  return offset;
9820
0
}
9821
9822
9823
static const ber_sequence_t QualificationRequestRes_U_set[] = {
9824
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
9825
  { &hf_ansi_map_analogRedirectRecord, BER_CLASS_CON, 225, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectRecord },
9826
  { &hf_ansi_map_authorizationDenied, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationDenied },
9827
  { &hf_ansi_map_authorizationPeriod, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationPeriod },
9828
  { &hf_ansi_map_cdmaRedirectRecord, BER_CLASS_CON, 229, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMARedirectRecord },
9829
  { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
9830
  { &hf_ansi_map_deniedAuthorizationPeriod, BER_CLASS_CON, 167, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DeniedAuthorizationPeriod },
9831
  { &hf_ansi_map_digits_carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9832
  { &hf_ansi_map_digits_dest, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9833
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9834
  { &hf_ansi_map_authenticationCapability, BER_CLASS_CON, 78, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationCapability },
9835
  { &hf_ansi_map_callingFeaturesIndicator, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingFeaturesIndicator },
9836
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
9837
  { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
9838
  { &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
9839
  { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
9840
  { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
9841
  { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
9842
  { &hf_ansi_map_geographicAuthorization, BER_CLASS_CON, 143, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GeographicAuthorization },
9843
  { &hf_ansi_map_meidValidated, BER_CLASS_CON, 401, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEIDValidated },
9844
  { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
9845
  { &hf_ansi_map_messageWaitingNotificationType, BER_CLASS_CON, 145, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationType },
9846
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
9847
  { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
9848
  { &hf_ansi_map_originationIndicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationIndicator },
9849
  { &hf_ansi_map_originationTriggers, BER_CLASS_CON, 98, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationTriggers },
9850
  { &hf_ansi_map_pACAIndicator, BER_CLASS_CON, 146, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PACAIndicator },
9851
  { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
9852
  { &hf_ansi_map_restrictionDigits, BER_CLASS_CON, 227, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RestrictionDigits },
9853
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
9854
  { &hf_ansi_map_sms_OriginationRestrictions, BER_CLASS_CON, 115, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginationRestrictions },
9855
  { &hf_ansi_map_sms_TerminationRestrictions, BER_CLASS_CON, 117, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TerminationRestrictions },
9856
  { &hf_ansi_map_spinipin   , BER_CLASS_CON, 154, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINIPIN },
9857
  { &hf_ansi_map_spiniTriggers, BER_CLASS_CON, 155, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINITriggers },
9858
  { &hf_ansi_map_terminationRestrictionCode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationRestrictionCode },
9859
  { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
9860
  { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
9861
  { &hf_ansi_map_callingPartyCategory, BER_CLASS_CON, 355, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyCategory },
9862
  { &hf_ansi_map_lirMode    , BER_CLASS_CON, 369, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LIRMode },
9863
  { &hf_ansi_map_serviceRedirectionInfo, BER_CLASS_CON, 238, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionInfo },
9864
  { &hf_ansi_map_roamingIndication, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoamingIndication },
9865
  { NULL, 0, 0, 0, NULL }
9866
};
9867
9868
static unsigned
9869
0
dissect_ansi_map_QualificationRequestRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9870
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9871
0
                              QualificationRequestRes_U_set, hf_index, ett_ansi_map_QualificationRequestRes_U);
9872
9873
0
  return offset;
9874
0
}
9875
9876
9877
9878
static unsigned
9879
0
dissect_ansi_map_QualificationRequestRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9880
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9881
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_QualificationRequestRes_U);
9882
9883
0
  return offset;
9884
0
}
9885
9886
9887
static const ber_sequence_t RandomVariableRequest_U_set[] = {
9888
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9889
  { &hf_ansi_map_randc      , BER_CLASS_CON, 67, BER_FLAGS_IMPLTAG, dissect_ansi_map_RANDC },
9890
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
9891
  { NULL, 0, 0, 0, NULL }
9892
};
9893
9894
static unsigned
9895
0
dissect_ansi_map_RandomVariableRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9896
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9897
0
                              RandomVariableRequest_U_set, hf_index, ett_ansi_map_RandomVariableRequest_U);
9898
9899
0
  return offset;
9900
0
}
9901
9902
9903
9904
static unsigned
9905
0
dissect_ansi_map_RandomVariableRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9906
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9907
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_RandomVariableRequest_U);
9908
9909
0
  return offset;
9910
0
}
9911
9912
9913
9914
static unsigned
9915
0
dissect_ansi_map_RANDValidTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9916
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9917
0
                                       NULL);
9918
9919
0
  return offset;
9920
0
}
9921
9922
9923
static const ber_sequence_t RandomVariableRequestRes_U_set[] = {
9924
  { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
9925
  { &hf_ansi_map_randValidTime, BER_CLASS_CON, 148, BER_FLAGS_IMPLTAG, dissect_ansi_map_RANDValidTime },
9926
  { NULL, 0, 0, 0, NULL }
9927
};
9928
9929
static unsigned
9930
0
dissect_ansi_map_RandomVariableRequestRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9931
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9932
0
                              RandomVariableRequestRes_U_set, hf_index, ett_ansi_map_RandomVariableRequestRes_U);
9933
9934
0
  return offset;
9935
0
}
9936
9937
9938
9939
static unsigned
9940
0
dissect_ansi_map_RandomVariableRequestRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9941
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9942
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_RandomVariableRequestRes_U);
9943
9944
0
  return offset;
9945
0
}
9946
9947
9948
static const ber_sequence_t RedirectionDirective_U_set[] = {
9949
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
9950
  { &hf_ansi_map_digits_dest, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9951
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9952
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
9953
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
9954
  { &hf_ansi_map_digits_carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9955
  { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
9956
  { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
9957
  { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
9958
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
9959
  { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
9960
  { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
9961
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9962
  { NULL, 0, 0, 0, NULL }
9963
};
9964
9965
static unsigned
9966
0
dissect_ansi_map_RedirectionDirective_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9967
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9968
0
                              RedirectionDirective_U_set, hf_index, ett_ansi_map_RedirectionDirective_U);
9969
9970
0
  return offset;
9971
0
}
9972
9973
9974
9975
static unsigned
9976
0
dissect_ansi_map_RedirectionDirective(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9977
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9978
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_RedirectionDirective_U);
9979
9980
0
  return offset;
9981
0
}
9982
9983
9984
static const value_string ansi_map_RedirectionReason_vals[] = {
9985
  {   0, "not-used" },
9986
  {   1, "busy" },
9987
  {   2, "no-Answer" },
9988
  {   3, "unconditional" },
9989
  {   4, "no-Page-Response" },
9990
  {   5, "unavailable" },
9991
  {   6, "unroutable" },
9992
  {   7, "call-accepted" },
9993
  {   8, "call-refused" },
9994
  {   9, "uSCFvm-Divert-to-voice-mail" },
9995
  {  10, "uSCFms-Divert-to-an-MS-provided-DN" },
9996
  {  11, "uSCFnr-Divert-to-a-network-registered-DN" },
9997
  { 0, NULL }
9998
};
9999
10000
10001
static unsigned
10002
0
dissect_ansi_map_RedirectionReason(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10003
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10004
0
                                  NULL);
10005
10006
0
  return offset;
10007
0
}
10008
10009
10010
static const ber_sequence_t RedirectionRequest_U_set[] = {
10011
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
10012
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10013
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
10014
  { &hf_ansi_map_redirectionReason, BER_CLASS_CON, 19, BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectionReason },
10015
  { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
10016
  { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
10017
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
10018
  { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
10019
  { NULL, 0, 0, 0, NULL }
10020
};
10021
10022
static unsigned
10023
0
dissect_ansi_map_RedirectionRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10024
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10025
0
                              RedirectionRequest_U_set, hf_index, ett_ansi_map_RedirectionRequest_U);
10026
10027
0
  return offset;
10028
0
}
10029
10030
10031
10032
static unsigned
10033
0
dissect_ansi_map_RedirectionRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10034
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10035
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_RedirectionRequest_U);
10036
10037
0
  return offset;
10038
0
}
10039
10040
10041
10042
static unsigned
10043
0
dissect_ansi_map_CancellationType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10044
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10045
0
                                       NULL);
10046
10047
0
  return offset;
10048
0
}
10049
10050
10051
10052
static unsigned
10053
0
dissect_ansi_map_ControlChannelData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10054
0
  tvbuff_t *parameter_tvb = NULL;
10055
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10056
0
                                       &parameter_tvb);
10057
10058
0
  if (parameter_tvb){
10059
0
    dissect_ansi_map_controlchanneldata(parameter_tvb,actx->pinfo,tree, actx);
10060
0
  }
10061
10062
10063
0
  return offset;
10064
0
}
10065
10066
10067
10068
static unsigned
10069
0
dissect_ansi_map_ReceivedSignalQuality(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10070
0
  offset = dissect_ber_constrained_integer(implicit_tag, actx, tree, tvb, offset,
10071
0
                                                            0U, 255U, hf_index, NULL);
10072
10073
0
  return offset;
10074
0
}
10075
10076
10077
10078
static unsigned
10079
0
dissect_ansi_map_SystemAccessData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10080
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10081
0
                                       NULL);
10082
10083
0
  return offset;
10084
0
}
10085
10086
10087
static const ber_sequence_t RegistrationCancellation_U_set[] = {
10088
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10089
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
10090
  { &hf_ansi_map_cancellationType, BER_CLASS_CON, 85, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CancellationType },
10091
  { &hf_ansi_map_controlChannelData, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelData },
10092
  { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
10093
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
10094
  { &hf_ansi_map_systemAccessData, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessData },
10095
  { NULL, 0, 0, 0, NULL }
10096
};
10097
10098
static unsigned
10099
0
dissect_ansi_map_RegistrationCancellation_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10100
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10101
0
                              RegistrationCancellation_U_set, hf_index, ett_ansi_map_RegistrationCancellation_U);
10102
10103
0
  return offset;
10104
0
}
10105
10106
10107
10108
static unsigned
10109
0
dissect_ansi_map_RegistrationCancellation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10110
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10111
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_RegistrationCancellation_U);
10112
10113
0
  return offset;
10114
0
}
10115
10116
10117
static const value_string ansi_map_CancellationDenied_vals[] = {
10118
  {   0, "not-used" },
10119
  {   1, "multipleAccess" },
10120
  {   2, "busy" },
10121
  { 0, NULL }
10122
};
10123
10124
10125
static unsigned
10126
0
dissect_ansi_map_CancellationDenied(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10127
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10128
0
                                  NULL);
10129
10130
0
  return offset;
10131
0
}
10132
10133
10134
static const ber_sequence_t RegistrationCancellationRes_U_set[] = {
10135
  { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
10136
  { &hf_ansi_map_cancellationDenied, BER_CLASS_CON, 57, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CancellationDenied },
10137
  { &hf_ansi_map_controlChannelData, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelData },
10138
  { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
10139
  { &hf_ansi_map_sms_MessageWaitingIndicator, BER_CLASS_CON, 118, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageWaitingIndicator },
10140
  { &hf_ansi_map_systemAccessData, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessData },
10141
  { NULL, 0, 0, 0, NULL }
10142
};
10143
10144
static unsigned
10145
0
dissect_ansi_map_RegistrationCancellationRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10146
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10147
0
                              RegistrationCancellationRes_U_set, hf_index, ett_ansi_map_RegistrationCancellationRes_U);
10148
10149
0
  return offset;
10150
0
}
10151
10152
10153
10154
static unsigned
10155
0
dissect_ansi_map_RegistrationCancellationRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10156
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10157
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_RegistrationCancellationRes_U);
10158
10159
0
  return offset;
10160
0
}
10161
10162
10163
10164
static unsigned
10165
0
dissect_ansi_map_AvailabilityType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10166
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10167
0
                                       NULL);
10168
10169
0
  return offset;
10170
0
}
10171
10172
10173
static const value_string ansi_map_BorderCellAccess_vals[] = {
10174
  {   0, "not-used" },
10175
  {   1, "border-Cell-Access" },
10176
  { 0, NULL }
10177
};
10178
10179
10180
static unsigned
10181
0
dissect_ansi_map_BorderCellAccess(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10182
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10183
0
                                  NULL);
10184
10185
0
  return offset;
10186
0
}
10187
10188
10189
10190
static unsigned
10191
0
dissect_ansi_map_MSC_Address(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10192
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10193
10194
0
  return offset;
10195
0
}
10196
10197
10198
10199
static unsigned
10200
0
dissect_ansi_map_SMS_Address(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10201
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10202
10203
0
  return offset;
10204
0
}
10205
10206
10207
static const ber_sequence_t MPCAddressList_set[] = {
10208
  { &hf_ansi_map_mpcAddress , BER_CLASS_CON, 370, BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddress },
10209
  { &hf_ansi_map_mpcAddress2, BER_CLASS_CON, 370, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddress },
10210
  { NULL, 0, 0, 0, NULL }
10211
};
10212
10213
static unsigned
10214
0
dissect_ansi_map_MPCAddressList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10215
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10216
0
                              MPCAddressList_set, hf_index, ett_ansi_map_MPCAddressList);
10217
10218
0
  return offset;
10219
0
}
10220
10221
10222
static const ber_sequence_t RegistrationNotification_U_set[] = {
10223
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10224
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
10225
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
10226
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
10227
  { &hf_ansi_map_qualificationInformationCode, BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_ansi_map_QualificationInformationCode },
10228
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
10229
  { &hf_ansi_map_availabilityType, BER_CLASS_CON, 90, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AvailabilityType },
10230
  { &hf_ansi_map_borderCellAccess, BER_CLASS_CON, 58, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BorderCellAccess },
10231
  { &hf_ansi_map_cdmaNetworkIdentification, BER_CLASS_CON, 232, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMANetworkIdentification },
10232
  { &hf_ansi_map_controlChannelData, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelData },
10233
  { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
10234
  { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
10235
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
10236
  { &hf_ansi_map_msc_Address, BER_CLASS_CON, 284, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSC_Address },
10237
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
10238
  { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
10239
  { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
10240
  { &hf_ansi_map_reportType , BER_CLASS_CON, 44, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReportType },
10241
  { &hf_ansi_map_serviceRedirectionCause, BER_CLASS_CON, 237, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionCause },
10242
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
10243
  { &hf_ansi_map_sms_Address, BER_CLASS_CON, 104, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_Address },
10244
  { &hf_ansi_map_sms_MessageWaitingIndicator, BER_CLASS_CON, 118, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageWaitingIndicator },
10245
  { &hf_ansi_map_systemAccessData, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessData },
10246
  { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
10247
  { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
10248
  { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
10249
  { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
10250
  { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
10251
  { &hf_ansi_map_mpcAddress , BER_CLASS_CON, 370, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddress },
10252
  { &hf_ansi_map_mpcAddressList, BER_CLASS_CON, 381, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddressList },
10253
  { NULL, 0, 0, 0, NULL }
10254
};
10255
10256
static unsigned
10257
0
dissect_ansi_map_RegistrationNotification_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10258
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10259
0
                              RegistrationNotification_U_set, hf_index, ett_ansi_map_RegistrationNotification_U);
10260
10261
0
  return offset;
10262
0
}
10263
10264
10265
10266
static unsigned
10267
0
dissect_ansi_map_RegistrationNotification(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10268
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10269
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_RegistrationNotification_U);
10270
10271
0
  return offset;
10272
0
}
10273
10274
10275
static const ber_sequence_t RegistrationNotificationRes_U_set[] = {
10276
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
10277
  { &hf_ansi_map_analogRedirectRecord, BER_CLASS_CON, 225, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectRecord },
10278
  { &hf_ansi_map_authorizationDenied, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationDenied },
10279
  { &hf_ansi_map_authorizationPeriod, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationPeriod },
10280
  { &hf_ansi_map_cdmaRedirectRecord, BER_CLASS_CON, 229, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMARedirectRecord },
10281
  { &hf_ansi_map_controlChannelData, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelData },
10282
  { &hf_ansi_map_deniedAuthorizationPeriod, BER_CLASS_CON, 167, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DeniedAuthorizationPeriod },
10283
  { &hf_ansi_map_digits_Carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
10284
  { &hf_ansi_map_digits_Destination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
10285
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
10286
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
10287
  { &hf_ansi_map_authenticationCapability, BER_CLASS_CON, 78, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationCapability },
10288
  { &hf_ansi_map_callingFeaturesIndicator, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingFeaturesIndicator },
10289
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
10290
  { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
10291
  { &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
10292
  { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
10293
  { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
10294
  { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
10295
  { &hf_ansi_map_geographicAuthorization, BER_CLASS_CON, 143, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GeographicAuthorization },
10296
  { &hf_ansi_map_meidValidated, BER_CLASS_CON, 401, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEIDValidated },
10297
  { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
10298
  { &hf_ansi_map_messageWaitingNotificationType, BER_CLASS_CON, 145, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationType },
10299
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
10300
  { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
10301
  { &hf_ansi_map_originationIndicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationIndicator },
10302
  { &hf_ansi_map_originationTriggers, BER_CLASS_CON, 98, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationTriggers },
10303
  { &hf_ansi_map_pACAIndicator, BER_CLASS_CON, 146, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PACAIndicator },
10304
  { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
10305
  { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
10306
  { &hf_ansi_map_restrictionDigits, BER_CLASS_CON, 227, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RestrictionDigits },
10307
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
10308
  { &hf_ansi_map_pSID_RSIDList, BER_CLASS_CON, 203, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDList },
10309
  { &hf_ansi_map_sms_OriginationRestrictions, BER_CLASS_CON, 115, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginationRestrictions },
10310
  { &hf_ansi_map_sms_TerminationRestrictions, BER_CLASS_CON, 117, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TerminationRestrictions },
10311
  { &hf_ansi_map_spinipin   , BER_CLASS_CON, 154, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINIPIN },
10312
  { &hf_ansi_map_spiniTriggers, BER_CLASS_CON, 155, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINITriggers },
10313
  { &hf_ansi_map_tdmaDataFeaturesIndicator, BER_CLASS_CON, 221, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataFeaturesIndicator },
10314
  { &hf_ansi_map_terminationRestrictionCode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationRestrictionCode },
10315
  { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
10316
  { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
10317
  { &hf_ansi_map_userGroup  , BER_CLASS_CON, 208, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserGroup },
10318
  { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
10319
  { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
10320
  { &hf_ansi_map_callingPartyCategory, BER_CLASS_CON, 355, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyCategory },
10321
  { &hf_ansi_map_lirMode    , BER_CLASS_CON, 369, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LIRMode },
10322
  { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
10323
  { &hf_ansi_map_serviceRedirectionInfo, BER_CLASS_CON, 238, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionInfo },
10324
  { &hf_ansi_map_roamingIndication, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoamingIndication },
10325
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
10326
  { &hf_ansi_map_sms_MessageWaitingIndicator, BER_CLASS_CON, 118, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageWaitingIndicator },
10327
  { &hf_ansi_map_systemAccessData, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessData },
10328
  { NULL, 0, 0, 0, NULL }
10329
};
10330
10331
static unsigned
10332
0
dissect_ansi_map_RegistrationNotificationRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10333
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10334
0
                              RegistrationNotificationRes_U_set, hf_index, ett_ansi_map_RegistrationNotificationRes_U);
10335
10336
0
  return offset;
10337
0
}
10338
10339
10340
10341
static unsigned
10342
0
dissect_ansi_map_RegistrationNotificationRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10343
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10344
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_RegistrationNotificationRes_U);
10345
10346
0
  return offset;
10347
0
}
10348
10349
10350
10351
static unsigned
10352
0
dissect_ansi_map_DigitCollectionControl(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10353
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10354
0
                                       NULL);
10355
10356
0
  return offset;
10357
0
}
10358
10359
10360
static const ber_sequence_t RemoteUserInteractionDirective_U_set[] = {
10361
  { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
10362
  { &hf_ansi_map_digitCollectionControl, BER_CLASS_CON, 139, BER_FLAGS_IMPLTAG, dissect_ansi_map_DigitCollectionControl },
10363
  { NULL, 0, 0, 0, NULL }
10364
};
10365
10366
static unsigned
10367
0
dissect_ansi_map_RemoteUserInteractionDirective_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10368
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10369
0
                              RemoteUserInteractionDirective_U_set, hf_index, ett_ansi_map_RemoteUserInteractionDirective_U);
10370
10371
0
  return offset;
10372
0
}
10373
10374
10375
10376
static unsigned
10377
0
dissect_ansi_map_RemoteUserInteractionDirective(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10378
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10379
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_RemoteUserInteractionDirective_U);
10380
10381
0
  return offset;
10382
0
}
10383
10384
10385
static const ber_sequence_t RemoteUserInteractionDirectiveRes_U_set[] = {
10386
  { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
10387
  { NULL, 0, 0, 0, NULL }
10388
};
10389
10390
static unsigned
10391
0
dissect_ansi_map_RemoteUserInteractionDirectiveRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10392
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10393
0
                              RemoteUserInteractionDirectiveRes_U_set, hf_index, ett_ansi_map_RemoteUserInteractionDirectiveRes_U);
10394
10395
0
  return offset;
10396
0
}
10397
10398
10399
10400
static unsigned
10401
0
dissect_ansi_map_RemoteUserInteractionDirectiveRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10402
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10403
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_RemoteUserInteractionDirectiveRes_U);
10404
10405
0
  return offset;
10406
0
}
10407
10408
10409
static const ber_sequence_t ResetCircuit_U_set[] = {
10410
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
10411
  { NULL, 0, 0, 0, NULL }
10412
};
10413
10414
static unsigned
10415
0
dissect_ansi_map_ResetCircuit_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10416
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10417
0
                              ResetCircuit_U_set, hf_index, ett_ansi_map_ResetCircuit_U);
10418
10419
0
  return offset;
10420
0
}
10421
10422
10423
10424
static unsigned
10425
0
dissect_ansi_map_ResetCircuit(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10426
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10427
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_ResetCircuit_U);
10428
10429
0
  return offset;
10430
0
}
10431
10432
10433
static const value_string ansi_map_TrunkStatus_vals[] = {
10434
  {   0, "idle" },
10435
  {   1, "blocked" },
10436
  { 0, NULL }
10437
};
10438
10439
10440
static unsigned
10441
0
dissect_ansi_map_TrunkStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10442
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10443
0
                                  NULL);
10444
10445
0
  return offset;
10446
0
}
10447
10448
10449
static const ber_sequence_t ResetCircuitRes_U_set[] = {
10450
  { &hf_ansi_map_trunkStatus, BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_ansi_map_TrunkStatus },
10451
  { NULL, 0, 0, 0, NULL }
10452
};
10453
10454
static unsigned
10455
0
dissect_ansi_map_ResetCircuitRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10456
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10457
0
                              ResetCircuitRes_U_set, hf_index, ett_ansi_map_ResetCircuitRes_U);
10458
10459
0
  return offset;
10460
0
}
10461
10462
10463
10464
static unsigned
10465
0
dissect_ansi_map_ResetCircuitRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10466
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10467
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_ResetCircuitRes_U);
10468
10469
0
  return offset;
10470
0
}
10471
10472
10473
static const ber_sequence_t RoutingRequest_U_set[] = {
10474
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
10475
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10476
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
10477
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
10478
  { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
10479
  { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
10480
  { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
10481
  { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
10482
  { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
10483
  { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
10484
  { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
10485
  { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
10486
  { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
10487
  { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
10488
  { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
10489
  { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
10490
  { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
10491
  { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
10492
  { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
10493
  { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
10494
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
10495
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
10496
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
10497
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
10498
  { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
10499
  { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
10500
  { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
10501
  { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
10502
  { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
10503
  { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
10504
  { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
10505
  { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
10506
  { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
10507
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
10508
  { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
10509
  { &hf_ansi_map_terminationTreatment, BER_CLASS_CON, 121, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTreatment },
10510
  { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
10511
  { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
10512
  { &hf_ansi_map_userGroup  , BER_CLASS_CON, 208, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserGroup },
10513
  { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
10514
  { &hf_ansi_map_voiceMailboxNumber, BER_CLASS_CON, 160, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoiceMailboxNumber },
10515
  { &hf_ansi_map_voiceMailboxPIN, BER_CLASS_CON, 159, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoiceMailboxPIN },
10516
  { NULL, 0, 0, 0, NULL }
10517
};
10518
10519
static unsigned
10520
0
dissect_ansi_map_RoutingRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10521
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10522
0
                              RoutingRequest_U_set, hf_index, ett_ansi_map_RoutingRequest_U);
10523
10524
0
  return offset;
10525
0
}
10526
10527
10528
10529
static unsigned
10530
0
dissect_ansi_map_RoutingRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10531
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10532
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_RoutingRequest_U);
10533
10534
0
  return offset;
10535
0
}
10536
10537
10538
static const ber_sequence_t RoutingRequestRes_U_set[] = {
10539
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
10540
  { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
10541
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
10542
  { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
10543
  { &hf_ansi_map_conditionallyDeniedReason, BER_CLASS_CON, 162, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConditionallyDeniedReason },
10544
  { &hf_ansi_map_digits_Destination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
10545
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
10546
  { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
10547
  { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
10548
  { NULL, 0, 0, 0, NULL }
10549
};
10550
10551
static unsigned
10552
0
dissect_ansi_map_RoutingRequestRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10553
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10554
0
                              RoutingRequestRes_U_set, hf_index, ett_ansi_map_RoutingRequestRes_U);
10555
10556
0
  return offset;
10557
0
}
10558
10559
10560
10561
static unsigned
10562
0
dissect_ansi_map_RoutingRequestRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10563
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10564
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_RoutingRequestRes_U);
10565
10566
0
  return offset;
10567
0
}
10568
10569
10570
10571
static unsigned
10572
0
dissect_ansi_map_SMS_BearerData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10573
0
  int length;
10574
0
  SMS_BearerData_tvb = NULL;
10575
10576
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10577
0
                                       &SMS_BearerData_tvb);
10578
10579
0
  if (SMS_BearerData_tvb){
10580
    /* A zero length OCTET STRING will return a zero length tvb */
10581
0
    length = tvb_reported_length_remaining(SMS_BearerData_tvb,0);
10582
0
    if (length <=0){
10583
0
      proto_item_append_text(actx->created_item," length %u",length);
10584
0
      SMS_BearerData_tvb = NULL;
10585
0
      return offset;
10586
0
    }
10587
0
    if (ansi_map_sms_tele_id != -1)
10588
0
    {
10589
0
      dissector_try_uint(is637_tele_id_dissector_table, ansi_map_sms_tele_id, SMS_BearerData_tvb, g_pinfo, g_tree);
10590
0
    }
10591
0
    else
10592
0
    {
10593
0
      switch(ServiceIndicator){
10594
0
        case 1: /* CDMA OTASP Service */
10595
0
        case 3: /* CDMA OTAPA Service */
10596
0
          dissector_try_uint(is683_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
10597
0
          break;
10598
0
        case 4: /* CDMA Position Determination Service */
10599
0
          dissector_try_uint(is801_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
10600
0
          break;
10601
0
        default:
10602
0
          break;
10603
0
      }
10604
0
    }
10605
0
  }
10606
10607
10608
0
  return offset;
10609
0
}
10610
10611
10612
10613
static unsigned
10614
0
dissect_ansi_map_SMS_TeleserviceIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10615
10616
0
  int length;
10617
0
  tvbuff_t *parameter_tvb = NULL;
10618
0
  ansi_map_sms_tele_id = -1;
10619
10620
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10621
0
                                       &parameter_tvb);
10622
10623
0
  if (parameter_tvb){
10624
    /* A zero length OCTET STRING will return a zero length tvb */
10625
0
    length = tvb_reported_length_remaining(parameter_tvb,0);
10626
0
    if (length <=0){
10627
0
      proto_item_append_text(actx->created_item, " length %u",length);
10628
0
      return offset;
10629
0
    }
10630
0
    ansi_map_sms_tele_id = tvb_get_ntohs(tvb,0);
10631
0
    if ((ansi_map_sms_tele_id != -1)&&(SMS_BearerData_tvb !=NULL))
10632
0
    {
10633
0
        dissector_try_uint(is637_tele_id_dissector_table, ansi_map_sms_tele_id, SMS_BearerData_tvb, g_pinfo, g_tree);
10634
0
    }
10635
0
  }
10636
10637
10638
0
  return offset;
10639
0
}
10640
10641
10642
10643
static unsigned
10644
0
dissect_ansi_map_SMS_ChargeIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10645
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10646
0
                                       NULL);
10647
10648
0
  return offset;
10649
0
}
10650
10651
10652
10653
static unsigned
10654
0
dissect_ansi_map_SMS_DestinationAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10655
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10656
10657
0
  return offset;
10658
0
}
10659
10660
10661
10662
static unsigned
10663
0
dissect_ansi_map_SMS_OriginalDestinationAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10664
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10665
10666
0
  return offset;
10667
0
}
10668
10669
10670
10671
static unsigned
10672
0
dissect_ansi_map_SMS_OriginalDestinationSubaddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10673
0
  offset = dissect_ansi_map_Subaddress(implicit_tag, tvb, offset, actx, tree, hf_index);
10674
10675
0
  return offset;
10676
0
}
10677
10678
10679
10680
static unsigned
10681
0
dissect_ansi_map_SMS_OriginalOriginatingAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10682
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10683
10684
0
  return offset;
10685
0
}
10686
10687
10688
10689
static unsigned
10690
0
dissect_ansi_map_SMS_OriginalOriginatingSubaddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10691
0
  offset = dissect_ansi_map_Subaddress(implicit_tag, tvb, offset, actx, tree, hf_index);
10692
10693
0
  return offset;
10694
0
}
10695
10696
10697
10698
static unsigned
10699
0
dissect_ansi_map_SMS_OriginatingAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10700
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10701
10702
0
  return offset;
10703
0
}
10704
10705
10706
static const ber_sequence_t SMSDeliveryBackward_U_set[] = {
10707
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
10708
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
10709
  { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
10710
  { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
10711
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10712
  { &hf_ansi_map_sms_ChargeIndicator, BER_CLASS_CON, 106, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_ChargeIndicator },
10713
  { &hf_ansi_map_sms_DestinationAddress, BER_CLASS_CON, 107, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_DestinationAddress },
10714
  { &hf_ansi_map_sms_OriginalDestinationAddress, BER_CLASS_CON, 110, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationAddress },
10715
  { &hf_ansi_map_sms_OriginalDestinationSubaddress, BER_CLASS_CON, 111, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationSubaddress },
10716
  { &hf_ansi_map_sms_OriginalOriginatingAddress, BER_CLASS_CON, 112, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingAddress },
10717
  { &hf_ansi_map_sms_OriginalOriginatingSubaddress, BER_CLASS_CON, 113, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingSubaddress },
10718
  { &hf_ansi_map_sms_OriginatingAddress, BER_CLASS_CON, 114, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginatingAddress },
10719
  { NULL, 0, 0, 0, NULL }
10720
};
10721
10722
static unsigned
10723
0
dissect_ansi_map_SMSDeliveryBackward_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10724
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10725
0
                              SMSDeliveryBackward_U_set, hf_index, ett_ansi_map_SMSDeliveryBackward_U);
10726
10727
0
  return offset;
10728
0
}
10729
10730
10731
10732
static unsigned
10733
0
dissect_ansi_map_SMSDeliveryBackward(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10734
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10735
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_SMSDeliveryBackward_U);
10736
10737
0
  return offset;
10738
0
}
10739
10740
10741
10742
static unsigned
10743
0
dissect_ansi_map_SMS_CauseCode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10744
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10745
0
                                       NULL);
10746
10747
0
  return offset;
10748
0
}
10749
10750
10751
static const ber_sequence_t SMSDeliveryBackwardRes_U_set[] = {
10752
  { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
10753
  { &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
10754
  { NULL, 0, 0, 0, NULL }
10755
};
10756
10757
static unsigned
10758
0
dissect_ansi_map_SMSDeliveryBackwardRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10759
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10760
0
                              SMSDeliveryBackwardRes_U_set, hf_index, ett_ansi_map_SMSDeliveryBackwardRes_U);
10761
10762
0
  return offset;
10763
0
}
10764
10765
10766
10767
static unsigned
10768
0
dissect_ansi_map_SMSDeliveryBackwardRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10769
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10770
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_SMSDeliveryBackwardRes_U);
10771
10772
0
  return offset;
10773
0
}
10774
10775
10776
static const ber_sequence_t SMSDeliveryForward_U_set[] = {
10777
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
10778
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
10779
  { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
10780
  { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
10781
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10782
  { &hf_ansi_map_sms_ChargeIndicator, BER_CLASS_CON, 106, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_ChargeIndicator },
10783
  { &hf_ansi_map_sms_DestinationAddress, BER_CLASS_CON, 107, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_DestinationAddress },
10784
  { &hf_ansi_map_sms_OriginalDestinationAddress, BER_CLASS_CON, 110, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationAddress },
10785
  { &hf_ansi_map_sms_OriginalDestinationSubaddress, BER_CLASS_CON, 111, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationSubaddress },
10786
  { &hf_ansi_map_sms_OriginalOriginatingAddress, BER_CLASS_CON, 112, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingAddress },
10787
  { &hf_ansi_map_sms_OriginalOriginatingSubaddress, BER_CLASS_CON, 113, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingSubaddress },
10788
  { &hf_ansi_map_sms_OriginatingAddress, BER_CLASS_CON, 114, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginatingAddress },
10789
  { NULL, 0, 0, 0, NULL }
10790
};
10791
10792
static unsigned
10793
0
dissect_ansi_map_SMSDeliveryForward_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10794
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10795
0
                              SMSDeliveryForward_U_set, hf_index, ett_ansi_map_SMSDeliveryForward_U);
10796
10797
0
  return offset;
10798
0
}
10799
10800
10801
10802
static unsigned
10803
0
dissect_ansi_map_SMSDeliveryForward(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10804
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10805
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_SMSDeliveryForward_U);
10806
10807
0
  return offset;
10808
0
}
10809
10810
10811
static const ber_sequence_t SMSDeliveryForwardRes_U_set[] = {
10812
  { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
10813
  { &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
10814
  { NULL, 0, 0, 0, NULL }
10815
};
10816
10817
static unsigned
10818
0
dissect_ansi_map_SMSDeliveryForwardRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10819
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10820
0
                              SMSDeliveryForwardRes_U_set, hf_index, ett_ansi_map_SMSDeliveryForwardRes_U);
10821
10822
0
  return offset;
10823
0
}
10824
10825
10826
10827
static unsigned
10828
0
dissect_ansi_map_SMSDeliveryForwardRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10829
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10830
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_SMSDeliveryForwardRes_U);
10831
10832
0
  return offset;
10833
0
}
10834
10835
10836
10837
static unsigned
10838
0
dissect_ansi_map_InterMessageTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10839
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10840
0
                                       NULL);
10841
10842
0
  return offset;
10843
0
}
10844
10845
10846
10847
static unsigned
10848
0
dissect_ansi_map_IMSIType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10849
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10850
0
                                       NULL);
10851
10852
0
  return offset;
10853
0
}
10854
10855
10856
10857
static unsigned
10858
0
dissect_ansi_map_NewlyAssignedIMSI(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10859
0
  offset = dissect_ansi_map_IMSIType(implicit_tag, tvb, offset, actx, tree, hf_index);
10860
10861
0
  return offset;
10862
0
}
10863
10864
10865
10866
static unsigned
10867
0
dissect_ansi_map_NewlyAssignedMIN(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10868
0
  offset = dissect_ansi_map_MINType(implicit_tag, tvb, offset, actx, tree, hf_index);
10869
10870
0
  return offset;
10871
0
}
10872
10873
10874
10875
static unsigned
10876
0
dissect_ansi_map_NewMINExtension(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10877
0
  offset = dissect_ansi_map_MINType(implicit_tag, tvb, offset, actx, tree, hf_index);
10878
10879
0
  return offset;
10880
0
}
10881
10882
10883
10884
static unsigned
10885
0
dissect_ansi_map_SMS_MessageCount(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10886
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10887
0
                                       NULL);
10888
10889
0
  return offset;
10890
0
}
10891
10892
10893
10894
static unsigned
10895
0
dissect_ansi_map_SMS_NotificationIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10896
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10897
0
                                       NULL);
10898
10899
0
  return offset;
10900
0
}
10901
10902
10903
10904
static unsigned
10905
0
dissect_ansi_map_Teleservice_Priority(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10906
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10907
0
                                       NULL);
10908
10909
0
  return offset;
10910
0
}
10911
10912
10913
10914
static unsigned
10915
0
dissect_ansi_map_TemporaryReferenceNumber(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10916
0
  offset = dissect_ansi_map_MINType(implicit_tag, tvb, offset, actx, tree, hf_index);
10917
10918
0
  return offset;
10919
0
}
10920
10921
10922
static const ber_sequence_t SMSDeliveryPointToPoint_U_set[] = {
10923
  { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
10924
  { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
10925
  { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
10926
  { &hf_ansi_map_cdmaServingOneWayDelay2, BER_CLASS_CON, 347, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay2 },
10927
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10928
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
10929
  { &hf_ansi_map_interMessageTime, BER_CLASS_CON, 325, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMessageTime },
10930
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
10931
  { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
10932
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
10933
  { &hf_ansi_map_newlyAssignedIMSI, BER_CLASS_CON, 287, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NewlyAssignedIMSI },
10934
  { &hf_ansi_map_newlyAssignedMIN, BER_CLASS_CON, 187, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NewlyAssignedMIN },
10935
  { &hf_ansi_map_newMINExtension, BER_CLASS_CON, 328, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NewMINExtension },
10936
  { &hf_ansi_map_serviceIndicator, BER_CLASS_CON, 193, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceIndicator },
10937
  { &hf_ansi_map_sms_ChargeIndicator, BER_CLASS_CON, 106, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_ChargeIndicator },
10938
  { &hf_ansi_map_sms_DestinationAddress, BER_CLASS_CON, 107, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_DestinationAddress },
10939
  { &hf_ansi_map_sms_MessageCount, BER_CLASS_CON, 108, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageCount },
10940
  { &hf_ansi_map_sms_NotificationIndicator, BER_CLASS_CON, 109, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_NotificationIndicator },
10941
  { &hf_ansi_map_sms_OriginalDestinationAddress, BER_CLASS_CON, 110, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationAddress },
10942
  { &hf_ansi_map_sms_OriginalDestinationSubaddress, BER_CLASS_CON, 111, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationSubaddress },
10943
  { &hf_ansi_map_sms_OriginalOriginatingAddress, BER_CLASS_CON, 112, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingAddress },
10944
  { &hf_ansi_map_sms_OriginalOriginatingSubaddress, BER_CLASS_CON, 113, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingSubaddress },
10945
  { &hf_ansi_map_sms_OriginatingAddress, BER_CLASS_CON, 114, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginatingAddress },
10946
  { &hf_ansi_map_teleservice_Priority, BER_CLASS_CON, 290, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Teleservice_Priority },
10947
  { &hf_ansi_map_temporaryReferenceNumber, BER_CLASS_CON, 195, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TemporaryReferenceNumber },
10948
  { NULL, 0, 0, 0, NULL }
10949
};
10950
10951
static unsigned
10952
0
dissect_ansi_map_SMSDeliveryPointToPoint_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10953
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10954
0
                              SMSDeliveryPointToPoint_U_set, hf_index, ett_ansi_map_SMSDeliveryPointToPoint_U);
10955
10956
0
  return offset;
10957
0
}
10958
10959
10960
10961
static unsigned
10962
0
dissect_ansi_map_SMSDeliveryPointToPoint(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10963
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10964
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_SMSDeliveryPointToPoint_U);
10965
10966
0
  return offset;
10967
0
}
10968
10969
10970
10971
static unsigned
10972
0
dissect_ansi_map_MobileStationIMSI(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10973
0
  offset = dissect_ansi_map_IMSIType(implicit_tag, tvb, offset, actx, tree, hf_index);
10974
10975
0
  return offset;
10976
0
}
10977
10978
10979
static const value_string ansi_map_MobileStationMSID_vals[] = {
10980
  { 184, "mobileStationMIN" },
10981
  { 286, "mobileStationIMSI" },
10982
  { 0, NULL }
10983
};
10984
10985
static const ber_choice_t MobileStationMSID_choice[] = {
10986
  { 184, &hf_ansi_map_mobileStationMIN, BER_CLASS_CON, 184, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileStationMIN },
10987
  { 286, &hf_ansi_map_mobileStationIMSI, BER_CLASS_CON, 286, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileStationIMSI },
10988
  { 0, NULL, 0, 0, 0, NULL }
10989
};
10990
10991
static unsigned
10992
0
dissect_ansi_map_MobileStationMSID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10993
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
10994
0
                                 MobileStationMSID_choice, hf_index, ett_ansi_map_MobileStationMSID,
10995
0
                                 NULL);
10996
10997
0
  return offset;
10998
0
}
10999
11000
11001
static const ber_sequence_t SMSDeliveryPointToPointRes_U_set[] = {
11002
  { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
11003
  { &hf_ansi_map_authorizationDenied, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationDenied },
11004
  { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
11005
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11006
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
11007
  { &hf_ansi_map_mobileStationMSID, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MobileStationMSID },
11008
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11009
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
11010
  { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
11011
  { &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
11012
  { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
11013
  { NULL, 0, 0, 0, NULL }
11014
};
11015
11016
static unsigned
11017
0
dissect_ansi_map_SMSDeliveryPointToPointRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11018
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11019
0
                              SMSDeliveryPointToPointRes_U_set, hf_index, ett_ansi_map_SMSDeliveryPointToPointRes_U);
11020
11021
0
  return offset;
11022
0
}
11023
11024
11025
11026
static unsigned
11027
0
dissect_ansi_map_SMSDeliveryPointToPointRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11028
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11029
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_SMSDeliveryPointToPointRes_U);
11030
11031
0
  return offset;
11032
0
}
11033
11034
11035
11036
static unsigned
11037
0
dissect_ansi_map_SMS_TransactionID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11038
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11039
0
                                       NULL);
11040
11041
0
  return offset;
11042
0
}
11043
11044
11045
static const ber_sequence_t SMSDeliveryPointToPointAck_U_set[] = {
11046
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
11047
  { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
11048
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11049
  { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
11050
  { &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
11051
  { &hf_ansi_map_sms_TransactionID, BER_CLASS_CON, 302, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TransactionID },
11052
  { NULL, 0, 0, 0, NULL }
11053
};
11054
11055
static unsigned
11056
0
dissect_ansi_map_SMSDeliveryPointToPointAck_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11057
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11058
0
                              SMSDeliveryPointToPointAck_U_set, hf_index, ett_ansi_map_SMSDeliveryPointToPointAck_U);
11059
11060
0
  return offset;
11061
0
}
11062
11063
11064
11065
static unsigned
11066
0
dissect_ansi_map_SMSDeliveryPointToPointAck(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11067
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11068
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_SMSDeliveryPointToPointAck_U);
11069
11070
0
  return offset;
11071
0
}
11072
11073
11074
11075
static unsigned
11076
0
dissect_ansi_map_SMS_AccessDeniedReason(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11077
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11078
0
                                       NULL);
11079
11080
0
  return offset;
11081
0
}
11082
11083
11084
static const ber_sequence_t SMSNotification_U_set[] = {
11085
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11086
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11087
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11088
  { &hf_ansi_map_sms_AccessDeniedReason, BER_CLASS_CON, 152, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_AccessDeniedReason },
11089
  { &hf_ansi_map_sms_Address, BER_CLASS_CON, 104, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_Address },
11090
  { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
11091
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
11092
  { NULL, 0, 0, 0, NULL }
11093
};
11094
11095
static unsigned
11096
0
dissect_ansi_map_SMSNotification_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11097
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11098
0
                              SMSNotification_U_set, hf_index, ett_ansi_map_SMSNotification_U);
11099
11100
0
  return offset;
11101
0
}
11102
11103
11104
11105
static unsigned
11106
0
dissect_ansi_map_SMSNotification(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11107
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11108
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_SMSNotification_U);
11109
11110
0
  return offset;
11111
0
}
11112
11113
11114
static const ber_sequence_t SMSNotificationRes_U_set[] = {
11115
  { &hf_ansi_map_sms_MessageCount, BER_CLASS_CON, 108, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageCount },
11116
  { NULL, 0, 0, 0, NULL }
11117
};
11118
11119
static unsigned
11120
0
dissect_ansi_map_SMSNotificationRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11121
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11122
0
                              SMSNotificationRes_U_set, hf_index, ett_ansi_map_SMSNotificationRes_U);
11123
11124
0
  return offset;
11125
0
}
11126
11127
11128
11129
static unsigned
11130
0
dissect_ansi_map_SMSNotificationRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11131
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11132
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_SMSNotificationRes_U);
11133
11134
0
  return offset;
11135
0
}
11136
11137
11138
static const ber_sequence_t SMSRequest_U_set[] = {
11139
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11140
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11141
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11142
  { &hf_ansi_map_serviceIndicator, BER_CLASS_CON, 193, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceIndicator },
11143
  { &hf_ansi_map_sms_NotificationIndicator, BER_CLASS_CON, 109, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_NotificationIndicator },
11144
  { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
11145
  { NULL, 0, 0, 0, NULL }
11146
};
11147
11148
static unsigned
11149
0
dissect_ansi_map_SMSRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11150
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11151
0
                              SMSRequest_U_set, hf_index, ett_ansi_map_SMSRequest_U);
11152
11153
0
  return offset;
11154
0
}
11155
11156
11157
11158
static unsigned
11159
0
dissect_ansi_map_SMSRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11160
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11161
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_SMSRequest_U);
11162
11163
0
  return offset;
11164
0
}
11165
11166
11167
static const ber_sequence_t SMSRequestRes_U_set[] = {
11168
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11169
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11170
  { &hf_ansi_map_sms_AccessDeniedReason, BER_CLASS_CON, 152, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_AccessDeniedReason },
11171
  { &hf_ansi_map_sms_Address, BER_CLASS_CON, 104, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_Address },
11172
  { &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
11173
  { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
11174
  { NULL, 0, 0, 0, NULL }
11175
};
11176
11177
static unsigned
11178
0
dissect_ansi_map_SMSRequestRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11179
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11180
0
                              SMSRequestRes_U_set, hf_index, ett_ansi_map_SMSRequestRes_U);
11181
11182
0
  return offset;
11183
0
}
11184
11185
11186
11187
static unsigned
11188
0
dissect_ansi_map_SMSRequestRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11189
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11190
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_SMSRequestRes_U);
11191
11192
0
  return offset;
11193
0
}
11194
11195
11196
static const ber_sequence_t TransferToNumberRequest_U_set[] = {
11197
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11198
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11199
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
11200
  { &hf_ansi_map_redirectionReason, BER_CLASS_CON, 19, BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectionReason },
11201
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
11202
  { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
11203
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
11204
  { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
11205
  { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
11206
  { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
11207
  { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11208
  { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
11209
  { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
11210
  { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
11211
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11212
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
11213
  { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
11214
  { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
11215
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
11216
  { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
11217
  { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
11218
  { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
11219
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
11220
  { NULL, 0, 0, 0, NULL }
11221
};
11222
11223
static unsigned
11224
0
dissect_ansi_map_TransferToNumberRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11225
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11226
0
                              TransferToNumberRequest_U_set, hf_index, ett_ansi_map_TransferToNumberRequest_U);
11227
11228
0
  return offset;
11229
0
}
11230
11231
11232
11233
static unsigned
11234
0
dissect_ansi_map_TransferToNumberRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11235
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11236
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_TransferToNumberRequest_U);
11237
11238
0
  return offset;
11239
0
}
11240
11241
11242
static const ber_sequence_t TransferToNumberRequestRes_U_set[] = {
11243
  { &hf_ansi_map_digits_Destination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11244
  { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
11245
  { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
11246
  { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
11247
  { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
11248
  { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
11249
  { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11250
  { &hf_ansi_map_digits_Carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11251
  { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
11252
  { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
11253
  { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
11254
  { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
11255
  { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
11256
  { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
11257
  { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
11258
  { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL, dissect_ansi_map_GroupInformation },
11259
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11260
  { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
11261
  { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
11262
  { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
11263
  { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
11264
  { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
11265
  { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
11266
  { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
11267
  { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
11268
  { NULL, 0, 0, 0, NULL }
11269
};
11270
11271
static unsigned
11272
0
dissect_ansi_map_TransferToNumberRequestRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11273
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11274
0
                              TransferToNumberRequestRes_U_set, hf_index, ett_ansi_map_TransferToNumberRequestRes_U);
11275
11276
0
  return offset;
11277
0
}
11278
11279
11280
11281
static unsigned
11282
0
dissect_ansi_map_TransferToNumberRequestRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11283
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11284
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_TransferToNumberRequestRes_U);
11285
11286
0
  return offset;
11287
0
}
11288
11289
11290
static const value_string ansi_map_SeizureType_vals[] = {
11291
  {   0, "unspecified" },
11292
  {   1, "loop-back" },
11293
  { 0, NULL }
11294
};
11295
11296
11297
static unsigned
11298
0
dissect_ansi_map_SeizureType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11299
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11300
0
                                  NULL);
11301
11302
0
  return offset;
11303
0
}
11304
11305
11306
static const ber_sequence_t TrunkTest_U_set[] = {
11307
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
11308
  { &hf_ansi_map_seizureType, BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_ansi_map_SeizureType },
11309
  { NULL, 0, 0, 0, NULL }
11310
};
11311
11312
static unsigned
11313
0
dissect_ansi_map_TrunkTest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11314
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11315
0
                              TrunkTest_U_set, hf_index, ett_ansi_map_TrunkTest_U);
11316
11317
0
  return offset;
11318
0
}
11319
11320
11321
11322
static unsigned
11323
0
dissect_ansi_map_TrunkTest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11324
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11325
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_TrunkTest_U);
11326
11327
0
  return offset;
11328
0
}
11329
11330
11331
static const ber_sequence_t TrunkTestDisconnect_U_set[] = {
11332
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
11333
  { NULL, 0, 0, 0, NULL }
11334
};
11335
11336
static unsigned
11337
0
dissect_ansi_map_TrunkTestDisconnect_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11338
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11339
0
                              TrunkTestDisconnect_U_set, hf_index, ett_ansi_map_TrunkTestDisconnect_U);
11340
11341
0
  return offset;
11342
0
}
11343
11344
11345
11346
static unsigned
11347
0
dissect_ansi_map_TrunkTestDisconnect(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11348
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11349
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_TrunkTestDisconnect_U);
11350
11351
0
  return offset;
11352
0
}
11353
11354
11355
static const ber_sequence_t Unblocking_U_set[] = {
11356
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
11357
  { NULL, 0, 0, 0, NULL }
11358
};
11359
11360
static unsigned
11361
0
dissect_ansi_map_Unblocking_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11362
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11363
0
                              Unblocking_U_set, hf_index, ett_ansi_map_Unblocking_U);
11364
11365
0
  return offset;
11366
0
}
11367
11368
11369
11370
static unsigned
11371
0
dissect_ansi_map_Unblocking(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11372
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11373
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_Unblocking_U);
11374
11375
0
  return offset;
11376
0
}
11377
11378
11379
static const ber_sequence_t UnreliableRoamerDataDirective_U_set[] = {
11380
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11381
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
11382
  { NULL, 0, 0, 0, NULL }
11383
};
11384
11385
static unsigned
11386
0
dissect_ansi_map_UnreliableRoamerDataDirective_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11387
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11388
0
                              UnreliableRoamerDataDirective_U_set, hf_index, ett_ansi_map_UnreliableRoamerDataDirective_U);
11389
11390
0
  return offset;
11391
0
}
11392
11393
11394
11395
static unsigned
11396
0
dissect_ansi_map_UnreliableRoamerDataDirective(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11397
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11398
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_UnreliableRoamerDataDirective_U);
11399
11400
0
  return offset;
11401
0
}
11402
11403
11404
static const ber_sequence_t UnsolicitedResponse_U_set[] = {
11405
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
11406
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11407
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
11408
  { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
11409
  { &hf_ansi_map_digits_Destination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11410
  { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
11411
  { &hf_ansi_map_extendedSystemMyTypeCode, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedSystemMyTypeCode },
11412
  { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
11413
  { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
11414
  { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
11415
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
11416
  { NULL, 0, 0, 0, NULL }
11417
};
11418
11419
static unsigned
11420
0
dissect_ansi_map_UnsolicitedResponse_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11421
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11422
0
                              UnsolicitedResponse_U_set, hf_index, ett_ansi_map_UnsolicitedResponse_U);
11423
11424
0
  return offset;
11425
0
}
11426
11427
11428
11429
static unsigned
11430
0
dissect_ansi_map_UnsolicitedResponse(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11431
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11432
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_UnsolicitedResponse_U);
11433
11434
0
  return offset;
11435
0
}
11436
11437
11438
static const ber_sequence_t UnsolicitedResponseRes_U_set[] = {
11439
  { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
11440
  { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
11441
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
11442
  { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
11443
  { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
11444
  { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
11445
  { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
11446
  { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
11447
  { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11448
  { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
11449
  { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
11450
  { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
11451
  { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
11452
  { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
11453
  { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
11454
  { &hf_ansi_map_extendedSystemMyTypeCode, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedSystemMyTypeCode },
11455
  { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
11456
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11457
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
11458
  { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
11459
  { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
11460
  { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
11461
  { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
11462
  { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
11463
  { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
11464
  { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
11465
  { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
11466
  { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
11467
  { &hf_ansi_map_terminationTreatment, BER_CLASS_CON, 121, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTreatment },
11468
  { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
11469
  { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
11470
  { NULL, 0, 0, 0, NULL }
11471
};
11472
11473
static unsigned
11474
0
dissect_ansi_map_UnsolicitedResponseRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11475
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11476
0
                              UnsolicitedResponseRes_U_set, hf_index, ett_ansi_map_UnsolicitedResponseRes_U);
11477
11478
0
  return offset;
11479
0
}
11480
11481
11482
11483
static unsigned
11484
0
dissect_ansi_map_UnsolicitedResponseRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11485
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11486
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_UnsolicitedResponseRes_U);
11487
11488
0
  return offset;
11489
0
}
11490
11491
11492
11493
static unsigned
11494
0
dissect_ansi_map_RequiredParametersMask(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11495
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11496
0
                                       NULL);
11497
11498
0
  return offset;
11499
0
}
11500
11501
11502
static const ber_sequence_t ParameterRequest_U_set[] = {
11503
  { &hf_ansi_map_requiredParametersMask, BER_CLASS_CON, 236, BER_FLAGS_IMPLTAG, dissect_ansi_map_RequiredParametersMask },
11504
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11505
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11506
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11507
  { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
11508
  { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
11509
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
11510
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
11511
  { NULL, 0, 0, 0, NULL }
11512
};
11513
11514
static unsigned
11515
0
dissect_ansi_map_ParameterRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11516
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11517
0
                              ParameterRequest_U_set, hf_index, ett_ansi_map_ParameterRequest_U);
11518
11519
0
  return offset;
11520
0
}
11521
11522
11523
11524
static unsigned
11525
0
dissect_ansi_map_ParameterRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11526
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11527
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_ParameterRequest_U);
11528
11529
0
  return offset;
11530
0
}
11531
11532
11533
static const value_string ansi_map_ReasonList_vals[] = {
11534
  {   0, "unknown" },
11535
  {   1, "unable-to-configure-ISLP" },
11536
  {   2, "iSLP-failure" },
11537
  {   3, "service-allowed-but-facilities-not-available" },
11538
  {   4, "service-not-allowed" },
11539
  {   5, "no-Response-to-TMSI-assignment" },
11540
  {   6, "required-parameters-unavailable" },
11541
  { 0, NULL }
11542
};
11543
11544
11545
static unsigned
11546
0
dissect_ansi_map_ReasonList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11547
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11548
0
                                  NULL);
11549
11550
0
  return offset;
11551
0
}
11552
11553
11554
static const ber_sequence_t ParameterRequestRes_U_set[] = {
11555
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11556
  { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
11557
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
11558
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
11559
  { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
11560
  { &hf_ansi_map_reasonList , BER_CLASS_CON, 218, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReasonList },
11561
  { NULL, 0, 0, 0, NULL }
11562
};
11563
11564
static unsigned
11565
0
dissect_ansi_map_ParameterRequestRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11566
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11567
0
                              ParameterRequestRes_U_set, hf_index, ett_ansi_map_ParameterRequestRes_U);
11568
11569
0
  return offset;
11570
0
}
11571
11572
11573
11574
static unsigned
11575
0
dissect_ansi_map_ParameterRequestRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11576
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11577
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_ParameterRequestRes_U);
11578
11579
0
  return offset;
11580
0
}
11581
11582
11583
11584
static unsigned
11585
0
dissect_ansi_map_NetworkTMSIExpirationTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11586
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11587
0
                                       NULL);
11588
11589
0
  return offset;
11590
0
}
11591
11592
11593
11594
static unsigned
11595
0
dissect_ansi_map_NewNetworkTMSI(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11596
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
11597
11598
0
  return offset;
11599
0
}
11600
11601
11602
static const ber_sequence_t TMSIDirective_U_set[] = {
11603
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11604
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11605
  { &hf_ansi_map_networkTMSIExpirationTime, BER_CLASS_CON, 234, BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSIExpirationTime },
11606
  { &hf_ansi_map_newNetworkTMSI, BER_CLASS_CON, 235, BER_FLAGS_IMPLTAG, dissect_ansi_map_NewNetworkTMSI },
11607
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
11608
  { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
11609
  { NULL, 0, 0, 0, NULL }
11610
};
11611
11612
static unsigned
11613
0
dissect_ansi_map_TMSIDirective_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11614
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11615
0
                              TMSIDirective_U_set, hf_index, ett_ansi_map_TMSIDirective_U);
11616
11617
0
  return offset;
11618
0
}
11619
11620
11621
11622
static unsigned
11623
0
dissect_ansi_map_TMSIDirective(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11624
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11625
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_TMSIDirective_U);
11626
11627
0
  return offset;
11628
0
}
11629
11630
11631
static const ber_sequence_t TMSIDirectiveRes_U_set[] = {
11632
  { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
11633
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11634
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11635
  { &hf_ansi_map_reasonList , BER_CLASS_CON, 218, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReasonList },
11636
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
11637
  { NULL, 0, 0, 0, NULL }
11638
};
11639
11640
static unsigned
11641
0
dissect_ansi_map_TMSIDirectiveRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11642
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11643
0
                              TMSIDirectiveRes_U_set, hf_index, ett_ansi_map_TMSIDirectiveRes_U);
11644
11645
0
  return offset;
11646
0
}
11647
11648
11649
11650
static unsigned
11651
0
dissect_ansi_map_TMSIDirectiveRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11652
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11653
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_TMSIDirectiveRes_U);
11654
11655
0
  return offset;
11656
0
}
11657
11658
11659
static const ber_sequence_t NumberPortabilityRequest_U_set[] = {
11660
  { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11661
  { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
11662
  { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
11663
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11664
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11665
  { NULL, 0, 0, 0, NULL }
11666
};
11667
11668
static unsigned
11669
0
dissect_ansi_map_NumberPortabilityRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11670
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11671
0
                              NumberPortabilityRequest_U_set, hf_index, ett_ansi_map_NumberPortabilityRequest_U);
11672
11673
0
  return offset;
11674
0
}
11675
11676
11677
11678
static unsigned
11679
0
dissect_ansi_map_NumberPortabilityRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11680
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11681
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_NumberPortabilityRequest_U);
11682
11683
0
  return offset;
11684
0
}
11685
11686
11687
static const ber_sequence_t NumberPortabilityRequestRes_U_set[] = {
11688
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
11689
  { NULL, 0, 0, 0, NULL }
11690
};
11691
11692
static unsigned
11693
0
dissect_ansi_map_NumberPortabilityRequestRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11694
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11695
0
                              NumberPortabilityRequestRes_U_set, hf_index, ett_ansi_map_NumberPortabilityRequestRes_U);
11696
11697
0
  return offset;
11698
0
}
11699
11700
11701
11702
static unsigned
11703
0
dissect_ansi_map_NumberPortabilityRequestRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11704
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11705
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_NumberPortabilityRequestRes_U);
11706
11707
0
  return offset;
11708
0
}
11709
11710
11711
11712
static unsigned
11713
0
dissect_ansi_map_ServiceID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11714
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11715
0
                                       NULL);
11716
11717
0
  return offset;
11718
0
}
11719
11720
11721
11722
static unsigned
11723
0
dissect_ansi_map_DataID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11724
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11725
0
                                       NULL);
11726
11727
0
  return offset;
11728
0
}
11729
11730
11731
static const value_string ansi_map_Change_vals[] = {
11732
  {   1, "setDataItemToDefaultValue" },
11733
  {   2, "addDataItem" },
11734
  {   3, "deleteDataItem" },
11735
  {   4, "replaceDataItemWithAssociatedDataValue" },
11736
  { 0, NULL }
11737
};
11738
11739
11740
static unsigned
11741
0
dissect_ansi_map_Change(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11742
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11743
0
                                  NULL);
11744
11745
0
  return offset;
11746
0
}
11747
11748
11749
11750
static unsigned
11751
0
dissect_ansi_map_DataValue(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11752
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11753
0
                                       NULL);
11754
11755
0
  return offset;
11756
0
}
11757
11758
11759
static const ber_sequence_t DataAccessElement_sequence[] = {
11760
  { &hf_ansi_map_dataID     , BER_CLASS_CON, 251, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataID },
11761
  { &hf_ansi_map_change     , BER_CLASS_CON, 248, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Change },
11762
  { &hf_ansi_map_dataValue  , BER_CLASS_CON, 256, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataValue },
11763
  { NULL, 0, 0, 0, NULL }
11764
};
11765
11766
static unsigned
11767
0
dissect_ansi_map_DataAccessElement(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11768
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11769
0
                                   DataAccessElement_sequence, hf_index, ett_ansi_map_DataAccessElement);
11770
11771
0
  return offset;
11772
0
}
11773
11774
11775
static const ber_sequence_t DataAccessElementList_item_sequence[] = {
11776
  { &hf_ansi_map_dataAccessElement1, BER_CLASS_CON, 249, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataAccessElement },
11777
  { &hf_ansi_map_dataAccessElement2, BER_CLASS_CON, 249, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataAccessElement },
11778
  { NULL, 0, 0, 0, NULL }
11779
};
11780
11781
static unsigned
11782
0
dissect_ansi_map_DataAccessElementList_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11783
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11784
0
                                   DataAccessElementList_item_sequence, hf_index, ett_ansi_map_DataAccessElementList_item);
11785
11786
0
  return offset;
11787
0
}
11788
11789
11790
static const ber_sequence_t DataAccessElementList_sequence_of[1] = {
11791
  { &hf_ansi_map_DataAccessElementList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ansi_map_DataAccessElementList_item },
11792
};
11793
11794
static unsigned
11795
0
dissect_ansi_map_DataAccessElementList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11796
0
  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11797
0
                                      DataAccessElementList_sequence_of, hf_index, ett_ansi_map_DataAccessElementList);
11798
11799
0
  return offset;
11800
0
}
11801
11802
11803
11804
static unsigned
11805
0
dissect_ansi_map_TimeDateOffset(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11806
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11807
0
                                       NULL);
11808
11809
0
  return offset;
11810
0
}
11811
11812
11813
11814
static unsigned
11815
0
dissect_ansi_map_TimeOfDay(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11816
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11817
0
                                                NULL);
11818
11819
0
  return offset;
11820
0
}
11821
11822
11823
static const ber_sequence_t ServiceRequest_U_set[] = {
11824
  { &hf_ansi_map_serviceID  , BER_CLASS_CON, 246, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceID },
11825
  { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
11826
  { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
11827
  { &hf_ansi_map_availabilityType, BER_CLASS_CON, 90, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AvailabilityType },
11828
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
11829
  { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
11830
  { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
11831
  { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
11832
  { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11833
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
11834
  { &hf_ansi_map_conditionallyDeniedReason, BER_CLASS_CON, 162, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConditionallyDeniedReason },
11835
  { &hf_ansi_map_dataAccessElementList, BER_CLASS_CON, 250, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataAccessElementList },
11836
  { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
11837
  { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11838
  { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
11839
  { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
11840
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11841
  { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
11842
  { &hf_ansi_map_featureIndicator, BER_CLASS_CON, 306, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureIndicator },
11843
  { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL, dissect_ansi_map_GroupInformation },
11844
  { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
11845
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
11846
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11847
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11848
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
11849
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11850
  { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
11851
  { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
11852
  { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
11853
  { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
11854
  { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
11855
  { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
11856
  { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
11857
  { &hf_ansi_map_redirectionReason, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectionReason },
11858
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
11859
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
11860
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
11861
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
11862
  { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
11863
  { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
11864
  { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
11865
  { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
11866
  { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
11867
  { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
11868
  { NULL, 0, 0, 0, NULL }
11869
};
11870
11871
static unsigned
11872
0
dissect_ansi_map_ServiceRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11873
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11874
0
                              ServiceRequest_U_set, hf_index, ett_ansi_map_ServiceRequest_U);
11875
11876
0
  return offset;
11877
0
}
11878
11879
11880
11881
static unsigned
11882
0
dissect_ansi_map_ServiceRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11883
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11884
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_ServiceRequest_U);
11885
11886
0
  return offset;
11887
0
}
11888
11889
11890
static const ber_sequence_t ServiceRequestRes_U_set[] = {
11891
  { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
11892
  { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
11893
  { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
11894
  { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
11895
  { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
11896
  { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
11897
  { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
11898
  { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11899
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
11900
  { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11901
  { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
11902
  { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
11903
  { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
11904
  { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
11905
  { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
11906
  { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
11907
  { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
11908
  { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
11909
  { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
11910
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11911
  { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
11912
  { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
11913
  { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
11914
  { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
11915
  { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
11916
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
11917
  { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
11918
  { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
11919
  { NULL, 0, 0, 0, NULL }
11920
};
11921
11922
static unsigned
11923
0
dissect_ansi_map_ServiceRequestRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11924
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11925
0
                              ServiceRequestRes_U_set, hf_index, ett_ansi_map_ServiceRequestRes_U);
11926
11927
0
  return offset;
11928
0
}
11929
11930
11931
11932
static unsigned
11933
0
dissect_ansi_map_ServiceRequestRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11934
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11935
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_ServiceRequestRes_U);
11936
11937
0
  return offset;
11938
0
}
11939
11940
11941
static const value_string ansi_map_DMH_BillingIndicator_vals[] = {
11942
  {   0, "unspecified" },
11943
  { 0, NULL }
11944
};
11945
11946
11947
static unsigned
11948
0
dissect_ansi_map_DMH_BillingIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11949
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11950
0
                                  NULL);
11951
11952
0
  return offset;
11953
0
}
11954
11955
11956
static const ber_sequence_t AnalyzedInformation_U_set[] = {
11957
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
11958
  { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11959
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11960
  { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
11961
  { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
11962
  { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
11963
  { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
11964
  { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
11965
  { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
11966
  { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
11967
  { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11968
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
11969
  { &hf_ansi_map_conferenceCallingIndicator, BER_CLASS_CON, 137, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConferenceCallingIndicator },
11970
  { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
11971
  { &hf_ansi_map_dmd_BillingIndicator, BER_CLASS_CON, 312, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingIndicator },
11972
  { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
11973
  { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
11974
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11975
  { &hf_ansi_map_featureIndicator, BER_CLASS_CON, 306, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureIndicator },
11976
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
11977
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11978
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
11979
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
11980
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11981
  { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
11982
  { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
11983
  { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
11984
  { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
11985
  { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
11986
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
11987
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
11988
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
11989
  { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
11990
  { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
11991
  { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
11992
  { NULL, 0, 0, 0, NULL }
11993
};
11994
11995
static unsigned
11996
0
dissect_ansi_map_AnalyzedInformation_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11997
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11998
0
                              AnalyzedInformation_U_set, hf_index, ett_ansi_map_AnalyzedInformation_U);
11999
12000
0
  return offset;
12001
0
}
12002
12003
12004
12005
static unsigned
12006
0
dissect_ansi_map_AnalyzedInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12007
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12008
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_AnalyzedInformation_U);
12009
12010
0
  return offset;
12011
0
}
12012
12013
12014
static const ber_sequence_t AnalyzedInformationRes_U_set[] = {
12015
  { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
12016
  { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
12017
  { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
12018
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
12019
  { &hf_ansi_map_conferenceCallingIndicator, BER_CLASS_CON, 137, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConferenceCallingIndicator },
12020
  { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
12021
  { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
12022
  { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
12023
  { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
12024
  { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
12025
  { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
12026
  { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
12027
  { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
12028
  { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12029
  { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12030
  { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
12031
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
12032
  { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
12033
  { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
12034
  { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
12035
  { NULL, 0, 0, 0, NULL }
12036
};
12037
12038
static unsigned
12039
0
dissect_ansi_map_AnalyzedInformationRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12040
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12041
0
                              AnalyzedInformationRes_U_set, hf_index, ett_ansi_map_AnalyzedInformationRes_U);
12042
12043
0
  return offset;
12044
0
}
12045
12046
12047
12048
static unsigned
12049
0
dissect_ansi_map_AnalyzedInformationRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12050
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12051
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_AnalyzedInformationRes_U);
12052
12053
0
  return offset;
12054
0
}
12055
12056
12057
static const value_string ansi_map_FailureType_vals[] = {
12058
  {   1, "callAbandoned" },
12059
  {   2, "resourceDisconnect" },
12060
  {   3, "failureAtMSC" },
12061
  {   4, "sSFTExpiration" },
12062
  { 0, NULL }
12063
};
12064
12065
12066
static unsigned
12067
0
dissect_ansi_map_FailureType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12068
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12069
0
                                  NULL);
12070
12071
0
  return offset;
12072
0
}
12073
12074
12075
12076
static unsigned
12077
0
dissect_ansi_map_FailureCause(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12078
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12079
0
                                       NULL);
12080
12081
0
  return offset;
12082
0
}
12083
12084
12085
static const ber_sequence_t ConnectionFailureReport_U_set[] = {
12086
  { &hf_ansi_map_failureType, BER_CLASS_CON, 260, BER_FLAGS_IMPLTAG, dissect_ansi_map_FailureType },
12087
  { &hf_ansi_map_failureCause, BER_CLASS_CON, 387, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FailureCause },
12088
  { NULL, 0, 0, 0, NULL }
12089
};
12090
12091
static unsigned
12092
0
dissect_ansi_map_ConnectionFailureReport_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12093
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12094
0
                              ConnectionFailureReport_U_set, hf_index, ett_ansi_map_ConnectionFailureReport_U);
12095
12096
0
  return offset;
12097
0
}
12098
12099
12100
12101
static unsigned
12102
0
dissect_ansi_map_ConnectionFailureReport(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12103
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12104
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_ConnectionFailureReport_U);
12105
12106
0
  return offset;
12107
0
}
12108
12109
12110
static const ber_sequence_t ConnectResource_U_set[] = {
12111
  { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
12112
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
12113
  { &hf_ansi_map_outingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
12114
  { NULL, 0, 0, 0, NULL }
12115
};
12116
12117
static unsigned
12118
0
dissect_ansi_map_ConnectResource_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12119
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12120
0
                              ConnectResource_U_set, hf_index, ett_ansi_map_ConnectResource_U);
12121
12122
0
  return offset;
12123
0
}
12124
12125
12126
12127
static unsigned
12128
0
dissect_ansi_map_ConnectResource(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12129
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12130
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_ConnectResource_U);
12131
12132
0
  return offset;
12133
0
}
12134
12135
12136
static const ber_sequence_t FacilitySelectedAndAvailable_U_set[] = {
12137
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
12138
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
12139
  { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
12140
  { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
12141
  { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
12142
  { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
12143
  { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
12144
  { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
12145
  { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
12146
  { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
12147
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
12148
  { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
12149
  { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
12150
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
12151
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
12152
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
12153
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
12154
  { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12155
  { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
12156
  { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
12157
  { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12158
  { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12159
  { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
12160
  { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
12161
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
12162
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
12163
  { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
12164
  { NULL, 0, 0, 0, NULL }
12165
};
12166
12167
static unsigned
12168
0
dissect_ansi_map_FacilitySelectedAndAvailable_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12169
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12170
0
                              FacilitySelectedAndAvailable_U_set, hf_index, ett_ansi_map_FacilitySelectedAndAvailable_U);
12171
12172
0
  return offset;
12173
0
}
12174
12175
12176
12177
static unsigned
12178
0
dissect_ansi_map_FacilitySelectedAndAvailable(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12179
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12180
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_FacilitySelectedAndAvailable_U);
12181
12182
0
  return offset;
12183
0
}
12184
12185
12186
static const ber_sequence_t FacilitySelectedAndAvailableRes_U_set[] = {
12187
  { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
12188
  { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
12189
  { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
12190
  { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
12191
  { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
12192
  { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
12193
  { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
12194
  { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
12195
  { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
12196
  { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
12197
  { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
12198
  { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12199
  { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
12200
  { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
12201
  { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
12202
  { NULL, 0, 0, 0, NULL }
12203
};
12204
12205
static unsigned
12206
0
dissect_ansi_map_FacilitySelectedAndAvailableRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12207
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12208
0
                              FacilitySelectedAndAvailableRes_U_set, hf_index, ett_ansi_map_FacilitySelectedAndAvailableRes_U);
12209
12210
0
  return offset;
12211
0
}
12212
12213
12214
12215
static unsigned
12216
0
dissect_ansi_map_FacilitySelectedAndAvailableRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12217
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12218
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_FacilitySelectedAndAvailableRes_U);
12219
12220
0
  return offset;
12221
0
}
12222
12223
12224
12225
static unsigned
12226
0
dissect_ansi_map_DatabaseKey(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12227
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12228
0
                                       NULL);
12229
12230
0
  return offset;
12231
0
}
12232
12233
12234
static const ber_sequence_t ServiceDataAccessElement_sequence[] = {
12235
  { &hf_ansi_map_dataAccessElementList, BER_CLASS_CON, 250, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataAccessElementList },
12236
  { &hf_ansi_map_serviceID  , BER_CLASS_CON, 246, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceID },
12237
  { NULL, 0, 0, 0, NULL }
12238
};
12239
12240
static unsigned
12241
0
dissect_ansi_map_ServiceDataAccessElement(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12242
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12243
0
                                   ServiceDataAccessElement_sequence, hf_index, ett_ansi_map_ServiceDataAccessElement);
12244
12245
0
  return offset;
12246
0
}
12247
12248
12249
static const ber_sequence_t ServiceDataAccessElementList_sequence_of[1] = {
12250
  { &hf_ansi_map_ServiceDataAccessElementList_item, BER_CLASS_CON, 270, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataAccessElement },
12251
};
12252
12253
static unsigned
12254
0
dissect_ansi_map_ServiceDataAccessElementList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12255
0
  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12256
0
                                      ServiceDataAccessElementList_sequence_of, hf_index, ett_ansi_map_ServiceDataAccessElementList);
12257
12258
0
  return offset;
12259
0
}
12260
12261
12262
static const value_string ansi_map_AllOrNone_vals[] = {
12263
  {   0, "notUsed" },
12264
  {   1, "allChangesMustSucceedOrNoneShouldBeApplied" },
12265
  {   2, "treatEachChangeIndependently" },
12266
  { 0, NULL }
12267
};
12268
12269
12270
static unsigned
12271
0
dissect_ansi_map_AllOrNone(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12272
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12273
0
                                  NULL);
12274
12275
0
  return offset;
12276
0
}
12277
12278
12279
static const ber_sequence_t ModificationRequest_sequence[] = {
12280
  { &hf_ansi_map_serviceDataAccessElementList, BER_CLASS_CON, 271, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataAccessElementList },
12281
  { &hf_ansi_map_allOrNone  , BER_CLASS_CON, 247, BER_FLAGS_IMPLTAG, dissect_ansi_map_AllOrNone },
12282
  { NULL, 0, 0, 0, NULL }
12283
};
12284
12285
static unsigned
12286
0
dissect_ansi_map_ModificationRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12287
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12288
0
                                   ModificationRequest_sequence, hf_index, ett_ansi_map_ModificationRequest);
12289
12290
0
  return offset;
12291
0
}
12292
12293
12294
static const ber_sequence_t ModificationRequestList_sequence_of[1] = {
12295
  { &hf_ansi_map_ModificationRequestList_item, BER_CLASS_CON, 262, BER_FLAGS_IMPLTAG, dissect_ansi_map_ModificationRequest },
12296
};
12297
12298
static unsigned
12299
0
dissect_ansi_map_ModificationRequestList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12300
0
  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12301
0
                                      ModificationRequestList_sequence_of, hf_index, ett_ansi_map_ModificationRequestList);
12302
12303
0
  return offset;
12304
0
}
12305
12306
12307
static const ber_sequence_t Modify_U_set[] = {
12308
  { &hf_ansi_map_databaseKey, BER_CLASS_CON, 252, BER_FLAGS_IMPLTAG, dissect_ansi_map_DatabaseKey },
12309
  { &hf_ansi_map_modificationRequestList, BER_CLASS_CON, 263, BER_FLAGS_IMPLTAG, dissect_ansi_map_ModificationRequestList },
12310
  { NULL, 0, 0, 0, NULL }
12311
};
12312
12313
static unsigned
12314
0
dissect_ansi_map_Modify_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12315
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12316
0
                              Modify_U_set, hf_index, ett_ansi_map_Modify_U);
12317
12318
0
  return offset;
12319
0
}
12320
12321
12322
12323
static unsigned
12324
0
dissect_ansi_map_Modify(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12325
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12326
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_Modify_U);
12327
12328
0
  return offset;
12329
0
}
12330
12331
12332
static const value_string ansi_map_DataResult_vals[] = {
12333
  {   0, "not-used" },
12334
  {   1, "successful" },
12335
  {   2, "unsuccessful-unspecified" },
12336
  {   3, "unsuccessful-no-default-value-available" },
12337
  {   4, "reserved" },
12338
  { 0, NULL }
12339
};
12340
12341
12342
static unsigned
12343
0
dissect_ansi_map_DataResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12344
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12345
0
                                  NULL);
12346
12347
0
  return offset;
12348
0
}
12349
12350
12351
static const ber_sequence_t DataUpdateResult_sequence[] = {
12352
  { &hf_ansi_map_dataID     , BER_CLASS_CON, 251, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataID },
12353
  { &hf_ansi_map_dataResult , BER_CLASS_CON, 253, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataResult },
12354
  { NULL, 0, 0, 0, NULL }
12355
};
12356
12357
static unsigned
12358
0
dissect_ansi_map_DataUpdateResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12359
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12360
0
                                   DataUpdateResult_sequence, hf_index, ett_ansi_map_DataUpdateResult);
12361
12362
0
  return offset;
12363
0
}
12364
12365
12366
static const ber_sequence_t DataUpdateResultList_sequence_of[1] = {
12367
  { &hf_ansi_map_DataUpdateResultList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ansi_map_DataUpdateResult },
12368
};
12369
12370
static unsigned
12371
0
dissect_ansi_map_DataUpdateResultList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12372
0
  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12373
0
                                      DataUpdateResultList_sequence_of, hf_index, ett_ansi_map_DataUpdateResultList);
12374
12375
0
  return offset;
12376
0
}
12377
12378
12379
static const ber_sequence_t ServiceDataResult_sequence[] = {
12380
  { &hf_ansi_map_dataUpdateResultList, BER_CLASS_CON, 255, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataUpdateResultList },
12381
  { &hf_ansi_map_serviceID  , BER_CLASS_CON, 246, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceID },
12382
  { NULL, 0, 0, 0, NULL }
12383
};
12384
12385
static unsigned
12386
0
dissect_ansi_map_ServiceDataResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12387
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12388
0
                                   ServiceDataResult_sequence, hf_index, ett_ansi_map_ServiceDataResult);
12389
12390
0
  return offset;
12391
0
}
12392
12393
12394
static const ber_sequence_t ServiceDataResultList_sequence_of[1] = {
12395
  { &hf_ansi_map_ServiceDataResultList_item, BER_CLASS_CON, 272, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataResult },
12396
};
12397
12398
static unsigned
12399
0
dissect_ansi_map_ServiceDataResultList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12400
0
  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12401
0
                                      ServiceDataResultList_sequence_of, hf_index, ett_ansi_map_ServiceDataResultList);
12402
12403
0
  return offset;
12404
0
}
12405
12406
12407
static const value_string ansi_map_ModificationResult_vals[] = {
12408
  { 253, "dataResult" },
12409
  { 273, "serviceDataResultList" },
12410
  { 0, NULL }
12411
};
12412
12413
static const ber_choice_t ModificationResult_choice[] = {
12414
  { 253, &hf_ansi_map_dataResult , BER_CLASS_CON, 253, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataResult },
12415
  { 273, &hf_ansi_map_serviceDataResultList, BER_CLASS_CON, 273, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataResultList },
12416
  { 0, NULL, 0, 0, 0, NULL }
12417
};
12418
12419
static unsigned
12420
0
dissect_ansi_map_ModificationResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12421
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
12422
0
                                 ModificationResult_choice, hf_index, ett_ansi_map_ModificationResult,
12423
0
                                 NULL);
12424
12425
0
  return offset;
12426
0
}
12427
12428
12429
static const ber_sequence_t ModificationResultList_sequence_of[1] = {
12430
  { &hf_ansi_map_ModificationResultList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_ModificationResult },
12431
};
12432
12433
static unsigned
12434
0
dissect_ansi_map_ModificationResultList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12435
0
  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12436
0
                                      ModificationResultList_sequence_of, hf_index, ett_ansi_map_ModificationResultList);
12437
12438
0
  return offset;
12439
0
}
12440
12441
12442
static const ber_sequence_t ModifyRes_U_set[] = {
12443
  { &hf_ansi_map_modificationResultList, BER_CLASS_CON, 264, BER_FLAGS_IMPLTAG, dissect_ansi_map_ModificationResultList },
12444
  { NULL, 0, 0, 0, NULL }
12445
};
12446
12447
static unsigned
12448
0
dissect_ansi_map_ModifyRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12449
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12450
0
                              ModifyRes_U_set, hf_index, ett_ansi_map_ModifyRes_U);
12451
12452
0
  return offset;
12453
0
}
12454
12455
12456
12457
static unsigned
12458
0
dissect_ansi_map_ModifyRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12459
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12460
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_ModifyRes_U);
12461
12462
0
  return offset;
12463
0
}
12464
12465
12466
static const ber_sequence_t Search_U_set[] = {
12467
  { &hf_ansi_map_databaseKey, BER_CLASS_CON, 252, BER_FLAGS_IMPLTAG, dissect_ansi_map_DatabaseKey },
12468
  { &hf_ansi_map_serviceDataAccessElementList, BER_CLASS_CON, 271, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataAccessElementList },
12469
  { NULL, 0, 0, 0, NULL }
12470
};
12471
12472
static unsigned
12473
0
dissect_ansi_map_Search_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12474
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12475
0
                              Search_U_set, hf_index, ett_ansi_map_Search_U);
12476
12477
0
  return offset;
12478
0
}
12479
12480
12481
12482
static unsigned
12483
0
dissect_ansi_map_Search(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12484
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12485
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_Search_U);
12486
12487
0
  return offset;
12488
0
}
12489
12490
12491
static const ber_sequence_t SearchRes_U_set[] = {
12492
  { &hf_ansi_map_serviceDataAccessElementList, BER_CLASS_CON, 271, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataAccessElementList },
12493
  { NULL, 0, 0, 0, NULL }
12494
};
12495
12496
static unsigned
12497
0
dissect_ansi_map_SearchRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12498
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12499
0
                              SearchRes_U_set, hf_index, ett_ansi_map_SearchRes_U);
12500
12501
0
  return offset;
12502
0
}
12503
12504
12505
12506
static unsigned
12507
0
dissect_ansi_map_SearchRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12508
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12509
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_SearchRes_U);
12510
12511
0
  return offset;
12512
0
}
12513
12514
12515
12516
static unsigned
12517
0
dissect_ansi_map_PrivateSpecializedResource(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12518
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12519
0
                                       NULL);
12520
12521
0
  return offset;
12522
0
}
12523
12524
12525
12526
static unsigned
12527
0
dissect_ansi_map_SpecializedResource(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12528
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12529
0
                                       NULL);
12530
12531
0
  return offset;
12532
0
}
12533
12534
12535
static const ber_sequence_t SeizeResource_U_set[] = {
12536
  { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12537
  { &hf_ansi_map_privateSpecializedResource, BER_CLASS_CON, 265, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PrivateSpecializedResource },
12538
  { &hf_ansi_map_specializedResource, BER_CLASS_CON, 274, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SpecializedResource },
12539
  { NULL, 0, 0, 0, NULL }
12540
};
12541
12542
static unsigned
12543
0
dissect_ansi_map_SeizeResource_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12544
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12545
0
                              SeizeResource_U_set, hf_index, ett_ansi_map_SeizeResource_U);
12546
12547
0
  return offset;
12548
0
}
12549
12550
12551
12552
static unsigned
12553
0
dissect_ansi_map_SeizeResource(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12554
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12555
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_SeizeResource_U);
12556
12557
0
  return offset;
12558
0
}
12559
12560
12561
static const ber_sequence_t SeizeResourceRes_U_set[] = {
12562
  { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
12563
  { NULL, 0, 0, 0, NULL }
12564
};
12565
12566
static unsigned
12567
0
dissect_ansi_map_SeizeResourceRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12568
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12569
0
                              SeizeResourceRes_U_set, hf_index, ett_ansi_map_SeizeResourceRes_U);
12570
12571
0
  return offset;
12572
0
}
12573
12574
12575
12576
static unsigned
12577
0
dissect_ansi_map_SeizeResourceRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12578
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12579
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_SeizeResourceRes_U);
12580
12581
0
  return offset;
12582
0
}
12583
12584
12585
12586
static unsigned
12587
0
dissect_ansi_map_ScriptName(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12588
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12589
0
                                       NULL);
12590
12591
0
  return offset;
12592
0
}
12593
12594
12595
12596
static unsigned
12597
0
dissect_ansi_map_ScriptArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12598
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12599
0
                                       NULL);
12600
12601
0
  return offset;
12602
0
}
12603
12604
12605
static const ber_sequence_t ExecuteScript_sequence[] = {
12606
  { &hf_ansi_map_scriptName , BER_CLASS_CON, 268, BER_FLAGS_IMPLTAG, dissect_ansi_map_ScriptName },
12607
  { &hf_ansi_map_scriptArgument, BER_CLASS_CON, 267, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ScriptArgument },
12608
  { NULL, 0, 0, 0, NULL }
12609
};
12610
12611
static unsigned
12612
0
dissect_ansi_map_ExecuteScript(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12613
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12614
0
                                   ExecuteScript_sequence, hf_index, ett_ansi_map_ExecuteScript);
12615
12616
0
  return offset;
12617
0
}
12618
12619
12620
static const ber_sequence_t SRFDirective_U_set[] = {
12621
  { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
12622
  { &hf_ansi_map_digitCollectionControl, BER_CLASS_CON, 139, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DigitCollectionControl },
12623
  { &hf_ansi_map_executeScript, BER_CLASS_CON, 386, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExecuteScript },
12624
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
12625
  { NULL, 0, 0, 0, NULL }
12626
};
12627
12628
static unsigned
12629
0
dissect_ansi_map_SRFDirective_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12630
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12631
0
                              SRFDirective_U_set, hf_index, ett_ansi_map_SRFDirective_U);
12632
12633
0
  return offset;
12634
0
}
12635
12636
12637
12638
static unsigned
12639
0
dissect_ansi_map_SRFDirective(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12640
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12641
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_SRFDirective_U);
12642
12643
0
  return offset;
12644
0
}
12645
12646
12647
12648
static unsigned
12649
0
dissect_ansi_map_ScriptResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12650
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12651
0
                                       NULL);
12652
12653
0
  return offset;
12654
0
}
12655
12656
12657
static const ber_sequence_t SRFDirectiveRes_U_set[] = {
12658
  { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
12659
  { &hf_ansi_map_scriptResult, BER_CLASS_CON, 269, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ScriptResult },
12660
  { NULL, 0, 0, 0, NULL }
12661
};
12662
12663
static unsigned
12664
0
dissect_ansi_map_SRFDirectiveRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12665
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12666
0
                              SRFDirectiveRes_U_set, hf_index, ett_ansi_map_SRFDirectiveRes_U);
12667
12668
0
  return offset;
12669
0
}
12670
12671
12672
12673
static unsigned
12674
0
dissect_ansi_map_SRFDirectiveRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12675
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12676
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_SRFDirectiveRes_U);
12677
12678
0
  return offset;
12679
0
}
12680
12681
12682
static const ber_sequence_t TBusy_U_set[] = {
12683
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
12684
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
12685
  { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
12686
  { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
12687
  { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
12688
  { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
12689
  { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
12690
  { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
12691
  { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
12692
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
12693
  { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
12694
  { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
12695
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
12696
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
12697
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
12698
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
12699
  { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12700
  { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
12701
  { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
12702
  { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12703
  { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12704
  { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
12705
  { &hf_ansi_map_redirectionReason, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectionReason },
12706
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
12707
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
12708
  { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
12709
  { NULL, 0, 0, 0, NULL }
12710
};
12711
12712
static unsigned
12713
0
dissect_ansi_map_TBusy_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12714
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12715
0
                              TBusy_U_set, hf_index, ett_ansi_map_TBusy_U);
12716
12717
0
  return offset;
12718
0
}
12719
12720
12721
12722
static unsigned
12723
0
dissect_ansi_map_TBusy(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12724
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12725
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_TBusy_U);
12726
12727
0
  return offset;
12728
0
}
12729
12730
12731
static const ber_sequence_t TBusyRes_U_set[] = {
12732
  { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
12733
  { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
12734
  { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
12735
  { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
12736
  { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
12737
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
12738
  { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
12739
  { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
12740
  { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
12741
  { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
12742
  { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
12743
  { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
12744
  { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
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_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
12749
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
12750
  { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
12751
  { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
12752
  { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
12753
  { NULL, 0, 0, 0, NULL }
12754
};
12755
12756
static unsigned
12757
0
dissect_ansi_map_TBusyRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12758
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12759
0
                              TBusyRes_U_set, hf_index, ett_ansi_map_TBusyRes_U);
12760
12761
0
  return offset;
12762
0
}
12763
12764
12765
12766
static unsigned
12767
0
dissect_ansi_map_TBusyRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12768
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12769
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_TBusyRes_U);
12770
12771
0
  return offset;
12772
0
}
12773
12774
12775
static const ber_sequence_t TNoAnswer_U_set[] = {
12776
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
12777
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
12778
  { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
12779
  { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
12780
  { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
12781
  { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
12782
  { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
12783
  { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
12784
  { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
12785
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
12786
  { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
12787
  { &hf_ansi_map_legInformation, BER_CLASS_CON, 144, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
12788
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
12789
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
12790
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
12791
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
12792
  { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12793
  { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
12794
  { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
12795
  { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12796
  { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12797
  { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
12798
  { &hf_ansi_map_redirectionReason, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectionReason },
12799
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
12800
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
12801
  { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
12802
  { NULL, 0, 0, 0, NULL }
12803
};
12804
12805
static unsigned
12806
0
dissect_ansi_map_TNoAnswer_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12807
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12808
0
                              TNoAnswer_U_set, hf_index, ett_ansi_map_TNoAnswer_U);
12809
12810
0
  return offset;
12811
0
}
12812
12813
12814
12815
static unsigned
12816
0
dissect_ansi_map_TNoAnswer(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12817
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12818
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_TNoAnswer_U);
12819
12820
0
  return offset;
12821
0
}
12822
12823
12824
static const ber_sequence_t TNoAnswerRes_U_set[] = {
12825
  { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
12826
  { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
12827
  { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
12828
  { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
12829
  { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
12830
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
12831
  { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
12832
  { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
12833
  { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
12834
  { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
12835
  { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
12836
  { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
12837
  { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
12838
  { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12839
  { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
12840
  { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12841
  { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12842
  { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
12843
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
12844
  { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
12845
  { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
12846
  { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
12847
  { NULL, 0, 0, 0, NULL }
12848
};
12849
12850
static unsigned
12851
0
dissect_ansi_map_TNoAnswerRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12852
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12853
0
                              TNoAnswerRes_U_set, hf_index, ett_ansi_map_TNoAnswerRes_U);
12854
12855
0
  return offset;
12856
0
}
12857
12858
12859
12860
static unsigned
12861
0
dissect_ansi_map_TNoAnswerRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12862
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12863
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_TNoAnswerRes_U);
12864
12865
0
  return offset;
12866
0
}
12867
12868
12869
static const ber_sequence_t ChangeFacilities_U_set[] = {
12870
  { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
12871
  { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
12872
  { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
12873
  { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
12874
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
12875
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
12876
  { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
12877
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
12878
  { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
12879
  { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
12880
  { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
12881
  { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
12882
  { NULL, 0, 0, 0, NULL }
12883
};
12884
12885
static unsigned
12886
0
dissect_ansi_map_ChangeFacilities_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12887
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12888
0
                              ChangeFacilities_U_set, hf_index, ett_ansi_map_ChangeFacilities_U);
12889
12890
0
  return offset;
12891
0
}
12892
12893
12894
12895
static unsigned
12896
0
dissect_ansi_map_ChangeFacilities(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12897
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12898
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_ChangeFacilities_U);
12899
12900
0
  return offset;
12901
0
}
12902
12903
12904
static const ber_sequence_t ChangeFacilitiesRes_U_set[] = {
12905
  { &hf_ansi_map_reasonList , BER_CLASS_CON, 218, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReasonList },
12906
  { NULL, 0, 0, 0, NULL }
12907
};
12908
12909
static unsigned
12910
0
dissect_ansi_map_ChangeFacilitiesRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12911
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12912
0
                              ChangeFacilitiesRes_U_set, hf_index, ett_ansi_map_ChangeFacilitiesRes_U);
12913
12914
0
  return offset;
12915
0
}
12916
12917
12918
12919
static unsigned
12920
0
dissect_ansi_map_ChangeFacilitiesRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12921
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12922
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_ChangeFacilitiesRes_U);
12923
12924
0
  return offset;
12925
0
}
12926
12927
12928
12929
static unsigned
12930
0
dissect_ansi_map_TDMAVoiceMode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12931
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12932
0
                                       NULL);
12933
12934
0
  return offset;
12935
0
}
12936
12937
12938
static const ber_sequence_t ChangeService_U_set[] = {
12939
  { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
12940
  { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
12941
  { &hf_ansi_map_changeServiceAttributes, BER_CLASS_CON, 214, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChangeServiceAttributes },
12942
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
12943
  { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
12944
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
12945
  { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
12946
  { &hf_ansi_map_tdmaDataMode, BER_CLASS_CON, 222, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataMode },
12947
  { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
12948
  { &hf_ansi_map_tdmaVoiceMode, BER_CLASS_CON, 223, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceMode },
12949
  { NULL, 0, 0, 0, NULL }
12950
};
12951
12952
static unsigned
12953
0
dissect_ansi_map_ChangeService_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12954
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12955
0
                              ChangeService_U_set, hf_index, ett_ansi_map_ChangeService_U);
12956
12957
0
  return offset;
12958
0
}
12959
12960
12961
12962
static unsigned
12963
0
dissect_ansi_map_ChangeService(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12964
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12965
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_ChangeService_U);
12966
12967
0
  return offset;
12968
0
}
12969
12970
12971
static const ber_sequence_t ChangeServiceRes_U_set[] = {
12972
  { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
12973
  { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
12974
  { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
12975
  { &hf_ansi_map_changeServiceAttributes, BER_CLASS_CON, 214, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChangeServiceAttributes },
12976
  { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
12977
  { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
12978
  { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
12979
  { &hf_ansi_map_reasonList , BER_CLASS_CON, 218, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReasonList },
12980
  { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
12981
  { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
12982
  { NULL, 0, 0, 0, NULL }
12983
};
12984
12985
static unsigned
12986
0
dissect_ansi_map_ChangeServiceRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12987
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12988
0
                              ChangeServiceRes_U_set, hf_index, ett_ansi_map_ChangeServiceRes_U);
12989
12990
0
  return offset;
12991
0
}
12992
12993
12994
12995
static unsigned
12996
0
dissect_ansi_map_ChangeServiceRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12997
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12998
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_ChangeServiceRes_U);
12999
13000
0
  return offset;
13001
0
}
13002
13003
13004
static const ber_sequence_t MessageDirective_U_set[] = {
13005
  { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
13006
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13007
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13008
  { NULL, 0, 0, 0, NULL }
13009
};
13010
13011
static unsigned
13012
0
dissect_ansi_map_MessageDirective_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13013
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13014
0
                              MessageDirective_U_set, hf_index, ett_ansi_map_MessageDirective_U);
13015
13016
0
  return offset;
13017
0
}
13018
13019
13020
13021
static unsigned
13022
0
dissect_ansi_map_MessageDirective(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13023
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13024
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_MessageDirective_U);
13025
13026
0
  return offset;
13027
0
}
13028
13029
13030
static const ber_sequence_t BulkDisconnection_U_set[] = {
13031
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13032
  { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13033
  { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13034
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13035
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
13036
  { NULL, 0, 0, 0, NULL }
13037
};
13038
13039
static unsigned
13040
0
dissect_ansi_map_BulkDisconnection_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13041
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13042
0
                              BulkDisconnection_U_set, hf_index, ett_ansi_map_BulkDisconnection_U);
13043
13044
0
  return offset;
13045
0
}
13046
13047
13048
13049
static unsigned
13050
0
dissect_ansi_map_BulkDisconnection(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13051
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13052
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_BulkDisconnection_U);
13053
13054
0
  return offset;
13055
0
}
13056
13057
13058
static const ber_sequence_t CallControlDirective_U_set[] = {
13059
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13060
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13061
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13062
  { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
13063
  { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
13064
  { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
13065
  { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
13066
  { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
13067
  { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
13068
  { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
13069
  { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
13070
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13071
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13072
  { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
13073
  { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
13074
  { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
13075
  { NULL, 0, 0, 0, NULL }
13076
};
13077
13078
static unsigned
13079
0
dissect_ansi_map_CallControlDirective_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13080
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13081
0
                              CallControlDirective_U_set, hf_index, ett_ansi_map_CallControlDirective_U);
13082
13083
0
  return offset;
13084
0
}
13085
13086
13087
13088
static unsigned
13089
0
dissect_ansi_map_CallControlDirective(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13090
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13091
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_CallControlDirective_U);
13092
13093
0
  return offset;
13094
0
}
13095
13096
13097
static const value_string ansi_map_CallStatus_vals[] = {
13098
  {   0, "not-used" },
13099
  {   1, "call-Setup-in-Progress" },
13100
  {   2, "called-Party" },
13101
  {   3, "locally-Allowed-Call-No-Action" },
13102
  { 0, NULL }
13103
};
13104
13105
13106
static unsigned
13107
0
dissect_ansi_map_CallStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13108
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13109
0
                                  NULL);
13110
13111
0
  return offset;
13112
0
}
13113
13114
13115
static const ber_sequence_t CallControlDirectiveRes_U_set[] = {
13116
  { &hf_ansi_map_callStatus , BER_CLASS_CON, 310, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallStatus },
13117
  { NULL, 0, 0, 0, NULL }
13118
};
13119
13120
static unsigned
13121
0
dissect_ansi_map_CallControlDirectiveRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13122
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13123
0
                              CallControlDirectiveRes_U_set, hf_index, ett_ansi_map_CallControlDirectiveRes_U);
13124
13125
0
  return offset;
13126
0
}
13127
13128
13129
13130
static unsigned
13131
0
dissect_ansi_map_CallControlDirectiveRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13132
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13133
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_CallControlDirectiveRes_U);
13134
13135
0
  return offset;
13136
0
}
13137
13138
13139
static const ber_sequence_t OAnswer_U_set[] = {
13140
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13141
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13142
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13143
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13144
  { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13145
  { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13146
  { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13147
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13148
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13149
  { &hf_ansi_map_featureIndicator, BER_CLASS_CON, 306, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureIndicator },
13150
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13151
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13152
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
13153
  { NULL, 0, 0, 0, NULL }
13154
};
13155
13156
static unsigned
13157
0
dissect_ansi_map_OAnswer_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13158
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13159
0
                              OAnswer_U_set, hf_index, ett_ansi_map_OAnswer_U);
13160
13161
0
  return offset;
13162
0
}
13163
13164
13165
13166
static unsigned
13167
0
dissect_ansi_map_OAnswer(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13168
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13169
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_OAnswer_U);
13170
13171
0
  return offset;
13172
0
}
13173
13174
13175
static const value_string ansi_map_ReleaseCause_vals[] = {
13176
  {   0, "unspecified" },
13177
  {   1, "calling-Party" },
13178
  {   2, "called-Party" },
13179
  {   3, "commanded-Disconnect" },
13180
  { 0, NULL }
13181
};
13182
13183
13184
static unsigned
13185
0
dissect_ansi_map_ReleaseCause(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13186
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13187
0
                                  NULL);
13188
13189
0
  return offset;
13190
0
}
13191
13192
13193
static const ber_sequence_t ODisconnect_U_set[] = {
13194
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13195
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13196
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13197
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13198
  { &hf_ansi_map_releaseCause, BER_CLASS_CON, 308, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReleaseCause },
13199
  { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13200
  { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13201
  { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
13202
  { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
13203
  { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13204
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13205
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13206
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13207
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13208
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
13209
  { NULL, 0, 0, 0, NULL }
13210
};
13211
13212
static unsigned
13213
0
dissect_ansi_map_ODisconnect_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13214
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13215
0
                              ODisconnect_U_set, hf_index, ett_ansi_map_ODisconnect_U);
13216
13217
0
  return offset;
13218
0
}
13219
13220
13221
13222
static unsigned
13223
0
dissect_ansi_map_ODisconnect(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13224
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13225
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_ODisconnect_U);
13226
13227
0
  return offset;
13228
0
}
13229
13230
13231
static const ber_sequence_t ODisconnectRes_U_set[] = {
13232
  { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
13233
  { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
13234
  { NULL, 0, 0, 0, NULL }
13235
};
13236
13237
static unsigned
13238
0
dissect_ansi_map_ODisconnectRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13239
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13240
0
                              ODisconnectRes_U_set, hf_index, ett_ansi_map_ODisconnectRes_U);
13241
13242
0
  return offset;
13243
0
}
13244
13245
13246
13247
static unsigned
13248
0
dissect_ansi_map_ODisconnectRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13249
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13250
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_ODisconnectRes_U);
13251
13252
0
  return offset;
13253
0
}
13254
13255
13256
static const ber_sequence_t CallRecoveryID_set[] = {
13257
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13258
  { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13259
  { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13260
  { NULL, 0, 0, 0, NULL }
13261
};
13262
13263
static unsigned
13264
0
dissect_ansi_map_CallRecoveryID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13265
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13266
0
                              CallRecoveryID_set, hf_index, ett_ansi_map_CallRecoveryID);
13267
13268
0
  return offset;
13269
0
}
13270
13271
13272
static const ber_sequence_t CallRecoveryIDList_set_of[1] = {
13273
  { &hf_ansi_map_CallRecoveryIDList_item, BER_CLASS_CON, 303, BER_FLAGS_IMPLTAG, dissect_ansi_map_CallRecoveryID },
13274
};
13275
13276
static unsigned
13277
0
dissect_ansi_map_CallRecoveryIDList(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13278
0
  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
13279
0
                                 CallRecoveryIDList_set_of, hf_index, ett_ansi_map_CallRecoveryIDList);
13280
13281
0
  return offset;
13282
0
}
13283
13284
13285
static const ber_sequence_t CallRecoveryReport_U_set[] = {
13286
  { &hf_ansi_map_callRecoveryIDList, BER_CLASS_CON, 304, BER_FLAGS_IMPLTAG, dissect_ansi_map_CallRecoveryIDList },
13287
  { NULL, 0, 0, 0, NULL }
13288
};
13289
13290
static unsigned
13291
0
dissect_ansi_map_CallRecoveryReport_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13292
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13293
0
                              CallRecoveryReport_U_set, hf_index, ett_ansi_map_CallRecoveryReport_U);
13294
13295
0
  return offset;
13296
0
}
13297
13298
13299
13300
static unsigned
13301
0
dissect_ansi_map_CallRecoveryReport(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13302
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13303
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_CallRecoveryReport_U);
13304
13305
0
  return offset;
13306
0
}
13307
13308
13309
static const ber_sequence_t TAnswer_U_set[] = {
13310
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13311
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13312
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13313
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13314
  { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13315
  { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13316
  { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
13317
  { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13318
  { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
13319
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13320
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13321
  { &hf_ansi_map_featureIndicator, BER_CLASS_CON, 306, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureIndicator },
13322
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13323
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13324
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
13325
  { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
13326
  { NULL, 0, 0, 0, NULL }
13327
};
13328
13329
static unsigned
13330
0
dissect_ansi_map_TAnswer_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13331
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13332
0
                              TAnswer_U_set, hf_index, ett_ansi_map_TAnswer_U);
13333
13334
0
  return offset;
13335
0
}
13336
13337
13338
13339
static unsigned
13340
0
dissect_ansi_map_TAnswer(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13341
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13342
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_TAnswer_U);
13343
13344
0
  return offset;
13345
0
}
13346
13347
13348
static const ber_sequence_t TDisconnect_U_set[] = {
13349
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13350
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13351
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13352
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13353
  { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13354
  { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13355
  { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13356
  { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
13357
  { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
13358
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13359
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13360
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13361
  { &hf_ansi_map_releaseCause, BER_CLASS_CON, 308, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReleaseCause },
13362
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13363
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
13364
  { NULL, 0, 0, 0, NULL }
13365
};
13366
13367
static unsigned
13368
0
dissect_ansi_map_TDisconnect_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13369
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13370
0
                              TDisconnect_U_set, hf_index, ett_ansi_map_TDisconnect_U);
13371
13372
0
  return offset;
13373
0
}
13374
13375
13376
13377
static unsigned
13378
0
dissect_ansi_map_TDisconnect(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13379
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13380
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_TDisconnect_U);
13381
13382
0
  return offset;
13383
0
}
13384
13385
13386
static const ber_sequence_t TDisconnectRes_U_set[] = {
13387
  { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
13388
  { NULL, 0, 0, 0, NULL }
13389
};
13390
13391
static unsigned
13392
0
dissect_ansi_map_TDisconnectRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13393
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13394
0
                              TDisconnectRes_U_set, hf_index, ett_ansi_map_TDisconnectRes_U);
13395
13396
0
  return offset;
13397
0
}
13398
13399
13400
13401
static unsigned
13402
0
dissect_ansi_map_TDisconnectRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13403
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13404
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_TDisconnectRes_U);
13405
13406
0
  return offset;
13407
0
}
13408
13409
13410
static const ber_sequence_t UnreliableCallData_U_set[] = {
13411
  { &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
13412
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13413
  { NULL, 0, 0, 0, NULL }
13414
};
13415
13416
static unsigned
13417
0
dissect_ansi_map_UnreliableCallData_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13418
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13419
0
                              UnreliableCallData_U_set, hf_index, ett_ansi_map_UnreliableCallData_U);
13420
13421
0
  return offset;
13422
0
}
13423
13424
13425
13426
static unsigned
13427
0
dissect_ansi_map_UnreliableCallData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13428
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13429
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_UnreliableCallData_U);
13430
13431
0
  return offset;
13432
0
}
13433
13434
13435
static const ber_sequence_t OCalledPartyBusy_U_set[] = {
13436
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13437
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13438
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13439
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13440
  { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
13441
  { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13442
  { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
13443
  { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
13444
  { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
13445
  { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
13446
  { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
13447
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
13448
  { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
13449
  { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
13450
  { &hf_ansi_map_failureCause, BER_CLASS_CON, 387, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FailureCause },
13451
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13452
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13453
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13454
  { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
13455
  { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
13456
  { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
13457
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
13458
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13459
  { NULL, 0, 0, 0, NULL }
13460
};
13461
13462
static unsigned
13463
0
dissect_ansi_map_OCalledPartyBusy_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13464
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13465
0
                              OCalledPartyBusy_U_set, hf_index, ett_ansi_map_OCalledPartyBusy_U);
13466
13467
0
  return offset;
13468
0
}
13469
13470
13471
13472
static unsigned
13473
0
dissect_ansi_map_OCalledPartyBusy(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13474
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13475
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_OCalledPartyBusy_U);
13476
13477
0
  return offset;
13478
0
}
13479
13480
13481
static const ber_sequence_t OCalledPartyBusyRes_U_set[] = {
13482
  { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
13483
  { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
13484
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
13485
  { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
13486
  { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
13487
  { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
13488
  { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
13489
  { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
13490
  { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
13491
  { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
13492
  { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
13493
  { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
13494
  { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
13495
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
13496
  { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
13497
  { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
13498
  { NULL, 0, 0, 0, NULL }
13499
};
13500
13501
static unsigned
13502
0
dissect_ansi_map_OCalledPartyBusyRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13503
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13504
0
                              OCalledPartyBusyRes_U_set, hf_index, ett_ansi_map_OCalledPartyBusyRes_U);
13505
13506
0
  return offset;
13507
0
}
13508
13509
13510
13511
static unsigned
13512
0
dissect_ansi_map_OCalledPartyBusyRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13513
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13514
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_OCalledPartyBusyRes_U);
13515
13516
0
  return offset;
13517
0
}
13518
13519
13520
static const ber_sequence_t ONoAnswer_U_set[] = {
13521
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13522
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13523
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13524
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13525
  { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
13526
  { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13527
  { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
13528
  { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
13529
  { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
13530
  { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
13531
  { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
13532
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
13533
  { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
13534
  { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
13535
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13536
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13537
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13538
  { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
13539
  { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
13540
  { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
13541
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
13542
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13543
  { NULL, 0, 0, 0, NULL }
13544
};
13545
13546
static unsigned
13547
0
dissect_ansi_map_ONoAnswer_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13548
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13549
0
                              ONoAnswer_U_set, hf_index, ett_ansi_map_ONoAnswer_U);
13550
13551
0
  return offset;
13552
0
}
13553
13554
13555
13556
static unsigned
13557
0
dissect_ansi_map_ONoAnswer(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13558
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13559
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_ONoAnswer_U);
13560
13561
0
  return offset;
13562
0
}
13563
13564
13565
static const ber_sequence_t ONoAnswerRes_U_set[] = {
13566
  { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
13567
  { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
13568
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
13569
  { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
13570
  { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
13571
  { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
13572
  { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
13573
  { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
13574
  { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
13575
  { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
13576
  { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
13577
  { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
13578
  { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
13579
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
13580
  { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
13581
  { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
13582
  { NULL, 0, 0, 0, NULL }
13583
};
13584
13585
static unsigned
13586
0
dissect_ansi_map_ONoAnswerRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13587
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13588
0
                              ONoAnswerRes_U_set, hf_index, ett_ansi_map_ONoAnswerRes_U);
13589
13590
0
  return offset;
13591
0
}
13592
13593
13594
13595
static unsigned
13596
0
dissect_ansi_map_ONoAnswerRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13597
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13598
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_ONoAnswerRes_U);
13599
13600
0
  return offset;
13601
0
}
13602
13603
13604
13605
static unsigned
13606
0
dissect_ansi_map_PositionInformationCode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13607
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13608
0
                                       NULL);
13609
13610
0
  return offset;
13611
0
}
13612
13613
13614
static const ber_sequence_t PositionRequest_U_set[] = {
13615
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13616
  { &hf_ansi_map_positionInformationCode, BER_CLASS_CON, 315, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionInformationCode },
13617
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13618
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13619
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13620
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
13621
  { NULL, 0, 0, 0, NULL }
13622
};
13623
13624
static unsigned
13625
0
dissect_ansi_map_PositionRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13626
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13627
0
                              PositionRequest_U_set, hf_index, ett_ansi_map_PositionRequest_U);
13628
13629
0
  return offset;
13630
0
}
13631
13632
13633
13634
static unsigned
13635
0
dissect_ansi_map_PositionRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13636
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13637
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_PositionRequest_U);
13638
13639
0
  return offset;
13640
0
}
13641
13642
13643
13644
static unsigned
13645
0
dissect_ansi_map_MSStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13646
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13647
0
                                       NULL);
13648
13649
0
  return offset;
13650
0
}
13651
13652
13653
static const ber_sequence_t PositionRequestRes_U_set[] = {
13654
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13655
  { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
13656
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13657
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13658
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13659
  { &hf_ansi_map_mSStatus   , BER_CLASS_CON, 313, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSStatus },
13660
  { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
13661
  { &hf_ansi_map_pSID_RSIDInformation, BER_CLASS_CON, 202, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDInformation },
13662
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13663
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13664
  { NULL, 0, 0, 0, NULL }
13665
};
13666
13667
static unsigned
13668
0
dissect_ansi_map_PositionRequestRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13669
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13670
0
                              PositionRequestRes_U_set, hf_index, ett_ansi_map_PositionRequestRes_U);
13671
13672
0
  return offset;
13673
0
}
13674
13675
13676
13677
static unsigned
13678
0
dissect_ansi_map_PositionRequestRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13679
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13680
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_PositionRequestRes_U);
13681
13682
0
  return offset;
13683
0
}
13684
13685
13686
static const ber_sequence_t PositionRequestForward_U_set[] = {
13687
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
13688
  { &hf_ansi_map_positionInformationCode, BER_CLASS_CON, 315, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionInformationCode },
13689
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13690
  { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
13691
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
13692
  { NULL, 0, 0, 0, NULL }
13693
};
13694
13695
static unsigned
13696
0
dissect_ansi_map_PositionRequestForward_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13697
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13698
0
                              PositionRequestForward_U_set, hf_index, ett_ansi_map_PositionRequestForward_U);
13699
13700
0
  return offset;
13701
0
}
13702
13703
13704
13705
static unsigned
13706
0
dissect_ansi_map_PositionRequestForward(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13707
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13708
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_PositionRequestForward_U);
13709
13710
0
  return offset;
13711
0
}
13712
13713
13714
static const ber_sequence_t PositionRequestForwardRes_U_set[] = {
13715
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13716
  { &hf_ansi_map_mSStatus   , BER_CLASS_CON, 313, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSStatus },
13717
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13718
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13719
  { NULL, 0, 0, 0, NULL }
13720
};
13721
13722
static unsigned
13723
0
dissect_ansi_map_PositionRequestForwardRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13724
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13725
0
                              PositionRequestForwardRes_U_set, hf_index, ett_ansi_map_PositionRequestForwardRes_U);
13726
13727
0
  return offset;
13728
0
}
13729
13730
13731
13732
static unsigned
13733
0
dissect_ansi_map_PositionRequestForwardRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13734
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13735
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_PositionRequestForwardRes_U);
13736
13737
0
  return offset;
13738
0
}
13739
13740
13741
static const ber_sequence_t CallTerminationReport_U_set[] = {
13742
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13743
  { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
13744
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
13745
  { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
13746
  { NULL, 0, 0, 0, NULL }
13747
};
13748
13749
static unsigned
13750
0
dissect_ansi_map_CallTerminationReport_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13751
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13752
0
                              CallTerminationReport_U_set, hf_index, ett_ansi_map_CallTerminationReport_U);
13753
13754
0
  return offset;
13755
0
}
13756
13757
13758
13759
static unsigned
13760
0
dissect_ansi_map_CallTerminationReport(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13761
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13762
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_CallTerminationReport_U);
13763
13764
0
  return offset;
13765
0
}
13766
13767
13768
13769
static unsigned
13770
0
dissect_ansi_map_PositionRequestType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13771
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13772
0
                                       NULL);
13773
13774
0
  return offset;
13775
0
}
13776
13777
13778
13779
static unsigned
13780
0
dissect_ansi_map_LCSBillingID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13781
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13782
0
                                       NULL);
13783
13784
0
  return offset;
13785
0
}
13786
13787
13788
13789
static unsigned
13790
0
dissect_ansi_map_LCS_Client_ID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13791
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
13792
13793
0
  return offset;
13794
0
}
13795
13796
13797
13798
static unsigned
13799
0
dissect_ansi_map_DTXIndication(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13800
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13801
0
                                       NULL);
13802
13803
0
  return offset;
13804
0
}
13805
13806
13807
13808
static unsigned
13809
0
dissect_ansi_map_TDMA_MAHO_CELLID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13810
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13811
0
                                       NULL);
13812
13813
0
  return offset;
13814
0
}
13815
13816
13817
13818
static unsigned
13819
0
dissect_ansi_map_TDMA_MAHO_CHANNEL(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13820
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13821
0
                                       NULL);
13822
13823
0
  return offset;
13824
0
}
13825
13826
13827
13828
static unsigned
13829
0
dissect_ansi_map_TDMA_TimeAlignment(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13830
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13831
0
                                       NULL);
13832
13833
0
  return offset;
13834
0
}
13835
13836
13837
13838
static unsigned
13839
0
dissect_ansi_map_PQOS_HorizontalPosition(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13840
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13841
0
                                       NULL);
13842
13843
0
  return offset;
13844
0
}
13845
13846
13847
13848
static unsigned
13849
0
dissect_ansi_map_PQOS_HorizontalVelocity(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13850
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13851
0
                                       NULL);
13852
13853
0
  return offset;
13854
0
}
13855
13856
13857
13858
static unsigned
13859
0
dissect_ansi_map_PQOS_MaximumPositionAge(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13860
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13861
0
                                       NULL);
13862
13863
0
  return offset;
13864
0
}
13865
13866
13867
13868
static unsigned
13869
0
dissect_ansi_map_PQOS_PositionPriority(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13870
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13871
0
                                       NULL);
13872
13873
0
  return offset;
13874
0
}
13875
13876
13877
static const value_string ansi_map_PQOS_ResponseTime_vals[] = {
13878
  {   0, "not-used" },
13879
  {   1, "no-Delay" },
13880
  {   2, "low-Delay" },
13881
  {   3, "delay-Tolerant" },
13882
  { 0, NULL }
13883
};
13884
13885
13886
static unsigned
13887
0
dissect_ansi_map_PQOS_ResponseTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13888
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13889
0
                                  NULL);
13890
13891
0
  return offset;
13892
0
}
13893
13894
13895
13896
static unsigned
13897
0
dissect_ansi_map_PQOS_VerticalPosition(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13898
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13899
0
                                       NULL);
13900
13901
0
  return offset;
13902
0
}
13903
13904
13905
13906
static unsigned
13907
0
dissect_ansi_map_PQOS_VerticalVelocity(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13908
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13909
0
                                       NULL);
13910
13911
0
  return offset;
13912
0
}
13913
13914
13915
static const ber_sequence_t GeoPositionRequest_U_set[] = {
13916
  { &hf_ansi_map_positionRequestType, BER_CLASS_CON, 337, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionRequestType },
13917
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13918
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13919
  { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
13920
  { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
13921
  { &hf_ansi_map_lcs_Client_ID, BER_CLASS_CON, 358, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCS_Client_ID },
13922
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
13923
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
13924
  { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
13925
  { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
13926
  { &hf_ansi_map_dtxIndication, BER_CLASS_CON, 329, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DTXIndication },
13927
  { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
13928
  { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
13929
  { &hf_ansi_map_cdmaCodeChannel, BER_CLASS_CON, 68, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannel },
13930
  { &hf_ansi_map_cdmaMobileCapabilities, BER_CLASS_CON, 330, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileCapabilities },
13931
  { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
13932
  { &hf_ansi_map_cdmaServingOneWayDelay2, BER_CLASS_CON, 347, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay2 },
13933
  { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
13934
  { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
13935
  { &hf_ansi_map_cdmaPSMMList, BER_CLASS_CON, 346, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPSMMList },
13936
  { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 76, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
13937
  { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
13938
  { &hf_ansi_map_targetMeasurementList, BER_CLASS_CON, 157, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetMeasurementList },
13939
  { &hf_ansi_map_tdma_MAHO_CELLID, BER_CLASS_CON, 359, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CELLID },
13940
  { &hf_ansi_map_tdma_MAHO_CHANNEL, BER_CLASS_CON, 360, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CHANNEL },
13941
  { &hf_ansi_map_tdma_TimeAlignment, BER_CLASS_CON, 362, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_TimeAlignment },
13942
  { &hf_ansi_map_tdmaVoiceMode, BER_CLASS_CON, 223, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceMode },
13943
  { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
13944
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13945
  { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
13946
  { &hf_ansi_map_pqos_HorizontalPosition, BER_CLASS_CON, 372, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalPosition },
13947
  { &hf_ansi_map_pqos_HorizontalVelocity, BER_CLASS_CON, 373, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalVelocity },
13948
  { &hf_ansi_map_pqos_MaximumPositionAge, BER_CLASS_CON, 374, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_MaximumPositionAge },
13949
  { &hf_ansi_map_pqos_PositionPriority, BER_CLASS_CON, 375, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_PositionPriority },
13950
  { &hf_ansi_map_pqos_ResponseTime, BER_CLASS_CON, 376, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_ResponseTime },
13951
  { &hf_ansi_map_pqos_VerticalPosition, BER_CLASS_CON, 377, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalPosition },
13952
  { &hf_ansi_map_pqos_VerticalVelocity, BER_CLASS_CON, 378, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalVelocity },
13953
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13954
  { &hf_ansi_map_teleservice_Priority, BER_CLASS_CON, 290, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Teleservice_Priority },
13955
  { NULL, 0, 0, 0, NULL }
13956
};
13957
13958
static unsigned
13959
0
dissect_ansi_map_GeoPositionRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13960
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13961
0
                              GeoPositionRequest_U_set, hf_index, ett_ansi_map_GeoPositionRequest_U);
13962
13963
0
  return offset;
13964
0
}
13965
13966
13967
13968
static unsigned
13969
0
dissect_ansi_map_GeoPositionRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13970
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13971
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_GeoPositionRequest_U);
13972
13973
0
  return offset;
13974
0
}
13975
13976
13977
13978
static unsigned
13979
0
dissect_ansi_map_CDMAPSMMCount(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13980
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13981
0
                                       NULL);
13982
13983
0
  return offset;
13984
0
}
13985
13986
13987
static const value_string ansi_map_LIRAuthorization_vals[] = {
13988
  {   0, "not-used" },
13989
  {   1, "user-Authorized" },
13990
  { 0, NULL }
13991
};
13992
13993
13994
static unsigned
13995
0
dissect_ansi_map_LIRAuthorization(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13996
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13997
0
                                  NULL);
13998
13999
0
  return offset;
14000
0
}
14001
14002
14003
14004
static unsigned
14005
0
dissect_ansi_map_MPCID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14006
0
  offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
14007
14008
0
  return offset;
14009
0
}
14010
14011
14012
14013
static unsigned
14014
0
dissect_ansi_map_TDMA_MAHORequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14015
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14016
0
                                       NULL);
14017
14018
0
  return offset;
14019
0
}
14020
14021
14022
static const ber_sequence_t InterSystemPositionRequest_U_set[] = {
14023
  { &hf_ansi_map_positionRequestType, BER_CLASS_CON, 337, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionRequestType },
14024
  { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
14025
  { &hf_ansi_map_cdmaPSMMCount, BER_CLASS_CON, 345, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPSMMCount },
14026
  { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
14027
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
14028
  { &hf_ansi_map_emergencyServicesRoutingDigits, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_EmergencyServicesRoutingDigits },
14029
  { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14030
  { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
14031
  { &hf_ansi_map_lirAuthorization, BER_CLASS_CON, 368, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LIRAuthorization },
14032
  { &hf_ansi_map_lcs_Client_ID, BER_CLASS_CON, 358, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCS_Client_ID },
14033
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
14034
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
14035
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14036
  { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
14037
  { &hf_ansi_map_dtxIndication, BER_CLASS_CON, 329, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DTXIndication },
14038
  { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
14039
  { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
14040
  { &hf_ansi_map_cdmaCodeChannel, BER_CLASS_CON, 68, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannel },
14041
  { &hf_ansi_map_cdmaMobileCapabilities, BER_CLASS_CON, 330, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileCapabilities },
14042
  { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
14043
  { &hf_ansi_map_cdmaServingOneWayDelay2, BER_CLASS_CON, 347, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay2 },
14044
  { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
14045
  { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
14046
  { &hf_ansi_map_cdmaPSMMList, BER_CLASS_CON, 346, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPSMMList },
14047
  { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 76, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
14048
  { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
14049
  { &hf_ansi_map_targetMeasurementList, BER_CLASS_CON, 157, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetMeasurementList },
14050
  { &hf_ansi_map_tdma_MAHO_CELLID, BER_CLASS_CON, 359, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CELLID },
14051
  { &hf_ansi_map_tdma_MAHO_CHANNEL, BER_CLASS_CON, 360, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CHANNEL },
14052
  { &hf_ansi_map_tdma_TimeAlignment, BER_CLASS_CON, 362, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_TimeAlignment },
14053
  { &hf_ansi_map_tdmaVoiceMode, BER_CLASS_CON, 223, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceMode },
14054
  { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
14055
  { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
14056
  { &hf_ansi_map_mpcAddress , BER_CLASS_CON, 370, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddress },
14057
  { &hf_ansi_map_mpcAddressList, BER_CLASS_CON, 381, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddressList },
14058
  { &hf_ansi_map_mpcid      , BER_CLASS_CON, 371, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCID },
14059
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14060
  { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
14061
  { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
14062
  { &hf_ansi_map_pqos_HorizontalPosition, BER_CLASS_CON, 372, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalPosition },
14063
  { &hf_ansi_map_pqos_HorizontalVelocity, BER_CLASS_CON, 373, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalVelocity },
14064
  { &hf_ansi_map_pqos_MaximumPositionAge, BER_CLASS_CON, 374, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_MaximumPositionAge },
14065
  { &hf_ansi_map_pqos_PositionPriority, BER_CLASS_CON, 375, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_PositionPriority },
14066
  { &hf_ansi_map_pqos_ResponseTime, BER_CLASS_CON, 376, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_ResponseTime },
14067
  { &hf_ansi_map_pqos_VerticalPosition, BER_CLASS_CON, 377, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalPosition },
14068
  { &hf_ansi_map_pqos_VerticalVelocity, BER_CLASS_CON, 378, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalVelocity },
14069
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
14070
  { &hf_ansi_map_tdma_MAHORequest, BER_CLASS_CON, 364, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHORequest },
14071
  { NULL, 0, 0, 0, NULL }
14072
};
14073
14074
static unsigned
14075
0
dissect_ansi_map_InterSystemPositionRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14076
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14077
0
                              InterSystemPositionRequest_U_set, hf_index, ett_ansi_map_InterSystemPositionRequest_U);
14078
14079
0
  return offset;
14080
0
}
14081
14082
14083
14084
static unsigned
14085
0
dissect_ansi_map_InterSystemPositionRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14086
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14087
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_InterSystemPositionRequest_U);
14088
14089
0
  return offset;
14090
0
}
14091
14092
14093
14094
static unsigned
14095
0
dissect_ansi_map_PositionResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14096
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14097
0
                                       NULL);
14098
14099
0
  return offset;
14100
0
}
14101
14102
14103
14104
static unsigned
14105
0
dissect_ansi_map_GeneralizedTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14106
0
  offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
14107
14108
0
  return offset;
14109
0
}
14110
14111
14112
14113
static unsigned
14114
0
dissect_ansi_map_GeographicPosition(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14115
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14116
0
                                       NULL);
14117
14118
0
  return offset;
14119
0
}
14120
14121
14122
14123
static unsigned
14124
0
dissect_ansi_map_PositionSource(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14125
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14126
0
                                       NULL);
14127
14128
0
  return offset;
14129
0
}
14130
14131
14132
14133
static unsigned
14134
0
dissect_ansi_map_Horizontal_Velocity(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14135
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14136
0
                                       NULL);
14137
14138
0
  return offset;
14139
0
}
14140
14141
14142
14143
static unsigned
14144
0
dissect_ansi_map_Vertical_Velocity(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14145
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14146
0
                                       NULL);
14147
14148
0
  return offset;
14149
0
}
14150
14151
14152
static const ber_sequence_t PositionInformation_set[] = {
14153
  { &hf_ansi_map_generalizedTime, BER_CLASS_CON, 331, BER_FLAGS_IMPLTAG, dissect_ansi_map_GeneralizedTime },
14154
  { &hf_ansi_map_geographicPosition, BER_CLASS_CON, 333, BER_FLAGS_IMPLTAG, dissect_ansi_map_GeographicPosition },
14155
  { &hf_ansi_map_positionSource, BER_CLASS_CON, 339, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionSource },
14156
  { &hf_ansi_map_horizontal_Velocity, BER_CLASS_CON, 379, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Horizontal_Velocity },
14157
  { &hf_ansi_map_vertical_Velocity, BER_CLASS_CON, 380, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Vertical_Velocity },
14158
  { NULL, 0, 0, 0, NULL }
14159
};
14160
14161
static unsigned
14162
0
dissect_ansi_map_PositionInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14163
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14164
0
                              PositionInformation_set, hf_index, ett_ansi_map_PositionInformation);
14165
14166
0
  return offset;
14167
0
}
14168
14169
14170
static const ber_sequence_t InterSystemPositionRequestRes_U_set[] = {
14171
  { &hf_ansi_map_positionResult, BER_CLASS_CON, 338, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionResult },
14172
  { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
14173
  { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
14174
  { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
14175
  { &hf_ansi_map_dtxIndication, BER_CLASS_CON, 329, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DTXIndication },
14176
  { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
14177
  { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
14178
  { &hf_ansi_map_cdmaCodeChannel, BER_CLASS_CON, 68, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannel },
14179
  { &hf_ansi_map_cdmaMobileCapabilities, BER_CLASS_CON, 330, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileCapabilities },
14180
  { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
14181
  { &hf_ansi_map_cdmaServingOneWayDelay2, BER_CLASS_CON, 347, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay2 },
14182
  { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
14183
  { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
14184
  { &hf_ansi_map_cdmaPSMMList, BER_CLASS_CON, 346, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPSMMList },
14185
  { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 76, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
14186
  { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
14187
  { &hf_ansi_map_targetMeasurementList, BER_CLASS_CON, 157, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetMeasurementList },
14188
  { &hf_ansi_map_tdma_MAHO_CELLID, BER_CLASS_CON, 359, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CELLID },
14189
  { &hf_ansi_map_tdma_MAHO_CHANNEL, BER_CLASS_CON, 360, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CHANNEL },
14190
  { &hf_ansi_map_tdma_TimeAlignment, BER_CLASS_CON, 362, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_TimeAlignment },
14191
  { &hf_ansi_map_tdmaVoiceMode, BER_CLASS_CON, 223, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceMode },
14192
  { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
14193
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14194
  { &hf_ansi_map_positionInformation, BER_CLASS_CON, 336, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionInformation },
14195
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
14196
  { NULL, 0, 0, 0, NULL }
14197
};
14198
14199
static unsigned
14200
0
dissect_ansi_map_InterSystemPositionRequestRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14201
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14202
0
                              InterSystemPositionRequestRes_U_set, hf_index, ett_ansi_map_InterSystemPositionRequestRes_U);
14203
14204
0
  return offset;
14205
0
}
14206
14207
14208
14209
static unsigned
14210
0
dissect_ansi_map_InterSystemPositionRequestRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14211
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14212
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_InterSystemPositionRequestRes_U);
14213
14214
0
  return offset;
14215
0
}
14216
14217
14218
static const ber_sequence_t InterSystemPositionRequestForward_U_set[] = {
14219
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
14220
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
14221
  { &hf_ansi_map_positionRequestType, BER_CLASS_CON, 337, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionRequestType },
14222
  { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14223
  { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
14224
  { &hf_ansi_map_lcs_Client_ID, BER_CLASS_CON, 358, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCS_Client_ID },
14225
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
14226
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14227
  { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
14228
  { &hf_ansi_map_mpcid      , BER_CLASS_CON, 371, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCID },
14229
  { &hf_ansi_map_pqos_HorizontalPosition, BER_CLASS_CON, 372, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalPosition },
14230
  { &hf_ansi_map_pqos_HorizontalVelocity, BER_CLASS_CON, 373, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalVelocity },
14231
  { &hf_ansi_map_pqos_MaximumPositionAge, BER_CLASS_CON, 374, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_MaximumPositionAge },
14232
  { &hf_ansi_map_pqos_PositionPriority, BER_CLASS_CON, 375, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_PositionPriority },
14233
  { &hf_ansi_map_pqos_ResponseTime, BER_CLASS_CON, 376, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_ResponseTime },
14234
  { &hf_ansi_map_pqos_VerticalPosition, BER_CLASS_CON, 377, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalPosition },
14235
  { &hf_ansi_map_pqos_VerticalVelocity, BER_CLASS_CON, 378, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalVelocity },
14236
  { &hf_ansi_map_tdma_MAHORequest, BER_CLASS_CON, 364, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHORequest },
14237
  { NULL, 0, 0, 0, NULL }
14238
};
14239
14240
static unsigned
14241
0
dissect_ansi_map_InterSystemPositionRequestForward_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14242
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14243
0
                              InterSystemPositionRequestForward_U_set, hf_index, ett_ansi_map_InterSystemPositionRequestForward_U);
14244
14245
0
  return offset;
14246
0
}
14247
14248
14249
14250
static unsigned
14251
0
dissect_ansi_map_InterSystemPositionRequestForward(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14252
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14253
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_InterSystemPositionRequestForward_U);
14254
14255
0
  return offset;
14256
0
}
14257
14258
14259
static const ber_sequence_t InterSystemPositionRequestForwardRes_U_set[] = {
14260
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14261
  { &hf_ansi_map_positionResult, BER_CLASS_CON, 338, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionResult },
14262
  { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
14263
  { &hf_ansi_map_positionInformation, BER_CLASS_CON, 336, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionInformation },
14264
  { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
14265
  { NULL, 0, 0, 0, NULL }
14266
};
14267
14268
static unsigned
14269
0
dissect_ansi_map_InterSystemPositionRequestForwardRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14270
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14271
0
                              InterSystemPositionRequestForwardRes_U_set, hf_index, ett_ansi_map_InterSystemPositionRequestForwardRes_U);
14272
14273
0
  return offset;
14274
0
}
14275
14276
14277
14278
static unsigned
14279
0
dissect_ansi_map_InterSystemPositionRequestForwardRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14280
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14281
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_InterSystemPositionRequestForwardRes_U);
14282
14283
0
  return offset;
14284
0
}
14285
14286
14287
14288
static unsigned
14289
0
dissect_ansi_map_ControlType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14290
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14291
0
                                       NULL);
14292
14293
0
  return offset;
14294
0
}
14295
14296
14297
static const value_string ansi_map_GapDuration_vals[] = {
14298
  {   0, "not-used" },
14299
  { 0, NULL }
14300
};
14301
14302
14303
static unsigned
14304
0
dissect_ansi_map_GapDuration(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14305
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14306
0
                                  NULL);
14307
14308
0
  return offset;
14309
0
}
14310
14311
14312
static const value_string ansi_map_SCFOverloadGapInterval_vals[] = {
14313
  {   0, "not-used" },
14314
  { 0, NULL }
14315
};
14316
14317
14318
static unsigned
14319
0
dissect_ansi_map_SCFOverloadGapInterval(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14320
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14321
0
                                  NULL);
14322
14323
0
  return offset;
14324
0
}
14325
14326
14327
static const value_string ansi_map_ServiceManagementSystemGapInterval_vals[] = {
14328
  {   0, "not-used" },
14329
  { 0, NULL }
14330
};
14331
14332
14333
static unsigned
14334
0
dissect_ansi_map_ServiceManagementSystemGapInterval(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14335
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14336
0
                                  NULL);
14337
14338
0
  return offset;
14339
0
}
14340
14341
14342
static const value_string ansi_map_GapInterval_vals[] = {
14343
  { 343, "sCFOverloadGapInterval" },
14344
  { 344, "serviceManagementSystemGapInterval" },
14345
  { 0, NULL }
14346
};
14347
14348
static const ber_choice_t GapInterval_choice[] = {
14349
  { 343, &hf_ansi_map_sCFOverloadGapInterval, BER_CLASS_CON, 343, BER_FLAGS_IMPLTAG, dissect_ansi_map_SCFOverloadGapInterval },
14350
  { 344, &hf_ansi_map_serviceManagementSystemGapInterval, BER_CLASS_CON, 344, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceManagementSystemGapInterval },
14351
  { 0, NULL, 0, 0, 0, NULL }
14352
};
14353
14354
static unsigned
14355
0
dissect_ansi_map_GapInterval(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14356
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
14357
0
                                 GapInterval_choice, hf_index, ett_ansi_map_GapInterval,
14358
0
                                 NULL);
14359
14360
0
  return offset;
14361
0
}
14362
14363
14364
static const ber_sequence_t ACGDirective_U_set[] = {
14365
  { &hf_ansi_map_controlType, BER_CLASS_CON, 341, BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlType },
14366
  { &hf_ansi_map_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_DestinationAddress },
14367
  { &hf_ansi_map_gapDuration, BER_CLASS_CON, 342, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GapDuration },
14368
  { &hf_ansi_map_gapInterval, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_GapInterval },
14369
  { NULL, 0, 0, 0, NULL }
14370
};
14371
14372
static unsigned
14373
0
dissect_ansi_map_ACGDirective_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14374
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14375
0
                              ACGDirective_U_set, hf_index, ett_ansi_map_ACGDirective_U);
14376
14377
0
  return offset;
14378
0
}
14379
14380
14381
14382
static unsigned
14383
0
dissect_ansi_map_ACGDirective(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14384
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14385
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_ACGDirective_U);
14386
14387
0
  return offset;
14388
0
}
14389
14390
14391
14392
static unsigned
14393
0
dissect_ansi_map_InvokingNEType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14394
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14395
0
                                                NULL);
14396
14397
0
  return offset;
14398
0
}
14399
14400
14401
14402
static unsigned
14403
0
dissect_ansi_map_Range(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14404
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14405
0
                                                NULL);
14406
14407
0
  return offset;
14408
0
}
14409
14410
14411
static const ber_sequence_t RoamerDatabaseVerificationRequest_U_set[] = {
14412
  { &hf_ansi_map_invokingNEType, BER_CLASS_CON, 353, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_InvokingNEType },
14413
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
14414
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14415
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
14416
  { &hf_ansi_map_range      , BER_CLASS_CON, 352, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Range },
14417
  { NULL, 0, 0, 0, NULL }
14418
};
14419
14420
static unsigned
14421
0
dissect_ansi_map_RoamerDatabaseVerificationRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14422
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14423
0
                              RoamerDatabaseVerificationRequest_U_set, hf_index, ett_ansi_map_RoamerDatabaseVerificationRequest_U);
14424
14425
0
  return offset;
14426
0
}
14427
14428
14429
14430
static unsigned
14431
0
dissect_ansi_map_RoamerDatabaseVerificationRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14432
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14433
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_RoamerDatabaseVerificationRequest_U);
14434
14435
0
  return offset;
14436
0
}
14437
14438
14439
static const ber_sequence_t RoamerDatabaseVerificationRequestRes_U_set[] = {
14440
  { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
14441
  { NULL, 0, 0, 0, NULL }
14442
};
14443
14444
static unsigned
14445
0
dissect_ansi_map_RoamerDatabaseVerificationRequestRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14446
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14447
0
                              RoamerDatabaseVerificationRequestRes_U_set, hf_index, ett_ansi_map_RoamerDatabaseVerificationRequestRes_U);
14448
14449
0
  return offset;
14450
0
}
14451
14452
14453
14454
static unsigned
14455
0
dissect_ansi_map_RoamerDatabaseVerificationRequestRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14456
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14457
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_RoamerDatabaseVerificationRequestRes_U);
14458
14459
0
  return offset;
14460
0
}
14461
14462
14463
static const ber_sequence_t LCSParameterRequest_U_set[] = {
14464
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
14465
  { &hf_ansi_map_mpcid      , BER_CLASS_CON, 371, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCID },
14466
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
14467
  { NULL, 0, 0, 0, NULL }
14468
};
14469
14470
static unsigned
14471
0
dissect_ansi_map_LCSParameterRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14472
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14473
0
                              LCSParameterRequest_U_set, hf_index, ett_ansi_map_LCSParameterRequest_U);
14474
14475
0
  return offset;
14476
0
}
14477
14478
14479
14480
static unsigned
14481
0
dissect_ansi_map_LCSParameterRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14482
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14483
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_LCSParameterRequest_U);
14484
14485
0
  return offset;
14486
0
}
14487
14488
14489
static const ber_sequence_t LCSParameterRequestRes_U_set[] = {
14490
  { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
14491
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
14492
  { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14493
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
14494
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
14495
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14496
  { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
14497
  { &hf_ansi_map_mpcAddress , BER_CLASS_CON, 370, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddress },
14498
  { &hf_ansi_map_mpcAddressList, BER_CLASS_CON, 381, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddressList },
14499
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14500
  { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
14501
  { NULL, 0, 0, 0, NULL }
14502
};
14503
14504
static unsigned
14505
0
dissect_ansi_map_LCSParameterRequestRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14506
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14507
0
                              LCSParameterRequestRes_U_set, hf_index, ett_ansi_map_LCSParameterRequestRes_U);
14508
14509
0
  return offset;
14510
0
}
14511
14512
14513
14514
static unsigned
14515
0
dissect_ansi_map_LCSParameterRequestRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14516
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14517
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_LCSParameterRequestRes_U);
14518
14519
0
  return offset;
14520
0
}
14521
14522
14523
static const ber_sequence_t CheckMEID_U_set[] = {
14524
  { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
14525
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
14526
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
14527
  { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
14528
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
14529
  { &hf_ansi_map_emergencyServicesRoutingDigits, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_EmergencyServicesRoutingDigits },
14530
  { NULL, 0, 0, 0, NULL }
14531
};
14532
14533
static unsigned
14534
0
dissect_ansi_map_CheckMEID_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14535
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14536
0
                              CheckMEID_U_set, hf_index, ett_ansi_map_CheckMEID_U);
14537
14538
0
  return offset;
14539
0
}
14540
14541
14542
14543
static unsigned
14544
0
dissect_ansi_map_CheckMEID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14545
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14546
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_CheckMEID_U);
14547
14548
0
  return offset;
14549
0
}
14550
14551
14552
14553
static unsigned
14554
0
dissect_ansi_map_MEIDStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14555
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14556
0
                                       NULL);
14557
14558
0
  return offset;
14559
0
}
14560
14561
14562
static const ber_sequence_t CheckMEIDRes_U_set[] = {
14563
  { &hf_ansi_map_meidStatus , BER_CLASS_CON, 391, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEIDStatus },
14564
  { NULL, 0, 0, 0, NULL }
14565
};
14566
14567
static unsigned
14568
0
dissect_ansi_map_CheckMEIDRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14569
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14570
0
                              CheckMEIDRes_U_set, hf_index, ett_ansi_map_CheckMEIDRes_U);
14571
14572
0
  return offset;
14573
0
}
14574
14575
14576
14577
static unsigned
14578
0
dissect_ansi_map_CheckMEIDRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14579
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14580
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_CheckMEIDRes_U);
14581
14582
0
  return offset;
14583
0
}
14584
14585
14586
static const ber_sequence_t AddService_U_set[] = {
14587
  { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
14588
  { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
14589
  { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
14590
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
14591
  { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14592
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14593
  { NULL, 0, 0, 0, NULL }
14594
};
14595
14596
static unsigned
14597
0
dissect_ansi_map_AddService_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14598
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14599
0
                              AddService_U_set, hf_index, ett_ansi_map_AddService_U);
14600
14601
0
  return offset;
14602
0
}
14603
14604
14605
14606
static unsigned
14607
0
dissect_ansi_map_AddService(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14608
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14609
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_AddService_U);
14610
14611
0
  return offset;
14612
0
}
14613
14614
14615
static const ber_sequence_t AddServiceRes_U_set[] = {
14616
  { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
14617
  { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
14618
  { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
14619
  { &hf_ansi_map_reasonList , BER_CLASS_CON, 218, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReasonList },
14620
  { NULL, 0, 0, 0, NULL }
14621
};
14622
14623
static unsigned
14624
0
dissect_ansi_map_AddServiceRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14625
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14626
0
                              AddServiceRes_U_set, hf_index, ett_ansi_map_AddServiceRes_U);
14627
14628
0
  return offset;
14629
0
}
14630
14631
14632
14633
static unsigned
14634
0
dissect_ansi_map_AddServiceRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14635
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14636
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_AddServiceRes_U);
14637
14638
0
  return offset;
14639
0
}
14640
14641
14642
static const ber_sequence_t DropService_U_set[] = {
14643
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
14644
  { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
14645
  { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
14646
  { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14647
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14648
  { &hf_ansi_map_releaseReason, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReleaseReason },
14649
  { NULL, 0, 0, 0, NULL }
14650
};
14651
14652
static unsigned
14653
0
dissect_ansi_map_DropService_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14654
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14655
0
                              DropService_U_set, hf_index, ett_ansi_map_DropService_U);
14656
14657
0
  return offset;
14658
0
}
14659
14660
14661
14662
static unsigned
14663
0
dissect_ansi_map_DropService(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14664
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14665
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_DropService_U);
14666
14667
0
  return offset;
14668
0
}
14669
14670
14671
static const ber_sequence_t DropServiceRes_U_set[] = {
14672
  { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
14673
  { NULL, 0, 0, 0, NULL }
14674
};
14675
14676
static unsigned
14677
0
dissect_ansi_map_DropServiceRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14678
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14679
0
                              DropServiceRes_U_set, hf_index, ett_ansi_map_DropServiceRes_U);
14680
14681
0
  return offset;
14682
0
}
14683
14684
14685
14686
static unsigned
14687
0
dissect_ansi_map_DropServiceRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14688
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14689
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_DropServiceRes_U);
14690
14691
0
  return offset;
14692
0
}
14693
14694
14695
static const ber_sequence_t PositionEventNotification_U_set[] = {
14696
  { &hf_ansi_map_positionResult, BER_CLASS_CON, 338, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionResult },
14697
  { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14698
  { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
14699
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14700
  { NULL, 0, 0, 0, NULL }
14701
};
14702
14703
static unsigned
14704
0
dissect_ansi_map_PositionEventNotification_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14705
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14706
0
                              PositionEventNotification_U_set, hf_index, ett_ansi_map_PositionEventNotification_U);
14707
14708
0
  return offset;
14709
0
}
14710
14711
14712
14713
static unsigned
14714
0
dissect_ansi_map_PositionEventNotification(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14715
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14716
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_PositionEventNotification_U);
14717
14718
0
  return offset;
14719
0
}
14720
14721
14722
14723
static unsigned
14724
0
dissect_ansi_map_AKeyProtocolVersion(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14725
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14726
0
                                       NULL);
14727
14728
0
  return offset;
14729
0
}
14730
14731
14732
14733
static unsigned
14734
0
dissect_ansi_map_MobileStationPartialKey(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14735
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14736
0
                                       NULL);
14737
14738
0
  return offset;
14739
0
}
14740
14741
14742
static const value_string ansi_map_NewlyAssignedMSID_vals[] = {
14743
  { 187, "newlyAssignedMIN" },
14744
  { 287, "newlyAssignedIMSI" },
14745
  { 0, NULL }
14746
};
14747
14748
static const ber_choice_t NewlyAssignedMSID_choice[] = {
14749
  { 187, &hf_ansi_map_newlyAssignedMIN, BER_CLASS_CON, 187, BER_FLAGS_IMPLTAG, dissect_ansi_map_NewlyAssignedMIN },
14750
  { 287, &hf_ansi_map_newlyAssignedIMSI, BER_CLASS_CON, 287, BER_FLAGS_IMPLTAG, dissect_ansi_map_NewlyAssignedIMSI },
14751
  { 0, NULL, 0, 0, 0, NULL }
14752
};
14753
14754
static unsigned
14755
0
dissect_ansi_map_NewlyAssignedMSID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14756
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
14757
0
                                 NewlyAssignedMSID_choice, hf_index, ett_ansi_map_NewlyAssignedMSID,
14758
0
                                 NULL);
14759
14760
0
  return offset;
14761
0
}
14762
14763
14764
static const ber_sequence_t OTASPRequest_U_set[] = {
14765
  { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
14766
  { &hf_ansi_map_aKeyProtocolVersion, BER_CLASS_CON, 181, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AKeyProtocolVersion },
14767
  { &hf_ansi_map_authenticationData, BER_CLASS_CON, 161, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationData },
14768
  { &hf_ansi_map_authenticationResponse, BER_CLASS_CON, 35, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponse },
14769
  { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
14770
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
14771
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
14772
  { &hf_ansi_map_mobileStationMSID, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MobileStationMSID },
14773
  { &hf_ansi_map_mobileStationPartialKey, BER_CLASS_CON, 185, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileStationPartialKey },
14774
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14775
  { &hf_ansi_map_newlyAssignedMSID, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_NewlyAssignedMSID },
14776
  { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
14777
  { &hf_ansi_map_randomVariableBaseStation, BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableBaseStation },
14778
  { &hf_ansi_map_serviceIndicator, BER_CLASS_CON, 193, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceIndicator },
14779
  { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
14780
  { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
14781
  { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
14782
  { NULL, 0, 0, 0, NULL }
14783
};
14784
14785
static unsigned
14786
0
dissect_ansi_map_OTASPRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14787
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14788
0
                              OTASPRequest_U_set, hf_index, ett_ansi_map_OTASPRequest_U);
14789
14790
0
  return offset;
14791
0
}
14792
14793
14794
14795
static unsigned
14796
0
dissect_ansi_map_OTASPRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14797
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14798
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_OTASPRequest_U);
14799
14800
0
  return offset;
14801
0
}
14802
14803
14804
14805
static unsigned
14806
0
dissect_ansi_map_BaseStationPartialKey(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14807
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14808
0
                                       NULL);
14809
14810
0
  return offset;
14811
0
}
14812
14813
14814
14815
static unsigned
14816
0
dissect_ansi_map_ModulusValue(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14817
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14818
0
                                       NULL);
14819
14820
0
  return offset;
14821
0
}
14822
14823
14824
14825
static unsigned
14826
0
dissect_ansi_map_OTASP_ResultCode(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14827
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14828
0
                                       NULL);
14829
14830
0
  return offset;
14831
0
}
14832
14833
14834
14835
static unsigned
14836
0
dissect_ansi_map_PrimitiveValue(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14837
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14838
0
                                       NULL);
14839
14840
0
  return offset;
14841
0
}
14842
14843
14844
static const ber_sequence_t OTASPRequestRes_U_set[] = {
14845
  { &hf_ansi_map_aKeyProtocolVersion, BER_CLASS_CON, 181, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AKeyProtocolVersion },
14846
  { &hf_ansi_map_authenticationResponseBaseStation, BER_CLASS_CON, 36, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseBaseStation },
14847
  { &hf_ansi_map_baseStationPartialKey, BER_CLASS_CON, 183, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BaseStationPartialKey },
14848
  { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
14849
  { &hf_ansi_map_modulusValue, BER_CLASS_CON, 186, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ModulusValue },
14850
  { &hf_ansi_map_otasp_ResultCode, BER_CLASS_CON, 189, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OTASP_ResultCode },
14851
  { &hf_ansi_map_primitiveValue, BER_CLASS_CON, 190, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PrimitiveValue },
14852
  { &hf_ansi_map_signalingMessageEncryptionReport, BER_CLASS_CON, 194, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionReport },
14853
  { &hf_ansi_map_ssdUpdateReport, BER_CLASS_CON, 156, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDUpdateReport },
14854
  { &hf_ansi_map_uniqueChallengeReport, BER_CLASS_CON, 124, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UniqueChallengeReport },
14855
  { &hf_ansi_map_voicePrivacyReport, BER_CLASS_CON, 196, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyReport },
14856
  { NULL, 0, 0, 0, NULL }
14857
};
14858
14859
static unsigned
14860
0
dissect_ansi_map_OTASPRequestRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14861
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14862
0
                              OTASPRequestRes_U_set, hf_index, ett_ansi_map_OTASPRequestRes_U);
14863
14864
0
  return offset;
14865
0
}
14866
14867
14868
14869
static unsigned
14870
0
dissect_ansi_map_OTASPRequestRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14871
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14872
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_OTASPRequestRes_U);
14873
14874
0
  return offset;
14875
0
}
14876
14877
14878
14879
static unsigned
14880
0
dissect_ansi_map_Record_Type(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14881
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14882
0
                                       NULL);
14883
14884
0
  return offset;
14885
0
}
14886
14887
14888
static const ber_sequence_t StatusRequest_U_set[] = {
14889
  { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
14890
  { &hf_ansi_map_record_Type, BER_CLASS_CON, 392, BER_FLAGS_IMPLTAG, dissect_ansi_map_Record_Type },
14891
  { NULL, 0, 0, 0, NULL }
14892
};
14893
14894
static unsigned
14895
0
dissect_ansi_map_StatusRequest_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14896
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14897
0
                              StatusRequest_U_set, hf_index, ett_ansi_map_StatusRequest_U);
14898
14899
0
  return offset;
14900
0
}
14901
14902
14903
14904
static unsigned
14905
0
dissect_ansi_map_StatusRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14906
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14907
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_StatusRequest_U);
14908
14909
0
  return offset;
14910
0
}
14911
14912
14913
14914
static unsigned
14915
0
dissect_ansi_map_Information_Record(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14916
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14917
0
                                       NULL);
14918
14919
0
  return offset;
14920
0
}
14921
14922
14923
static const ber_sequence_t StatusRequestRes_U_set[] = {
14924
  { &hf_ansi_map_information_Record, BER_CLASS_CON, 389, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Information_Record },
14925
  { NULL, 0, 0, 0, NULL }
14926
};
14927
14928
static unsigned
14929
0
dissect_ansi_map_StatusRequestRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14930
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14931
0
                              StatusRequestRes_U_set, hf_index, ett_ansi_map_StatusRequestRes_U);
14932
14933
0
  return offset;
14934
0
}
14935
14936
14937
14938
static unsigned
14939
0
dissect_ansi_map_StatusRequestRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14940
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14941
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_StatusRequestRes_U);
14942
14943
0
  return offset;
14944
0
}
14945
14946
14947
static const ber_sequence_t InterSystemSMSDeliveryPointToPoint_U_set[] = {
14948
  { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
14949
  { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
14950
  { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14951
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14952
  { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
14953
  { &hf_ansi_map_sms_MessageCount, BER_CLASS_CON, 108, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageCount },
14954
  { &hf_ansi_map_sms_OriginalOriginatingAddress, BER_CLASS_CON, 112, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingAddress },
14955
  { &hf_ansi_map_sms_OriginalOriginatingSubaddress, BER_CLASS_CON, 113, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingSubaddress },
14956
  { NULL, 0, 0, 0, NULL }
14957
};
14958
14959
static unsigned
14960
0
dissect_ansi_map_InterSystemSMSDeliveryPointToPoint_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14961
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14962
0
                              InterSystemSMSDeliveryPointToPoint_U_set, hf_index, ett_ansi_map_InterSystemSMSDeliveryPointToPoint_U);
14963
14964
0
  return offset;
14965
0
}
14966
14967
14968
14969
static unsigned
14970
0
dissect_ansi_map_InterSystemSMSDeliveryPointToPoint(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14971
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14972
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_InterSystemSMSDeliveryPointToPoint_U);
14973
14974
0
  return offset;
14975
0
}
14976
14977
14978
static const ber_sequence_t InterSystemSMSDeliveryPointToPointRes_U_set[] = {
14979
  { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
14980
  { &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
14981
  { NULL, 0, 0, 0, NULL }
14982
};
14983
14984
static unsigned
14985
0
dissect_ansi_map_InterSystemSMSDeliveryPointToPointRes_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14986
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14987
0
                              InterSystemSMSDeliveryPointToPointRes_U_set, hf_index, ett_ansi_map_InterSystemSMSDeliveryPointToPointRes_U);
14988
14989
0
  return offset;
14990
0
}
14991
14992
14993
14994
static unsigned
14995
0
dissect_ansi_map_InterSystemSMSDeliveryPointToPointRes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14996
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14997
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_InterSystemSMSDeliveryPointToPointRes_U);
14998
14999
0
  return offset;
15000
0
}
15001
15002
15003
15004
static unsigned
15005
0
dissect_ansi_map_CDMA2000MobileSupportedCapabilities(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15006
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
15007
0
                                       NULL);
15008
15009
0
  return offset;
15010
0
}
15011
15012
15013
static const ber_sequence_t InterSystemSMSPage_U_set[] = {
15014
  { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
15015
  { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
15016
  { &hf_ansi_map_cdma2000MobileSupportedCapabilities, BER_CLASS_CON, 321, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000MobileSupportedCapabilities },
15017
  { &hf_ansi_map_cdmaSlotCycleIndex, BER_CLASS_CON, 166, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASlotCycleIndex },
15018
  { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
15019
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
15020
  { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
15021
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
15022
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
15023
  { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
15024
  { &hf_ansi_map_pageIndicator, BER_CLASS_CON, 71, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageIndicator },
15025
  { &hf_ansi_map_pageResponseTime, BER_CLASS_CON, 301, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageResponseTime },
15026
  { &hf_ansi_map_sms_ChargeIndicator, BER_CLASS_CON, 106, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_ChargeIndicator },
15027
  { &hf_ansi_map_sms_DestinationAddress, BER_CLASS_CON, 107, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_DestinationAddress },
15028
  { &hf_ansi_map_sms_OriginalDestinationAddress, BER_CLASS_CON, 110, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationAddress },
15029
  { &hf_ansi_map_sms_OriginalDestinationSubaddress, BER_CLASS_CON, 111, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationSubaddress },
15030
  { &hf_ansi_map_sms_OriginalOriginatingAddress, BER_CLASS_CON, 112, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingAddress },
15031
  { &hf_ansi_map_sms_OriginalOriginatingSubaddress, BER_CLASS_CON, 113, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingSubaddress },
15032
  { &hf_ansi_map_sms_OriginatingAddress, BER_CLASS_CON, 114, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginatingAddress },
15033
  { NULL, 0, 0, 0, NULL }
15034
};
15035
15036
static unsigned
15037
0
dissect_ansi_map_InterSystemSMSPage_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15038
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
15039
0
                              InterSystemSMSPage_U_set, hf_index, ett_ansi_map_InterSystemSMSPage_U);
15040
15041
0
  return offset;
15042
0
}
15043
15044
15045
15046
static unsigned
15047
0
dissect_ansi_map_InterSystemSMSPage(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15048
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
15049
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_InterSystemSMSPage_U);
15050
15051
0
  return offset;
15052
0
}
15053
15054
15055
static const ber_sequence_t QualificationRequest2_U_set[] = {
15056
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
15057
  { &hf_ansi_map_qualificationInformationCode, BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_ansi_map_QualificationInformationCode },
15058
  { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
15059
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
15060
  { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
15061
  { &hf_ansi_map_cdmaNetworkIdentification, BER_CLASS_CON, 232, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMANetworkIdentification },
15062
  { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
15063
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
15064
  { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
15065
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
15066
  { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
15067
  { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
15068
  { &hf_ansi_map_serviceRedirectionCause, BER_CLASS_CON, 237, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionCause },
15069
  { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
15070
  { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
15071
  { &hf_ansi_map_userGroup  , BER_CLASS_CON, 208, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserGroup },
15072
  { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
15073
  { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
15074
  { NULL, 0, 0, 0, NULL }
15075
};
15076
15077
static unsigned
15078
0
dissect_ansi_map_QualificationRequest2_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15079
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
15080
0
                              QualificationRequest2_U_set, hf_index, ett_ansi_map_QualificationRequest2_U);
15081
15082
0
  return offset;
15083
0
}
15084
15085
15086
15087
static unsigned
15088
0
dissect_ansi_map_QualificationRequest2(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15089
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
15090
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_QualificationRequest2_U);
15091
15092
0
  return offset;
15093
0
}
15094
15095
15096
static const ber_sequence_t QualificationRequest2Res_U_set[] = {
15097
  { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
15098
  { &hf_ansi_map_analogRedirectRecord, BER_CLASS_CON, 225, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectRecord },
15099
  { &hf_ansi_map_authorizationDenied, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationDenied },
15100
  { &hf_ansi_map_authorizationPeriod, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationPeriod },
15101
  { &hf_ansi_map_cdmaRedirectRecord, BER_CLASS_CON, 229, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMARedirectRecord },
15102
  { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
15103
  { &hf_ansi_map_deniedAuthorizationPeriod, BER_CLASS_CON, 167, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DeniedAuthorizationPeriod },
15104
  { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
15105
  { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
15106
  { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
15107
  { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
15108
  { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
15109
  { &hf_ansi_map_authenticationCapability, BER_CLASS_CON, 78, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationCapability },
15110
  { &hf_ansi_map_callingFeaturesIndicator, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingFeaturesIndicator },
15111
  { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
15112
  { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
15113
  { &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
15114
  { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
15115
  { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
15116
  { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
15117
  { &hf_ansi_map_geographicAuthorization, BER_CLASS_CON, 143, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GeographicAuthorization },
15118
  { &hf_ansi_map_meidValidated, BER_CLASS_CON, 401, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEIDValidated },
15119
  { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
15120
  { &hf_ansi_map_messageWaitingNotificationType, BER_CLASS_CON, 145, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationType },
15121
  { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
15122
  { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
15123
  { &hf_ansi_map_originationIndicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationIndicator },
15124
  { &hf_ansi_map_originationTriggers, BER_CLASS_CON, 98, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationTriggers },
15125
  { &hf_ansi_map_pACAIndicator, BER_CLASS_CON, 146, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PACAIndicator },
15126
  { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
15127
  { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
15128
  { &hf_ansi_map_restrictionDigits, BER_CLASS_CON, 227, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RestrictionDigits },
15129
  { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
15130
  { &hf_ansi_map_pSID_RSIDList, BER_CLASS_CON, 203, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDList },
15131
  { &hf_ansi_map_sms_OriginationRestrictions, BER_CLASS_CON, 115, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginationRestrictions },
15132
  { &hf_ansi_map_sms_TerminationRestrictions, BER_CLASS_CON, 117, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TerminationRestrictions },
15133
  { &hf_ansi_map_spinipin   , BER_CLASS_CON, 154, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINIPIN },
15134
  { &hf_ansi_map_spiniTriggers, BER_CLASS_CON, 155, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINITriggers },
15135
  { &hf_ansi_map_tdmaDataFeaturesIndicator, BER_CLASS_CON, 221, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataFeaturesIndicator },
15136
  { &hf_ansi_map_terminationRestrictionCode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationRestrictionCode },
15137
  { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
15138
  { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
15139
  { &hf_ansi_map_userGroup  , BER_CLASS_CON, 208, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserGroup },
15140
  { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
15141
  { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
15142
  { &hf_ansi_map_callingPartyCategory, BER_CLASS_CON, 355, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyCategory },
15143
  { &hf_ansi_map_lirMode    , BER_CLASS_CON, 369, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LIRMode },
15144
  { &hf_ansi_map_roamingIndication, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoamingIndication },
15145
  { &hf_ansi_map_serviceRedirectionInfo, BER_CLASS_CON, 238, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionInfo },
15146
  { NULL, 0, 0, 0, NULL }
15147
};
15148
15149
static unsigned
15150
0
dissect_ansi_map_QualificationRequest2Res_U(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15151
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
15152
0
                              QualificationRequest2Res_U_set, hf_index, ett_ansi_map_QualificationRequest2Res_U);
15153
15154
0
  return offset;
15155
0
}
15156
15157
15158
15159
static unsigned
15160
0
dissect_ansi_map_QualificationRequest2Res(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15161
0
  offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
15162
0
                                      hf_index, BER_CLASS_PRI, 18, false, dissect_ansi_map_QualificationRequest2Res_U);
15163
15164
0
  return offset;
15165
0
}
15166
15167
15168
15169
15170
/*
15171
 * 6.5.2.dk N.S0013-0 v 1.0,X.S0004-550-E v1.0 2.301
15172
 */
15173
static void
15174
0
dissect_ansi_map_win_trigger_list(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
15175
15176
0
    unsigned offset = 0;
15177
0
    unsigned end_offset = 0;
15178
0
    int j = 0;
15179
0
    proto_tree *subtree;
15180
0
    uint8_t octet;
15181
15182
0
    end_offset = tvb_reported_length_remaining(tvb,offset);
15183
0
    subtree = proto_item_add_subtree(actx->created_item, ett_win_trigger_list);
15184
15185
0
    while(offset< end_offset) {
15186
0
        octet = tvb_get_uint8(tvb,offset);
15187
0
        switch (octet){
15188
0
        case 0xdc:
15189
0
            proto_tree_add_uint_format(subtree, hf_ansi_map_win_trigger_list, tvb, offset, 1, octet, "TDP-R's armed");
15190
0
            j=0;
15191
0
            break;
15192
0
        case 0xdd:
15193
0
            proto_tree_add_uint_format(subtree, hf_ansi_map_win_trigger_list, tvb, offset, 1, octet, "TDP-N's armed");
15194
0
            j=0;
15195
0
            break;
15196
0
        case 0xde:
15197
0
            proto_tree_add_uint_format(subtree, hf_ansi_map_win_trigger_list, tvb, offset, 1, octet, "EDP-R's armed");
15198
0
            j=0;
15199
0
            break;
15200
0
        case 0xdf:
15201
0
            proto_tree_add_uint_format(subtree, hf_ansi_map_win_trigger_list, tvb, offset, 1, octet, "EDP-N's armed");
15202
0
            j=0;
15203
0
            break;
15204
0
        default:
15205
0
            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(pinfo->pool, octet, &ansi_map_TriggerType_vals_ext, "Unknown TriggerType (%u)"));
15206
0
            j++;
15207
0
            break;
15208
0
        }
15209
0
        offset++;
15210
0
    }
15211
0
}
15212
15213
15214
0
static unsigned dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, unsigned offset, asn1_ctx_t *actx) {
15215
0
    static bool                   opCodeKnown = true;
15216
0
    static ansi_map_tap_rec_t     tap_rec[16];
15217
0
    static ansi_map_tap_rec_t     *tap_p;
15218
0
    static int                    tap_current=0;
15219
15220
    /*
15221
     * set tap record pointer
15222
     */
15223
0
    tap_current++;
15224
0
    if (tap_current == array_length(tap_rec))
15225
0
    {
15226
0
        tap_current = 0;
15227
0
    }
15228
0
    tap_p = &tap_rec[tap_current];
15229
15230
0
    switch(OperationCode){
15231
0
    case 1: /*Handoff Measurement Request*/
15232
0
        offset = dissect_ansi_map_HandoffMeasurementRequest(true, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequest);
15233
0
        break;
15234
0
    case 2: /*Facilities Directive*/
15235
0
        offset = dissect_ansi_map_FacilitiesDirective(true, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirective);
15236
0
        break;
15237
0
    case 3: /*Mobile On Channel*/
15238
0
        proto_tree_add_expert_remaining(tree, actx->pinfo, &ei_ansi_map_no_data, tvb, offset);
15239
0
        break;
15240
0
    case 4: /*Handoff Back*/
15241
0
        offset = dissect_ansi_map_HandoffBack(true, tvb, offset, actx, tree, hf_ansi_map_handoffBack);
15242
0
        break;
15243
0
    case 5: /*Facilities Release*/
15244
0
        offset = dissect_ansi_map_FacilitiesRelease(true, tvb, offset, actx, tree, hf_ansi_map_facilitiesRelease);
15245
0
        break;
15246
0
    case 6: /*Qualification Request*/
15247
0
        offset = dissect_ansi_map_QualificationRequest(true, tvb, offset, actx, tree, hf_ansi_map_qualificationRequest);
15248
0
        break;
15249
0
    case 7: /*Qualification Directive*/
15250
0
        offset = dissect_ansi_map_QualificationDirective(true, tvb, offset, actx, tree, hf_ansi_map_qualificationDirective);
15251
0
        break;
15252
0
    case 8: /*Blocking*/
15253
0
        offset = dissect_ansi_map_Blocking(true, tvb, offset, actx, tree, hf_ansi_map_blocking);
15254
0
        break;
15255
0
    case 9: /*Unblocking*/
15256
0
        offset = dissect_ansi_map_Unblocking(true, tvb, offset, actx, tree, hf_ansi_map_unblocking);
15257
0
        break;
15258
0
    case 10: /*Reset Circuit*/
15259
0
        offset = dissect_ansi_map_ResetCircuit(true, tvb, offset, actx, tree, hf_ansi_map_resetCircuit);
15260
0
        break;
15261
0
    case 11: /*Trunk Test*/
15262
0
        offset = dissect_ansi_map_TrunkTest(true, tvb, offset, actx, tree, hf_ansi_map_trunkTest);
15263
0
        break;
15264
0
    case 12: /*Trunk Test Disconnect*/
15265
0
        offset = dissect_ansi_map_TrunkTestDisconnect(true, tvb, offset, actx, tree, hf_ansi_map_trunkTestDisconnect);
15266
0
        break;
15267
0
    case  13: /*Registration Notification*/
15268
0
        offset = dissect_ansi_map_RegistrationNotification(true, tvb, offset, actx, tree, hf_ansi_map_registrationNotification);
15269
0
        break;
15270
0
    case  14: /*Registration Cancellation*/
15271
0
        offset = dissect_ansi_map_RegistrationCancellation(true, tvb, offset, actx, tree, hf_ansi_map_registrationCancellation);
15272
0
        break;
15273
0
    case  15: /*Location Request*/
15274
0
        offset = dissect_ansi_map_LocationRequest(true, tvb, offset, actx, tree, hf_ansi_map_locationRequest);
15275
0
        break;
15276
0
    case  16: /*Routing Request*/
15277
0
        offset = dissect_ansi_map_RoutingRequest(true, tvb, offset, actx, tree, hf_ansi_map_routingRequest);
15278
0
        break;
15279
0
    case  17: /*Feature Request*/
15280
0
        offset = dissect_ansi_map_FeatureRequest(true, tvb, offset, actx, tree, hf_ansi_map_featureRequest);
15281
0
        break;
15282
0
    case  18: /*Reserved 18 (Service Profile Request, IS-41-C)*/
15283
0
        proto_tree_add_expert_format_remaining(tree, actx->pinfo, &ei_ansi_map_unknown_invokeData_blob, tvb, offset, "Unknown invokeData blob(18 (Service Profile Request, IS-41-C)");
15284
0
        break;
15285
0
    case  19: /*Reserved 19 (Service Profile Directive, IS-41-C)*/
15286
0
        proto_tree_add_expert_format_remaining(tree, actx->pinfo, &ei_ansi_map_unknown_invokeData_blob, tvb, offset, "Unknown invokeData blob(19 Service Profile Directive, IS-41-C)");
15287
0
        break;
15288
0
    case  20: /*Unreliable Roamer Data Directive*/
15289
0
        offset = dissect_ansi_map_UnreliableRoamerDataDirective(true, tvb, offset, actx, tree, hf_ansi_map_unreliableRoamerDataDirective);
15290
0
        break;
15291
0
    case  21: /*Reserved 21 (Call Data Request, IS-41-C)*/
15292
0
        proto_tree_add_expert_format_remaining(tree, actx->pinfo, &ei_ansi_map_unknown_invokeData_blob, tvb, offset, "Unknown invokeData blob(Reserved 21 (Call Data Request, IS-41-C)");
15293
0
        break;
15294
0
    case  22: /*MS Inactive*/
15295
0
        offset = dissect_ansi_map_MSInactive(true, tvb, offset, actx, tree, hf_ansi_map_mSInactive);
15296
0
        break;
15297
0
    case  23: /*Transfer To Number Request*/
15298
0
        offset = dissect_ansi_map_TransferToNumberRequest(true, tvb, offset, actx, tree, hf_ansi_map_transferToNumberRequest);
15299
0
        break;
15300
0
    case  24: /*Redirection Request*/
15301
0
        offset = dissect_ansi_map_RedirectionRequest(true, tvb, offset, actx, tree, hf_ansi_map_redirectionRequest);
15302
0
        break;
15303
0
    case  25: /*Handoff To Third*/
15304
0
        offset = dissect_ansi_map_HandoffToThird(true, tvb, offset, actx, tree, hf_ansi_map_handoffToThird);
15305
0
        break;
15306
0
    case  26: /*Flash Request*/
15307
0
        offset = dissect_ansi_map_FlashRequest(true, tvb, offset, actx, tree, hf_ansi_map_flashRequest);
15308
0
        break;
15309
0
    case  27: /*Authentication Directive*/
15310
0
        offset = dissect_ansi_map_AuthenticationDirective(true, tvb, offset, actx, tree, hf_ansi_map_authenticationDirective);
15311
0
        break;
15312
0
    case  28: /*Authentication Request*/
15313
0
        offset = dissect_ansi_map_AuthenticationRequest(true, tvb, offset, actx, tree, hf_ansi_map_authenticationRequest);
15314
0
        break;
15315
0
    case  29: /*Base Station Challenge*/
15316
0
        offset = dissect_ansi_map_BaseStationChallenge(true, tvb, offset, actx, tree, hf_ansi_map_baseStationChallenge);
15317
0
        break;
15318
0
    case  30: /*Authentication Failure Report*/
15319
0
        offset = dissect_ansi_map_AuthenticationFailureReport(true, tvb, offset, actx, tree, hf_ansi_map_authenticationFailureReport);
15320
0
        break;
15321
0
    case  31: /*Count Request*/
15322
0
        offset = dissect_ansi_map_CountRequest(true, tvb, offset, actx, tree, hf_ansi_map_countRequest);
15323
0
        break;
15324
0
    case  32: /*Inter System Page*/
15325
0
        offset = dissect_ansi_map_InterSystemPage(true, tvb, offset, actx, tree, hf_ansi_map_interSystemPage);
15326
0
        break;
15327
0
    case  33: /*Unsolicited Response*/
15328
0
        offset = dissect_ansi_map_UnsolicitedResponse(true, tvb, offset, actx, tree, hf_ansi_map_unsolicitedResponse);
15329
0
        break;
15330
0
    case  34: /*Bulk Deregistration*/
15331
0
        offset = dissect_ansi_map_BulkDeregistration(true, tvb, offset, actx, tree, hf_ansi_map_bulkDeregistration);
15332
0
        break;
15333
0
    case  35: /*Handoff Measurement Request 2*/
15334
0
        offset = dissect_ansi_map_HandoffMeasurementRequest2(true, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequest2);
15335
0
        break;
15336
0
    case  36: /*Facilities Directive 2*/
15337
0
        offset = dissect_ansi_map_FacilitiesDirective2(true, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirective2);
15338
0
        break;
15339
0
    case  37: /*Handoff Back 2*/
15340
0
        offset = dissect_ansi_map_HandoffBack2(true, tvb, offset, actx, tree, hf_ansi_map_handoffBack2);
15341
0
        break;
15342
0
    case  38: /*Handoff To Third 2*/
15343
0
        offset = dissect_ansi_map_HandoffToThird2(true, tvb, offset, actx, tree, hf_ansi_map_handoffToThird2);
15344
0
        break;
15345
0
    case  39: /*Authentication Directive Forward*/
15346
0
        offset = dissect_ansi_map_AuthenticationDirectiveForward(true, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveForward);
15347
0
        break;
15348
0
    case  40: /*Authentication Status Report*/
15349
0
        offset = dissect_ansi_map_AuthenticationStatusReport(true, tvb, offset, actx, tree, hf_ansi_map_authenticationStatusReport);
15350
0
        break;
15351
0
    case  41: /*Reserved 41*/
15352
0
        proto_tree_add_expert_format_remaining(tree, actx->pinfo, &ei_ansi_map_unknown_invokeData_blob, tvb, offset, "Reserved 41, Unknown invokeData blob");
15353
0
        break;
15354
0
    case  42: /*Information Directive*/
15355
0
        offset = dissect_ansi_map_InformationDirective(true, tvb, offset, actx, tree, hf_ansi_map_informationDirective);
15356
0
        break;
15357
0
    case  43: /*Information Forward*/
15358
0
        offset = dissect_ansi_map_InformationForward(true, tvb, offset, actx, tree, hf_ansi_map_informationForward);
15359
0
        break;
15360
0
    case  44: /*Inter System Answer*/
15361
0
        offset = dissect_ansi_map_InterSystemAnswer(true, tvb, offset, actx, tree, hf_ansi_map_interSystemAnswer);
15362
0
        break;
15363
0
    case  45: /*Inter System Page 2*/
15364
0
        offset = dissect_ansi_map_InterSystemPage2(true, tvb, offset, actx, tree, hf_ansi_map_interSystemPage2);
15365
0
        break;
15366
0
    case  46: /*Inter System Setup*/
15367
0
        offset = dissect_ansi_map_InterSystemSetup(true, tvb, offset, actx, tree, hf_ansi_map_interSystemSetup);
15368
0
        break;
15369
0
    case  47: /*OriginationRequest*/
15370
0
        offset = dissect_ansi_map_OriginationRequest(true, tvb, offset, actx, tree, hf_ansi_map_originationRequest);
15371
0
        break;
15372
0
    case  48: /*Random Variable Request*/
15373
0
        offset = dissect_ansi_map_RandomVariableRequest(true, tvb, offset, actx, tree, hf_ansi_map_randomVariableRequest);
15374
0
        break;
15375
0
    case  49: /*Redirection Directive*/
15376
0
        offset = dissect_ansi_map_RedirectionDirective(true, tvb, offset, actx, tree, hf_ansi_map_redirectionDirective);
15377
0
        break;
15378
0
    case  50: /*Remote User Interaction Directive*/
15379
0
        offset = dissect_ansi_map_RemoteUserInteractionDirective(true, tvb, offset, actx, tree, hf_ansi_map_remoteUserInteractionDirective);
15380
0
        break;
15381
0
    case  51: /*SMS Delivery Backward*/
15382
0
        offset = dissect_ansi_map_SMSDeliveryBackward(true, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryBackward);
15383
0
        break;
15384
0
    case  52: /*SMS Delivery Forward*/
15385
0
        offset = dissect_ansi_map_SMSDeliveryForward(true, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryForward);
15386
0
        break;
15387
0
    case  53: /*SMS Delivery Point to Point*/
15388
0
        offset = dissect_ansi_map_SMSDeliveryPointToPoint(true, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryPointToPoint);
15389
0
        break;
15390
0
    case  54: /*SMS Notification*/
15391
0
        offset = dissect_ansi_map_SMSNotification(true, tvb, offset, actx, tree, hf_ansi_map_sMSNotification);
15392
0
        break;
15393
0
    case  55: /*SMS Request*/
15394
0
        offset = dissect_ansi_map_SMSRequest(true, tvb, offset, actx, tree, hf_ansi_map_sMSRequest);
15395
0
        break;
15396
        /* End N.S0005*/
15397
        /* N.S0010-0 v 1.0 */
15398
        /* N.S0011-0 v 1.0 */
15399
0
    case  56: /*OTASP Request 6.4.2.CC*/
15400
0
        offset = dissect_ansi_map_OTASPRequest(true, tvb, offset, actx, tree, hf_ansi_map_oTASPRequest);
15401
0
        break;
15402
        /*End N.S0011-0 v 1.0 */
15403
0
    case  57: /*Information Backward*/
15404
0
        break;
15405
        /*  N.S0008-0 v 1.0 */
15406
0
    case  58: /*Change Facilities*/
15407
0
        offset = dissect_ansi_map_ChangeFacilities(true, tvb, offset, actx, tree, hf_ansi_map_changeFacilities);
15408
0
        break;
15409
0
    case  59: /*Change Service*/
15410
0
        offset = dissect_ansi_map_ChangeService(true, tvb, offset, actx, tree, hf_ansi_map_changeService);
15411
0
        break;
15412
        /* End N.S0008-0 v 1.0 */
15413
0
    case  60: /*Parameter Request*/
15414
0
        offset = dissect_ansi_map_ParameterRequest(true, tvb, offset, actx, tree, hf_ansi_map_parameterRequest);
15415
0
        break;
15416
0
    case  61: /*TMSI Directive*/
15417
0
        offset = dissect_ansi_map_TMSIDirective(true, tvb, offset, actx, tree, hf_ansi_map_tMSIDirective);
15418
0
        break;
15419
        /*End  N.S0010-0 v 1.0 */
15420
0
    case  62: /*NumberPortabilityRequest 62*/
15421
0
        offset = dissect_ansi_map_NumberPortabilityRequest(true, tvb, offset, actx, tree, hf_ansi_map_numberPortabilityRequest);
15422
0
        break;
15423
0
    case  63: /*Service Request N.S0012-0 v 1.0*/
15424
0
        offset = dissect_ansi_map_ServiceRequest(true, tvb, offset, actx, tree, hf_ansi_map_serviceRequest);
15425
0
        break;
15426
        /* N.S0013 */
15427
0
    case  64: /*Analyzed Information Request*/
15428
0
        offset = dissect_ansi_map_AnalyzedInformation(true, tvb, offset, actx, tree, hf_ansi_map_analyzedInformation);
15429
0
        break;
15430
0
    case  65: /*Connection Failure Report*/
15431
0
        offset = dissect_ansi_map_ConnectionFailureReport(true, tvb, offset, actx, tree, hf_ansi_map_connectionFailureReport);
15432
0
        break;
15433
0
    case  66: /*Connect Resource*/
15434
0
        offset = dissect_ansi_map_ConnectResource(true, tvb, offset, actx, tree, hf_ansi_map_connectResource);
15435
0
        break;
15436
0
    case  67: /*Disconnect Resource*/
15437
        /* No data */
15438
0
        break;
15439
0
    case  68: /*Facility Selected and Available*/
15440
0
        offset = dissect_ansi_map_FacilitySelectedAndAvailable(true, tvb, offset, actx, tree, hf_ansi_map_facilitySelectedAndAvailable);
15441
0
        break;
15442
0
    case  69: /*Instruction Request*/
15443
        /* No data */
15444
0
        break;
15445
0
    case  70: /*Modify*/
15446
0
        offset = dissect_ansi_map_Modify(true, tvb, offset, actx, tree, hf_ansi_map_modify);
15447
0
        break;
15448
0
    case  71: /*Reset Timer*/
15449
        /*No Data*/
15450
0
        break;
15451
0
    case  72: /*Search*/
15452
0
        offset = dissect_ansi_map_Search(true, tvb, offset, actx, tree, hf_ansi_map_search);
15453
0
        break;
15454
0
    case  73: /*Seize Resource*/
15455
0
        offset = dissect_ansi_map_SeizeResource(true, tvb, offset, actx, tree, hf_ansi_map_seizeResource);
15456
0
        break;
15457
0
    case  74: /*SRF Directive*/
15458
0
        offset = dissect_ansi_map_SRFDirective(true, tvb, offset, actx, tree, hf_ansi_map_sRFDirective);
15459
0
        break;
15460
0
    case  75: /*T Busy*/
15461
0
        offset = dissect_ansi_map_TBusy(true, tvb, offset, actx, tree, hf_ansi_map_tBusy);
15462
0
        break;
15463
0
    case  76: /*T NoAnswer*/
15464
0
        offset = dissect_ansi_map_TNoAnswer(true, tvb, offset, actx, tree, hf_ansi_map_tNoAnswer);
15465
0
        break;
15466
        /*END N.S0013 */
15467
0
    case  77: /*Release*/
15468
0
        break;
15469
0
    case  78: /*SMS Delivery Point to Point Ack*/
15470
0
        offset = dissect_ansi_map_SMSDeliveryPointToPointAck(true, tvb, offset, actx, tree, hf_ansi_map_smsDeliveryPointToPointAck);
15471
0
        break;
15472
        /* N.S0024*/
15473
0
    case  79: /*Message Directive*/
15474
0
        offset = dissect_ansi_map_MessageDirective(true, tvb, offset, actx, tree, hf_ansi_map_messageDirective);
15475
0
        break;
15476
        /*END N.S0024*/
15477
        /* N.S0018 PN-4287*/
15478
0
    case  80: /*Bulk Disconnection*/
15479
0
        offset = dissect_ansi_map_BulkDisconnection(true, tvb, offset, actx, tree, hf_ansi_map_bulkDisconnection);
15480
0
        break;
15481
0
    case  81: /*Call Control Directive*/
15482
0
        offset = dissect_ansi_map_CallControlDirective(true, tvb, offset, actx, tree, hf_ansi_map_callControlDirective);
15483
0
        break;
15484
0
    case  82: /*O Answer*/
15485
0
        offset = dissect_ansi_map_OAnswer(true, tvb, offset, actx, tree, hf_ansi_map_oAnswer);
15486
0
        break;
15487
0
    case  83: /*O Disconnect*/
15488
0
        offset = dissect_ansi_map_ODisconnect(true, tvb, offset, actx, tree, hf_ansi_map_oDisconnect);
15489
0
        break;
15490
0
    case  84: /*Call Recovery Report*/
15491
0
        offset = dissect_ansi_map_CallRecoveryReport(true, tvb, offset, actx, tree, hf_ansi_map_callRecoveryReport);
15492
0
        break;
15493
0
    case  85: /*T Answer*/
15494
0
        offset = dissect_ansi_map_TAnswer(true, tvb, offset, actx, tree, hf_ansi_map_tAnswer);
15495
0
        break;
15496
0
    case  86: /*T Disconnect*/
15497
0
        offset = dissect_ansi_map_TDisconnect(true, tvb, offset, actx, tree, hf_ansi_map_tDisconnect);
15498
0
        break;
15499
0
    case  87: /*Unreliable Call Data*/
15500
0
        offset = dissect_ansi_map_UnreliableCallData(true, tvb, offset, actx, tree, hf_ansi_map_unreliableCallData);
15501
0
        break;
15502
        /* N.S0018 PN-4287*/
15503
        /*N.S0004 */
15504
0
    case  88: /*O CalledPartyBusy*/
15505
0
        offset = dissect_ansi_map_OCalledPartyBusy(true, tvb, offset, actx, tree, hf_ansi_map_oCalledPartyBusy);
15506
0
        break;
15507
0
    case  89: /*O NoAnswer*/
15508
0
        offset = dissect_ansi_map_ONoAnswer(true, tvb, offset, actx, tree, hf_ansi_map_oNoAnswer);
15509
0
        break;
15510
0
    case  90: /*Position Request*/
15511
0
        offset = dissect_ansi_map_PositionRequest(true, tvb, offset, actx, tree, hf_ansi_map_positionRequest);
15512
0
        break;
15513
0
    case  91: /*Position Request Forward*/
15514
0
        offset = dissect_ansi_map_PositionRequestForward(true, tvb, offset, actx, tree, hf_ansi_map_positionRequestForward);
15515
0
        break;
15516
        /*END N.S0004 */
15517
0
    case  92: /*Call Termination Report*/
15518
0
        offset = dissect_ansi_map_CallTerminationReport(true, tvb, offset, actx, tree, hf_ansi_map_callTerminationReport);
15519
0
        break;
15520
0
    case  93: /*Geo Position Directive*/
15521
0
        break;
15522
0
    case  94: /*Geo Position Request*/
15523
0
        offset = dissect_ansi_map_GeoPositionRequest(true, tvb, offset, actx, tree, hf_ansi_map_geoPositionRequest);
15524
0
        break;
15525
0
    case  95: /*Inter System Position Request*/
15526
0
        offset = dissect_ansi_map_InterSystemPositionRequest(true, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequest);
15527
0
        break;
15528
0
    case  96: /*Inter System Position Request Forward*/
15529
0
        offset = dissect_ansi_map_InterSystemPositionRequestForward(true, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequestForward);
15530
0
        break;
15531
        /* 3GPP2 N.S0023-0 */
15532
0
    case  97: /*ACG Directive*/
15533
0
        offset = dissect_ansi_map_ACGDirective(true, tvb, offset, actx, tree, hf_ansi_map_aCGDirective);
15534
0
        break;
15535
        /* END 3GPP2 N.S0023-0 */
15536
0
    case  98: /*Roamer Database Verification Request*/
15537
0
        offset = dissect_ansi_map_RoamerDatabaseVerificationRequest(true, tvb, offset, actx, tree, hf_ansi_map_roamerDatabaseVerificationRequest);
15538
0
        break;
15539
        /* N.S0029 X.S0001-A v1.0*/
15540
0
    case  99: /*Add Service*/
15541
0
        offset = dissect_ansi_map_AddService(true, tvb, offset, actx, tree, hf_ansi_map_addService);
15542
0
        break;
15543
0
    case  100: /*Drop Service*/
15544
0
        offset = dissect_ansi_map_DropService(true, tvb, offset, actx, tree, hf_ansi_map_dropService);
15545
0
        break;
15546
        /*End N.S0029 X.S0001-A v1.0*/
15547
        /* X.S0002-0 v1.0 */
15548
        /* LCSParameterRequest */
15549
0
    case 101:    /* InterSystemSMSPage 101 */
15550
0
        offset = dissect_ansi_map_InterSystemSMSPage(true, tvb, offset, actx, tree, hf_ansi_map_interSystemSMSPage);
15551
0
        break;
15552
0
    case 102:
15553
0
        offset = dissect_ansi_map_LCSParameterRequest(true, tvb, offset, actx, tree, hf_ansi_map_lcsParameterRequest);
15554
0
        break;
15555
        /* CheckMEID X.S0008-0 v1.0*/
15556
0
    case 104:
15557
0
        offset = dissect_ansi_map_CheckMEID(true, tvb, offset, actx, tree, hf_ansi_map_checkMEID);
15558
0
        break;
15559
        /* PositionEventNotification */
15560
0
    case 106:
15561
0
        offset = dissect_ansi_map_PositionEventNotification(true, tvb, offset, actx, tree, hf_ansi_map_positionEventNotification);
15562
0
        break;
15563
0
    case 107:
15564
        /* StatusRequest X.S0008-0 v1.0*/
15565
0
        offset = dissect_ansi_map_StatusRequest(true, tvb, offset, actx, tree, hf_ansi_map_statusRequest);
15566
0
        break;
15567
        /* InterSystemSMSDelivery-PointToPoint 111 X.S0004-540-E v2.0*/
15568
0
    case 111:
15569
        /* InterSystemSMSDeliveryPointToPoint X.S0004-540-E v2.0 */
15570
0
        offset = dissect_ansi_map_InterSystemSMSDeliveryPointToPoint(true, tvb, offset, actx, tree, hf_ansi_map_interSystemSMSDeliveryPointToPoint);
15571
0
        break;
15572
0
    case 112:
15573
        /* QualificationRequest2 112 X.S0004-540-E v2.0*/
15574
0
        offset = dissect_ansi_map_QualificationRequest2(true, tvb, offset, actx, tree, hf_ansi_map_qualificationRequest2);
15575
0
        break;
15576
0
    default:
15577
0
        proto_tree_add_expert_remaining(tree, actx->pinfo, &ei_ansi_map_unknown_invokeData_blob, tvb, offset);
15578
0
        opCodeKnown = false;
15579
0
        break;
15580
0
    }
15581
15582
0
    if (opCodeKnown)
15583
0
    {
15584
0
        tap_p->message_type = OperationCode;
15585
0
        tap_p->size = 0;    /* should be number of octets in message */
15586
15587
0
        tap_queue_packet(ansi_map_tap, g_pinfo, tap_p);
15588
0
    }
15589
15590
0
    return offset;
15591
0
}
15592
15593
0
static unsigned dissect_returnData(proto_tree *tree, tvbuff_t *tvb, unsigned offset, asn1_ctx_t *actx) {
15594
0
    static bool                   opCodeKnown = true;
15595
0
    static ansi_map_tap_rec_t     tap_rec[16];
15596
0
    static ansi_map_tap_rec_t     *tap_p;
15597
0
    static int                    tap_current=0;
15598
15599
    /*
15600
     * set tap record pointer
15601
     */
15602
0
    tap_current++;
15603
0
    if (tap_current == array_length(tap_rec))
15604
0
    {
15605
0
        tap_current = 0;
15606
0
    }
15607
0
    tap_p = &tap_rec[tap_current];
15608
15609
0
    switch(OperationCode){
15610
0
    case 1: /*Handoff Measurement Request*/
15611
0
        offset = dissect_ansi_map_HandoffMeasurementRequestRes(true, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequestRes);
15612
0
        break;
15613
0
    case 2: /*Facilities Directive*/
15614
0
        offset = dissect_ansi_map_FacilitiesDirectiveRes(true, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirectiveRes);
15615
0
        break;
15616
0
    case 4: /*Handoff Back*/
15617
0
        offset = dissect_ansi_map_HandoffBackRes(true, tvb, offset, actx, tree, hf_ansi_map_handoffBackRes);
15618
0
        break;
15619
0
    case 5: /*Facilities Release*/
15620
0
        offset = dissect_ansi_map_FacilitiesReleaseRes(true, tvb, offset, actx, tree, hf_ansi_map_facilitiesReleaseRes);
15621
0
        break;
15622
0
    case 6: /*Qualification Request*/
15623
0
        offset = dissect_ansi_map_QualificationRequestRes(true, tvb, offset, actx, tree, hf_ansi_map_qualificationRequestRes);
15624
0
        break;
15625
0
    case 7: /*Qualification Directive*/
15626
0
        offset = dissect_ansi_map_QualificationDirectiveRes(true, tvb, offset, actx, tree, hf_ansi_map_qualificationDirectiveRes);
15627
0
        break;
15628
0
    case 10: /*Reset Circuit*/
15629
0
        offset = dissect_ansi_map_ResetCircuitRes(true, tvb, offset, actx, tree, hf_ansi_map_resetCircuitRes);
15630
0
        break;
15631
0
    case 13: /*Registration Notification*/
15632
0
        offset = dissect_ansi_map_RegistrationNotificationRes(true, tvb, offset, actx, tree, hf_ansi_map_registrationNotificationRes);
15633
0
        break;
15634
0
    case  14: /*Registration Cancellation*/
15635
0
        offset = dissect_ansi_map_RegistrationCancellationRes(true, tvb, offset, actx, tree, hf_ansi_map_registrationCancellationRes);
15636
0
        break;
15637
0
    case  15: /*Location Request*/
15638
0
        offset = dissect_ansi_map_LocationRequestRes(true, tvb, offset, actx, tree, hf_ansi_map_locationRequestRes);
15639
0
        break;
15640
0
    case  16: /*Routing Request*/
15641
0
        offset = dissect_ansi_map_RoutingRequestRes(true, tvb, offset, actx, tree, hf_ansi_map_routingRequestRes);
15642
0
        break;
15643
0
    case  17: /*Feature Request*/
15644
0
        offset = dissect_ansi_map_FeatureRequestRes(true, tvb, offset, actx, tree, hf_ansi_map_featureRequestRes);
15645
0
        break;
15646
0
    case  23: /*Transfer To Number Request*/
15647
0
        offset = dissect_ansi_map_TransferToNumberRequestRes(true, tvb, offset, actx, tree, hf_ansi_map_transferToNumberRequestRes);
15648
0
        break;
15649
0
    case  25: /*Handoff To Third*/
15650
0
        offset = dissect_ansi_map_HandoffToThirdRes(true, tvb, offset, actx, tree, hf_ansi_map_handoffToThirdRes);
15651
0
        break;
15652
0
    case  26: /*Flash Request*/
15653
        /* No data */
15654
0
        proto_tree_add_expert_remaining(tree, actx->pinfo, &ei_ansi_map_no_data, tvb, offset);
15655
0
        break;
15656
0
    case  27: /*Authentication Directive*/
15657
0
        offset = dissect_ansi_map_AuthenticationDirectiveRes(true, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveRes);
15658
0
        break;
15659
0
    case  28: /*Authentication Request*/
15660
0
        offset = dissect_ansi_map_AuthenticationRequestRes(true, tvb, offset, actx, tree, hf_ansi_map_authenticationRequestRes);
15661
0
        break;
15662
0
    case  29: /*Base Station Challenge*/
15663
0
        offset = dissect_ansi_map_BaseStationChallengeRes(true, tvb, offset, actx, tree, hf_ansi_map_baseStationChallengeRes);
15664
0
        break;
15665
0
    case  30: /*Authentication Failure Report*/
15666
0
        offset = dissect_ansi_map_AuthenticationFailureReportRes(true, tvb, offset, actx, tree, hf_ansi_map_authenticationFailureReportRes);
15667
0
        break;
15668
0
    case  31: /*Count Request*/
15669
0
        offset = dissect_ansi_map_CountRequestRes(true, tvb, offset, actx, tree, hf_ansi_map_countRequestRes);
15670
0
        break;
15671
0
    case  32: /*Inter System Page*/
15672
0
        offset = dissect_ansi_map_InterSystemPageRes(true, tvb, offset, actx, tree, hf_ansi_map_interSystemPageRes);
15673
0
        break;
15674
0
    case  33: /*Unsolicited Response*/
15675
0
        offset = dissect_ansi_map_UnsolicitedResponseRes(true, tvb, offset, actx, tree, hf_ansi_map_unsolicitedResponseRes);
15676
0
        break;
15677
0
    case  35: /*Handoff Measurement Request 2*/
15678
0
        offset = dissect_ansi_map_HandoffMeasurementRequest2Res(true, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequest2Res);
15679
0
        break;
15680
0
    case  36: /*Facilities Directive 2*/
15681
0
        offset = dissect_ansi_map_FacilitiesDirective2Res(true, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirective2Res);
15682
0
        break;
15683
0
    case  37: /*Handoff Back 2*/
15684
0
        offset = dissect_ansi_map_HandoffBack2Res(true, tvb, offset, actx, tree, hf_ansi_map_handoffBack2Res);
15685
0
        break;
15686
0
    case  38: /*Handoff To Third 2*/
15687
0
        offset = dissect_ansi_map_HandoffToThird2Res(true, tvb, offset, actx, tree, hf_ansi_map_handoffToThird2Res);
15688
0
        break;
15689
0
    case  39: /*Authentication Directive Forward*/
15690
0
        offset = dissect_ansi_map_AuthenticationDirectiveForwardRes(true, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveForwardRes);
15691
0
        break;
15692
0
    case  40: /*Authentication Status Report*/
15693
0
        offset = dissect_ansi_map_AuthenticationStatusReportRes(true, tvb, offset, actx, tree, hf_ansi_map_authenticationStatusReportRes);
15694
0
        break;
15695
        /*Reserved 41*/
15696
0
    case  42: /*Information Directive*/
15697
0
        offset = dissect_ansi_map_InformationDirectiveRes(true, tvb, offset, actx, tree, hf_ansi_map_informationDirectiveRes);
15698
0
        break;
15699
0
    case  43: /*Information Forward*/
15700
0
        offset = dissect_ansi_map_InformationForwardRes(true, tvb, offset, actx, tree, hf_ansi_map_informationForwardRes);
15701
0
        break;
15702
0
    case  45: /*Inter System Page 2*/
15703
0
        offset = dissect_ansi_map_InterSystemPage2Res(true, tvb, offset, actx, tree, hf_ansi_map_interSystemPage2Res);
15704
0
        break;
15705
0
    case  46: /*Inter System Setup*/
15706
0
        offset = dissect_ansi_map_InterSystemSetupRes(true, tvb, offset, actx, tree, hf_ansi_map_interSystemSetupRes);
15707
0
        break;
15708
0
    case  47: /*OriginationRequest*/
15709
0
        offset = dissect_ansi_map_OriginationRequestRes(true, tvb, offset, actx, tree, hf_ansi_map_originationRequestRes);
15710
0
        break;
15711
0
    case  48: /*Random Variable Request*/
15712
0
        offset = dissect_ansi_map_RandomVariableRequestRes(true, tvb, offset, actx, tree, hf_ansi_map_randomVariableRequestRes);
15713
0
        break;
15714
0
    case  50: /*Remote User Interaction Directive*/
15715
0
        offset = dissect_ansi_map_RemoteUserInteractionDirectiveRes(true, tvb, offset, actx, tree, hf_ansi_map_remoteUserInteractionDirectiveRes);
15716
0
        break;
15717
0
    case  51: /*SMS Delivery Backward*/
15718
0
        offset = dissect_ansi_map_SMSDeliveryBackwardRes(true, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryBackwardRes);
15719
0
        break;
15720
0
    case  52: /*SMS Delivery Forward*/
15721
0
        offset = dissect_ansi_map_SMSDeliveryForwardRes(true, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryForwardRes);
15722
0
        break;
15723
0
    case  53: /*SMS Delivery Point to Point*/
15724
0
        offset = dissect_ansi_map_SMSDeliveryPointToPointRes(true, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryPointToPointRes);
15725
0
        break;
15726
0
    case  54: /*SMS Notification*/
15727
0
        offset = dissect_ansi_map_SMSNotificationRes(true, tvb, offset, actx, tree, hf_ansi_map_sMSNotificationRes);
15728
0
        break;
15729
0
    case  55: /*SMS Request*/
15730
0
        offset = dissect_ansi_map_SMSRequestRes(true, tvb, offset, actx, tree, hf_ansi_map_sMSRequestRes);
15731
0
        break;
15732
        /*  N.S0008-0 v 1.0 */
15733
0
    case  56: /*OTASP Request 6.4.2.CC*/
15734
0
        offset = dissect_ansi_map_OTASPRequestRes(true, tvb, offset, actx, tree, hf_ansi_map_oTASPRequestRes);
15735
0
        break;
15736
    /* 57 Information Backward*/
15737
0
    case  58: /*Change Facilities*/
15738
0
        offset = dissect_ansi_map_ChangeFacilitiesRes(true, tvb, offset, actx, tree, hf_ansi_map_changeFacilitiesRes);
15739
0
        break;
15740
0
    case  59: /*Change Service*/
15741
0
        offset = dissect_ansi_map_ChangeServiceRes(true, tvb, offset, actx, tree, hf_ansi_map_changeServiceRes);
15742
0
        break;
15743
0
    case  60: /*Parameter Request*/
15744
0
        offset = dissect_ansi_map_ParameterRequestRes(true, tvb, offset, actx, tree, hf_ansi_map_parameterRequestRes);
15745
0
        break;
15746
0
    case  61: /*TMSI Directive*/
15747
0
        offset = dissect_ansi_map_TMSIDirectiveRes(true, tvb, offset, actx, tree, hf_ansi_map_tMSIDirectiveRes);
15748
0
        break;
15749
0
    case  62: /*NumberPortabilityRequest */
15750
0
        offset = dissect_ansi_map_NumberPortabilityRequestRes(true, tvb, offset, actx, tree, hf_ansi_map_numberPortabilityRequestRes);
15751
0
        break;
15752
0
    case  63: /*Service Request*/
15753
0
        offset = dissect_ansi_map_ServiceRequestRes(true, tvb, offset, actx, tree, hf_ansi_map_serviceRequestRes);
15754
0
        break;
15755
        /* N.S0013 */
15756
0
    case  64: /*Analyzed Information Request*/
15757
0
        offset = dissect_ansi_map_AnalyzedInformationRes(true, tvb, offset, actx, tree, hf_ansi_map_analyzedInformationRes);
15758
0
        break;
15759
    /* 65 Connection Failure Report*/
15760
    /* 66 Connect Resource*/
15761
    /* 67 Disconnect Resource*/
15762
0
    case  68: /*Facility Selected and Available*/
15763
0
        offset = dissect_ansi_map_FacilitySelectedAndAvailableRes(true, tvb, offset, actx, tree, hf_ansi_map_facilitySelectedAndAvailableRes);
15764
0
        break;
15765
    /* 69 Instruction Request*/
15766
0
    case  70: /*Modify*/
15767
0
        offset = dissect_ansi_map_ModifyRes(true, tvb, offset, actx, tree, hf_ansi_map_modifyRes);
15768
0
        break;
15769
0
    case  72: /*Search*/
15770
0
        offset = dissect_ansi_map_SearchRes(true, tvb, offset, actx, tree, hf_ansi_map_searchRes);
15771
0
        break;
15772
0
    case  73: /*Seize Resource*/
15773
0
        offset = dissect_ansi_map_SeizeResourceRes(true, tvb, offset, actx, tree, hf_ansi_map_seizeResourceRes);
15774
0
        break;
15775
0
    case  74: /*SRF Directive*/
15776
0
        offset = dissect_ansi_map_SRFDirectiveRes(true, tvb, offset, actx, tree, hf_ansi_map_sRFDirectiveRes);
15777
0
        break;
15778
0
    case  75: /*T Busy*/
15779
0
        offset = dissect_ansi_map_TBusyRes(true, tvb, offset, actx, tree, hf_ansi_map_tBusyRes);
15780
0
        break;
15781
0
    case  76: /*T NoAnswer*/
15782
0
        offset = dissect_ansi_map_TNoAnswerRes(true, tvb, offset, actx, tree, hf_ansi_map_tNoAnswerRes);
15783
0
        break;
15784
0
    case  81: /*Call Control Directive*/
15785
0
        offset = dissect_ansi_map_CallControlDirectiveRes(true, tvb, offset, actx, tree, hf_ansi_map_callControlDirectiveRes);
15786
0
        break;
15787
0
    case  83: /*O Disconnect*/
15788
0
        offset = dissect_ansi_map_ODisconnectRes(true, tvb, offset, actx, tree, hf_ansi_map_oDisconnectRes);
15789
0
        break;
15790
0
    case  86: /*T Disconnect*/
15791
0
        offset = dissect_ansi_map_TDisconnectRes(true, tvb, offset, actx, tree, hf_ansi_map_tDisconnectRes);
15792
0
        break;
15793
0
    case  88: /*O CalledPartyBusy*/
15794
0
        offset = dissect_ansi_map_OCalledPartyBusyRes(true, tvb, offset, actx, tree, hf_ansi_map_oCalledPartyBusyRes);
15795
0
        break;
15796
0
    case  89: /*O NoAnswer*/
15797
0
        offset = dissect_ansi_map_ONoAnswerRes(true, tvb, offset, actx, tree, hf_ansi_map_oNoAnswerRes);
15798
0
        break;
15799
0
    case  90: /*Position Request*/
15800
0
        offset = dissect_ansi_map_PositionRequestRes(true, tvb, offset, actx, tree, hf_ansi_map_positionRequestRes);
15801
0
        break;
15802
0
    case  91: /*Position Request Forward*/
15803
0
        offset = dissect_ansi_map_PositionRequestForwardRes(true, tvb, offset, actx, tree, hf_ansi_map_positionRequestForwardRes);
15804
0
        break;
15805
0
    case  95: /*Inter System Position Request*/
15806
0
        offset = dissect_ansi_map_InterSystemPositionRequestRes(true, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequestRes);
15807
0
        break;
15808
0
    case  96: /*Inter System Position Request Forward*/
15809
0
        offset = dissect_ansi_map_InterSystemPositionRequestForwardRes(true, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequestForwardRes);
15810
0
        break;
15811
0
    case  98: /*Roamer Database Verification Request*/
15812
0
        offset = dissect_ansi_map_RoamerDatabaseVerificationRequestRes(true, tvb, offset, actx, tree, hf_ansi_map_roamerDatabaseVerificationRequestRes);
15813
0
        break;
15814
0
    case  99: /*Add Service*/
15815
0
        offset = dissect_ansi_map_AddServiceRes(true, tvb, offset, actx, tree, hf_ansi_map_addServiceRes);
15816
0
        break;
15817
0
    case  100: /*Drop Service*/
15818
0
        offset = dissect_ansi_map_DropServiceRes(true, tvb, offset, actx, tree, hf_ansi_map_dropServiceRes);
15819
0
        break;
15820
        /*End N.S0029 */
15821
        /* X.S0002-0 v1.0 */
15822
        /* LCSParameterRequest */
15823
0
    case 102:
15824
0
        offset = dissect_ansi_map_LCSParameterRequestRes(true, tvb, offset, actx, tree, hf_ansi_map_lcsParameterRequestRes);
15825
0
        break;
15826
        /* CheckMEID X.S0008-0 v1.0*/
15827
0
    case 104:
15828
0
        offset = dissect_ansi_map_CheckMEIDRes(true, tvb, offset, actx, tree, hf_ansi_map_checkMEIDRes);
15829
0
        break;
15830
        /* PositionEventNotification *
15831
           case 106:
15832
           offset = dissect_ansi_map_PositionEventNotification(true, tvb, offset, actx, tree, hf_ansi_map_positionEventNotificationRes);
15833
           break;
15834
        */
15835
0
    case 107:
15836
        /* StatusRequest X.S0008-0 v1.0*/
15837
0
        offset = dissect_ansi_map_StatusRequestRes(true, tvb, offset, actx, tree, hf_ansi_map_statusRequestRes);
15838
0
        break;
15839
0
    case 111:
15840
        /* InterSystemSMSDeliveryPointToPointRes X.S0004-540-E v2.0 */
15841
0
        offset = dissect_ansi_map_InterSystemSMSDeliveryPointToPointRes(true, tvb, offset, actx, tree, hf_ansi_map_interSystemSMSDeliveryPointToPointRes);
15842
0
        break;
15843
0
    case 112:
15844
        /* QualificationRequest2Res 112 X.S0004-540-E v2.0*/
15845
0
        offset = dissect_ansi_map_QualificationRequest2Res(true, tvb, offset, actx, tree, hf_ansi_map_qualificationRequest2Res);
15846
0
        break;
15847
0
    default:
15848
0
        proto_tree_add_expert_remaining(tree, actx->pinfo, &ei_ansi_map_unknown_invokeData_blob, tvb, offset);
15849
0
        opCodeKnown = false;
15850
0
        break;
15851
0
    }
15852
15853
0
    if (opCodeKnown)
15854
0
    {
15855
0
        tap_p->message_type = OperationCode;
15856
0
        tap_p->size = 0;    /* should be number of octets in message */
15857
15858
0
        tap_queue_packet(ansi_map_tap, g_pinfo, tap_p);
15859
0
    }
15860
15861
0
    return offset;
15862
0
}
15863
15864
static int
15865
0
find_saved_invokedata(asn1_ctx_t *actx, struct ansi_tcap_private_t *p_private_tcap){
15866
0
    struct ansi_map_invokedata_t *ansi_map_saved_invokedata;
15867
0
    address* src = &(actx->pinfo->src);
15868
0
    address* dst = &(actx->pinfo->dst);
15869
0
    const char *src_str;
15870
0
    const char *dst_str;
15871
0
    char *buf;
15872
15873
0
    buf=(char *)wmem_alloc(actx->pinfo->pool, 1024);
15874
15875
    /* Data from the TCAP dissector */
15876
    /* The hash string needs to contain src and dest to distinguish different flows */
15877
0
    src_str = address_to_str(actx->pinfo->pool, src);
15878
0
    dst_str = address_to_str(actx->pinfo->pool, dst);
15879
    /* Reverse order to invoke */
15880
0
    switch(ansi_map_response_matching_type){
15881
0
        case ANSI_MAP_TID_ONLY:
15882
0
            snprintf(buf,1024,"%s",p_private_tcap->TransactionID_str);
15883
0
            break;
15884
0
        case ANSI_MAP_TID_AND_SOURCE:
15885
0
            snprintf(buf,1024,"%s%s",p_private_tcap->TransactionID_str,dst_str);
15886
0
            break;
15887
0
        case ANSI_MAP_TID_SOURCE_AND_DEST:
15888
0
        default:
15889
0
            snprintf(buf,1024,"%s%s%s",p_private_tcap->TransactionID_str,dst_str,src_str);
15890
0
            break;
15891
0
    }
15892
15893
    /*ws_warning("Find Hash string %s pkt: %u",buf,actx->pinfo->num);*/
15894
0
    ansi_map_saved_invokedata = (struct ansi_map_invokedata_t *)wmem_multimap_lookup32_le(TransactionId_table, buf, actx->pinfo->num);
15895
0
    if(ansi_map_saved_invokedata){
15896
0
        OperationCode = ansi_map_saved_invokedata->opcode & 0xff;
15897
0
        ServiceIndicator = ansi_map_saved_invokedata->ServiceIndicator;
15898
0
    }else{
15899
0
        OperationCode = OperationCode & 0x00ff;
15900
0
    }
15901
15902
0
    return OperationCode;
15903
0
}
15904
15905
static int
15906
dissect_ansi_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
15907
0
{
15908
0
    proto_item *ansi_map_item;
15909
0
    proto_tree *ansi_map_tree = NULL;
15910
0
    struct ansi_tcap_private_t *p_private_tcap = (struct ansi_tcap_private_t *)data;
15911
0
    asn1_ctx_t asn1_ctx;
15912
0
    asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
15913
15914
0
    SMS_BearerData_tvb = NULL;
15915
0
    ansi_map_sms_tele_id = -1;
15916
0
    g_pinfo = pinfo;
15917
0
    g_tree = tree;
15918
15919
    /* The TCAP dissector should have provided data but didn't so reject it. */
15920
0
    if (data == NULL)
15921
0
        return 0;
15922
    /*
15923
     * Make entry in the Protocol column on summary display
15924
     */
15925
0
    col_set_str(pinfo->cinfo, COL_PROTOCOL, "ANSI MAP");
15926
15927
    /*
15928
     * create the ansi_map protocol tree
15929
     */
15930
0
    ansi_map_item = proto_tree_add_item(tree, proto_ansi_map, tvb, 0, -1, ENC_NA);
15931
0
    ansi_map_tree = proto_item_add_subtree(ansi_map_item, ett_ansi_map);
15932
0
    ansi_map_is_invoke = false;
15933
0
    is683_ota = false;
15934
0
    is801_pld = false;
15935
0
    ServiceIndicator = 0;
15936
15937
0
    switch(p_private_tcap->d.pdu){
15938
        /*
15939
           1 : invoke,
15940
           2 : returnResult,
15941
           3 : returnError,
15942
           4 : reject
15943
        */
15944
0
    case 1:
15945
0
        OperationCode = p_private_tcap->d.OperationCode_private & 0x00ff;
15946
0
        ansi_map_is_invoke = true;
15947
0
        col_add_fstr(pinfo->cinfo, COL_INFO,"%s Invoke ", val_to_str_ext(pinfo->pool, OperationCode, &ansi_map_opr_code_strings_ext, "Unknown ANSI-MAP PDU (%u)"));
15948
0
        proto_item_append_text(p_private_tcap->d.OperationCode_item," %s",val_to_str_ext(pinfo->pool, OperationCode, &ansi_map_opr_code_strings_ext, "Unknown ANSI-MAP PDU (%u)"));
15949
0
        dissect_invokeData(ansi_map_tree, tvb, 0, &asn1_ctx);
15950
0
        update_saved_invokedata(pinfo, p_private_tcap);
15951
0
        break;
15952
0
    case 2:
15953
0
        OperationCode = find_saved_invokedata(&asn1_ctx, p_private_tcap);
15954
0
        col_add_fstr(pinfo->cinfo, COL_INFO,"%s ReturnResult ", val_to_str_ext(pinfo->pool, OperationCode, &ansi_map_opr_code_strings_ext, "Unknown ANSI-MAP PDU (%u)"));
15955
0
        proto_item_append_text(p_private_tcap->d.OperationCode_item," %s",val_to_str_ext(pinfo->pool, OperationCode, &ansi_map_opr_code_strings_ext, "Unknown ANSI-MAP PDU (%u)"));
15956
0
        dissect_returnData(ansi_map_tree, tvb, 0, &asn1_ctx);
15957
0
        break;
15958
0
    case 3:
15959
0
        col_add_fstr(pinfo->cinfo, COL_INFO,"%s ReturnError ", val_to_str_ext(pinfo->pool, OperationCode, &ansi_map_opr_code_strings_ext, "Unknown ANSI-MAP PDU (%u)"));
15960
0
        break;
15961
0
    case 4:
15962
0
        col_add_fstr(pinfo->cinfo, COL_INFO,"%s Reject ", val_to_str_ext(pinfo->pool, OperationCode, &ansi_map_opr_code_strings_ext, "Unknown ANSI-MAP PDU (%u)"));
15963
0
        break;
15964
0
    default:
15965
        /* Must be Invoke ReturnResult ReturnError or Reject */
15966
0
        DISSECTOR_ASSERT_NOT_REACHED();
15967
0
        break;
15968
0
    }
15969
15970
0
    return tvb_captured_length(tvb);
15971
0
}
15972
15973
static void range_delete_callback(uint32_t ssn, void *ptr _U_)
15974
0
{
15975
0
    if (ssn) {
15976
0
        delete_ansi_tcap_subdissector(ssn, ansi_map_handle);
15977
0
    }
15978
0
}
15979
15980
static void range_add_callback(uint32_t ssn, void *ptr _U_)
15981
160
{
15982
160
    if (ssn) {
15983
160
        add_ansi_tcap_subdissector(ssn, ansi_map_handle);
15984
160
    }
15985
160
}
15986
15987
/* TAP STAT INFO */
15988
typedef enum
15989
{
15990
    OPCODE_COLUMN = 0,
15991
    OPERATION_COLUMN,
15992
    COUNT_COLUMN,
15993
    TOTAL_BYTES_COLUMN,
15994
    AVG_BYTES_COLUMN
15995
} ansi_map_stat_columns;
15996
15997
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"},
15998
        {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "Count", "  %d  "}, {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "Total Bytes", "  %d  "},
15999
        {TABLE_ITEM_FLOAT, TAP_ALIGN_RIGHT, "Avg Bytes", "  %8.2f  "}};
16000
16001
static void ansi_map_stat_init(stat_tap_table_ui* new_stat)
16002
0
{
16003
0
    const char *table_name = "ANSI MAP Operation Statistics";
16004
0
    unsigned num_fields = array_length(stat_fields);
16005
0
    stat_tap_table *table;
16006
0
    unsigned i = 0;
16007
0
    stat_tap_table_item_type items[array_length(stat_fields)];
16008
16009
0
    table = stat_tap_find_table(new_stat, table_name);
16010
0
    if (table) {
16011
0
        if (new_stat->stat_tap_reset_table_cb) {
16012
0
            new_stat->stat_tap_reset_table_cb(table);
16013
0
        }
16014
0
        return;
16015
0
    }
16016
16017
0
    table = stat_tap_init_table(table_name, num_fields, 0, "ansi_map.op_code");
16018
0
    stat_tap_add_table(new_stat, table);
16019
16020
0
    memset(items, 0, sizeof(items));
16021
    /* Add a row for each value type */
16022
0
    while (ansi_map_opr_code_strings[i].strptr)
16023
0
    {
16024
0
        items[OPCODE_COLUMN].type = TABLE_ITEM_UINT;
16025
0
        items[OPCODE_COLUMN].value.uint_value = ansi_map_opr_code_strings[i].value;
16026
0
        items[OPERATION_COLUMN].type = TABLE_ITEM_STRING;
16027
0
        items[OPERATION_COLUMN].value.string_value = ansi_map_opr_code_strings[i].strptr;
16028
0
        items[COUNT_COLUMN].type = TABLE_ITEM_UINT;
16029
0
        items[COUNT_COLUMN].value.uint_value = 0;
16030
0
        items[TOTAL_BYTES_COLUMN].type = TABLE_ITEM_UINT;
16031
0
        items[TOTAL_BYTES_COLUMN].value.uint_value = 0;
16032
0
        items[AVG_BYTES_COLUMN].type = TABLE_ITEM_FLOAT;
16033
0
        items[AVG_BYTES_COLUMN].value.float_value = 0.0f;
16034
16035
0
        stat_tap_init_table_row(table, ansi_map_opr_code_strings[i].value, num_fields, items);
16036
0
        i++;
16037
0
    }
16038
0
}
16039
16040
16041
static tap_packet_status
16042
ansi_map_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *data, tap_flags_t flags _U_)
16043
0
{
16044
0
    stat_data_t* stat_data = (stat_data_t*)tapdata;
16045
0
    const ansi_map_tap_rec_t    *data_p = (const ansi_map_tap_rec_t *)data;
16046
0
    stat_tap_table* table;
16047
0
    stat_tap_table_item_type* item_data;
16048
0
    unsigned count, total_bytes;
16049
16050
    /* Only tracking field values we know */
16051
0
    if (try_val_to_str(data_p->message_type, ansi_map_opr_code_strings) == NULL)
16052
0
        return TAP_PACKET_DONT_REDRAW;
16053
16054
0
    table = g_array_index(stat_data->stat_tap_data->tables, stat_tap_table*, 0);
16055
16056
0
    item_data = stat_tap_get_field_data(table, data_p->message_type, COUNT_COLUMN);
16057
0
    item_data->value.uint_value++;
16058
0
    count = item_data->value.uint_value;
16059
0
    stat_tap_set_field_data(table, data_p->message_type, COUNT_COLUMN, item_data);
16060
16061
0
    item_data = stat_tap_get_field_data(table, data_p->message_type, TOTAL_BYTES_COLUMN);
16062
0
    item_data->value.uint_value += data_p->size;
16063
0
    total_bytes = item_data->value.uint_value;
16064
0
    stat_tap_set_field_data(table, data_p->message_type, TOTAL_BYTES_COLUMN, item_data);
16065
16066
0
    item_data = stat_tap_get_field_data(table, data_p->message_type, AVG_BYTES_COLUMN);
16067
0
    item_data->value.float_value = (float)total_bytes/(float)count;
16068
0
    stat_tap_set_field_data(table, data_p->message_type, AVG_BYTES_COLUMN, item_data);
16069
16070
0
    return TAP_PACKET_REDRAW;
16071
0
}
16072
16073
static void
16074
ansi_map_stat_reset(stat_tap_table* table)
16075
0
{
16076
0
    unsigned element;
16077
0
    stat_tap_table_item_type* item_data;
16078
16079
0
    for (element = 0; element < table->num_elements; element++)
16080
0
    {
16081
0
        item_data = stat_tap_get_field_data(table, element, COUNT_COLUMN);
16082
0
        item_data->value.uint_value = 0;
16083
0
        stat_tap_set_field_data(table, element, COUNT_COLUMN, item_data);
16084
16085
0
        item_data = stat_tap_get_field_data(table, element, TOTAL_BYTES_COLUMN);
16086
0
        item_data->value.uint_value = 0;
16087
0
        stat_tap_set_field_data(table, element, TOTAL_BYTES_COLUMN, item_data);
16088
16089
0
        item_data = stat_tap_get_field_data(table, element, AVG_BYTES_COLUMN);
16090
0
        item_data->value.float_value = 0.0f;
16091
0
        stat_tap_set_field_data(table, element, AVG_BYTES_COLUMN, item_data);
16092
0
    }
16093
16094
0
}
16095
16096
void
16097
proto_reg_handoff_ansi_map(void)
16098
16
{
16099
16
    static bool ansi_map_prefs_initialized = false;
16100
16
    static range_t *ssn_range;
16101
16102
16
    if(!ansi_map_prefs_initialized)
16103
16
    {
16104
16
        ansi_map_prefs_initialized = true;
16105
16
    }
16106
0
    else
16107
0
    {
16108
0
        range_foreach(ssn_range, range_delete_callback, NULL);
16109
0
        wmem_free(wmem_epan_scope(), ssn_range);
16110
0
    }
16111
16112
16
    ssn_range = range_copy(wmem_epan_scope(), global_ssn_range);
16113
16114
16
    range_foreach(ssn_range, range_add_callback, NULL);
16115
16
}
16116
16117
/*--- proto_register_ansi_map -------------------------------------------*/
16118
16
void proto_register_ansi_map(void) {
16119
16120
16
    module_t    *ansi_map_module;
16121
16122
    /* List of fields */
16123
16
    static hf_register_info hf[] = {
16124
16125
#if 0
16126
        { &hf_ansi_map_op_code_fam,
16127
          { "Operation Code Family", "ansi_map.op_code_fam",
16128
            FT_UINT8, BASE_DEC, NULL, 0,
16129
            NULL, HFILL }},
16130
#endif
16131
16
        { &hf_ansi_map_reservedBitH,
16132
16
          { "Reserved", "ansi_map.reserved_bitH",
16133
16
            FT_BOOLEAN, 8, NULL,0x80,
16134
16
            NULL, HFILL }},
16135
16
        { &hf_ansi_map_reservedBitD,
16136
16
          { "Reserved", "ansi_map.reserved_bitD",
16137
16
            FT_BOOLEAN, 8, NULL,0x08,
16138
16
            NULL, HFILL }},
16139
16
        { &hf_ansi_map_reservedBitHG,
16140
16
          { "Reserved", "ansi_map.reserved_bitHG",
16141
16
            FT_UINT8, BASE_DEC, NULL, 0xc0,
16142
16
            NULL, HFILL }},
16143
16
        { &hf_ansi_map_reservedBitHGFE,
16144
16
          { "Reserved", "ansi_map.reserved_bitHGFE",
16145
16
            FT_UINT8, BASE_DEC, NULL, 0xf0,
16146
16
            NULL, HFILL }},
16147
16
        { &hf_ansi_map_reservedBitFED,
16148
16
          { "Reserved", "ansi_map.reserved_bitFED",
16149
16
            FT_UINT8, BASE_DEC, NULL, 0x38,
16150
16
            NULL, HFILL }},
16151
16
        { &hf_ansi_map_reservedBitED,
16152
16
          { "Reserved", "ansi_map.reserved_bitED",
16153
16
            FT_UINT8, BASE_DEC, NULL, 0x18,
16154
16
            NULL, HFILL }},
16155
#if 0
16156
        { &hf_ansi_map_op_code,
16157
          { "Operation Code", "ansi_map.op_code",
16158
            FT_UINT8, BASE_DEC|BASE_EXT_STRING, &ansi_map_opr_code_strings_ext, 0x0,
16159
            NULL, HFILL }},
16160
#endif
16161
16
        { &hf_ansi_map_type_of_digits,
16162
16
          { "Type of Digits", "ansi_map.type_of_digits",
16163
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_type_of_digits_vals), 0x0,
16164
16
            NULL, HFILL }},
16165
16
        { &hf_ansi_map_na,
16166
16
          { "Nature of Number", "ansi_map.na",
16167
16
            FT_BOOLEAN, 8, TFS(&ansi_map_na_bool_val),0x01,
16168
16
            NULL, HFILL }},
16169
16
        { &hf_ansi_map_pi,
16170
16
          { "Presentation Indication", "ansi_map.type_of_pi",
16171
16
            FT_BOOLEAN, 8, TFS(&ansi_map_pi_bool_val),0x02,
16172
16
            NULL, HFILL }},
16173
16
        { &hf_ansi_map_navail,
16174
16
          { "Number available indication", "ansi_map.navail",
16175
16
            FT_BOOLEAN, 8, TFS(&ansi_map_navail_bool_val),0x04,
16176
16
            NULL, HFILL }},
16177
16
        { &hf_ansi_map_si,
16178
16
          { "Screening indication", "ansi_map.si",
16179
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_si_vals), 0x30,
16180
16
            NULL, HFILL }},
16181
16
        { &hf_ansi_map_digits_enc,
16182
16
          { "Encoding", "ansi_map.enc",
16183
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_digits_enc_vals), 0x0f,
16184
16
            NULL, HFILL }},
16185
16
        { &hf_ansi_map_np,
16186
16
          { "Numbering Plan", "ansi_map.np",
16187
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_np_vals), 0xf0,
16188
16
            NULL, HFILL }},
16189
16
        { &hf_ansi_map_nr_digits,
16190
16
          { "Number of Digits", "ansi_map.nr_digits",
16191
16
            FT_UINT8, BASE_DEC, NULL, 0x0,
16192
16
            NULL, HFILL }},
16193
16
        { &hf_ansi_map_bcd_digits,
16194
16
          { "BCD digits", "ansi_map.bcd_digits",
16195
16
            FT_STRING, BASE_NONE, NULL, 0,
16196
16
            NULL, HFILL }},
16197
16
        { &hf_ansi_map_ia5_digits,
16198
16
          { "IA5 digits", "ansi_map.ia5_digits",
16199
16
            FT_STRING, BASE_NONE, NULL, 0,
16200
16
            NULL, HFILL }},
16201
16
        { &hf_ansi_map_subaddr_type,
16202
16
          { "Type of Subaddress", "ansi_map.subaddr_type",
16203
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_sub_addr_type_vals), 0x70,
16204
16
            NULL, HFILL }},
16205
16
        { &hf_ansi_map_subaddr_odd_even,
16206
16
          { "Odd/Even Indicator", "ansi_map.subaddr_odd_even",
16207
16
            FT_BOOLEAN, 8, TFS(&ansi_map_navail_bool_val),0x08,
16208
16
            NULL, HFILL }},
16209
16210
16
        { &hf_ansi_alertcode_cadence,
16211
16
          { "Cadence", "ansi_map.alertcode.cadence",
16212
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_AlertCode_Cadence_vals), 0x3f,
16213
16
            NULL, HFILL }},
16214
16
        { &hf_ansi_alertcode_pitch,
16215
16
          { "Pitch", "ansi_map.alertcode.pitch",
16216
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_AlertCode_Pitch_vals), 0xc0,
16217
16
            NULL, HFILL }},
16218
16
        { &hf_ansi_alertcode_alertaction,
16219
16
          { "Alert Action", "ansi_map.alertcode.alertaction",
16220
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_AlertCode_Alert_Action_vals), 0x07,
16221
16
            NULL, HFILL }},
16222
16
        { &hf_ansi_map_announcementcode_tone,
16223
16
          { "Tone", "ansi_map.announcementcode.tone",
16224
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_AnnouncementCode_tone_vals), 0x0,
16225
16
            NULL, HFILL }},
16226
16
        { &hf_ansi_map_announcementcode_class,
16227
16
          { "Tone", "ansi_map.announcementcode.class",
16228
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_AnnouncementCode_class_vals), 0xf,
16229
16
            NULL, HFILL }},
16230
16
        { &hf_ansi_map_announcementcode_std_ann,
16231
16
          { "Standard Announcement", "ansi_map.announcementcode.std_ann",
16232
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_AnnouncementCode_std_ann_vals), 0x0,
16233
16
            NULL, HFILL }},
16234
16
        { &hf_ansi_map_announcementcode_cust_ann,
16235
16
          { "Custom Announcement", "ansi_map.announcementcode.cust_ann",
16236
16
            FT_UINT8, BASE_DEC, NULL, 0x0,
16237
16
            NULL, HFILL }},
16238
16
        { &hf_ansi_map_authorizationperiod_period,
16239
16
          { "Period", "ansi_map.authorizationperiod.period",
16240
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_authorizationperiod_period_vals), 0x0,
16241
16
            NULL, HFILL }},
16242
16
        { &hf_ansi_map_value,
16243
16
          { "Value", "ansi_map.value",
16244
16
            FT_UINT8, BASE_DEC, NULL, 0x0,
16245
16
            NULL, HFILL }},
16246
16
        { &hf_ansi_map_msc_type,
16247
16
          { "Type", "ansi_map.extendedmscid.type",
16248
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_msc_type_vals), 0x0,
16249
16
            NULL, HFILL }},
16250
16
        { &hf_ansi_map_handoffstate_pi,
16251
16
          { "Party Involved (PI)", "ansi_map.handoffstate.pi",
16252
16
            FT_BOOLEAN, 8, TFS(&ansi_map_HandoffState_pi_bool_val),0x01,
16253
16
            NULL, HFILL }},
16254
16
        { &hf_ansi_map_tgn,
16255
16
          { "Trunk Group Number (G)", "ansi_map.tgn",
16256
16
            FT_UINT8, BASE_DEC, NULL,0x0,
16257
16
            NULL, HFILL }},
16258
16
        { &hf_ansi_map_tmn,
16259
16
          { "Trunk Member Number (M)", "ansi_map.tmn",
16260
16
            FT_UINT8, BASE_DEC, NULL,0x0,
16261
16
            NULL, HFILL }},
16262
16
        { &hf_ansi_map_messagewaitingnotificationcount_tom,
16263
16
          { "Type of messages", "ansi_map.messagewaitingnotificationcount.tom",
16264
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_MessageWaitingNotificationCount_type_vals), 0x0,
16265
16
            NULL, HFILL }},
16266
16
        { &hf_ansi_map_messagewaitingnotificationcount_no_mw,
16267
16
          { "Number of Messages Waiting", "ansi_map.messagewaitingnotificationcount.nomw",
16268
16
            FT_UINT8, BASE_DEC, NULL,0x0,
16269
16
            NULL, HFILL }},
16270
16
        { &hf_ansi_map_messagewaitingnotificationtype_mwi,
16271
16
          { "Message Waiting Indication (MWI)", "ansi_map.messagewaitingnotificationcount.mwi",
16272
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_MessageWaitingNotificationType_mwi_vals), 0x0,
16273
16
            NULL, HFILL }},
16274
16
        { &hf_ansi_map_messagewaitingnotificationtype_apt,
16275
16
          { "Alert Pip Tone (APT)", "ansi_map.messagewaitingnotificationtype.apt",
16276
16
            FT_BOOLEAN, 8, TFS(&ansi_map_HandoffState_pi_bool_val),0x02,
16277
16
            NULL, HFILL }},
16278
16
        { &hf_ansi_map_messagewaitingnotificationtype_pt,
16279
16
          { "Pip Tone (PT)", "ansi_map.messagewaitingnotificationtype.pt",
16280
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_MessageWaitingNotificationType_mwi_vals), 0xc0,
16281
16
            NULL, HFILL }},
16282
16283
16
        { &hf_ansi_map_trans_cap_prof,
16284
16
          { "Profile (PROF)", "ansi_map.trans_cap_prof",
16285
16
            FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_prof_bool_val),0x01,
16286
16
            NULL, HFILL }},
16287
16
        { &hf_ansi_map_trans_cap_busy,
16288
16
          { "Busy Detection (BUSY)", "ansi_map.trans_cap_busy",
16289
16
            FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_busy_bool_val),0x02,
16290
16
            NULL, HFILL }},
16291
16
        { &hf_ansi_map_trans_cap_ann,
16292
16
          { "Announcements (ANN)", "ansi_map.trans_cap_ann",
16293
16
            FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_ann_bool_val),0x04,
16294
16
            NULL, HFILL }},
16295
16
        { &hf_ansi_map_trans_cap_rui,
16296
16
          { "Remote User Interaction (RUI)", "ansi_map.trans_cap_rui",
16297
16
            FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_rui_bool_val),0x08,
16298
16
            NULL, HFILL }},
16299
16
        { &hf_ansi_map_trans_cap_spini,
16300
16
          { "Subscriber PIN Intercept (SPINI)", "ansi_map.trans_cap_spini",
16301
16
            FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_spini_bool_val),0x10,
16302
16
            NULL, HFILL }},
16303
16
        { &hf_ansi_map_trans_cap_uzci,
16304
16
          { "UZ Capability Indicator (UZCI)", "ansi_map.trans_cap_uzci",
16305
16
            FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_uzci_bool_val),0x20,
16306
16
            NULL, HFILL }},
16307
16
        { &hf_ansi_map_trans_cap_ndss,
16308
16
          { "NDSS Capability (NDSS)", "ansi_map.trans_cap_ndss",
16309
16
            FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_ndss_bool_val),0x40,
16310
16
            NULL, HFILL }},
16311
16
        { &hf_ansi_map_trans_cap_nami,
16312
16
          { "NAME Capability Indicator (NAMI)", "ansi_map.trans_cap_nami",
16313
16
            FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_nami_bool_val),0x80,
16314
16
            NULL, HFILL }},
16315
16
        { &hf_ansi_trans_cap_multerm,
16316
16
          { "Multiple Terminations", "ansi_map.trans_cap_multerm",
16317
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_trans_cap_multerm_vals), 0x0f,
16318
16
            NULL, HFILL }},
16319
16
        { &hf_ansi_map_terminationtriggers_busy,
16320
16
          { "Busy", "ansi_map.terminationtriggers.busy",
16321
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_busy_vals), 0x03,
16322
16
            NULL, HFILL }},
16323
16
        { &hf_ansi_map_terminationtriggers_rf,
16324
16
          { "Routing Failure (RF)", "ansi_map.terminationtriggers.rf",
16325
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_rf_vals), 0x0c,
16326
16
            NULL, HFILL }},
16327
16
        { &hf_ansi_map_terminationtriggers_npr,
16328
16
          { "No Page Response (NPR)", "ansi_map.terminationtriggers.npr",
16329
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_npr_vals), 0x30,
16330
16
            NULL, HFILL }},
16331
16
        { &hf_ansi_map_terminationtriggers_na,
16332
16
          { "No Answer (NA)", "ansi_map.terminationtriggers.na",
16333
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_na_vals), 0xc0,
16334
16
            NULL, HFILL }},
16335
16
        { &hf_ansi_map_terminationtriggers_nr,
16336
16
          { "None Reachable (NR)", "ansi_map.terminationtriggers.nr",
16337
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_nr_vals), 0x01,
16338
16
            NULL, HFILL }},
16339
16
        { &hf_ansi_trans_cap_tl,
16340
16
          { "TerminationList (TL)", "ansi_map.trans_cap_tl",
16341
16
            FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_tl_bool_val),0x10,
16342
16
            NULL, HFILL }},
16343
16
        { &hf_ansi_map_cdmaserviceoption,
16344
16
          { "CDMAServiceOption", "ansi_map.cdmaserviceoption",
16345
16
            FT_UINT16, BASE_RANGE_STRING | BASE_DEC, RVALS(cdmaserviceoption_vals), 0x0,
16346
16
            NULL, HFILL }},
16347
16
        { &hf_ansi_trans_cap_waddr,
16348
16
          { "WIN Addressing (WADDR)", "ansi_map.trans_cap_waddr",
16349
16
            FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_waddr_bool_val),0x20,
16350
16
            NULL, HFILL }},
16351
16352
16
        { &hf_ansi_map_MarketID,
16353
16
          { "MarketID", "ansi_map.marketid",
16354
16
            FT_UINT16, BASE_DEC, NULL, 0,
16355
16
            NULL, HFILL }},
16356
16
        { &hf_ansi_map_swno,
16357
16
          { "Switch Number (SWNO)", "ansi_map.swno",
16358
16
            FT_UINT8, BASE_DEC, NULL, 0,
16359
16
            NULL, HFILL }},
16360
16
        { &hf_ansi_map_idno,
16361
16
          { "ID Number", "ansi_map.idno",
16362
16
            FT_UINT32, BASE_DEC, NULL, 0,
16363
16
            NULL, HFILL }},
16364
16
        { &hf_ansi_map_segcount,
16365
16
          { "Segment Counter", "ansi_map.segcount",
16366
16
            FT_UINT8, BASE_DEC, NULL, 0,
16367
16
            NULL, HFILL }},
16368
16
        { &hf_ansi_map_sms_originationrestrictions_direct,
16369
16
          { "DIRECT", "ansi_map.originationrestrictions.direct",
16370
16
            FT_BOOLEAN, 8, TFS(&ansi_map_SMS_OriginationRestrictions_direct_bool_val),0x04,
16371
16
            NULL, HFILL }},
16372
16
        { &hf_ansi_map_sms_originationrestrictions_default,
16373
16
          { "DEFAULT", "ansi_map.originationrestrictions.default",
16374
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_SMS_OriginationRestrictions_default_vals), 0x03,
16375
16
            NULL, HFILL }},
16376
16
        { &hf_ansi_map_sms_originationrestrictions_fmc,
16377
16
          { "Force Message Center (FMC)", "ansi_map.originationrestrictions.fmc",
16378
16
            FT_BOOLEAN, 8, TFS(&ansi_map_SMS_OriginationRestrictions_fmc_bool_val),0x08,
16379
16
            NULL, HFILL }},
16380
16381
16
        { &hf_ansi_map_systemcapabilities_auth,
16382
16
          { "Authentication Parameters Requested (AUTH)", "ansi_map.systemcapabilities.auth",
16383
16
            FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_auth_bool_val),0x01,
16384
16
            NULL, HFILL }},
16385
16
        { &hf_ansi_map_systemcapabilities_se,
16386
16
          { "Signaling Message Encryption Capable (SE )", "ansi_map.systemcapabilities.se",
16387
16
            FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_se_bool_val),0x02,
16388
16
            NULL, HFILL }},
16389
16
        { &hf_ansi_map_systemcapabilities_vp,
16390
16
          { "Voice Privacy Capable (VP )", "ansi_map.systemcapabilities.vp",
16391
16
            FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_vp_bool_val),0x04,
16392
16
            NULL, HFILL }},
16393
16
        { &hf_ansi_map_systemcapabilities_cave,
16394
16
          { "CAVE Algorithm Capable (CAVE)", "ansi_map.systemcapabilities.cave",
16395
16
            FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_cave_bool_val),0x08,
16396
16
            NULL, HFILL }},
16397
16
        { &hf_ansi_map_systemcapabilities_ssd,
16398
16
          { "Shared SSD (SSD)", "ansi_map.systemcapabilities.ssd",
16399
16
            FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_ssd_bool_val),0x10,
16400
16
            NULL, HFILL }},
16401
16
        { &hf_ansi_map_systemcapabilities_dp,
16402
16
          { "Data Privacy (DP)", "ansi_map.systemcapabilities.dp",
16403
16
            FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_dp_bool_val),0x20,
16404
16
            NULL, HFILL }},
16405
16406
16
        { &hf_ansi_map_mslocation_lat,
16407
16
          { "Latitude in tenths of a second", "ansi_map.mslocation.lat",
16408
16
            FT_UINT24, BASE_DEC, NULL, 0,
16409
16
            NULL, HFILL }},
16410
16
        { &hf_ansi_map_mslocation_long,
16411
16
          { "Longitude in tenths of a second", "ansi_map.mslocation.long",
16412
16
            FT_UINT24, BASE_DEC, NULL, 0,
16413
16
            "Switch Number (SWNO)", HFILL }},
16414
16
        { &hf_ansi_map_mslocation_res,
16415
16
          { "Resolution in units of 1 foot", "ansi_map.mslocation.res",
16416
16
            FT_UINT8, BASE_DEC, NULL, 0,
16417
16
            NULL, HFILL }},
16418
16
        { &hf_ansi_map_nampscallmode_namps,
16419
16
          { "Call Mode", "ansi_map.nampscallmode.namps",
16420
16
            FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_namps_bool_val),0x01,
16421
16
            NULL, HFILL }},
16422
16
        { &hf_ansi_map_nampscallmode_amps,
16423
16
          { "Call Mode", "ansi_map.nampscallmode.amps",
16424
16
            FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_amps_bool_val),0x02,
16425
16
            NULL, HFILL }},
16426
16
        { &hf_ansi_map_nampschanneldata_navca,
16427
16
          { "Narrow Analog Voice Channel Assignment (NAVCA)", "ansi_map.nampschanneldata.navca",
16428
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_NAMPSChannelData_navca_vals), 0x03,
16429
16
            NULL, HFILL }},
16430
16
        { &hf_ansi_map_nampschanneldata_CCIndicator,
16431
16
          { "Color Code Indicator (CCIndicator)", "ansi_map.nampschanneldata.ccindicator",
16432
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_NAMPSChannelData_ccinidicator_vals), 0x1c,
16433
16
            NULL, HFILL }},
16434
16435
16436
16
        { &hf_ansi_map_callingfeaturesindicator_cfufa,
16437
16
          { "Call Forwarding Unconditional FeatureActivity, CFU-FA", "ansi_map.callingfeaturesindicator.cfufa",
16438
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16439
16
            NULL, HFILL }},
16440
16
        { &hf_ansi_map_callingfeaturesindicator_cfbfa,
16441
16
          { "Call Forwarding Busy FeatureActivity, CFB-FA", "ansi_map.callingfeaturesindicator.cfbafa",
16442
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
16443
16
            NULL, HFILL }},
16444
16
        { &hf_ansi_map_callingfeaturesindicator_cfnafa,
16445
16
          { "Call Forwarding No Answer FeatureActivity, CFNA-FA", "ansi_map.callingfeaturesindicator.cfnafa",
16446
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
16447
16
            NULL, HFILL }},
16448
16
        { &hf_ansi_map_callingfeaturesindicator_cwfa,
16449
16
          { "Call Waiting: FeatureActivity, CW-FA", "ansi_map.callingfeaturesindicator.cwfa",
16450
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
16451
16
            NULL, HFILL }},
16452
16453
16
        { &hf_ansi_map_callingfeaturesindicator_3wcfa,
16454
16
          { "Three-Way Calling FeatureActivity, 3WC-FA", "ansi_map.callingfeaturesindicator.3wcfa",
16455
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16456
16
            NULL, HFILL }},
16457
16458
16
        { &hf_ansi_map_callingfeaturesindicator_pcwfa,
16459
16
          { "Priority Call Waiting FeatureActivity PCW-FA", "ansi_map.callingfeaturesindicator.pcwfa",
16460
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16461
16
            NULL, HFILL }},
16462
16463
16
        { &hf_ansi_map_callingfeaturesindicator_dpfa,
16464
16
          { "Data Privacy Feature Activity DP-FA", "ansi_map.callingfeaturesindicator.dpfa",
16465
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
16466
16
            NULL, HFILL }},
16467
16
        { &hf_ansi_map_callingfeaturesindicator_ahfa,
16468
16
          { "Answer Hold: FeatureActivity AH-FA", "ansi_map.callingfeaturesindicator.ahfa",
16469
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
16470
16
            NULL, HFILL }},
16471
16
        { &hf_ansi_map_callingfeaturesindicator_uscfvmfa,
16472
16
          { "USCF divert to voice mail: FeatureActivity USCFvm-FA", "ansi_map.callingfeaturesindicator.uscfvmfa",
16473
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
16474
16
            NULL, HFILL }},
16475
16476
16
        { &hf_ansi_map_callingfeaturesindicator_uscfmsfa,
16477
16
          { "USCF divert to mobile station provided DN:FeatureActivity.USCFms-FA", "ansi_map.callingfeaturesindicator.uscfmsfa",
16478
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16479
16
            NULL, HFILL }},
16480
16
        { &hf_ansi_map_callingfeaturesindicator_uscfnrfa,
16481
16
          { "USCF divert to network registered DN:FeatureActivity. USCFnr-FA", "ansi_map.callingfeaturesindicator.uscfnrfa",
16482
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
16483
16
            NULL, HFILL }},
16484
16
        { &hf_ansi_map_callingfeaturesindicator_cpdsfa,
16485
16
          { "CDMA-Packet Data Service: FeatureActivity. CPDS-FA", "ansi_map.callingfeaturesindicator.cpdfa",
16486
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
16487
16
            NULL, HFILL }},
16488
16
        { &hf_ansi_map_callingfeaturesindicator_ccsfa,
16489
16
          { "CDMA-Concurrent Service:FeatureActivity. CCS-FA", "ansi_map.callingfeaturesindicator.ccsfa",
16490
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
16491
16
            NULL, HFILL }},
16492
16493
16
        { &hf_ansi_map_callingfeaturesindicator_epefa,
16494
16
          { "TDMA Enhanced Privacy and Encryption:FeatureActivity.TDMA EPE-FA", "ansi_map.callingfeaturesindicator.epefa",
16495
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16496
16
            NULL, HFILL }},
16497
16498
16499
16
        { &hf_ansi_map_callingfeaturesindicator_cdfa,
16500
16
          { "Call Delivery: FeatureActivity, CD-FA", "ansi_map.callingfeaturesindicator.cdfa",
16501
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
16502
16
            NULL, HFILL }},
16503
16
        { &hf_ansi_map_callingfeaturesindicator_vpfa,
16504
16
          { "Voice Privacy FeatureActivity, VP-FA", "ansi_map.callingfeaturesindicator.vpfa",
16505
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
16506
16
            NULL, HFILL }},
16507
16
        { &hf_ansi_map_callingfeaturesindicator_ctfa,
16508
16
          { "Call Transfer: FeatureActivity, CT-FA", "ansi_map.callingfeaturesindicator.ctfa",
16509
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
16510
16
            NULL, HFILL }},
16511
16512
16
        { &hf_ansi_map_callingfeaturesindicator_cnip1fa,
16513
16
          { "One number (network-provided only) Calling Number Identification Presentation: FeatureActivity CNIP1-FA", "ansi_map.callingfeaturesindicator.cnip1fa",
16514
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16515
16
            NULL, HFILL }},
16516
16
        { &hf_ansi_map_callingfeaturesindicator_cnip2fa,
16517
16
          { "Two number (network-provided and user-provided) Calling Number Identification Presentation: FeatureActivity CNIP2-FA", "ansi_map.callingfeaturesindicator.cnip2fa",
16518
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
16519
16
            NULL, HFILL }},
16520
16
        { &hf_ansi_map_callingfeaturesindicator_cnirfa,
16521
16
          { "Calling Number Identification Restriction: FeatureActivity CNIR-FA", "ansi_map.callingfeaturesindicator.cnirfa",
16522
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
16523
16
            NULL, HFILL }},
16524
16
        { &hf_ansi_map_callingfeaturesindicator_cniroverfa,
16525
16
          { "Calling Number Identification Restriction Override FeatureActivity CNIROver-FA", "ansi_map.callingfeaturesindicator.cniroverfa",
16526
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
16527
16
            NULL, HFILL }},
16528
16529
16
        { &hf_ansi_map_cdmacallmode_cdma,
16530
16
          { "Call Mode", "ansi_map.cdmacallmode.cdma",
16531
16
            FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cdma_bool_val),0x01,
16532
16
            NULL, HFILL }},
16533
16
        { &hf_ansi_map_cdmacallmode_amps,
16534
16
          { "Call Mode", "ansi_map.cdmacallmode.amps",
16535
16
            FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_amps_bool_val),0x02,
16536
16
            NULL, HFILL }},
16537
16
        { &hf_ansi_map_cdmacallmode_namps,
16538
16
          { "Call Mode", "ansi_map.cdmacallmode.namps",
16539
16
            FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_namps_bool_val),0x04,
16540
16
            NULL, HFILL }},
16541
16
        { &hf_ansi_map_cdmacallmode_cls1,
16542
16
          { "Call Mode", "ansi_map.cdmacallmode.cls1",
16543
16
            FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls1_bool_val),0x08,
16544
16
            NULL, HFILL }},
16545
16
        { &hf_ansi_map_cdmacallmode_cls2,
16546
16
          { "Call Mode", "ansi_map.cdmacallmode.cls2",
16547
16
            FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls2_bool_val),0x10,
16548
16
            NULL, HFILL }},
16549
16
        { &hf_ansi_map_cdmacallmode_cls3,
16550
16
          { "Call Mode", "ansi_map.cdmacallmode.cls3",
16551
16
            FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls3_bool_val),0x20,
16552
16
            NULL, HFILL }},
16553
16
        { &hf_ansi_map_cdmacallmode_cls4,
16554
16
          { "Call Mode", "ansi_map.cdmacallmode.cls4",
16555
16
            FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls4_bool_val),0x40,
16556
16
            NULL, HFILL }},
16557
16
        { &hf_ansi_map_cdmacallmode_cls5,
16558
16
          { "Call Mode", "ansi_map.cdmacallmode.cls5",
16559
16
            FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls5_bool_val),0x80,
16560
16
            NULL, HFILL }},
16561
16
        { &hf_ansi_map_cdmacallmode_cls6,
16562
16
          { "Call Mode", "ansi_map.cdmacallmode.cls6",
16563
16
            FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls6_bool_val),0x01,
16564
16
            NULL, HFILL }},
16565
16
        { &hf_ansi_map_cdmacallmode_cls7,
16566
16
          { "Call Mode", "ansi_map.cdmacallmode.cls7",
16567
16
            FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls7_bool_val),0x02,
16568
16
            NULL, HFILL }},
16569
16
        { &hf_ansi_map_cdmacallmode_cls8,
16570
16
          { "Call Mode", "ansi_map.cdmacallmode.cls8",
16571
16
            FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls8_bool_val),0x04,
16572
16
            NULL, HFILL }},
16573
16
        { &hf_ansi_map_cdmacallmode_cls9,
16574
16
          { "Call Mode", "ansi_map.cdmacallmode.cls9",
16575
16
            FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls9_bool_val),0x08,
16576
16
            NULL, HFILL }},
16577
16
        { &hf_ansi_map_cdmacallmode_cls10,
16578
16
          { "Call Mode", "ansi_map.cdmacallmode.cls10",
16579
16
            FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls10_bool_val),0x10,
16580
16
            NULL, HFILL }},
16581
16
        {&hf_ansi_map_cdmachanneldata_Frame_Offset,
16582
16
         { "Frame Offset", "ansi_map.cdmachanneldata.frameoffset",
16583
16
           FT_UINT8, BASE_DEC, NULL, 0x78,
16584
16
           NULL, HFILL }},
16585
16
        {&hf_ansi_map_cdmachanneldata_CDMA_ch_no,
16586
16
         { "CDMA Channel Number", "ansi_map.cdmachanneldata.cdma_ch_no",
16587
16
           FT_UINT16, BASE_DEC, NULL, 0x07FF,
16588
16
           NULL, HFILL }},
16589
16
        {&hf_ansi_map_cdmachanneldata_band_cls,
16590
16
         { "Band Class", "ansi_map.cdmachanneldata.band_cls",
16591
16
           FT_UINT8, BASE_DEC, VALS(ansi_map_cdmachanneldata_band_cls_vals), 0x7c,
16592
16
           NULL, HFILL }},
16593
16
        {&hf_ansi_map_cdmachanneldata_lc_mask_b6,
16594
16
         { "Long Code Mask (byte 6) MSB", "ansi_map.cdmachanneldata.lc_mask_b6",
16595
16
           FT_UINT8, BASE_HEX, NULL, 0x03,
16596
16
           NULL, HFILL }},
16597
16
        {&hf_ansi_map_cdmachanneldata_lc_mask_b5,
16598
16
         { "Long Code Mask (byte 5)", "ansi_map.cdmachanneldata.lc_mask_b5",
16599
16
           FT_UINT8, BASE_HEX, NULL, 0xff,
16600
16
           NULL, HFILL }},
16601
16
        {&hf_ansi_map_cdmachanneldata_lc_mask_b4,
16602
16
         { "Long Code Mask (byte 4)", "ansi_map.cdmachanneldata.lc_mask_b4",
16603
16
           FT_UINT8, BASE_HEX, NULL, 0xff,
16604
16
           NULL, HFILL }},
16605
16
        {&hf_ansi_map_cdmachanneldata_lc_mask_b3,
16606
16
         { "Long Code Mask (byte 3)", "ansi_map.cdmachanneldata.lc_mask_b3",
16607
16
           FT_UINT8, BASE_HEX, NULL, 0xff,
16608
16
           NULL, HFILL }},
16609
16
        {&hf_ansi_map_cdmachanneldata_lc_mask_b2,
16610
16
         { "Long Code Mask (byte 2)", "ansi_map.cdmachanneldata.lc_mask_b2",
16611
16
           FT_UINT8, BASE_HEX, NULL, 0xff,
16612
16
           NULL, HFILL }},
16613
16
        {&hf_ansi_map_cdmachanneldata_lc_mask_b1,
16614
16
         { "Long Code Mask LSB(byte 1)", "ansi_map.cdmachanneldata.lc_mask_b1",
16615
16
           FT_UINT8, BASE_HEX, NULL, 0xff,
16616
16
           "Long Code Mask (byte 1)LSB", HFILL }},
16617
16
        {&hf_ansi_map_cdmachanneldata_np_ext,
16618
16
         { "NP EXT", "ansi_map.cdmachanneldata.np_ext",
16619
16
           FT_BOOLEAN, 8, NULL,0x80,
16620
16
           NULL, HFILL }},
16621
16
        {&hf_ansi_map_cdmachanneldata_nominal_pwr,
16622
16
         { "Nominal Power", "ansi_map.cdmachanneldata.nominal_pwr",
16623
16
           FT_UINT8, BASE_DEC, NULL, 0x78,
16624
16
           NULL, HFILL }},
16625
16
        {&hf_ansi_map_cdmachanneldata_nr_preamble,
16626
16
         { "Number Preamble", "ansi_map.cdmachanneldata.nr_preamble",
16627
16
           FT_UINT8, BASE_DEC, NULL, 0x07,
16628
16
           NULL, HFILL }},
16629
16630
16
        { &hf_ansi_map_cdmastationclassmark_pc,
16631
16
          { "Power Class(PC)", "ansi_map.cdmastationclassmark.pc",
16632
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_CDMAStationClassMark_pc_vals), 0x03,
16633
16
            NULL, HFILL }},
16634
16635
16
        { &hf_ansi_map_cdmastationclassmark_dtx,
16636
16
          { "Analog Transmission: (DTX)", "ansi_map.cdmastationclassmark.dtx",
16637
16
            FT_BOOLEAN, 8, TFS(&ansi_map_CDMAStationClassMark_dtx_bool_val),0x04,
16638
16
            NULL, HFILL }},
16639
16
        { &hf_ansi_map_cdmastationclassmark_smi,
16640
16
          { "Slotted Mode Indicator: (SMI)", "ansi_map.cdmastationclassmark.smi",
16641
16
            FT_BOOLEAN, 8, TFS(&ansi_map_CDMAStationClassMark_smi_bool_val),0x20,
16642
16
            NULL, HFILL }},
16643
16
        { &hf_ansi_map_cdmastationclassmark_dmi,
16644
16
          { "Dual-mode Indicator(DMI)", "ansi_map.cdmastationclassmark.dmi",
16645
16
            FT_BOOLEAN, 8, TFS(&ansi_map_CDMAStationClassMark_dmi_bool_val),0x40,
16646
16
            NULL, HFILL }},
16647
16
        { &hf_ansi_map_channeldata_vmac,
16648
16
          { "Voice Mobile Attenuation Code (VMAC)", "ansi_map.channeldata.vmac",
16649
16
            FT_UINT8, BASE_DEC, NULL, 0x07,
16650
16
            NULL, HFILL }},
16651
16
        { &hf_ansi_map_channeldata_dtx,
16652
16
          { "Discontinuous Transmission Mode (DTX)", "ansi_map.channeldata.dtx",
16653
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_ChannelData_dtx_vals), 0x18,
16654
16
            NULL, HFILL }},
16655
16
        { &hf_ansi_map_channeldata_scc,
16656
16
          { "SAT Color Code (SCC)", "ansi_map.channeldata.scc",
16657
16
            FT_UINT8, BASE_DEC, NULL, 0xc0,
16658
16
            NULL, HFILL }},
16659
16
        { &hf_ansi_map_channeldata_chno,
16660
16
          { "Channel Number (CHNO)", "ansi_map.channeldata.chno",
16661
16
            FT_UINT16, BASE_DEC, NULL, 0x0,
16662
16
            NULL, HFILL }},
16663
16
        { &hf_ansi_map_ConfidentialityModes_vp,
16664
16
          { "Voice Privacy (VP) Confidentiality Status", "ansi_map.confidentialitymodes.vp",
16665
16
            FT_BOOLEAN, 8, TFS(&tfs_on_off),0x01,
16666
16
            NULL, HFILL }},
16667
16
        { &hf_ansi_map_controlchanneldata_dcc,
16668
16
          { "Digital Color Code (DCC)", "ansi_map.controlchanneldata.dcc",
16669
16
            FT_UINT8, BASE_DEC, NULL, 0xc0,
16670
16
            NULL, HFILL }},
16671
16
        { &hf_ansi_map_controlchanneldata_cmac,
16672
16
          { "Control Mobile Attenuation Code (CMAC)", "ansi_map.controlchanneldata.cmac",
16673
16
            FT_UINT8, BASE_DEC, NULL, 0x07,
16674
16
            NULL, HFILL }},
16675
16
        { &hf_ansi_map_controlchanneldata_chno,
16676
16
          { "Channel Number (CHNO)", "ansi_map.controlchanneldata.chno",
16677
16
            FT_UINT16, BASE_DEC, NULL, 0x0,
16678
16
            NULL, HFILL }},
16679
16
        { &hf_ansi_map_controlchanneldata_sdcc1,
16680
16
          { "Supplementary Digital Color Codes (SDCC1)", "ansi_map.controlchanneldata.ssdc1",
16681
16
            FT_UINT8, BASE_DEC, NULL, 0x0c,
16682
16
            NULL, HFILL }},
16683
16
        { &hf_ansi_map_controlchanneldata_sdcc2,
16684
16
          { "Supplementary Digital Color Codes (SDCC2)", "ansi_map.controlchanneldata.ssdc2",
16685
16
            FT_UINT8, BASE_DEC, NULL, 0x03,
16686
16
            NULL, HFILL }},
16687
16
        { &hf_ansi_map_ConfidentialityModes_se,
16688
16
          { "Signaling Message Encryption (SE) Confidentiality Status", "ansi_map.confidentialitymodes.se",
16689
16
            FT_BOOLEAN, 8, TFS(&tfs_on_off),0x02,
16690
16
            NULL, HFILL }},
16691
16
        { &hf_ansi_map_ConfidentialityModes_dp,
16692
16
          { "DataPrivacy (DP) Confidentiality Status", "ansi_map.confidentialitymodes.dp",
16693
16
            FT_BOOLEAN, 8, TFS(&tfs_on_off),0x04,
16694
16
            NULL, HFILL }},
16695
16696
16
        { &hf_ansi_map_deniedauthorizationperiod_period,
16697
16
          { "Period", "ansi_map.deniedauthorizationperiod.period",
16698
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_deniedauthorizationperiod_period_vals), 0x0,
16699
16
            NULL, HFILL }},
16700
16701
16702
16
        { &hf_ansi_map_originationtriggers_all,
16703
16
          { "All Origination (All)", "ansi_map.originationtriggers.all",
16704
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_all_bool_val),0x01,
16705
16
            NULL, HFILL }},
16706
16
        { &hf_ansi_map_originationtriggers_local,
16707
16
          { "Local", "ansi_map.originationtriggers.local",
16708
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_local_bool_val),0x02,
16709
16
            NULL, HFILL }},
16710
16
        { &hf_ansi_map_originationtriggers_ilata,
16711
16
          { "Intra-LATA Toll (ILATA)", "ansi_map.originationtriggers.ilata",
16712
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_ilata_bool_val),0x04,
16713
16
            NULL, HFILL }},
16714
16
        { &hf_ansi_map_originationtriggers_olata,
16715
16
          { "Inter-LATA Toll (OLATA)", "ansi_map.originationtriggers.olata",
16716
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_olata_bool_val),0x08,
16717
16
            NULL, HFILL }},
16718
16
        { &hf_ansi_map_originationtriggers_int,
16719
16
          { "International (Int'l )", "ansi_map.originationtriggers.int",
16720
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_int_bool_val),0x10,
16721
16
            NULL, HFILL }},
16722
16
        { &hf_ansi_map_originationtriggers_wz,
16723
16
          { "World Zone (WZ)", "ansi_map.originationtriggers.wz",
16724
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_wz_bool_val),0x20,
16725
16
            NULL, HFILL }},
16726
16
        { &hf_ansi_map_originationtriggers_unrec,
16727
16
          { "Unrecognized Number (Unrec)", "ansi_map.originationtriggers.unrec",
16728
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_unrec_bool_val),0x40,
16729
16
            NULL, HFILL }},
16730
16
        { &hf_ansi_map_originationtriggers_rvtc,
16731
16
          { "Revertive Call (RvtC)", "ansi_map.originationtriggers.rvtc",
16732
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_rvtc_bool_val),0x80,
16733
16
            NULL, HFILL }},
16734
16
        { &hf_ansi_map_originationtriggers_star,
16735
16
          { "Star", "ansi_map.originationtriggers.star",
16736
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_star_bool_val),0x01,
16737
16
            NULL, HFILL }},
16738
16
        { &hf_ansi_map_originationtriggers_ds,
16739
16
          { "Double Star (DS)", "ansi_map.originationtriggers.ds",
16740
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_ds_bool_val),0x02,
16741
16
            NULL, HFILL }},
16742
16
        { &hf_ansi_map_originationtriggers_pound,
16743
16
          { "Pound", "ansi_map.originationtriggers.pound",
16744
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_pound_bool_val),0x04,
16745
16
            NULL, HFILL }},
16746
16
        { &hf_ansi_map_originationtriggers_dp,
16747
16
          { "Double Pound (DP)", "ansi_map.originationtriggers.dp",
16748
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_dp_bool_val),0x08,
16749
16
            NULL, HFILL }},
16750
16
        { &hf_ansi_map_originationtriggers_pa,
16751
16
          { "Prior Agreement (PA)", "ansi_map.originationtriggers.pa",
16752
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_pa_bool_val),0x10,
16753
16
            NULL, HFILL }},
16754
16
        { &hf_ansi_map_originationtriggers_nodig,
16755
16
          { "No digits", "ansi_map.originationtriggers.nodig",
16756
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_nodig_bool_val),0x01,
16757
16
            NULL, HFILL }},
16758
16
        { &hf_ansi_map_originationtriggers_onedig,
16759
16
          { "1 digit", "ansi_map.originationtriggers.onedig",
16760
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_onedig_bool_val),0x02,
16761
16
            NULL, HFILL }},
16762
16
        { &hf_ansi_map_originationtriggers_twodig,
16763
16
          { "2 digits", "ansi_map.originationtriggers.twodig",
16764
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_twodig_bool_val),0x04,
16765
16
            NULL, HFILL }},
16766
16
        { &hf_ansi_map_originationtriggers_threedig,
16767
16
          { "3 digits", "ansi_map.originationtriggers.threedig",
16768
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_threedig_bool_val),0x08,
16769
16
            NULL, HFILL }},
16770
16
        { &hf_ansi_map_originationtriggers_fourdig,
16771
16
          { "4 digits", "ansi_map.originationtriggers.fourdig",
16772
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fourdig_bool_val),0x10,
16773
16
            NULL, HFILL }},
16774
16
        { &hf_ansi_map_originationtriggers_fivedig,
16775
16
          { "5 digits", "ansi_map.originationtriggers.fivedig",
16776
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fivedig_bool_val),0x20,
16777
16
            NULL, HFILL }},
16778
16
        { &hf_ansi_map_originationtriggers_sixdig,
16779
16
          { "6 digits", "ansi_map.originationtriggers.sixdig",
16780
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_sixdig_bool_val),0x40,
16781
16
            NULL, HFILL }},
16782
16
        { &hf_ansi_map_originationtriggers_sevendig,
16783
16
          { "7 digits", "ansi_map.originationtriggers.sevendig",
16784
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_sevendig_bool_val),0x80,
16785
16
            NULL, HFILL }},
16786
16
        { &hf_ansi_map_originationtriggers_eightdig,
16787
16
          { "8 digits", "ansi_map.originationtriggers.eight",
16788
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_eightdig_bool_val),0x01,
16789
16
            NULL, HFILL }},
16790
16
        { &hf_ansi_map_originationtriggers_ninedig,
16791
16
          { "9 digits", "ansi_map.originationtriggers.nine",
16792
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_ninedig_bool_val),0x02,
16793
16
            NULL, HFILL }},
16794
16
        { &hf_ansi_map_originationtriggers_tendig,
16795
16
          { "10 digits", "ansi_map.originationtriggers.ten",
16796
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_tendig_bool_val),0x04,
16797
16
            NULL, HFILL }},
16798
16
        { &hf_ansi_map_originationtriggers_elevendig,
16799
16
          { "11 digits", "ansi_map.originationtriggers.eleven",
16800
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_elevendig_bool_val),0x08,
16801
16
            NULL, HFILL }},
16802
16
        { &hf_ansi_map_originationtriggers_twelvedig,
16803
16
          { "12 digits", "ansi_map.originationtriggers.twelve",
16804
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_twelvedig_bool_val),0x10,
16805
16
            NULL, HFILL }},
16806
16
        { &hf_ansi_map_originationtriggers_thirteendig,
16807
16
          { "13 digits", "ansi_map.originationtriggers.thirteen",
16808
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_thirteendig_bool_val),0x20,
16809
16
            NULL, HFILL }},
16810
16
        { &hf_ansi_map_originationtriggers_fourteendig,
16811
16
          { "14 digits", "ansi_map.originationtriggers.fourteen",
16812
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fourteendig_bool_val),0x40,
16813
16
            NULL, HFILL }},
16814
16
        { &hf_ansi_map_originationtriggers_fifteendig,
16815
16
          { "15 digits", "ansi_map.originationtriggers.fifteen",
16816
16
            FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fifteendig_bool_val),0x80,
16817
16
            NULL, HFILL }},
16818
16819
16
        { &hf_ansi_map_triggercapability_init,
16820
16
          { "Introducing Star/Pound (INIT)", "ansi_map.triggercapability.init",
16821
16
            FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x01,
16822
16
            NULL, HFILL }},
16823
16
        { &hf_ansi_map_triggercapability_kdigit,
16824
16
          { "K-digit (K-digit)", "ansi_map.triggercapability.kdigit",
16825
16
            FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x02,
16826
16
            NULL, HFILL }},
16827
16
        { &hf_ansi_map_triggercapability_all,
16828
16
          { "All_Calls (All)", "ansi_map.triggercapability.all",
16829
16
            FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x04,
16830
16
            NULL, HFILL }},
16831
16
        { &hf_ansi_map_triggercapability_rvtc,
16832
16
          { "Revertive_Call (RvtC)", "ansi_map.triggercapability.rvtc",
16833
16
            FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x08,
16834
16
            NULL, HFILL }},
16835
16
        { &hf_ansi_map_triggercapability_oaa,
16836
16
          { "Origination_Attempt_Authorized (OAA)", "ansi_map.triggercapability.oaa",
16837
16
            FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x10,
16838
16
            NULL, HFILL }},
16839
16
        { &hf_ansi_map_triggercapability_oans,
16840
16
          { "O_Answer (OANS)", "ansi_map.triggercapability.oans",
16841
16
            FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x20,
16842
16
            NULL, HFILL }},
16843
16
        { &hf_ansi_map_triggercapability_odisc,
16844
16
          { "O_Disconnect (ODISC)", "ansi_map.triggercapability.odisc",
16845
16
            FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x40,
16846
16
            NULL, HFILL }},
16847
16
        { &hf_ansi_map_triggercapability_ona,
16848
16
          { "O_No_Answer (ONA)", "ansi_map.triggercapability.ona",
16849
16
            FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x80,
16850
16
            NULL, HFILL }},
16851
16852
16
        { &hf_ansi_map_triggercapability_ct ,
16853
16
          { "Call Types (CT)", "ansi_map.triggercapability.ct",
16854
16
            FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x01,
16855
16
            NULL, HFILL }},
16856
16
        { &hf_ansi_map_triggercapability_unrec,
16857
16
          { "Unrecognized_Number (Unrec)", "ansi_map.triggercapability.unrec",
16858
16
            FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x02,
16859
16
            NULL, HFILL }},
16860
16
        { &hf_ansi_map_triggercapability_pa,
16861
16
          { "Prior_Agreement (PA)", "ansi_map.triggercapability.pa",
16862
16
            FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x04,
16863
16
            NULL, HFILL }},
16864
16
        { &hf_ansi_map_triggercapability_at,
16865
16
          { "Advanced_Termination (AT)", "ansi_map.triggercapability.at",
16866
16
            FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x08,
16867
16
            NULL, HFILL }},
16868
16
        { &hf_ansi_map_triggercapability_cgraa,
16869
16
          { "Calling_Routing_Address_Available (CgRAA)", "ansi_map.triggercapability.cgraa",
16870
16
            FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x10,
16871
16
            NULL, HFILL }},
16872
16
        { &hf_ansi_map_triggercapability_it,
16873
16
          { "Initial_Termination (IT)", "ansi_map.triggercapability.it",
16874
16
            FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x20,
16875
16
            NULL, HFILL }},
16876
16
        { &hf_ansi_map_triggercapability_cdraa,
16877
16
          { "Called_Routing_Address_Available (CdRAA)", "ansi_map.triggercapability.cdraa",
16878
16
            FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x40,
16879
16
            NULL, HFILL }},
16880
16
        { &hf_ansi_map_triggercapability_obsy,
16881
16
          { "O_Called_Party_Busy (OBSY)", "ansi_map.triggercapability.obsy",
16882
16
            FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x80,
16883
16
            NULL, HFILL }},
16884
16885
16
        { &hf_ansi_map_triggercapability_tra ,
16886
16
          { "Terminating_Resource_Available (TRA)", "ansi_map.triggercapability.tra",
16887
16
            FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x01,
16888
16
            NULL, HFILL }},
16889
16
        { &hf_ansi_map_triggercapability_tbusy,
16890
16
          { "T_Busy (TBusy)", "ansi_map.triggercapability.tbusy",
16891
16
            FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x02,
16892
16
            NULL, HFILL }},
16893
16
        { &hf_ansi_map_triggercapability_tna,
16894
16
          { "T_No_Answer (TNA)", "ansi_map.triggercapability.tna",
16895
16
            FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x04,
16896
16
            NULL, HFILL }},
16897
16
        { &hf_ansi_map_triggercapability_tans,
16898
16
          { "T_Answer (TANS)", "ansi_map.triggercapability.tans",
16899
16
            FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x08,
16900
16
            NULL, HFILL }},
16901
16
        { &hf_ansi_map_triggercapability_tdisc,
16902
16
          { "T_Disconnect (TDISC)", "ansi_map.triggercapability.tdisc",
16903
16
            FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x10,
16904
16
            NULL, HFILL }},
16905
16
        { &hf_ansi_map_winoperationscapability_conn,
16906
16
          { "ConnectResource (CONN)", "ansi_map.winoperationscapability.conn",
16907
16
            FT_BOOLEAN, 8, TFS(&ansi_map_winoperationscapability_conn_bool_val),0x01,
16908
16
            NULL, HFILL }},
16909
16
        { &hf_ansi_map_winoperationscapability_ccdir,
16910
16
          { "CallControlDirective(CCDIR)", "ansi_map.winoperationscapability.ccdir",
16911
16
            FT_BOOLEAN, 8, TFS(&ansi_map_winoperationscapability_ccdir_bool_val),0x02,
16912
16
            NULL, HFILL }},
16913
16
        { &hf_ansi_map_winoperationscapability_pos,
16914
16
          { "PositionRequest (POS)", "ansi_map.winoperationscapability.pos",
16915
16
            FT_BOOLEAN, 8, TFS(&ansi_map_winoperationscapability_pos_bool_val),0x04,
16916
16
            NULL, HFILL }},
16917
16
        { &hf_ansi_map_pacaindicator_pa,
16918
16
          { "Permanent Activation (PA)", "ansi_map.pacaindicator_pa",
16919
16
            FT_BOOLEAN, 8, TFS(&ansi_map_pacaindicator_pa_bool_val),0x01,
16920
16
            NULL, HFILL }},
16921
16
        { &hf_ansi_map_PACA_Level,
16922
16
          { "PACA Level", "ansi_map.PACA_Level",
16923
16
            FT_UINT8, BASE_DEC, VALS(ansi_map_PACA_Level_vals), 0x1e,
16924
16
            NULL, HFILL }},
16925
16
        { &hf_ansi_map_point_code,
16926
16
          { "Point Code", "ansi_map.point_code",
16927
16
            FT_BYTES, BASE_NONE, NULL, 0x0,
16928
16
            NULL, HFILL }},
16929
16
        { &hf_ansi_map_SSN,
16930
16
          { "SSN", "ansi_map.SSN",
16931
16
            FT_UINT8, BASE_DEC, NULL, 0x0,
16932
16
            NULL, HFILL }},
16933
16
        { &hf_ansi_map_win_trigger_list,
16934
16
          { "WIN trigger list", "ansi_map.win_trigger_list",
16935
16
            FT_UINT8, BASE_DEC, NULL, 0x0,
16936
16
            NULL, HFILL }},
16937
16938
16
    { &hf_ansi_map_electronicSerialNumber,
16939
16
      { "electronicSerialNumber", "ansi_map.electronicSerialNumber",
16940
16
        FT_BYTES, BASE_NONE, NULL, 0,
16941
16
        NULL, HFILL }},
16942
16
    { &hf_ansi_map_msid,
16943
16
      { "msid", "ansi_map.msid",
16944
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_MSID_vals), 0,
16945
16
        NULL, HFILL }},
16946
16
    { &hf_ansi_map_authenticationAlgorithmVersion,
16947
16
      { "authenticationAlgorithmVersion", "ansi_map.authenticationAlgorithmVersion",
16948
16
        FT_BYTES, BASE_NONE, NULL, 0,
16949
16
        NULL, HFILL }},
16950
16
    { &hf_ansi_map_authenticationResponseReauthentication,
16951
16
      { "authenticationResponseReauthentication", "ansi_map.authenticationResponseReauthentication",
16952
16
        FT_BYTES, BASE_NONE, NULL, 0,
16953
16
        NULL, HFILL }},
16954
16
    { &hf_ansi_map_authenticationResponseUniqueChallenge,
16955
16
      { "authenticationResponseUniqueChallenge", "ansi_map.authenticationResponseUniqueChallenge",
16956
16
        FT_BYTES, BASE_NONE, NULL, 0,
16957
16
        NULL, HFILL }},
16958
16
    { &hf_ansi_map_callHistoryCount,
16959
16
      { "callHistoryCount", "ansi_map.callHistoryCount",
16960
16
        FT_UINT32, BASE_DEC, NULL, 0,
16961
16
        NULL, HFILL }},
16962
16
    { &hf_ansi_map_cdmaPrivateLongCodeMask,
16963
16
      { "cdmaPrivateLongCodeMask", "ansi_map.cdmaPrivateLongCodeMask",
16964
16
        FT_BYTES, BASE_NONE, NULL, 0,
16965
16
        NULL, HFILL }},
16966
16
    { &hf_ansi_map_carrierDigits,
16967
16
      { "carrierDigits", "ansi_map.carrierDigits",
16968
16
        FT_BYTES, BASE_NONE, NULL, 0,
16969
16
        NULL, HFILL }},
16970
16
    { &hf_ansi_map_caveKey,
16971
16
      { "caveKey", "ansi_map.caveKey",
16972
16
        FT_BYTES, BASE_NONE, NULL, 0,
16973
16
        NULL, HFILL }},
16974
16
    { &hf_ansi_map_denyAccess,
16975
16
      { "denyAccess", "ansi_map.denyAccess",
16976
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_DenyAccess_vals), 0,
16977
16
        NULL, HFILL }},
16978
16
    { &hf_ansi_map_destinationDigits,
16979
16
      { "destinationDigits", "ansi_map.destinationDigits",
16980
16
        FT_BYTES, BASE_NONE, NULL, 0,
16981
16
        NULL, HFILL }},
16982
16
    { &hf_ansi_map_locationAreaID,
16983
16
      { "locationAreaID", "ansi_map.locationAreaID",
16984
16
        FT_BYTES, BASE_NONE, NULL, 0,
16985
16
        NULL, HFILL }},
16986
16
    { &hf_ansi_map_randomVariableReauthentication,
16987
16
      { "randomVariableReauthentication", "ansi_map.randomVariableReauthentication",
16988
16
        FT_BYTES, BASE_NONE, NULL, 0,
16989
16
        NULL, HFILL }},
16990
16
    { &hf_ansi_map_meid,
16991
16
      { "meid", "ansi_map.meid",
16992
16
        FT_BYTES, BASE_NONE, NULL, 0,
16993
16
        NULL, HFILL }},
16994
16
    { &hf_ansi_map_mobileStationMIN,
16995
16
      { "mobileStationMIN", "ansi_map.mobileStationMIN_element",
16996
16
        FT_NONE, BASE_NONE, NULL, 0,
16997
16
        NULL, HFILL }},
16998
16
    { &hf_ansi_map_mscid,
16999
16
      { "mscid", "ansi_map.mscid",
17000
16
        FT_BYTES, BASE_NONE, NULL, 0,
17001
16
        NULL, HFILL }},
17002
16
    { &hf_ansi_map_randomVariableSSD,
17003
16
      { "randomVariableSSD", "ansi_map.randomVariableSSD",
17004
16
        FT_BYTES, BASE_NONE, NULL, 0,
17005
16
        NULL, HFILL }},
17006
16
    { &hf_ansi_map_randomVariableUniqueChallenge,
17007
16
      { "randomVariableUniqueChallenge", "ansi_map.randomVariableUniqueChallenge",
17008
16
        FT_BYTES, BASE_NONE, NULL, 0,
17009
16
        NULL, HFILL }},
17010
16
    { &hf_ansi_map_routingDigits,
17011
16
      { "routingDigits", "ansi_map.routingDigits",
17012
16
        FT_BYTES, BASE_NONE, NULL, 0,
17013
16
        NULL, HFILL }},
17014
16
    { &hf_ansi_map_senderIdentificationNumber,
17015
16
      { "senderIdentificationNumber", "ansi_map.senderIdentificationNumber_element",
17016
16
        FT_NONE, BASE_NONE, NULL, 0,
17017
16
        NULL, HFILL }},
17018
16
    { &hf_ansi_map_sharedSecretData,
17019
16
      { "sharedSecretData", "ansi_map.sharedSecretData",
17020
16
        FT_BYTES, BASE_NONE, NULL, 0,
17021
16
        NULL, HFILL }},
17022
16
    { &hf_ansi_map_signalingMessageEncryptionKey,
17023
16
      { "signalingMessageEncryptionKey", "ansi_map.signalingMessageEncryptionKey",
17024
16
        FT_BYTES, BASE_NONE, NULL, 0,
17025
16
        NULL, HFILL }},
17026
16
    { &hf_ansi_map_ssdnotShared,
17027
16
      { "ssdnotShared", "ansi_map.ssdnotShared",
17028
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_SSDNotShared_vals), 0,
17029
16
        NULL, HFILL }},
17030
16
    { &hf_ansi_map_updateCount,
17031
16
      { "updateCount", "ansi_map.updateCount",
17032
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_UpdateCount_vals), 0,
17033
16
        NULL, HFILL }},
17034
16
    { &hf_ansi_map_interMSCCircuitID,
17035
16
      { "interMSCCircuitID", "ansi_map.interMSCCircuitID_element",
17036
16
        FT_NONE, BASE_NONE, NULL, 0,
17037
16
        NULL, HFILL }},
17038
16
    { &hf_ansi_map_mobileIdentificationNumber,
17039
16
      { "mobileIdentificationNumber", "ansi_map.mobileIdentificationNumber_element",
17040
16
        FT_NONE, BASE_NONE, NULL, 0,
17041
16
        NULL, HFILL }},
17042
16
    { &hf_ansi_map_countUpdateReport,
17043
16
      { "countUpdateReport", "ansi_map.countUpdateReport",
17044
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_CountUpdateReport_vals), 0,
17045
16
        NULL, HFILL }},
17046
16
    { &hf_ansi_map_uniqueChallengeReport,
17047
16
      { "uniqueChallengeReport", "ansi_map.uniqueChallengeReport",
17048
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_UniqueChallengeReport_vals), 0,
17049
16
        NULL, HFILL }},
17050
16
    { &hf_ansi_map_reportType,
17051
16
      { "reportType", "ansi_map.reportType",
17052
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_ReportType_vals), 0,
17053
16
        NULL, HFILL }},
17054
16
    { &hf_ansi_map_systemAccessType,
17055
16
      { "systemAccessType", "ansi_map.systemAccessType",
17056
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_SystemAccessType_vals), 0,
17057
16
        NULL, HFILL }},
17058
16
    { &hf_ansi_map_systemCapabilities,
17059
16
      { "systemCapabilities", "ansi_map.systemCapabilities",
17060
16
        FT_BYTES, BASE_NONE, NULL, 0,
17061
16
        NULL, HFILL }},
17062
16
    { &hf_ansi_map_callHistoryCountExpected,
17063
16
      { "callHistoryCountExpected", "ansi_map.callHistoryCountExpected",
17064
16
        FT_UINT32, BASE_DEC, NULL, 0,
17065
16
        NULL, HFILL }},
17066
16
    { &hf_ansi_map_reportType2,
17067
16
      { "reportType2", "ansi_map.reportType2",
17068
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_ReportType_vals), 0,
17069
16
        "ReportType", HFILL }},
17070
16
    { &hf_ansi_map_terminalType,
17071
16
      { "terminalType", "ansi_map.terminalType",
17072
16
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &ansi_map_TerminalType_vals_ext, 0,
17073
16
        NULL, HFILL }},
17074
16
    { &hf_ansi_map_authenticationData,
17075
16
      { "authenticationData", "ansi_map.authenticationData",
17076
16
        FT_BYTES, BASE_NONE, NULL, 0,
17077
16
        NULL, HFILL }},
17078
16
    { &hf_ansi_map_authenticationResponse,
17079
16
      { "authenticationResponse", "ansi_map.authenticationResponse",
17080
16
        FT_BYTES, BASE_NONE, NULL, 0,
17081
16
        NULL, HFILL }},
17082
16
    { &hf_ansi_map_cdmaNetworkIdentification,
17083
16
      { "cdmaNetworkIdentification", "ansi_map.cdmaNetworkIdentification",
17084
16
        FT_BYTES, BASE_NONE, NULL, 0,
17085
16
        NULL, HFILL }},
17086
16
    { &hf_ansi_map_confidentialityModes,
17087
16
      { "confidentialityModes", "ansi_map.confidentialityModes",
17088
16
        FT_BYTES, BASE_NONE, NULL, 0,
17089
16
        NULL, HFILL }},
17090
16
    { &hf_ansi_map_controlChannelMode,
17091
16
      { "controlChannelMode", "ansi_map.controlChannelMode",
17092
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_ControlChannelMode_vals), 0,
17093
16
        NULL, HFILL }},
17094
16
    { &hf_ansi_map_digits,
17095
16
      { "digits", "ansi_map.digits_element",
17096
16
        FT_NONE, BASE_NONE, NULL, 0,
17097
16
        NULL, HFILL }},
17098
16
    { &hf_ansi_map_pc_ssn,
17099
16
      { "pc-ssn", "ansi_map.pc_ssn",
17100
16
        FT_BYTES, BASE_NONE, NULL, 0,
17101
16
        NULL, HFILL }},
17102
16
    { &hf_ansi_map_randomVariable,
17103
16
      { "randomVariable", "ansi_map.randomVariable",
17104
16
        FT_BYTES, BASE_NONE, NULL, 0,
17105
16
        NULL, HFILL }},
17106
16
    { &hf_ansi_map_serviceRedirectionCause,
17107
16
      { "serviceRedirectionCause", "ansi_map.serviceRedirectionCause",
17108
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_ServiceRedirectionCause_type_vals), 0,
17109
16
        NULL, HFILL }},
17110
16
    { &hf_ansi_map_suspiciousAccess,
17111
16
      { "suspiciousAccess", "ansi_map.suspiciousAccess",
17112
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_SuspiciousAccess_vals), 0,
17113
16
        NULL, HFILL }},
17114
16
    { &hf_ansi_map_transactionCapability,
17115
16
      { "transactionCapability", "ansi_map.transactionCapability",
17116
16
        FT_BYTES, BASE_NONE, NULL, 0,
17117
16
        NULL, HFILL }},
17118
16
    { &hf_ansi_map_analogRedirectRecord,
17119
16
      { "analogRedirectRecord", "ansi_map.analogRedirectRecord_element",
17120
16
        FT_NONE, BASE_NONE, NULL, 0,
17121
16
        NULL, HFILL }},
17122
16
    { &hf_ansi_map_cdmaRedirectRecord,
17123
16
      { "cdmaRedirectRecord", "ansi_map.cdmaRedirectRecord_element",
17124
16
        FT_NONE, BASE_NONE, NULL, 0,
17125
16
        NULL, HFILL }},
17126
16
    { &hf_ansi_map_dataKey,
17127
16
      { "dataKey", "ansi_map.dataKey",
17128
16
        FT_BYTES, BASE_NONE, NULL, 0,
17129
16
        NULL, HFILL }},
17130
16
    { &hf_ansi_map_roamingIndication,
17131
16
      { "roamingIndication", "ansi_map.roamingIndication",
17132
16
        FT_BYTES, BASE_NONE, NULL, 0,
17133
16
        NULL, HFILL }},
17134
16
    { &hf_ansi_map_serviceRedirectionInfo,
17135
16
      { "serviceRedirectionInfo", "ansi_map.serviceRedirectionInfo",
17136
16
        FT_BYTES, BASE_NONE, NULL, 0,
17137
16
        NULL, HFILL }},
17138
16
    { &hf_ansi_map_voicePrivacyMask,
17139
16
      { "voicePrivacyMask", "ansi_map.voicePrivacyMask",
17140
16
        FT_BYTES, BASE_NONE, NULL, 0,
17141
16
        NULL, HFILL }},
17142
16
    { &hf_ansi_map_reauthenticationReport,
17143
16
      { "reauthenticationReport", "ansi_map.reauthenticationReport",
17144
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_ReauthenticationReport_vals), 0,
17145
16
        NULL, HFILL }},
17146
16
    { &hf_ansi_map_serviceIndicator,
17147
16
      { "serviceIndicator", "ansi_map.serviceIndicator",
17148
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_ServiceIndicator_vals), 0,
17149
16
        NULL, HFILL }},
17150
16
    { &hf_ansi_map_signalingMessageEncryptionReport,
17151
16
      { "signalingMessageEncryptionReport", "ansi_map.signalingMessageEncryptionReport",
17152
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_SMEReport_vals), 0,
17153
16
        NULL, HFILL }},
17154
16
    { &hf_ansi_map_ssdUpdateReport,
17155
16
      { "ssdUpdateReport", "ansi_map.ssdUpdateReport",
17156
16
        FT_UINT16, BASE_DEC, VALS(ansi_map_SSDUpdateReport_vals), 0,
17157
16
        NULL, HFILL }},
17158
16
    { &hf_ansi_map_voicePrivacyReport,
17159
16
      { "voicePrivacyReport", "ansi_map.voicePrivacyReport",
17160
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_VoicePrivacyReport_vals), 0,
17161
16
        NULL, HFILL }},
17162
16
    { &hf_ansi_map_randomVariableBaseStation,
17163
16
      { "randomVariableBaseStation", "ansi_map.randomVariableBaseStation",
17164
16
        FT_BYTES, BASE_NONE, NULL, 0,
17165
16
        NULL, HFILL }},
17166
16
    { &hf_ansi_map_authenticationResponseBaseStation,
17167
16
      { "authenticationResponseBaseStation", "ansi_map.authenticationResponseBaseStation",
17168
16
        FT_BYTES, BASE_NONE, NULL, 0,
17169
16
        NULL, HFILL }},
17170
16
    { &hf_ansi_map_billingID,
17171
16
      { "billingID", "ansi_map.billingID",
17172
16
        FT_BYTES, BASE_NONE, NULL, 0,
17173
16
        NULL, HFILL }},
17174
16
    { &hf_ansi_map_channelData,
17175
16
      { "channelData", "ansi_map.channelData",
17176
16
        FT_BYTES, BASE_NONE, NULL, 0,
17177
16
        NULL, HFILL }},
17178
16
    { &hf_ansi_map_interSwitchCount,
17179
16
      { "interSwitchCount", "ansi_map.interSwitchCount",
17180
16
        FT_UINT32, BASE_DEC, NULL, 0,
17181
16
        NULL, HFILL }},
17182
16
    { &hf_ansi_map_servingCellID,
17183
16
      { "servingCellID", "ansi_map.servingCellID",
17184
16
        FT_BYTES, BASE_NONE, NULL, 0,
17185
16
        NULL, HFILL }},
17186
16
    { &hf_ansi_map_stationClassMark,
17187
16
      { "stationClassMark", "ansi_map.stationClassMark",
17188
16
        FT_BYTES, BASE_NONE, NULL, 0,
17189
16
        NULL, HFILL }},
17190
16
    { &hf_ansi_map_targetCellID,
17191
16
      { "targetCellID", "ansi_map.targetCellID",
17192
16
        FT_BYTES, BASE_NONE, NULL, 0,
17193
16
        NULL, HFILL }},
17194
16
    { &hf_ansi_map_handoffReason,
17195
16
      { "handoffReason", "ansi_map.handoffReason",
17196
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_HandoffReason_vals), 0,
17197
16
        NULL, HFILL }},
17198
16
    { &hf_ansi_map_handoffState,
17199
16
      { "handoffState", "ansi_map.handoffState",
17200
16
        FT_BYTES, BASE_NONE, NULL, 0,
17201
16
        NULL, HFILL }},
17202
16
    { &hf_ansi_map_tdmaBurstIndicator,
17203
16
      { "tdmaBurstIndicator", "ansi_map.tdmaBurstIndicator",
17204
16
        FT_BYTES, BASE_NONE, NULL, 0,
17205
16
        NULL, HFILL }},
17206
16
    { &hf_ansi_map_tdmaCallMode,
17207
16
      { "tdmaCallMode", "ansi_map.tdmaCallMode",
17208
16
        FT_BYTES, BASE_NONE, NULL, 0,
17209
16
        NULL, HFILL }},
17210
16
    { &hf_ansi_map_tdmaChannelData,
17211
16
      { "tdmaChannelData", "ansi_map.tdmaChannelData",
17212
16
        FT_BYTES, BASE_NONE, NULL, 0,
17213
16
        NULL, HFILL }},
17214
16
    { &hf_ansi_map_baseStationManufacturerCode,
17215
16
      { "baseStationManufacturerCode", "ansi_map.baseStationManufacturerCode",
17216
16
        FT_BYTES, BASE_NONE, NULL, 0,
17217
16
        NULL, HFILL }},
17218
16
    { &hf_ansi_map_alertCode,
17219
16
      { "alertCode", "ansi_map.alertCode",
17220
16
        FT_BYTES, BASE_NONE, NULL, 0,
17221
16
        NULL, HFILL }},
17222
16
    { &hf_ansi_map_cdma2000HandoffInvokeIOSData,
17223
16
      { "cdma2000HandoffInvokeIOSData", "ansi_map.cdma2000HandoffInvokeIOSData_element",
17224
16
        FT_NONE, BASE_NONE, NULL, 0,
17225
16
        NULL, HFILL }},
17226
16
    { &hf_ansi_map_cdmaBandClassList,
17227
16
      { "cdmaBandClassList", "ansi_map.cdmaBandClassList",
17228
16
        FT_UINT32, BASE_DEC, NULL, 0,
17229
16
        NULL, HFILL }},
17230
16
    { &hf_ansi_map_cdmaCallMode,
17231
16
      { "cdmaCallMode", "ansi_map.cdmaCallMode",
17232
16
        FT_BYTES, BASE_NONE, NULL, 0,
17233
16
        NULL, HFILL }},
17234
16
    { &hf_ansi_map_cdmaChannelData,
17235
16
      { "cdmaChannelData", "ansi_map.cdmaChannelData",
17236
16
        FT_BYTES, BASE_NONE, NULL, 0,
17237
16
        NULL, HFILL }},
17238
16
    { &hf_ansi_map_cdmaConnectionReferenceList,
17239
16
      { "cdmaConnectionReferenceList", "ansi_map.cdmaConnectionReferenceList",
17240
16
        FT_UINT32, BASE_DEC, NULL, 0,
17241
16
        NULL, HFILL }},
17242
16
    { &hf_ansi_map_cdmaMobileProtocolRevision,
17243
16
      { "cdmaMobileProtocolRevision", "ansi_map.cdmaMobileProtocolRevision",
17244
16
        FT_BYTES, BASE_NONE, NULL, 0,
17245
16
        NULL, HFILL }},
17246
16
    { &hf_ansi_map_cdmaMSMeasuredChannelIdentity,
17247
16
      { "cdmaMSMeasuredChannelIdentity", "ansi_map.cdmaMSMeasuredChannelIdentity",
17248
16
        FT_BYTES, BASE_NONE, NULL, 0,
17249
16
        NULL, HFILL }},
17250
16
    { &hf_ansi_map_cdmaServiceConfigurationRecord,
17251
16
      { "cdmaServiceConfigurationRecord", "ansi_map.cdmaServiceConfigurationRecord",
17252
16
        FT_BYTES, BASE_NONE, NULL, 0,
17253
16
        NULL, HFILL }},
17254
16
    { &hf_ansi_map_cdmaServiceOptionList,
17255
16
      { "cdmaServiceOptionList", "ansi_map.cdmaServiceOptionList",
17256
16
        FT_UINT32, BASE_DEC, NULL, 0,
17257
16
        NULL, HFILL }},
17258
16
    { &hf_ansi_map_cdmaServingOneWayDelay,
17259
16
      { "cdmaServingOneWayDelay", "ansi_map.cdmaServingOneWayDelay",
17260
16
        FT_BYTES, BASE_NONE, NULL, 0,
17261
16
        NULL, HFILL }},
17262
16
    { &hf_ansi_map_cdmaStationClassMark,
17263
16
      { "cdmaStationClassMark", "ansi_map.cdmaStationClassMark",
17264
16
        FT_BYTES, BASE_NONE, NULL, 0,
17265
16
        NULL, HFILL }},
17266
16
    { &hf_ansi_map_cdmaStationClassMark2,
17267
16
      { "cdmaStationClassMark2", "ansi_map.cdmaStationClassMark2",
17268
16
        FT_BYTES, BASE_NONE, NULL, 0,
17269
16
        NULL, HFILL }},
17270
16
    { &hf_ansi_map_cdmaTargetMAHOList,
17271
16
      { "cdmaTargetMAHOList", "ansi_map.cdmaTargetMAHOList",
17272
16
        FT_UINT32, BASE_DEC, NULL, 0,
17273
16
        NULL, HFILL }},
17274
16
    { &hf_ansi_map_cdmaTargetMeasurementList,
17275
16
      { "cdmaTargetMeasurementList", "ansi_map.cdmaTargetMeasurementList",
17276
16
        FT_UINT32, BASE_DEC, NULL, 0,
17277
16
        NULL, HFILL }},
17278
16
    { &hf_ansi_map_dataPrivacyParameters,
17279
16
      { "dataPrivacyParameters", "ansi_map.dataPrivacyParameters",
17280
16
        FT_BYTES, BASE_NONE, NULL, 0,
17281
16
        NULL, HFILL }},
17282
16
    { &hf_ansi_map_ilspInformation,
17283
16
      { "ilspInformation", "ansi_map.ilspInformation",
17284
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_islp_type_vals), 0,
17285
16
        "ISLPInformation", HFILL }},
17286
16
    { &hf_ansi_map_msLocation,
17287
16
      { "msLocation", "ansi_map.msLocation",
17288
16
        FT_BYTES, BASE_NONE, NULL, 0,
17289
16
        NULL, HFILL }},
17290
16
    { &hf_ansi_map_nampsCallMode,
17291
16
      { "nampsCallMode", "ansi_map.nampsCallMode",
17292
16
        FT_BYTES, BASE_NONE, NULL, 0,
17293
16
        NULL, HFILL }},
17294
16
    { &hf_ansi_map_nampsChannelData,
17295
16
      { "nampsChannelData", "ansi_map.nampsChannelData",
17296
16
        FT_BYTES, BASE_NONE, NULL, 0,
17297
16
        NULL, HFILL }},
17298
16
    { &hf_ansi_map_nonPublicData,
17299
16
      { "nonPublicData", "ansi_map.nonPublicData",
17300
16
        FT_BYTES, BASE_NONE, NULL, 0,
17301
16
        NULL, HFILL }},
17302
16
    { &hf_ansi_map_pdsnAddress,
17303
16
      { "pdsnAddress", "ansi_map.pdsnAddress",
17304
16
        FT_BYTES, BASE_NONE, NULL, 0,
17305
16
        NULL, HFILL }},
17306
16
    { &hf_ansi_map_pdsnProtocolType,
17307
16
      { "pdsnProtocolType", "ansi_map.pdsnProtocolType",
17308
16
        FT_BYTES, BASE_NONE, NULL, 0,
17309
16
        NULL, HFILL }},
17310
16
    { &hf_ansi_map_qosPriority,
17311
16
      { "qosPriority", "ansi_map.qosPriority",
17312
16
        FT_BYTES, BASE_NONE, NULL, 0,
17313
16
        NULL, HFILL }},
17314
16
    { &hf_ansi_map_systemOperatorCode,
17315
16
      { "systemOperatorCode", "ansi_map.systemOperatorCode",
17316
16
        FT_BYTES, BASE_NONE, NULL, 0,
17317
16
        NULL, HFILL }},
17318
16
    { &hf_ansi_map_tdmaBandwidth,
17319
16
      { "tdmaBandwidth", "ansi_map.tdmaBandwidth",
17320
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_TDMABandwidth_vals), 0x0f,
17321
16
        NULL, HFILL }},
17322
16
    { &hf_ansi_map_tdmaServiceCode,
17323
16
      { "tdmaServiceCode", "ansi_map.tdmaServiceCode",
17324
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_TDMAServiceCode_vals), 0,
17325
16
        NULL, HFILL }},
17326
16
    { &hf_ansi_map_tdmaTerminalCapability,
17327
16
      { "tdmaTerminalCapability", "ansi_map.tdmaTerminalCapability",
17328
16
        FT_BYTES, BASE_NONE, NULL, 0,
17329
16
        NULL, HFILL }},
17330
16
    { &hf_ansi_map_tdmaVoiceCoder,
17331
16
      { "tdmaVoiceCoder", "ansi_map.tdmaVoiceCoder",
17332
16
        FT_BYTES, BASE_NONE, NULL, 0,
17333
16
        NULL, HFILL }},
17334
16
    { &hf_ansi_map_userZoneData,
17335
16
      { "userZoneData", "ansi_map.userZoneData",
17336
16
        FT_BYTES, BASE_NONE, NULL, 0,
17337
16
        NULL, HFILL }},
17338
16
    { &hf_ansi_map_bsmcstatus,
17339
16
      { "bsmcstatus", "ansi_map.bsmcstatus",
17340
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_BSMCStatus_vals), 0x03,
17341
16
        NULL, HFILL }},
17342
16
    { &hf_ansi_map_cdma2000HandoffResponseIOSData,
17343
16
      { "cdma2000HandoffResponseIOSData", "ansi_map.cdma2000HandoffResponseIOSData_element",
17344
16
        FT_NONE, BASE_NONE, NULL, 0,
17345
16
        NULL, HFILL }},
17346
16
    { &hf_ansi_map_cdmaCodeChannelList,
17347
16
      { "cdmaCodeChannelList", "ansi_map.cdmaCodeChannelList",
17348
16
        FT_UINT32, BASE_DEC, NULL, 0,
17349
16
        NULL, HFILL }},
17350
16
    { &hf_ansi_map_cdmaSearchParameters,
17351
16
      { "cdmaSearchParameters", "ansi_map.cdmaSearchParameters",
17352
16
        FT_BYTES, BASE_NONE, NULL, 0,
17353
16
        NULL, HFILL }},
17354
16
    { &hf_ansi_map_cdmaSearchWindow,
17355
16
      { "cdmaSearchWindow", "ansi_map.cdmaSearchWindow",
17356
16
        FT_BYTES, BASE_NONE, NULL, 0,
17357
16
        NULL, HFILL }},
17358
16
    { &hf_ansi_map_sOCStatus,
17359
16
      { "sOCStatus", "ansi_map.sOCStatus",
17360
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_SOCStatus_vals), 0x03,
17361
16
        NULL, HFILL }},
17362
16
    { &hf_ansi_map_releaseReason,
17363
16
      { "releaseReason", "ansi_map.releaseReason",
17364
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_ReleaseReason_vals), 0,
17365
16
        NULL, HFILL }},
17366
16
    { &hf_ansi_map_acgencountered,
17367
16
      { "acgencountered", "ansi_map.acgencountered",
17368
16
        FT_BYTES, BASE_NONE, NULL, 0,
17369
16
        NULL, HFILL }},
17370
16
    { &hf_ansi_map_callingPartyName,
17371
16
      { "callingPartyName", "ansi_map.callingPartyName",
17372
16
        FT_BYTES, BASE_NONE, NULL, 0,
17373
16
        NULL, HFILL }},
17374
16
    { &hf_ansi_map_callingPartyNumberDigits1,
17375
16
      { "callingPartyNumberDigits1", "ansi_map.callingPartyNumberDigits1",
17376
16
        FT_BYTES, BASE_NONE, NULL, 0,
17377
16
        NULL, HFILL }},
17378
16
    { &hf_ansi_map_callingPartyNumberDigits2,
17379
16
      { "callingPartyNumberDigits2", "ansi_map.callingPartyNumberDigits2",
17380
16
        FT_BYTES, BASE_NONE, NULL, 0,
17381
16
        NULL, HFILL }},
17382
16
    { &hf_ansi_map_callingPartySubaddress,
17383
16
      { "callingPartySubaddress", "ansi_map.callingPartySubaddress",
17384
16
        FT_BYTES, BASE_NONE, NULL, 0,
17385
16
        NULL, HFILL }},
17386
16
    { &hf_ansi_map_conferenceCallingIndicator,
17387
16
      { "conferenceCallingIndicator", "ansi_map.conferenceCallingIndicator",
17388
16
        FT_BYTES, BASE_NONE, NULL, 0,
17389
16
        NULL, HFILL }},
17390
16
    { &hf_ansi_map_mobileDirectoryNumber,
17391
16
      { "mobileDirectoryNumber", "ansi_map.mobileDirectoryNumber_element",
17392
16
        FT_NONE, BASE_NONE, NULL, 0,
17393
16
        NULL, HFILL }},
17394
16
    { &hf_ansi_map_mSCIdentificationNumber,
17395
16
      { "mSCIdentificationNumber", "ansi_map.mSCIdentificationNumber_element",
17396
16
        FT_NONE, BASE_NONE, NULL, 0,
17397
16
        NULL, HFILL }},
17398
16
    { &hf_ansi_map_oneTimeFeatureIndicator,
17399
16
      { "oneTimeFeatureIndicator", "ansi_map.oneTimeFeatureIndicator",
17400
16
        FT_BYTES, BASE_NONE, NULL, 0,
17401
16
        NULL, HFILL }},
17402
16
    { &hf_ansi_map_systemMyTypeCode,
17403
16
      { "systemMyTypeCode", "ansi_map.systemMyTypeCode",
17404
16
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &ansi_map_SystemMyTypeCode_vals_ext, 0,
17405
16
        NULL, HFILL }},
17406
16
    { &hf_ansi_map_featureResult,
17407
16
      { "featureResult", "ansi_map.featureResult",
17408
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_FeatureResult_vals), 0,
17409
16
        NULL, HFILL }},
17410
16
    { &hf_ansi_map_accessDeniedReason,
17411
16
      { "accessDeniedReason", "ansi_map.accessDeniedReason",
17412
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_AccessDeniedReason_vals), 0,
17413
16
        NULL, HFILL }},
17414
16
    { &hf_ansi_map_actionCode,
17415
16
      { "actionCode", "ansi_map.actionCode",
17416
16
        FT_UINT8, BASE_DEC|BASE_EXT_STRING|BASE_EXT_STRING, &ansi_map_ActionCode_vals_ext, 0,
17417
16
        NULL, HFILL }},
17418
16
    { &hf_ansi_map_announcementList,
17419
16
      { "announcementList", "ansi_map.announcementList_element",
17420
16
        FT_NONE, BASE_NONE, NULL, 0,
17421
16
        NULL, HFILL }},
17422
16
    { &hf_ansi_map_callingPartyNumberString1,
17423
16
      { "callingPartyNumberString1", "ansi_map.callingPartyNumberString1_element",
17424
16
        FT_NONE, BASE_NONE, NULL, 0,
17425
16
        NULL, HFILL }},
17426
16
    { &hf_ansi_map_callingPartyNumberString2,
17427
16
      { "callingPartyNumberString2", "ansi_map.callingPartyNumberString2_element",
17428
16
        FT_NONE, BASE_NONE, NULL, 0,
17429
16
        NULL, HFILL }},
17430
16
    { &hf_ansi_map_digits_Destination,
17431
16
      { "digits-Destination", "ansi_map.digits_Destination_element",
17432
16
        FT_NONE, BASE_NONE, NULL, 0,
17433
16
        "Digits", HFILL }},
17434
16
    { &hf_ansi_map_displayText,
17435
16
      { "displayText", "ansi_map.displayText",
17436
16
        FT_BYTES, BASE_NONE, NULL, 0,
17437
16
        NULL, HFILL }},
17438
16
    { &hf_ansi_map_displayText2,
17439
16
      { "displayText2", "ansi_map.displayText2",
17440
16
        FT_BYTES, BASE_NONE, NULL, 0,
17441
16
        NULL, HFILL }},
17442
16
    { &hf_ansi_map_dmh_AccountCodeDigits,
17443
16
      { "dmh-AccountCodeDigits", "ansi_map.dmh_AccountCodeDigits",
17444
16
        FT_BYTES, BASE_NONE, NULL, 0,
17445
16
        NULL, HFILL }},
17446
16
    { &hf_ansi_map_dmh_AlternateBillingDigits,
17447
16
      { "dmh-AlternateBillingDigits", "ansi_map.dmh_AlternateBillingDigits",
17448
16
        FT_BYTES, BASE_NONE, NULL, 0,
17449
16
        NULL, HFILL }},
17450
16
    { &hf_ansi_map_dmh_BillingDigits,
17451
16
      { "dmh-BillingDigits", "ansi_map.dmh_BillingDigits",
17452
16
        FT_BYTES, BASE_NONE, NULL, 0,
17453
16
        NULL, HFILL }},
17454
16
    { &hf_ansi_map_dmh_RedirectionIndicator,
17455
16
      { "dmh-RedirectionIndicator", "ansi_map.dmh_RedirectionIndicator",
17456
16
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &ansi_map_DMH_RedirectionIndicator_vals_ext, 0,
17457
16
        NULL, HFILL }},
17458
16
    { &hf_ansi_map_groupInformation,
17459
16
      { "groupInformation", "ansi_map.groupInformation",
17460
16
        FT_BYTES, BASE_NONE, NULL, 0,
17461
16
        NULL, HFILL }},
17462
16
    { &hf_ansi_map_noAnswerTime,
17463
16
      { "noAnswerTime", "ansi_map.noAnswerTime",
17464
16
        FT_BYTES, BASE_NONE, NULL, 0,
17465
16
        NULL, HFILL }},
17466
16
    { &hf_ansi_map_pACAIndicator,
17467
16
      { "pACAIndicator", "ansi_map.pACAIndicator",
17468
16
        FT_BYTES, BASE_NONE, NULL, 0,
17469
16
        NULL, HFILL }},
17470
16
    { &hf_ansi_map_pilotNumber,
17471
16
      { "pilotNumber", "ansi_map.pilotNumber",
17472
16
        FT_BYTES, BASE_NONE, NULL, 0,
17473
16
        NULL, HFILL }},
17474
16
    { &hf_ansi_map_preferredLanguageIndicator,
17475
16
      { "preferredLanguageIndicator", "ansi_map.preferredLanguageIndicator",
17476
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_PreferredLanguageIndicator_vals), 0,
17477
16
        NULL, HFILL }},
17478
16
    { &hf_ansi_map_redirectingNumberDigits,
17479
16
      { "redirectingNumberDigits", "ansi_map.redirectingNumberDigits",
17480
16
        FT_BYTES, BASE_NONE, NULL, 0,
17481
16
        NULL, HFILL }},
17482
16
    { &hf_ansi_map_redirectingNumberString,
17483
16
      { "redirectingNumberString", "ansi_map.redirectingNumberString",
17484
16
        FT_BYTES, BASE_NONE, NULL, 0,
17485
16
        NULL, HFILL }},
17486
16
    { &hf_ansi_map_redirectingSubaddress,
17487
16
      { "redirectingSubaddress", "ansi_map.redirectingSubaddress",
17488
16
        FT_BYTES, BASE_NONE, NULL, 0,
17489
16
        NULL, HFILL }},
17490
16
    { &hf_ansi_map_resumePIC,
17491
16
      { "resumePIC", "ansi_map.resumePIC",
17492
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_ResumePIC_vals), 0,
17493
16
        NULL, HFILL }},
17494
16
    { &hf_ansi_map_terminationList,
17495
16
      { "terminationList", "ansi_map.terminationList",
17496
16
        FT_UINT32, BASE_DEC, NULL, 0,
17497
16
        NULL, HFILL }},
17498
16
    { &hf_ansi_map_terminationTriggers,
17499
16
      { "terminationTriggers", "ansi_map.terminationTriggers",
17500
16
        FT_BYTES, BASE_NONE, NULL, 0,
17501
16
        NULL, HFILL }},
17502
16
    { &hf_ansi_map_triggerAddressList,
17503
16
      { "triggerAddressList", "ansi_map.triggerAddressList_element",
17504
16
        FT_NONE, BASE_NONE, NULL, 0,
17505
16
        NULL, HFILL }},
17506
16
    { &hf_ansi_map_emergencyServicesRoutingDigits,
17507
16
      { "emergencyServicesRoutingDigits", "ansi_map.emergencyServicesRoutingDigits",
17508
16
        FT_BYTES, BASE_NONE, NULL, 0,
17509
16
        NULL, HFILL }},
17510
16
    { &hf_ansi_map_targetCellIDList,
17511
16
      { "targetCellIDList", "ansi_map.targetCellIDList_element",
17512
16
        FT_NONE, BASE_NONE, NULL, 0,
17513
16
        NULL, HFILL }},
17514
16
    { &hf_ansi_map_signalQuality,
17515
16
      { "signalQuality", "ansi_map.signalQuality",
17516
16
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &ansi_map_SignalQuality_vals_ext, 0,
17517
16
        NULL, HFILL }},
17518
16
    { &hf_ansi_map_targetMeasurementList,
17519
16
      { "targetMeasurementList", "ansi_map.targetMeasurementList",
17520
16
        FT_UINT32, BASE_DEC, NULL, 0,
17521
16
        NULL, HFILL }},
17522
16
    { &hf_ansi_map_alertResult,
17523
16
      { "alertResult", "ansi_map.alertResult",
17524
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_AlertResult_result_vals), 0,
17525
16
        NULL, HFILL }},
17526
16
    { &hf_ansi_map_messageWaitingNotificationCount,
17527
16
      { "messageWaitingNotificationCount", "ansi_map.messageWaitingNotificationCount",
17528
16
        FT_BYTES, BASE_NONE, NULL, 0,
17529
16
        NULL, HFILL }},
17530
16
    { &hf_ansi_map_messageWaitingNotificationType,
17531
16
      { "messageWaitingNotificationType", "ansi_map.messageWaitingNotificationType",
17532
16
        FT_BYTES, BASE_NONE, NULL, 0,
17533
16
        NULL, HFILL }},
17534
16
    { &hf_ansi_map_cdmaBandClass,
17535
16
      { "cdmaBandClass", "ansi_map.cdmaBandClass",
17536
16
        FT_BYTES, BASE_NONE, NULL, 0,
17537
16
        NULL, HFILL }},
17538
16
    { &hf_ansi_map_cdmaServiceOption,
17539
16
      { "cdmaServiceOption", "ansi_map.cdmaServiceOption",
17540
16
        FT_BYTES, BASE_NONE, NULL, 0,
17541
16
        NULL, HFILL }},
17542
16
    { &hf_ansi_map_cdmaSlotCycleIndex,
17543
16
      { "cdmaSlotCycleIndex", "ansi_map.cdmaSlotCycleIndex",
17544
16
        FT_BYTES, BASE_NONE, NULL, 0,
17545
16
        NULL, HFILL }},
17546
16
    { &hf_ansi_map_extendedMSCID,
17547
16
      { "extendedMSCID", "ansi_map.extendedMSCID",
17548
16
        FT_BYTES, BASE_NONE, NULL, 0,
17549
16
        NULL, HFILL }},
17550
16
    { &hf_ansi_map_extendedSystemMyTypeCode,
17551
16
      { "extendedSystemMyTypeCode", "ansi_map.extendedSystemMyTypeCode",
17552
16
        FT_BYTES, BASE_NONE, NULL, 0,
17553
16
        NULL, HFILL }},
17554
16
    { &hf_ansi_map_imsi,
17555
16
      { "imsi", "ansi_map.imsi",
17556
16
        FT_BYTES, BASE_NONE, NULL, 0,
17557
16
        NULL, HFILL }},
17558
16
    { &hf_ansi_map_legInformation,
17559
16
      { "legInformation", "ansi_map.legInformation",
17560
16
        FT_BYTES, BASE_NONE, NULL, 0,
17561
16
        NULL, HFILL }},
17562
16
    { &hf_ansi_map_mSIDUsage,
17563
16
      { "mSIDUsage", "ansi_map.mSIDUsage",
17564
16
        FT_UINT8, BASE_DEC, VALS(ansi_MSIDUsage_m_or_i_vals), 0x03,
17565
16
        NULL, HFILL }},
17566
16
    { &hf_ansi_map_networkTMSI,
17567
16
      { "networkTMSI", "ansi_map.networkTMSI",
17568
16
        FT_BYTES, BASE_NONE, NULL, 0,
17569
16
        NULL, HFILL }},
17570
16
    { &hf_ansi_map_pageCount,
17571
16
      { "pageCount", "ansi_map.pageCount",
17572
16
        FT_BYTES, BASE_NONE, NULL, 0,
17573
16
        NULL, HFILL }},
17574
16
    { &hf_ansi_map_pageIndicator,
17575
16
      { "pageIndicator", "ansi_map.pageIndicator",
17576
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_PageIndicator_vals), 0,
17577
16
        NULL, HFILL }},
17578
16
    { &hf_ansi_map_pageResponseTime,
17579
16
      { "pageResponseTime", "ansi_map.pageResponseTime",
17580
16
        FT_BYTES, BASE_NONE, NULL, 0,
17581
16
        NULL, HFILL }},
17582
16
    { &hf_ansi_map_pilotBillingID,
17583
16
      { "pilotBillingID", "ansi_map.pilotBillingID",
17584
16
        FT_BYTES, BASE_NONE, NULL, 0,
17585
16
        NULL, HFILL }},
17586
16
    { &hf_ansi_map_redirectingPartyName,
17587
16
      { "redirectingPartyName", "ansi_map.redirectingPartyName",
17588
16
        FT_BYTES, BASE_NONE, NULL, 0,
17589
16
        NULL, HFILL }},
17590
16
    { &hf_ansi_map_tdmaDataFeaturesIndicator,
17591
16
      { "tdmaDataFeaturesIndicator", "ansi_map.tdmaDataFeaturesIndicator",
17592
16
        FT_BYTES, BASE_NONE, NULL, 0,
17593
16
        NULL, HFILL }},
17594
16
    { &hf_ansi_map_terminationTreatment,
17595
16
      { "terminationTreatment", "ansi_map.terminationTreatment",
17596
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_TerminationTreatment_vals), 0,
17597
16
        NULL, HFILL }},
17598
16
    { &hf_ansi_map_conditionallyDeniedReason,
17599
16
      { "conditionallyDeniedReason", "ansi_map.conditionallyDeniedReason",
17600
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_ConditionallyDeniedReason_vals), 0,
17601
16
        NULL, HFILL }},
17602
16
    { &hf_ansi_map_pagingFrameClass,
17603
16
      { "pagingFrameClass", "ansi_map.pagingFrameClass",
17604
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_PagingFrameClass_vals), 0,
17605
16
        NULL, HFILL }},
17606
16
    { &hf_ansi_map_pSID_RSIDList,
17607
16
      { "pSID-RSIDList", "ansi_map.pSID_RSIDList_element",
17608
16
        FT_NONE, BASE_NONE, NULL, 0,
17609
16
        NULL, HFILL }},
17610
16
    { &hf_ansi_map_randc,
17611
16
      { "randc", "ansi_map.randc",
17612
16
        FT_BYTES, BASE_NONE, NULL, 0,
17613
16
        NULL, HFILL }},
17614
16
    { &hf_ansi_map_tdmaDataMode,
17615
16
      { "tdmaDataMode", "ansi_map.tdmaDataMode",
17616
16
        FT_BYTES, BASE_NONE, NULL, 0,
17617
16
        NULL, HFILL }},
17618
16
    { &hf_ansi_map_changeServiceAttributes,
17619
16
      { "changeServiceAttributes", "ansi_map.changeServiceAttributes",
17620
16
        FT_BYTES, BASE_NONE, NULL, 0,
17621
16
        NULL, HFILL }},
17622
16
    { &hf_ansi_map_edirectingSubaddress,
17623
16
      { "edirectingSubaddress", "ansi_map.edirectingSubaddress",
17624
16
        FT_BYTES, BASE_NONE, NULL, 0,
17625
16
        "RedirectingSubaddress", HFILL }},
17626
16
    { &hf_ansi_map_setupResult,
17627
16
      { "setupResult", "ansi_map.setupResult",
17628
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_SetupResult_vals), 0,
17629
16
        NULL, HFILL }},
17630
16
    { &hf_ansi_map_terminationAccessType,
17631
16
      { "terminationAccessType", "ansi_map.terminationAccessType",
17632
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_TerminationAccessType_vals), 0,
17633
16
        NULL, HFILL }},
17634
16
    { &hf_ansi_map_triggerType,
17635
16
      { "triggerType", "ansi_map.triggerType",
17636
16
        FT_UINT32, BASE_DEC|BASE_EXT_STRING, &ansi_map_TriggerType_vals_ext, 0,
17637
16
        NULL, HFILL }},
17638
16
    { &hf_ansi_map_winCapability,
17639
16
      { "winCapability", "ansi_map.winCapability_element",
17640
16
        FT_NONE, BASE_NONE, NULL, 0,
17641
16
        NULL, HFILL }},
17642
16
    { &hf_ansi_map_callingPartyCategory,
17643
16
      { "callingPartyCategory", "ansi_map.callingPartyCategory",
17644
16
        FT_BYTES, BASE_NONE, NULL, 0,
17645
16
        NULL, HFILL }},
17646
16
    { &hf_ansi_map_controlNetworkID,
17647
16
      { "controlNetworkID", "ansi_map.controlNetworkID",
17648
16
        FT_BYTES, BASE_NONE, NULL, 0,
17649
16
        NULL, HFILL }},
17650
16
    { &hf_ansi_map_digits_carrier,
17651
16
      { "digits-carrier", "ansi_map.digits_carrier_element",
17652
16
        FT_NONE, BASE_NONE, NULL, 0,
17653
16
        "Digits", HFILL }},
17654
16
    { &hf_ansi_map_digits_dest,
17655
16
      { "digits-dest", "ansi_map.digits_dest_element",
17656
16
        FT_NONE, BASE_NONE, NULL, 0,
17657
16
        "Digits", HFILL }},
17658
16
    { &hf_ansi_map_dmh_ServiceID,
17659
16
      { "dmh-ServiceID", "ansi_map.dmh_ServiceID",
17660
16
        FT_BYTES, BASE_NONE, NULL, 0,
17661
16
        NULL, HFILL }},
17662
16
    { &hf_ansi_map_lectronicSerialNumber,
17663
16
      { "lectronicSerialNumber", "ansi_map.lectronicSerialNumber",
17664
16
        FT_BYTES, BASE_NONE, NULL, 0,
17665
16
        "ElectronicSerialNumber", HFILL }},
17666
16
    { &hf_ansi_map_deregistrationType,
17667
16
      { "deregistrationType", "ansi_map.deregistrationType",
17668
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_DeregistrationType_vals), 0,
17669
16
        NULL, HFILL }},
17670
16
    { &hf_ansi_map_servicesResult,
17671
16
      { "servicesResult", "ansi_map.servicesResult",
17672
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_ServicesResult_ppr_vals), 0x03,
17673
16
        NULL, HFILL }},
17674
16
    { &hf_ansi_map_sms_MessageWaitingIndicator,
17675
16
      { "sms-MessageWaitingIndicator", "ansi_map.sms_MessageWaitingIndicator_element",
17676
16
        FT_NONE, BASE_NONE, NULL, 0,
17677
16
        NULL, HFILL }},
17678
16
    { &hf_ansi_map_featureIndicator,
17679
16
      { "featureIndicator", "ansi_map.featureIndicator",
17680
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_FeatureIndicator_vals), 0,
17681
16
        NULL, HFILL }},
17682
16
    { &hf_ansi_map_authenticationCapability,
17683
16
      { "authenticationCapability", "ansi_map.authenticationCapability",
17684
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_AuthenticationCapability_vals), 0,
17685
16
        NULL, HFILL }},
17686
16
    { &hf_ansi_map_callingFeaturesIndicator,
17687
16
      { "callingFeaturesIndicator", "ansi_map.callingFeaturesIndicator",
17688
16
        FT_BYTES, BASE_NONE, NULL, 0,
17689
16
        NULL, HFILL }},
17690
16
    { &hf_ansi_map_geographicAuthorization,
17691
16
      { "geographicAuthorization", "ansi_map.geographicAuthorization",
17692
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_GeographicAuthorization_vals), 0,
17693
16
        NULL, HFILL }},
17694
16
    { &hf_ansi_map_meidValidated,
17695
16
      { "meidValidated", "ansi_map.meidValidated_element",
17696
16
        FT_NONE, BASE_NONE, NULL, 0,
17697
16
        NULL, HFILL }},
17698
16
    { &hf_ansi_map_mobilePositionCapability,
17699
16
      { "mobilePositionCapability", "ansi_map.mobilePositionCapability",
17700
16
        FT_BYTES, BASE_NONE, NULL, 0,
17701
16
        NULL, HFILL }},
17702
16
    { &hf_ansi_map_originationIndicator,
17703
16
      { "originationIndicator", "ansi_map.originationIndicator",
17704
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_OriginationIndicator_vals), 0,
17705
16
        NULL, HFILL }},
17706
16
    { &hf_ansi_map_originationTriggers,
17707
16
      { "originationTriggers", "ansi_map.originationTriggers",
17708
16
        FT_BYTES, BASE_NONE, NULL, 0,
17709
16
        NULL, HFILL }},
17710
16
    { &hf_ansi_map_restrictionDigits,
17711
16
      { "restrictionDigits", "ansi_map.restrictionDigits",
17712
16
        FT_BYTES, BASE_NONE, NULL, 0,
17713
16
        NULL, HFILL }},
17714
16
    { &hf_ansi_map_sms_OriginationRestrictions,
17715
16
      { "sms-OriginationRestrictions", "ansi_map.sms_OriginationRestrictions",
17716
16
        FT_BYTES, BASE_NONE, NULL, 0,
17717
16
        NULL, HFILL }},
17718
16
    { &hf_ansi_map_sms_TerminationRestrictions,
17719
16
      { "sms-TerminationRestrictions", "ansi_map.sms_TerminationRestrictions",
17720
16
        FT_BYTES, BASE_NONE, NULL, 0,
17721
16
        NULL, HFILL }},
17722
16
    { &hf_ansi_map_spinipin,
17723
16
      { "spinipin", "ansi_map.spinipin",
17724
16
        FT_BYTES, BASE_NONE, NULL, 0,
17725
16
        NULL, HFILL }},
17726
16
    { &hf_ansi_map_spiniTriggers,
17727
16
      { "spiniTriggers", "ansi_map.spiniTriggers",
17728
16
        FT_BYTES, BASE_NONE, NULL, 0,
17729
16
        NULL, HFILL }},
17730
16
    { &hf_ansi_map_terminationRestrictionCode,
17731
16
      { "terminationRestrictionCode", "ansi_map.terminationRestrictionCode",
17732
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_TerminationRestrictionCode_vals), 0,
17733
16
        NULL, HFILL }},
17734
16
    { &hf_ansi_map_userGroup,
17735
16
      { "userGroup", "ansi_map.userGroup",
17736
16
        FT_BYTES, BASE_NONE, NULL, 0,
17737
16
        NULL, HFILL }},
17738
16
    { &hf_ansi_map_lirMode,
17739
16
      { "lirMode", "ansi_map.lirMode",
17740
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_LIRMode_vals), 0,
17741
16
        NULL, HFILL }},
17742
16
    { &hf_ansi_map_cdmaCodeChannel,
17743
16
      { "cdmaCodeChannel", "ansi_map.cdmaCodeChannel",
17744
16
        FT_BYTES, BASE_NONE, NULL, 0,
17745
16
        NULL, HFILL }},
17746
16
    { &hf_ansi_map_cdmaMobileCapabilities,
17747
16
      { "cdmaMobileCapabilities", "ansi_map.cdmaMobileCapabilities",
17748
16
        FT_BYTES, BASE_NONE, NULL, 0,
17749
16
        NULL, HFILL }},
17750
16
    { &hf_ansi_map_cdmaServingOneWayDelay2,
17751
16
      { "cdmaServingOneWayDelay2", "ansi_map.cdmaServingOneWayDelay2",
17752
16
        FT_BYTES, BASE_NONE, NULL, 0,
17753
16
        NULL, HFILL }},
17754
16
    { &hf_ansi_map_cdmaPSMMList,
17755
16
      { "cdmaPSMMList", "ansi_map.cdmaPSMMList",
17756
16
        FT_UINT32, BASE_DEC, NULL, 0,
17757
16
        NULL, HFILL }},
17758
16
    { &hf_ansi_map_mpcAddress,
17759
16
      { "mpcAddress", "ansi_map.mpcAddress",
17760
16
        FT_BYTES, BASE_NONE, NULL, 0,
17761
16
        NULL, HFILL }},
17762
16
    { &hf_ansi_map_dmh_ChargeInformation,
17763
16
      { "dmh-ChargeInformation", "ansi_map.dmh_ChargeInformation",
17764
16
        FT_BYTES, BASE_NONE, NULL, 0,
17765
16
        NULL, HFILL }},
17766
16
    { &hf_ansi_map_qualificationInformationCode,
17767
16
      { "qualificationInformationCode", "ansi_map.qualificationInformationCode",
17768
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_QualificationInformationCode_vals), 0,
17769
16
        NULL, HFILL }},
17770
16
    { &hf_ansi_map_authorizationDenied,
17771
16
      { "authorizationDenied", "ansi_map.authorizationDenied",
17772
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_AuthorizationDenied_vals), 0,
17773
16
        NULL, HFILL }},
17774
16
    { &hf_ansi_map_authorizationPeriod,
17775
16
      { "authorizationPeriod", "ansi_map.authorizationPeriod",
17776
16
        FT_BYTES, BASE_NONE, NULL, 0,
17777
16
        NULL, HFILL }},
17778
16
    { &hf_ansi_map_deniedAuthorizationPeriod,
17779
16
      { "deniedAuthorizationPeriod", "ansi_map.deniedAuthorizationPeriod",
17780
16
        FT_BYTES, BASE_NONE, NULL, 0,
17781
16
        NULL, HFILL }},
17782
16
    { &hf_ansi_map_randValidTime,
17783
16
      { "randValidTime", "ansi_map.randValidTime",
17784
16
        FT_BYTES, BASE_NONE, NULL, 0,
17785
16
        NULL, HFILL }},
17786
16
    { &hf_ansi_map_redirectionReason,
17787
16
      { "redirectionReason", "ansi_map.redirectionReason",
17788
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_RedirectionReason_vals), 0,
17789
16
        NULL, HFILL }},
17790
16
    { &hf_ansi_map_cancellationType,
17791
16
      { "cancellationType", "ansi_map.cancellationType",
17792
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_CancellationType_vals), 0,
17793
16
        NULL, HFILL }},
17794
16
    { &hf_ansi_map_controlChannelData,
17795
16
      { "controlChannelData", "ansi_map.controlChannelData",
17796
16
        FT_BYTES, BASE_NONE, NULL, 0,
17797
16
        NULL, HFILL }},
17798
16
    { &hf_ansi_map_receivedSignalQuality,
17799
16
      { "receivedSignalQuality", "ansi_map.receivedSignalQuality",
17800
16
        FT_UINT32, BASE_DEC, NULL, 0,
17801
16
        NULL, HFILL }},
17802
16
    { &hf_ansi_map_systemAccessData,
17803
16
      { "systemAccessData", "ansi_map.systemAccessData",
17804
16
        FT_BYTES, BASE_NONE, NULL, 0,
17805
16
        NULL, HFILL }},
17806
16
    { &hf_ansi_map_cancellationDenied,
17807
16
      { "cancellationDenied", "ansi_map.cancellationDenied",
17808
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_CancellationDenied_vals), 0,
17809
16
        NULL, HFILL }},
17810
16
    { &hf_ansi_map_availabilityType,
17811
16
      { "availabilityType", "ansi_map.availabilityType",
17812
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_AvailabilityType_vals), 0,
17813
16
        NULL, HFILL }},
17814
16
    { &hf_ansi_map_borderCellAccess,
17815
16
      { "borderCellAccess", "ansi_map.borderCellAccess",
17816
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_BorderCellAccess_vals), 0,
17817
16
        NULL, HFILL }},
17818
16
    { &hf_ansi_map_msc_Address,
17819
16
      { "msc-Address", "ansi_map.msc_Address",
17820
16
        FT_BYTES, BASE_NONE, NULL, 0,
17821
16
        NULL, HFILL }},
17822
16
    { &hf_ansi_map_sms_Address,
17823
16
      { "sms-Address", "ansi_map.sms_Address_element",
17824
16
        FT_NONE, BASE_NONE, NULL, 0,
17825
16
        NULL, HFILL }},
17826
16
    { &hf_ansi_map_mpcAddressList,
17827
16
      { "mpcAddressList", "ansi_map.mpcAddressList_element",
17828
16
        FT_NONE, BASE_NONE, NULL, 0,
17829
16
        NULL, HFILL }},
17830
16
    { &hf_ansi_map_digits_Carrier,
17831
16
      { "digits-Carrier", "ansi_map.digits_Carrier_element",
17832
16
        FT_NONE, BASE_NONE, NULL, 0,
17833
16
        "Digits", HFILL }},
17834
16
    { &hf_ansi_map_digitCollectionControl,
17835
16
      { "digitCollectionControl", "ansi_map.digitCollectionControl",
17836
16
        FT_BYTES, BASE_NONE, NULL, 0,
17837
16
        NULL, HFILL }},
17838
16
    { &hf_ansi_map_trunkStatus,
17839
16
      { "trunkStatus", "ansi_map.trunkStatus",
17840
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_TrunkStatus_vals), 0,
17841
16
        NULL, HFILL }},
17842
16
    { &hf_ansi_map_voiceMailboxNumber,
17843
16
      { "voiceMailboxNumber", "ansi_map.voiceMailboxNumber",
17844
16
        FT_BYTES, BASE_NONE, NULL, 0,
17845
16
        NULL, HFILL }},
17846
16
    { &hf_ansi_map_voiceMailboxPIN,
17847
16
      { "voiceMailboxPIN", "ansi_map.voiceMailboxPIN",
17848
16
        FT_BYTES, BASE_NONE, NULL, 0,
17849
16
        NULL, HFILL }},
17850
16
    { &hf_ansi_map_sms_BearerData,
17851
16
      { "sms-BearerData", "ansi_map.sms_BearerData",
17852
16
        FT_BYTES, BASE_NONE, NULL, 0,
17853
16
        NULL, HFILL }},
17854
16
    { &hf_ansi_map_sms_TeleserviceIdentifier,
17855
16
      { "sms-TeleserviceIdentifier", "ansi_map.sms_TeleserviceIdentifier",
17856
16
        FT_BYTES, BASE_NONE, NULL, 0,
17857
16
        NULL, HFILL }},
17858
16
    { &hf_ansi_map_sms_ChargeIndicator,
17859
16
      { "sms-ChargeIndicator", "ansi_map.sms_ChargeIndicator",
17860
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_SMS_ChargeIndicator_vals), 0,
17861
16
        NULL, HFILL }},
17862
16
    { &hf_ansi_map_sms_DestinationAddress,
17863
16
      { "sms-DestinationAddress", "ansi_map.sms_DestinationAddress_element",
17864
16
        FT_NONE, BASE_NONE, NULL, 0,
17865
16
        NULL, HFILL }},
17866
16
    { &hf_ansi_map_sms_OriginalDestinationAddress,
17867
16
      { "sms-OriginalDestinationAddress", "ansi_map.sms_OriginalDestinationAddress_element",
17868
16
        FT_NONE, BASE_NONE, NULL, 0,
17869
16
        NULL, HFILL }},
17870
16
    { &hf_ansi_map_sms_OriginalDestinationSubaddress,
17871
16
      { "sms-OriginalDestinationSubaddress", "ansi_map.sms_OriginalDestinationSubaddress",
17872
16
        FT_BYTES, BASE_NONE, NULL, 0,
17873
16
        NULL, HFILL }},
17874
16
    { &hf_ansi_map_sms_OriginalOriginatingAddress,
17875
16
      { "sms-OriginalOriginatingAddress", "ansi_map.sms_OriginalOriginatingAddress_element",
17876
16
        FT_NONE, BASE_NONE, NULL, 0,
17877
16
        NULL, HFILL }},
17878
16
    { &hf_ansi_map_sms_OriginalOriginatingSubaddress,
17879
16
      { "sms-OriginalOriginatingSubaddress", "ansi_map.sms_OriginalOriginatingSubaddress",
17880
16
        FT_BYTES, BASE_NONE, NULL, 0,
17881
16
        NULL, HFILL }},
17882
16
    { &hf_ansi_map_sms_OriginatingAddress,
17883
16
      { "sms-OriginatingAddress", "ansi_map.sms_OriginatingAddress_element",
17884
16
        FT_NONE, BASE_NONE, NULL, 0,
17885
16
        NULL, HFILL }},
17886
16
    { &hf_ansi_map_sms_CauseCode,
17887
16
      { "sms-CauseCode", "ansi_map.sms_CauseCode",
17888
16
        FT_UINT8, BASE_DEC|BASE_EXT_STRING|BASE_EXT_STRING, &ansi_map_SMS_CauseCode_vals_ext, 0,
17889
16
        NULL, HFILL }},
17890
16
    { &hf_ansi_map_interMessageTime,
17891
16
      { "interMessageTime", "ansi_map.interMessageTime",
17892
16
        FT_BYTES, BASE_NONE, NULL, 0,
17893
16
        NULL, HFILL }},
17894
16
    { &hf_ansi_map_newlyAssignedIMSI,
17895
16
      { "newlyAssignedIMSI", "ansi_map.newlyAssignedIMSI",
17896
16
        FT_BYTES, BASE_NONE, NULL, 0,
17897
16
        NULL, HFILL }},
17898
16
    { &hf_ansi_map_newlyAssignedMIN,
17899
16
      { "newlyAssignedMIN", "ansi_map.newlyAssignedMIN_element",
17900
16
        FT_NONE, BASE_NONE, NULL, 0,
17901
16
        NULL, HFILL }},
17902
16
    { &hf_ansi_map_newMINExtension,
17903
16
      { "newMINExtension", "ansi_map.newMINExtension",
17904
16
        FT_BYTES, BASE_NONE, NULL, 0,
17905
16
        NULL, HFILL }},
17906
16
    { &hf_ansi_map_sms_MessageCount,
17907
16
      { "sms-MessageCount", "ansi_map.sms_MessageCount",
17908
16
        FT_BYTES, BASE_NONE, NULL, 0,
17909
16
        NULL, HFILL }},
17910
16
    { &hf_ansi_map_sms_NotificationIndicator,
17911
16
      { "sms-NotificationIndicator", "ansi_map.sms_NotificationIndicator",
17912
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_SMS_NotificationIndicator_vals), 0,
17913
16
        NULL, HFILL }},
17914
16
    { &hf_ansi_map_teleservice_Priority,
17915
16
      { "teleservice-Priority", "ansi_map.teleservice_Priority",
17916
16
        FT_BYTES, BASE_NONE, NULL, 0,
17917
16
        NULL, HFILL }},
17918
16
    { &hf_ansi_map_temporaryReferenceNumber,
17919
16
      { "temporaryReferenceNumber", "ansi_map.temporaryReferenceNumber_element",
17920
16
        FT_NONE, BASE_NONE, NULL, 0,
17921
16
        NULL, HFILL }},
17922
16
    { &hf_ansi_map_mobileStationMSID,
17923
16
      { "mobileStationMSID", "ansi_map.mobileStationMSID",
17924
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_MobileStationMSID_vals), 0,
17925
16
        NULL, HFILL }},
17926
16
    { &hf_ansi_map_sms_TransactionID,
17927
16
      { "sms-TransactionID", "ansi_map.sms_TransactionID",
17928
16
        FT_BYTES, BASE_NONE, NULL, 0,
17929
16
        NULL, HFILL }},
17930
16
    { &hf_ansi_map_sms_AccessDeniedReason,
17931
16
      { "sms-AccessDeniedReason", "ansi_map.sms_AccessDeniedReason",
17932
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_SMS_AccessDeniedReason_vals), 0,
17933
16
        NULL, HFILL }},
17934
16
    { &hf_ansi_map_seizureType,
17935
16
      { "seizureType", "ansi_map.seizureType",
17936
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_SeizureType_vals), 0,
17937
16
        NULL, HFILL }},
17938
16
    { &hf_ansi_map_requiredParametersMask,
17939
16
      { "requiredParametersMask", "ansi_map.requiredParametersMask",
17940
16
        FT_BYTES, BASE_NONE, NULL, 0,
17941
16
        NULL, HFILL }},
17942
16
    { &hf_ansi_map_reasonList,
17943
16
      { "reasonList", "ansi_map.reasonList",
17944
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_ReasonList_vals), 0,
17945
16
        NULL, HFILL }},
17946
16
    { &hf_ansi_map_networkTMSIExpirationTime,
17947
16
      { "networkTMSIExpirationTime", "ansi_map.networkTMSIExpirationTime",
17948
16
        FT_BYTES, BASE_NONE, NULL, 0,
17949
16
        NULL, HFILL }},
17950
16
    { &hf_ansi_map_newNetworkTMSI,
17951
16
      { "newNetworkTMSI", "ansi_map.newNetworkTMSI",
17952
16
        FT_BYTES, BASE_NONE, NULL, 0,
17953
16
        NULL, HFILL }},
17954
16
    { &hf_ansi_map_serviceID,
17955
16
      { "serviceID", "ansi_map.serviceID",
17956
16
        FT_BYTES, BASE_NONE, NULL, 0,
17957
16
        NULL, HFILL }},
17958
16
    { &hf_ansi_map_dataAccessElementList,
17959
16
      { "dataAccessElementList", "ansi_map.dataAccessElementList",
17960
16
        FT_UINT32, BASE_DEC, NULL, 0,
17961
16
        NULL, HFILL }},
17962
16
    { &hf_ansi_map_timeDateOffset,
17963
16
      { "timeDateOffset", "ansi_map.timeDateOffset",
17964
16
        FT_BYTES, BASE_NONE, NULL, 0,
17965
16
        NULL, HFILL }},
17966
16
    { &hf_ansi_map_timeOfDay,
17967
16
      { "timeOfDay", "ansi_map.timeOfDay",
17968
16
        FT_INT32, BASE_DEC, NULL, 0,
17969
16
        NULL, HFILL }},
17970
16
    { &hf_ansi_map_dmd_BillingIndicator,
17971
16
      { "dmd-BillingIndicator", "ansi_map.dmd_BillingIndicator",
17972
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_DMH_BillingIndicator_vals), 0,
17973
16
        "DMH_BillingIndicator", HFILL }},
17974
16
    { &hf_ansi_map_failureType,
17975
16
      { "failureType", "ansi_map.failureType",
17976
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_FailureType_vals), 0,
17977
16
        NULL, HFILL }},
17978
16
    { &hf_ansi_map_failureCause,
17979
16
      { "failureCause", "ansi_map.failureCause",
17980
16
        FT_BYTES, BASE_NONE, NULL, 0,
17981
16
        NULL, HFILL }},
17982
16
    { &hf_ansi_map_outingDigits,
17983
16
      { "outingDigits", "ansi_map.outingDigits",
17984
16
        FT_BYTES, BASE_NONE, NULL, 0,
17985
16
        "RoutingDigits", HFILL }},
17986
16
    { &hf_ansi_map_databaseKey,
17987
16
      { "databaseKey", "ansi_map.databaseKey",
17988
16
        FT_BYTES, BASE_NONE, NULL, 0,
17989
16
        NULL, HFILL }},
17990
16
    { &hf_ansi_map_modificationRequestList,
17991
16
      { "modificationRequestList", "ansi_map.modificationRequestList",
17992
16
        FT_UINT32, BASE_DEC, NULL, 0,
17993
16
        NULL, HFILL }},
17994
16
    { &hf_ansi_map_modificationResultList,
17995
16
      { "modificationResultList", "ansi_map.modificationResultList",
17996
16
        FT_UINT32, BASE_DEC, NULL, 0,
17997
16
        NULL, HFILL }},
17998
16
    { &hf_ansi_map_serviceDataAccessElementList,
17999
16
      { "serviceDataAccessElementList", "ansi_map.serviceDataAccessElementList",
18000
16
        FT_UINT32, BASE_DEC, NULL, 0,
18001
16
        NULL, HFILL }},
18002
16
    { &hf_ansi_map_privateSpecializedResource,
18003
16
      { "privateSpecializedResource", "ansi_map.privateSpecializedResource",
18004
16
        FT_BYTES, BASE_NONE, NULL, 0,
18005
16
        NULL, HFILL }},
18006
16
    { &hf_ansi_map_specializedResource,
18007
16
      { "specializedResource", "ansi_map.specializedResource",
18008
16
        FT_BYTES, BASE_NONE, NULL, 0,
18009
16
        NULL, HFILL }},
18010
16
    { &hf_ansi_map_executeScript,
18011
16
      { "executeScript", "ansi_map.executeScript_element",
18012
16
        FT_NONE, BASE_NONE, NULL, 0,
18013
16
        NULL, HFILL }},
18014
16
    { &hf_ansi_map_scriptResult,
18015
16
      { "scriptResult", "ansi_map.scriptResult",
18016
16
        FT_BYTES, BASE_NONE, NULL, 0,
18017
16
        NULL, HFILL }},
18018
16
    { &hf_ansi_map_tdmaVoiceMode,
18019
16
      { "tdmaVoiceMode", "ansi_map.tdmaVoiceMode",
18020
16
        FT_BYTES, BASE_NONE, NULL, 0,
18021
16
        NULL, HFILL }},
18022
16
    { &hf_ansi_map_callStatus,
18023
16
      { "callStatus", "ansi_map.callStatus",
18024
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_CallStatus_vals), 0,
18025
16
        NULL, HFILL }},
18026
16
    { &hf_ansi_map_releaseCause,
18027
16
      { "releaseCause", "ansi_map.releaseCause",
18028
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_ReleaseCause_vals), 0,
18029
16
        NULL, HFILL }},
18030
16
    { &hf_ansi_map_callRecoveryIDList,
18031
16
      { "callRecoveryIDList", "ansi_map.callRecoveryIDList",
18032
16
        FT_UINT32, BASE_DEC, NULL, 0,
18033
16
        NULL, HFILL }},
18034
16
    { &hf_ansi_map_positionInformationCode,
18035
16
      { "positionInformationCode", "ansi_map.positionInformationCode",
18036
16
        FT_BYTES, BASE_NONE, NULL, 0,
18037
16
        NULL, HFILL }},
18038
16
    { &hf_ansi_map_mSStatus,
18039
16
      { "mSStatus", "ansi_map.mSStatus",
18040
16
        FT_BYTES, BASE_NONE, NULL, 0,
18041
16
        NULL, HFILL }},
18042
16
    { &hf_ansi_map_pSID_RSIDInformation,
18043
16
      { "pSID-RSIDInformation", "ansi_map.pSID_RSIDInformation",
18044
16
        FT_BYTES, BASE_NONE, NULL, 0,
18045
16
        NULL, HFILL }},
18046
16
    { &hf_ansi_map_positionRequestType,
18047
16
      { "positionRequestType", "ansi_map.positionRequestType",
18048
16
        FT_BYTES, BASE_NONE, NULL, 0,
18049
16
        NULL, HFILL }},
18050
16
    { &hf_ansi_map_lcsBillingID,
18051
16
      { "lcsBillingID", "ansi_map.lcsBillingID",
18052
16
        FT_BYTES, BASE_NONE, NULL, 0,
18053
16
        NULL, HFILL }},
18054
16
    { &hf_ansi_map_lcs_Client_ID,
18055
16
      { "lcs-Client-ID", "ansi_map.lcs_Client_ID",
18056
16
        FT_BYTES, BASE_NONE, NULL, 0,
18057
16
        NULL, HFILL }},
18058
16
    { &hf_ansi_map_dtxIndication,
18059
16
      { "dtxIndication", "ansi_map.dtxIndication",
18060
16
        FT_BYTES, BASE_NONE, NULL, 0,
18061
16
        NULL, HFILL }},
18062
16
    { &hf_ansi_map_tdma_MAHO_CELLID,
18063
16
      { "tdma-MAHO-CELLID", "ansi_map.tdma_MAHO_CELLID",
18064
16
        FT_BYTES, BASE_NONE, NULL, 0,
18065
16
        NULL, HFILL }},
18066
16
    { &hf_ansi_map_tdma_MAHO_CHANNEL,
18067
16
      { "tdma-MAHO-CHANNEL", "ansi_map.tdma_MAHO_CHANNEL",
18068
16
        FT_BYTES, BASE_NONE, NULL, 0,
18069
16
        NULL, HFILL }},
18070
16
    { &hf_ansi_map_tdma_TimeAlignment,
18071
16
      { "tdma-TimeAlignment", "ansi_map.tdma_TimeAlignment",
18072
16
        FT_BYTES, BASE_NONE, NULL, 0,
18073
16
        NULL, HFILL }},
18074
16
    { &hf_ansi_map_pqos_HorizontalPosition,
18075
16
      { "pqos-HorizontalPosition", "ansi_map.pqos_HorizontalPosition",
18076
16
        FT_BYTES, BASE_NONE, NULL, 0,
18077
16
        NULL, HFILL }},
18078
16
    { &hf_ansi_map_pqos_HorizontalVelocity,
18079
16
      { "pqos-HorizontalVelocity", "ansi_map.pqos_HorizontalVelocity",
18080
16
        FT_BYTES, BASE_NONE, NULL, 0,
18081
16
        NULL, HFILL }},
18082
16
    { &hf_ansi_map_pqos_MaximumPositionAge,
18083
16
      { "pqos-MaximumPositionAge", "ansi_map.pqos_MaximumPositionAge",
18084
16
        FT_BYTES, BASE_NONE, NULL, 0,
18085
16
        NULL, HFILL }},
18086
16
    { &hf_ansi_map_pqos_PositionPriority,
18087
16
      { "pqos-PositionPriority", "ansi_map.pqos_PositionPriority",
18088
16
        FT_BYTES, BASE_NONE, NULL, 0,
18089
16
        NULL, HFILL }},
18090
16
    { &hf_ansi_map_pqos_ResponseTime,
18091
16
      { "pqos-ResponseTime", "ansi_map.pqos_ResponseTime",
18092
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_PQOS_ResponseTime_vals), 0,
18093
16
        NULL, HFILL }},
18094
16
    { &hf_ansi_map_pqos_VerticalPosition,
18095
16
      { "pqos-VerticalPosition", "ansi_map.pqos_VerticalPosition",
18096
16
        FT_BYTES, BASE_NONE, NULL, 0,
18097
16
        NULL, HFILL }},
18098
16
    { &hf_ansi_map_pqos_VerticalVelocity,
18099
16
      { "pqos-VerticalVelocity", "ansi_map.pqos_VerticalVelocity",
18100
16
        FT_BYTES, BASE_NONE, NULL, 0,
18101
16
        NULL, HFILL }},
18102
16
    { &hf_ansi_map_cdmaPSMMCount,
18103
16
      { "cdmaPSMMCount", "ansi_map.cdmaPSMMCount",
18104
16
        FT_BYTES, BASE_NONE, NULL, 0,
18105
16
        NULL, HFILL }},
18106
16
    { &hf_ansi_map_lirAuthorization,
18107
16
      { "lirAuthorization", "ansi_map.lirAuthorization",
18108
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_LIRAuthorization_vals), 0,
18109
16
        NULL, HFILL }},
18110
16
    { &hf_ansi_map_mpcid,
18111
16
      { "mpcid", "ansi_map.mpcid",
18112
16
        FT_BYTES, BASE_NONE, NULL, 0,
18113
16
        NULL, HFILL }},
18114
16
    { &hf_ansi_map_tdma_MAHORequest,
18115
16
      { "tdma-MAHORequest", "ansi_map.tdma_MAHORequest",
18116
16
        FT_BYTES, BASE_NONE, NULL, 0,
18117
16
        NULL, HFILL }},
18118
16
    { &hf_ansi_map_positionResult,
18119
16
      { "positionResult", "ansi_map.positionResult",
18120
16
        FT_BYTES, BASE_NONE, NULL, 0,
18121
16
        NULL, HFILL }},
18122
16
    { &hf_ansi_map_positionInformation,
18123
16
      { "positionInformation", "ansi_map.positionInformation_element",
18124
16
        FT_NONE, BASE_NONE, NULL, 0,
18125
16
        NULL, HFILL }},
18126
16
    { &hf_ansi_map_controlType,
18127
16
      { "controlType", "ansi_map.controlType",
18128
16
        FT_BYTES, BASE_NONE, NULL, 0,
18129
16
        NULL, HFILL }},
18130
16
    { &hf_ansi_map_destinationAddress,
18131
16
      { "destinationAddress", "ansi_map.destinationAddress",
18132
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_DestinationAddress_vals), 0,
18133
16
        NULL, HFILL }},
18134
16
    { &hf_ansi_map_gapDuration,
18135
16
      { "gapDuration", "ansi_map.gapDuration",
18136
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_GapDuration_vals), 0,
18137
16
        NULL, HFILL }},
18138
16
    { &hf_ansi_map_gapInterval,
18139
16
      { "gapInterval", "ansi_map.gapInterval",
18140
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_GapInterval_vals), 0,
18141
16
        NULL, HFILL }},
18142
16
    { &hf_ansi_map_invokingNEType,
18143
16
      { "invokingNEType", "ansi_map.invokingNEType",
18144
16
        FT_INT32, BASE_DEC, NULL, 0,
18145
16
        NULL, HFILL }},
18146
16
    { &hf_ansi_map_range,
18147
16
      { "range", "ansi_map.range",
18148
16
        FT_INT32, BASE_DEC, NULL, 0,
18149
16
        NULL, HFILL }},
18150
16
    { &hf_ansi_map_meidStatus,
18151
16
      { "meidStatus", "ansi_map.meidStatus",
18152
16
        FT_BYTES, BASE_NONE, NULL, 0,
18153
16
        NULL, HFILL }},
18154
16
    { &hf_ansi_map_aKeyProtocolVersion,
18155
16
      { "aKeyProtocolVersion", "ansi_map.aKeyProtocolVersion",
18156
16
        FT_BYTES, BASE_NONE, NULL, 0,
18157
16
        NULL, HFILL }},
18158
16
    { &hf_ansi_map_mobileStationPartialKey,
18159
16
      { "mobileStationPartialKey", "ansi_map.mobileStationPartialKey",
18160
16
        FT_BYTES, BASE_NONE, NULL, 0,
18161
16
        NULL, HFILL }},
18162
16
    { &hf_ansi_map_newlyAssignedMSID,
18163
16
      { "newlyAssignedMSID", "ansi_map.newlyAssignedMSID",
18164
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_NewlyAssignedMSID_vals), 0,
18165
16
        NULL, HFILL }},
18166
16
    { &hf_ansi_map_baseStationPartialKey,
18167
16
      { "baseStationPartialKey", "ansi_map.baseStationPartialKey",
18168
16
        FT_BYTES, BASE_NONE, NULL, 0,
18169
16
        NULL, HFILL }},
18170
16
    { &hf_ansi_map_modulusValue,
18171
16
      { "modulusValue", "ansi_map.modulusValue",
18172
16
        FT_BYTES, BASE_NONE, NULL, 0,
18173
16
        NULL, HFILL }},
18174
16
    { &hf_ansi_map_otasp_ResultCode,
18175
16
      { "otasp-ResultCode", "ansi_map.otasp_ResultCode",
18176
16
        FT_UINT8, BASE_DEC, VALS(ansi_map_OTASP_ResultCode_vals), 0,
18177
16
        NULL, HFILL }},
18178
16
    { &hf_ansi_map_primitiveValue,
18179
16
      { "primitiveValue", "ansi_map.primitiveValue",
18180
16
        FT_BYTES, BASE_NONE, NULL, 0,
18181
16
        NULL, HFILL }},
18182
16
    { &hf_ansi_map_record_Type,
18183
16
      { "record-Type", "ansi_map.record_Type",
18184
16
        FT_BYTES, BASE_NONE, NULL, 0,
18185
16
        NULL, HFILL }},
18186
16
    { &hf_ansi_map_information_Record,
18187
16
      { "information-Record", "ansi_map.information_Record",
18188
16
        FT_BYTES, BASE_NONE, NULL, 0,
18189
16
        NULL, HFILL }},
18190
16
    { &hf_ansi_map_cdma2000MobileSupportedCapabilities,
18191
16
      { "cdma2000MobileSupportedCapabilities", "ansi_map.cdma2000MobileSupportedCapabilities",
18192
16
        FT_BYTES, BASE_NONE, NULL, 0,
18193
16
        NULL, HFILL }},
18194
16
    { &hf_ansi_map_announcementCode1,
18195
16
      { "announcementCode1", "ansi_map.announcementCode1",
18196
16
        FT_BYTES, BASE_NONE, NULL, 0,
18197
16
        "AnnouncementCode", HFILL }},
18198
16
    { &hf_ansi_map_announcementCode2,
18199
16
      { "announcementCode2", "ansi_map.announcementCode2",
18200
16
        FT_BYTES, BASE_NONE, NULL, 0,
18201
16
        "AnnouncementCode", HFILL }},
18202
16
    { &hf_ansi_map_cdmaPilotPN,
18203
16
      { "cdmaPilotPN", "ansi_map.cdmaPilotPN",
18204
16
        FT_BYTES, BASE_NONE, NULL, 0,
18205
16
        NULL, HFILL }},
18206
16
    { &hf_ansi_map_cdmaPowerCombinedIndicator,
18207
16
      { "cdmaPowerCombinedIndicator", "ansi_map.cdmaPowerCombinedIndicator",
18208
16
        FT_BYTES, BASE_NONE, NULL, 0,
18209
16
        NULL, HFILL }},
18210
16
    { &hf_ansi_map_CDMACodeChannelList_item,
18211
16
      { "CDMACodeChannelInformation", "ansi_map.CDMACodeChannelInformation_element",
18212
16
        FT_NONE, BASE_NONE, NULL, 0,
18213
16
        NULL, HFILL }},
18214
16
    { &hf_ansi_map_cdmaPilotStrength,
18215
16
      { "cdmaPilotStrength", "ansi_map.cdmaPilotStrength",
18216
16
        FT_BYTES, BASE_NONE, NULL, 0,
18217
16
        NULL, HFILL }},
18218
16
    { &hf_ansi_map_cdmaTargetOneWayDelay,
18219
16
      { "cdmaTargetOneWayDelay", "ansi_map.cdmaTargetOneWayDelay",
18220
16
        FT_BYTES, BASE_NONE, NULL, 0,
18221
16
        NULL, HFILL }},
18222
16
    { &hf_ansi_map_CDMATargetMAHOList_item,
18223
16
      { "CDMATargetMAHOInformation", "ansi_map.CDMATargetMAHOInformation_element",
18224
16
        FT_NONE, BASE_NONE, NULL, 0,
18225
16
        NULL, HFILL }},
18226
16
    { &hf_ansi_map_cdmaSignalQuality,
18227
16
      { "cdmaSignalQuality", "ansi_map.cdmaSignalQuality",
18228
16
        FT_BYTES, BASE_NONE, NULL, 0,
18229
16
        NULL, HFILL }},
18230
16
    { &hf_ansi_map_CDMATargetMeasurementList_item,
18231
16
      { "CDMATargetMeasurementInformation", "ansi_map.CDMATargetMeasurementInformation_element",
18232
16
        FT_NONE, BASE_NONE, NULL, 0,
18233
16
        NULL, HFILL }},
18234
16
    { &hf_ansi_map_TargetMeasurementList_item,
18235
16
      { "TargetMeasurementInformation", "ansi_map.TargetMeasurementInformation_element",
18236
16
        FT_NONE, BASE_NONE, NULL, 0,
18237
16
        NULL, HFILL }},
18238
16
    { &hf_ansi_map_TerminationList_item,
18239
16
      { "TerminationList item", "ansi_map.TerminationList_item",
18240
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_TerminationList_item_vals), 0,
18241
16
        NULL, HFILL }},
18242
16
    { &hf_ansi_map_intersystemTermination,
18243
16
      { "intersystemTermination", "ansi_map.intersystemTermination_element",
18244
16
        FT_NONE, BASE_NONE, NULL, 0,
18245
16
        NULL, HFILL }},
18246
16
    { &hf_ansi_map_localTermination,
18247
16
      { "localTermination", "ansi_map.localTermination_element",
18248
16
        FT_NONE, BASE_NONE, NULL, 0,
18249
16
        NULL, HFILL }},
18250
16
    { &hf_ansi_map_pstnTermination,
18251
16
      { "pstnTermination", "ansi_map.pstnTermination_element",
18252
16
        FT_NONE, BASE_NONE, NULL, 0,
18253
16
        NULL, HFILL }},
18254
16
    { &hf_ansi_map_CDMABandClassList_item,
18255
16
      { "CDMABandClassInformation", "ansi_map.CDMABandClassInformation_element",
18256
16
        FT_NONE, BASE_NONE, NULL, 0,
18257
16
        NULL, HFILL }},
18258
16
    { &hf_ansi_map_CDMAServiceOptionList_item,
18259
16
      { "CDMAServiceOption", "ansi_map.CDMAServiceOption",
18260
16
        FT_BYTES, BASE_NONE, NULL, 0,
18261
16
        NULL, HFILL }},
18262
16
    { &hf_ansi_map_pSID_RSIDInformation1,
18263
16
      { "pSID-RSIDInformation1", "ansi_map.pSID_RSIDInformation1",
18264
16
        FT_BYTES, BASE_NONE, NULL, 0,
18265
16
        "PSID_RSIDInformation", HFILL }},
18266
16
    { &hf_ansi_map_targetCellID1,
18267
16
      { "targetCellID1", "ansi_map.targetCellID1",
18268
16
        FT_BYTES, BASE_NONE, NULL, 0,
18269
16
        "TargetCellID", HFILL }},
18270
16
    { &hf_ansi_map_cdmaConnectionReference,
18271
16
      { "cdmaConnectionReference", "ansi_map.cdmaConnectionReference",
18272
16
        FT_BYTES, BASE_NONE, NULL, 0,
18273
16
        NULL, HFILL }},
18274
16
    { &hf_ansi_map_cdmaState,
18275
16
      { "cdmaState", "ansi_map.cdmaState",
18276
16
        FT_BYTES, BASE_NONE, NULL, 0,
18277
16
        NULL, HFILL }},
18278
16
    { &hf_ansi_map_cdmaServiceOptionConnectionIdentifier,
18279
16
      { "cdmaServiceOptionConnectionIdentifier", "ansi_map.cdmaServiceOptionConnectionIdentifier",
18280
16
        FT_BYTES, BASE_NONE, NULL, 0,
18281
16
        NULL, HFILL }},
18282
16
    { &hf_ansi_map_CDMAConnectionReferenceList_item,
18283
16
      { "CDMAConnectionReferenceList item", "ansi_map.CDMAConnectionReferenceList_item_element",
18284
16
        FT_NONE, BASE_NONE, NULL, 0,
18285
16
        NULL, HFILL }},
18286
16
    { &hf_ansi_map_cdmaConnectionReferenceInformation,
18287
16
      { "cdmaConnectionReferenceInformation", "ansi_map.cdmaConnectionReferenceInformation_element",
18288
16
        FT_NONE, BASE_NONE, NULL, 0,
18289
16
        NULL, HFILL }},
18290
16
    { &hf_ansi_map_cdmaConnectionReferenceInformation2,
18291
16
      { "cdmaConnectionReferenceInformation2", "ansi_map.cdmaConnectionReferenceInformation2_element",
18292
16
        FT_NONE, BASE_NONE, NULL, 0,
18293
16
        "CDMAConnectionReferenceInformation", HFILL }},
18294
16
    { &hf_ansi_map_analogRedirectInfo,
18295
16
      { "analogRedirectInfo", "ansi_map.analogRedirectInfo",
18296
16
        FT_BYTES, BASE_NONE, NULL, 0,
18297
16
        NULL, HFILL }},
18298
16
    { &hf_ansi_map_CDMAChannelNumberList_item,
18299
16
      { "CDMAChannelNumberList item", "ansi_map.CDMAChannelNumberList_item_element",
18300
16
        FT_NONE, BASE_NONE, NULL, 0,
18301
16
        NULL, HFILL }},
18302
16
    { &hf_ansi_map_cdmaChannelNumber,
18303
16
      { "cdmaChannelNumber", "ansi_map.cdmaChannelNumber",
18304
16
        FT_BYTES, BASE_NONE, NULL, 0,
18305
16
        NULL, HFILL }},
18306
16
    { &hf_ansi_map_cdmaChannelNumber2,
18307
16
      { "cdmaChannelNumber2", "ansi_map.cdmaChannelNumber2",
18308
16
        FT_BYTES, BASE_NONE, NULL, 0,
18309
16
        "CDMAChannelNumber", HFILL }},
18310
16
    { &hf_ansi_map_cdmaChannelNumberList,
18311
16
      { "cdmaChannelNumberList", "ansi_map.cdmaChannelNumberList",
18312
16
        FT_UINT32, BASE_DEC, NULL, 0,
18313
16
        NULL, HFILL }},
18314
16
    { &hf_ansi_map_dataID,
18315
16
      { "dataID", "ansi_map.dataID",
18316
16
        FT_BYTES, BASE_NONE, NULL, 0,
18317
16
        NULL, HFILL }},
18318
16
    { &hf_ansi_map_change,
18319
16
      { "change", "ansi_map.change",
18320
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_Change_vals), 0,
18321
16
        NULL, HFILL }},
18322
16
    { &hf_ansi_map_dataValue,
18323
16
      { "dataValue", "ansi_map.dataValue",
18324
16
        FT_BYTES, BASE_NONE, NULL, 0,
18325
16
        NULL, HFILL }},
18326
16
    { &hf_ansi_map_DataAccessElementList_item,
18327
16
      { "DataAccessElementList item", "ansi_map.DataAccessElementList_item_element",
18328
16
        FT_NONE, BASE_NONE, NULL, 0,
18329
16
        NULL, HFILL }},
18330
16
    { &hf_ansi_map_dataAccessElement1,
18331
16
      { "dataAccessElement1", "ansi_map.dataAccessElement1_element",
18332
16
        FT_NONE, BASE_NONE, NULL, 0,
18333
16
        "DataAccessElement", HFILL }},
18334
16
    { &hf_ansi_map_dataAccessElement2,
18335
16
      { "dataAccessElement2", "ansi_map.dataAccessElement2_element",
18336
16
        FT_NONE, BASE_NONE, NULL, 0,
18337
16
        "DataAccessElement", HFILL }},
18338
16
    { &hf_ansi_map_dataResult,
18339
16
      { "dataResult", "ansi_map.dataResult",
18340
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_DataResult_vals), 0,
18341
16
        NULL, HFILL }},
18342
16
    { &hf_ansi_map_DataUpdateResultList_item,
18343
16
      { "DataUpdateResult", "ansi_map.DataUpdateResult_element",
18344
16
        FT_NONE, BASE_NONE, NULL, 0,
18345
16
        NULL, HFILL }},
18346
16
    { &hf_ansi_map_globalTitle,
18347
16
      { "globalTitle", "ansi_map.globalTitle",
18348
16
        FT_BYTES, BASE_NONE, NULL, 0,
18349
16
        NULL, HFILL }},
18350
16
    { &hf_ansi_map_pC_SSN,
18351
16
      { "pC-SSN", "ansi_map.pC_SSN",
18352
16
        FT_BYTES, BASE_NONE, NULL, 0,
18353
16
        NULL, HFILL }},
18354
16
    { &hf_ansi_map_scriptName,
18355
16
      { "scriptName", "ansi_map.scriptName",
18356
16
        FT_BYTES, BASE_NONE, NULL, 0,
18357
16
        NULL, HFILL }},
18358
16
    { &hf_ansi_map_scriptArgument,
18359
16
      { "scriptArgument", "ansi_map.scriptArgument",
18360
16
        FT_BYTES, BASE_NONE, NULL, 0,
18361
16
        NULL, HFILL }},
18362
16
    { &hf_ansi_map_allOrNone,
18363
16
      { "allOrNone", "ansi_map.allOrNone",
18364
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_AllOrNone_vals), 0,
18365
16
        NULL, HFILL }},
18366
16
    { &hf_ansi_map_ModificationRequestList_item,
18367
16
      { "ModificationRequest", "ansi_map.ModificationRequest_element",
18368
16
        FT_NONE, BASE_NONE, NULL, 0,
18369
16
        NULL, HFILL }},
18370
16
    { &hf_ansi_map_serviceDataResultList,
18371
16
      { "serviceDataResultList", "ansi_map.serviceDataResultList",
18372
16
        FT_UINT32, BASE_DEC, NULL, 0,
18373
16
        NULL, HFILL }},
18374
16
    { &hf_ansi_map_ModificationResultList_item,
18375
16
      { "ModificationResult", "ansi_map.ModificationResult",
18376
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_ModificationResult_vals), 0,
18377
16
        NULL, HFILL }},
18378
16
    { &hf_ansi_map_ServiceDataAccessElementList_item,
18379
16
      { "ServiceDataAccessElement", "ansi_map.ServiceDataAccessElement_element",
18380
16
        FT_NONE, BASE_NONE, NULL, 0,
18381
16
        NULL, HFILL }},
18382
16
    { &hf_ansi_map_dataUpdateResultList,
18383
16
      { "dataUpdateResultList", "ansi_map.dataUpdateResultList",
18384
16
        FT_UINT32, BASE_DEC, NULL, 0,
18385
16
        NULL, HFILL }},
18386
16
    { &hf_ansi_map_ServiceDataResultList_item,
18387
16
      { "ServiceDataResult", "ansi_map.ServiceDataResult_element",
18388
16
        FT_NONE, BASE_NONE, NULL, 0,
18389
16
        NULL, HFILL }},
18390
16
    { &hf_ansi_map_triggerList,
18391
16
      { "triggerList", "ansi_map.triggerList_element",
18392
16
        FT_NONE, BASE_NONE, NULL, 0,
18393
16
        NULL, HFILL }},
18394
16
    { &hf_ansi_map_triggerListOpt,
18395
16
      { "triggerListOpt", "ansi_map.triggerListOpt_element",
18396
16
        FT_NONE, BASE_NONE, NULL, 0,
18397
16
        "TriggerList", HFILL }},
18398
16
    { &hf_ansi_map_wIN_TriggerList,
18399
16
      { "wIN-TriggerList", "ansi_map.wIN_TriggerList",
18400
16
        FT_BYTES, BASE_NONE, NULL, 0,
18401
16
        NULL, HFILL }},
18402
16
    { &hf_ansi_map_triggerCapability,
18403
16
      { "triggerCapability", "ansi_map.triggerCapability",
18404
16
        FT_BYTES, BASE_NONE, NULL, 0,
18405
16
        NULL, HFILL }},
18406
16
    { &hf_ansi_map_wINOperationsCapability,
18407
16
      { "wINOperationsCapability", "ansi_map.wINOperationsCapability",
18408
16
        FT_BYTES, BASE_NONE, NULL, 0,
18409
16
        NULL, HFILL }},
18410
16
    { &hf_ansi_map_CallRecoveryIDList_item,
18411
16
      { "CallRecoveryID", "ansi_map.CallRecoveryID_element",
18412
16
        FT_NONE, BASE_NONE, NULL, 0,
18413
16
        NULL, HFILL }},
18414
16
    { &hf_ansi_map_generalizedTime,
18415
16
      { "generalizedTime", "ansi_map.generalizedTime",
18416
16
        FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
18417
16
        NULL, HFILL }},
18418
16
    { &hf_ansi_map_geographicPosition,
18419
16
      { "geographicPosition", "ansi_map.geographicPosition",
18420
16
        FT_BYTES, BASE_NONE, NULL, 0,
18421
16
        NULL, HFILL }},
18422
16
    { &hf_ansi_map_positionSource,
18423
16
      { "positionSource", "ansi_map.positionSource",
18424
16
        FT_BYTES, BASE_NONE, NULL, 0,
18425
16
        NULL, HFILL }},
18426
16
    { &hf_ansi_map_horizontal_Velocity,
18427
16
      { "horizontal-Velocity", "ansi_map.horizontal_Velocity",
18428
16
        FT_BYTES, BASE_NONE, NULL, 0,
18429
16
        NULL, HFILL }},
18430
16
    { &hf_ansi_map_vertical_Velocity,
18431
16
      { "vertical-Velocity", "ansi_map.vertical_Velocity",
18432
16
        FT_BYTES, BASE_NONE, NULL, 0,
18433
16
        NULL, HFILL }},
18434
16
    { &hf_ansi_map_sCFOverloadGapInterval,
18435
16
      { "sCFOverloadGapInterval", "ansi_map.sCFOverloadGapInterval",
18436
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_SCFOverloadGapInterval_vals), 0,
18437
16
        NULL, HFILL }},
18438
16
    { &hf_ansi_map_serviceManagementSystemGapInterval,
18439
16
      { "serviceManagementSystemGapInterval", "ansi_map.serviceManagementSystemGapInterval",
18440
16
        FT_UINT32, BASE_DEC, VALS(ansi_map_ServiceManagementSystemGapInterval_vals), 0,
18441
16
        NULL, HFILL }},
18442
16
    { &hf_ansi_map_CDMAPSMMList_item,
18443
16
      { "CDMAPSMMList item", "ansi_map.CDMAPSMMList_item_element",
18444
16
        FT_NONE, BASE_NONE, NULL, 0,
18445
16
        NULL, HFILL }},
18446
16
    { &hf_ansi_map_cdmaTargetMAHOList2,
18447
16
      { "cdmaTargetMAHOList2", "ansi_map.cdmaTargetMAHOList2",
18448
16
        FT_UINT32, BASE_DEC, NULL, 0,
18449
16
        "CDMATargetMAHOList", HFILL }},
18450
16
    { &hf_ansi_map_mpcAddress2,
18451
16
      { "mpcAddress2", "ansi_map.mpcAddress2",
18452
16
        FT_BYTES, BASE_NONE, NULL, 0,
18453
16
        "MPCAddress", HFILL }},
18454
16
    { &hf_ansi_map_mobileStationIMSI,
18455
16
      { "mobileStationIMSI", "ansi_map.mobileStationIMSI",
18456
16
        FT_BYTES, BASE_NONE, NULL, 0,
18457
16
        NULL, HFILL }},
18458
16
    { &hf_ansi_map_handoffMeasurementRequest,
18459
16
      { "handoffMeasurementRequest", "ansi_map.handoffMeasurementRequest_element",
18460
16
        FT_NONE, BASE_NONE, NULL, 0,
18461
16
        NULL, HFILL }},
18462
16
    { &hf_ansi_map_facilitiesDirective,
18463
16
      { "facilitiesDirective", "ansi_map.facilitiesDirective_element",
18464
16
        FT_NONE, BASE_NONE, NULL, 0,
18465
16
        NULL, HFILL }},
18466
16
    { &hf_ansi_map_handoffBack,
18467
16
      { "handoffBack", "ansi_map.handoffBack_element",
18468
16
        FT_NONE, BASE_NONE, NULL, 0,
18469
16
        NULL, HFILL }},
18470
16
    { &hf_ansi_map_facilitiesRelease,
18471
16
      { "facilitiesRelease", "ansi_map.facilitiesRelease_element",
18472
16
        FT_NONE, BASE_NONE, NULL, 0,
18473
16
        NULL, HFILL }},
18474
16
    { &hf_ansi_map_qualificationRequest,
18475
16
      { "qualificationRequest", "ansi_map.qualificationRequest_element",
18476
16
        FT_NONE, BASE_NONE, NULL, 0,
18477
16
        NULL, HFILL }},
18478
16
    { &hf_ansi_map_qualificationDirective,
18479
16
      { "qualificationDirective", "ansi_map.qualificationDirective_element",
18480
16
        FT_NONE, BASE_NONE, NULL, 0,
18481
16
        NULL, HFILL }},
18482
16
    { &hf_ansi_map_blocking,
18483
16
      { "blocking", "ansi_map.blocking_element",
18484
16
        FT_NONE, BASE_NONE, NULL, 0,
18485
16
        NULL, HFILL }},
18486
16
    { &hf_ansi_map_unblocking,
18487
16
      { "unblocking", "ansi_map.unblocking_element",
18488
16
        FT_NONE, BASE_NONE, NULL, 0,
18489
16
        NULL, HFILL }},
18490
16
    { &hf_ansi_map_resetCircuit,
18491
16
      { "resetCircuit", "ansi_map.resetCircuit_element",
18492
16
        FT_NONE, BASE_NONE, NULL, 0,
18493
16
        NULL, HFILL }},
18494
16
    { &hf_ansi_map_trunkTest,
18495
16
      { "trunkTest", "ansi_map.trunkTest_element",
18496
16
        FT_NONE, BASE_NONE, NULL, 0,
18497
16
        NULL, HFILL }},
18498
16
    { &hf_ansi_map_trunkTestDisconnect,
18499
16
      { "trunkTestDisconnect", "ansi_map.trunkTestDisconnect_element",
18500
16
        FT_NONE, BASE_NONE, NULL, 0,
18501
16
        NULL, HFILL }},
18502
16
    { &hf_ansi_map_registrationNotification,
18503
16
      { "registrationNotification", "ansi_map.registrationNotification_element",
18504
16
        FT_NONE, BASE_NONE, NULL, 0,
18505
16
        NULL, HFILL }},
18506
16
    { &hf_ansi_map_registrationCancellation,
18507
16
      { "registrationCancellation", "ansi_map.registrationCancellation_element",
18508
16
        FT_NONE, BASE_NONE, NULL, 0,
18509
16
        NULL, HFILL }},
18510
16
    { &hf_ansi_map_locationRequest,
18511
16
      { "locationRequest", "ansi_map.locationRequest_element",
18512
16
        FT_NONE, BASE_NONE, NULL, 0,
18513
16
        NULL, HFILL }},
18514
16
    { &hf_ansi_map_routingRequest,
18515
16
      { "routingRequest", "ansi_map.routingRequest_element",
18516
16
        FT_NONE, BASE_NONE, NULL, 0,
18517
16
        NULL, HFILL }},
18518
16
    { &hf_ansi_map_featureRequest,
18519
16
      { "featureRequest", "ansi_map.featureRequest_element",
18520
16
        FT_NONE, BASE_NONE, NULL, 0,
18521
16
        NULL, HFILL }},
18522
16
    { &hf_ansi_map_unreliableRoamerDataDirective,
18523
16
      { "unreliableRoamerDataDirective", "ansi_map.unreliableRoamerDataDirective_element",
18524
16
        FT_NONE, BASE_NONE, NULL, 0,
18525
16
        NULL, HFILL }},
18526
16
    { &hf_ansi_map_mSInactive,
18527
16
      { "mSInactive", "ansi_map.mSInactive_element",
18528
16
        FT_NONE, BASE_NONE, NULL, 0,
18529
16
        NULL, HFILL }},
18530
16
    { &hf_ansi_map_transferToNumberRequest,
18531
16
      { "transferToNumberRequest", "ansi_map.transferToNumberRequest_element",
18532
16
        FT_NONE, BASE_NONE, NULL, 0,
18533
16
        NULL, HFILL }},
18534
16
    { &hf_ansi_map_redirectionRequest,
18535
16
      { "redirectionRequest", "ansi_map.redirectionRequest_element",
18536
16
        FT_NONE, BASE_NONE, NULL, 0,
18537
16
        NULL, HFILL }},
18538
16
    { &hf_ansi_map_handoffToThird,
18539
16
      { "handoffToThird", "ansi_map.handoffToThird_element",
18540
16
        FT_NONE, BASE_NONE, NULL, 0,
18541
16
        NULL, HFILL }},
18542
16
    { &hf_ansi_map_flashRequest,
18543
16
      { "flashRequest", "ansi_map.flashRequest_element",
18544
16
        FT_NONE, BASE_NONE, NULL, 0,
18545
16
        NULL, HFILL }},
18546
16
    { &hf_ansi_map_authenticationDirective,
18547
16
      { "authenticationDirective", "ansi_map.authenticationDirective_element",
18548
16
        FT_NONE, BASE_NONE, NULL, 0,
18549
16
        NULL, HFILL }},
18550
16
    { &hf_ansi_map_authenticationRequest,
18551
16
      { "authenticationRequest", "ansi_map.authenticationRequest_element",
18552
16
        FT_NONE, BASE_NONE, NULL, 0,
18553
16
        NULL, HFILL }},
18554
16
    { &hf_ansi_map_baseStationChallenge,
18555
16
      { "baseStationChallenge", "ansi_map.baseStationChallenge_element",
18556
16
        FT_NONE, BASE_NONE, NULL, 0,
18557
16
        NULL, HFILL }},
18558
16
    { &hf_ansi_map_authenticationFailureReport,
18559
16
      { "authenticationFailureReport", "ansi_map.authenticationFailureReport_element",
18560
16
        FT_NONE, BASE_NONE, NULL, 0,
18561
16
        NULL, HFILL }},
18562
16
    { &hf_ansi_map_countRequest,
18563
16
      { "countRequest", "ansi_map.countRequest_element",
18564
16
        FT_NONE, BASE_NONE, NULL, 0,
18565
16
        NULL, HFILL }},
18566
16
    { &hf_ansi_map_interSystemPage,
18567
16
      { "interSystemPage", "ansi_map.interSystemPage_element",
18568
16
        FT_NONE, BASE_NONE, NULL, 0,
18569
16
        NULL, HFILL }},
18570
16
    { &hf_ansi_map_unsolicitedResponse,
18571
16
      { "unsolicitedResponse", "ansi_map.unsolicitedResponse_element",
18572
16
        FT_NONE, BASE_NONE, NULL, 0,
18573
16
        NULL, HFILL }},
18574
16
    { &hf_ansi_map_bulkDeregistration,
18575
16
      { "bulkDeregistration", "ansi_map.bulkDeregistration_element",
18576
16
        FT_NONE, BASE_NONE, NULL, 0,
18577
16
        NULL, HFILL }},
18578
16
    { &hf_ansi_map_handoffMeasurementRequest2,
18579
16
      { "handoffMeasurementRequest2", "ansi_map.handoffMeasurementRequest2_element",
18580
16
        FT_NONE, BASE_NONE, NULL, 0,
18581
16
        NULL, HFILL }},
18582
16
    { &hf_ansi_map_facilitiesDirective2,
18583
16
      { "facilitiesDirective2", "ansi_map.facilitiesDirective2_element",
18584
16
        FT_NONE, BASE_NONE, NULL, 0,
18585
16
        NULL, HFILL }},
18586
16
    { &hf_ansi_map_handoffBack2,
18587
16
      { "handoffBack2", "ansi_map.handoffBack2_element",
18588
16
        FT_NONE, BASE_NONE, NULL, 0,
18589
16
        NULL, HFILL }},
18590
16
    { &hf_ansi_map_handoffToThird2,
18591
16
      { "handoffToThird2", "ansi_map.handoffToThird2_element",
18592
16
        FT_NONE, BASE_NONE, NULL, 0,
18593
16
        NULL, HFILL }},
18594
16
    { &hf_ansi_map_authenticationDirectiveForward,
18595
16
      { "authenticationDirectiveForward", "ansi_map.authenticationDirectiveForward_element",
18596
16
        FT_NONE, BASE_NONE, NULL, 0,
18597
16
        NULL, HFILL }},
18598
16
    { &hf_ansi_map_authenticationStatusReport,
18599
16
      { "authenticationStatusReport", "ansi_map.authenticationStatusReport_element",
18600
16
        FT_NONE, BASE_NONE, NULL, 0,
18601
16
        NULL, HFILL }},
18602
16
    { &hf_ansi_map_informationDirective,
18603
16
      { "informationDirective", "ansi_map.informationDirective_element",
18604
16
        FT_NONE, BASE_NONE, NULL, 0,
18605
16
        NULL, HFILL }},
18606
16
    { &hf_ansi_map_informationForward,
18607
16
      { "informationForward", "ansi_map.informationForward_element",
18608
16
        FT_NONE, BASE_NONE, NULL, 0,
18609
16
        NULL, HFILL }},
18610
16
    { &hf_ansi_map_interSystemAnswer,
18611
16
      { "interSystemAnswer", "ansi_map.interSystemAnswer_element",
18612
16
        FT_NONE, BASE_NONE, NULL, 0,
18613
16
        NULL, HFILL }},
18614
16
    { &hf_ansi_map_interSystemPage2,
18615
16
      { "interSystemPage2", "ansi_map.interSystemPage2_element",
18616
16
        FT_NONE, BASE_NONE, NULL, 0,
18617
16
        NULL, HFILL }},
18618
16
    { &hf_ansi_map_interSystemSetup,
18619
16
      { "interSystemSetup", "ansi_map.interSystemSetup_element",
18620
16
        FT_NONE, BASE_NONE, NULL, 0,
18621
16
        NULL, HFILL }},
18622
16
    { &hf_ansi_map_originationRequest,
18623
16
      { "originationRequest", "ansi_map.originationRequest_element",
18624
16
        FT_NONE, BASE_NONE, NULL, 0,
18625
16
        NULL, HFILL }},
18626
16
    { &hf_ansi_map_randomVariableRequest,
18627
16
      { "randomVariableRequest", "ansi_map.randomVariableRequest_element",
18628
16
        FT_NONE, BASE_NONE, NULL, 0,
18629
16
        NULL, HFILL }},
18630
16
    { &hf_ansi_map_redirectionDirective,
18631
16
      { "redirectionDirective", "ansi_map.redirectionDirective_element",
18632
16
        FT_NONE, BASE_NONE, NULL, 0,
18633
16
        NULL, HFILL }},
18634
16
    { &hf_ansi_map_remoteUserInteractionDirective,
18635
16
      { "remoteUserInteractionDirective", "ansi_map.remoteUserInteractionDirective_element",
18636
16
        FT_NONE, BASE_NONE, NULL, 0,
18637
16
        NULL, HFILL }},
18638
16
    { &hf_ansi_map_sMSDeliveryBackward,
18639
16
      { "sMSDeliveryBackward", "ansi_map.sMSDeliveryBackward_element",
18640
16
        FT_NONE, BASE_NONE, NULL, 0,
18641
16
        NULL, HFILL }},
18642
16
    { &hf_ansi_map_sMSDeliveryForward,
18643
16
      { "sMSDeliveryForward", "ansi_map.sMSDeliveryForward_element",
18644
16
        FT_NONE, BASE_NONE, NULL, 0,
18645
16
        NULL, HFILL }},
18646
16
    { &hf_ansi_map_sMSDeliveryPointToPoint,
18647
16
      { "sMSDeliveryPointToPoint", "ansi_map.sMSDeliveryPointToPoint_element",
18648
16
        FT_NONE, BASE_NONE, NULL, 0,
18649
16
        NULL, HFILL }},
18650
16
    { &hf_ansi_map_sMSNotification,
18651
16
      { "sMSNotification", "ansi_map.sMSNotification_element",
18652
16
        FT_NONE, BASE_NONE, NULL, 0,
18653
16
        NULL, HFILL }},
18654
16
    { &hf_ansi_map_sMSRequest,
18655
16
      { "sMSRequest", "ansi_map.sMSRequest_element",
18656
16
        FT_NONE, BASE_NONE, NULL, 0,
18657
16
        NULL, HFILL }},
18658
16
    { &hf_ansi_map_oTASPRequest,
18659
16
      { "oTASPRequest", "ansi_map.oTASPRequest_element",
18660
16
        FT_NONE, BASE_NONE, NULL, 0,
18661
16
        NULL, HFILL }},
18662
16
    { &hf_ansi_map_changeFacilities,
18663
16
      { "changeFacilities", "ansi_map.changeFacilities_element",
18664
16
        FT_NONE, BASE_NONE, NULL, 0,
18665
16
        NULL, HFILL }},
18666
16
    { &hf_ansi_map_changeService,
18667
16
      { "changeService", "ansi_map.changeService_element",
18668
16
        FT_NONE, BASE_NONE, NULL, 0,
18669
16
        NULL, HFILL }},
18670
16
    { &hf_ansi_map_parameterRequest,
18671
16
      { "parameterRequest", "ansi_map.parameterRequest_element",
18672
16
        FT_NONE, BASE_NONE, NULL, 0,
18673
16
        NULL, HFILL }},
18674
16
    { &hf_ansi_map_tMSIDirective,
18675
16
      { "tMSIDirective", "ansi_map.tMSIDirective_element",
18676
16
        FT_NONE, BASE_NONE, NULL, 0,
18677
16
        NULL, HFILL }},
18678
16
    { &hf_ansi_map_numberPortabilityRequest,
18679
16
      { "numberPortabilityRequest", "ansi_map.numberPortabilityRequest_element",
18680
16
        FT_NONE, BASE_NONE, NULL, 0,
18681
16
        NULL, HFILL }},
18682
16
    { &hf_ansi_map_serviceRequest,
18683
16
      { "serviceRequest", "ansi_map.serviceRequest_element",
18684
16
        FT_NONE, BASE_NONE, NULL, 0,
18685
16
        NULL, HFILL }},
18686
16
    { &hf_ansi_map_analyzedInformation,
18687
16
      { "analyzedInformation", "ansi_map.analyzedInformation_element",
18688
16
        FT_NONE, BASE_NONE, NULL, 0,
18689
16
        NULL, HFILL }},
18690
16
    { &hf_ansi_map_connectionFailureReport,
18691
16
      { "connectionFailureReport", "ansi_map.connectionFailureReport_element",
18692
16
        FT_NONE, BASE_NONE, NULL, 0,
18693
16
        NULL, HFILL }},
18694
16
    { &hf_ansi_map_connectResource,
18695
16
      { "connectResource", "ansi_map.connectResource_element",
18696
16
        FT_NONE, BASE_NONE, NULL, 0,
18697
16
        NULL, HFILL }},
18698
16
    { &hf_ansi_map_facilitySelectedAndAvailable,
18699
16
      { "facilitySelectedAndAvailable", "ansi_map.facilitySelectedAndAvailable_element",
18700
16
        FT_NONE, BASE_NONE, NULL, 0,
18701
16
        NULL, HFILL }},
18702
16
    { &hf_ansi_map_modify,
18703
16
      { "modify", "ansi_map.modify_element",
18704
16
        FT_NONE, BASE_NONE, NULL, 0,
18705
16
        NULL, HFILL }},
18706
16
    { &hf_ansi_map_search,
18707
16
      { "search", "ansi_map.search_element",
18708
16
        FT_NONE, BASE_NONE, NULL, 0,
18709
16
        NULL, HFILL }},
18710
16
    { &hf_ansi_map_seizeResource,
18711
16
      { "seizeResource", "ansi_map.seizeResource_element",
18712
16
        FT_NONE, BASE_NONE, NULL, 0,
18713
16
        NULL, HFILL }},
18714
16
    { &hf_ansi_map_sRFDirective,
18715
16
      { "sRFDirective", "ansi_map.sRFDirective_element",
18716
16
        FT_NONE, BASE_NONE, NULL, 0,
18717
16
        NULL, HFILL }},
18718
16
    { &hf_ansi_map_tBusy,
18719
16
      { "tBusy", "ansi_map.tBusy_element",
18720
16
        FT_NONE, BASE_NONE, NULL, 0,
18721
16
        NULL, HFILL }},
18722
16
    { &hf_ansi_map_tNoAnswer,
18723
16
      { "tNoAnswer", "ansi_map.tNoAnswer_element",
18724
16
        FT_NONE, BASE_NONE, NULL, 0,
18725
16
        NULL, HFILL }},
18726
16
    { &hf_ansi_map_smsDeliveryPointToPointAck,
18727
16
      { "smsDeliveryPointToPointAck", "ansi_map.smsDeliveryPointToPointAck_element",
18728
16
        FT_NONE, BASE_NONE, NULL, 0,
18729
16
        NULL, HFILL }},
18730
16
    { &hf_ansi_map_messageDirective,
18731
16
      { "messageDirective", "ansi_map.messageDirective_element",
18732
16
        FT_NONE, BASE_NONE, NULL, 0,
18733
16
        NULL, HFILL }},
18734
16
    { &hf_ansi_map_bulkDisconnection,
18735
16
      { "bulkDisconnection", "ansi_map.bulkDisconnection_element",
18736
16
        FT_NONE, BASE_NONE, NULL, 0,
18737
16
        NULL, HFILL }},
18738
16
    { &hf_ansi_map_callControlDirective,
18739
16
      { "callControlDirective", "ansi_map.callControlDirective_element",
18740
16
        FT_NONE, BASE_NONE, NULL, 0,
18741
16
        NULL, HFILL }},
18742
16
    { &hf_ansi_map_oAnswer,
18743
16
      { "oAnswer", "ansi_map.oAnswer_element",
18744
16
        FT_NONE, BASE_NONE, NULL, 0,
18745
16
        NULL, HFILL }},
18746
16
    { &hf_ansi_map_oDisconnect,
18747
16
      { "oDisconnect", "ansi_map.oDisconnect_element",
18748
16
        FT_NONE, BASE_NONE, NULL, 0,
18749
16
        NULL, HFILL }},
18750
16
    { &hf_ansi_map_callRecoveryReport,
18751
16
      { "callRecoveryReport", "ansi_map.callRecoveryReport_element",
18752
16
        FT_NONE, BASE_NONE, NULL, 0,
18753
16
        NULL, HFILL }},
18754
16
    { &hf_ansi_map_tAnswer,
18755
16
      { "tAnswer", "ansi_map.tAnswer_element",
18756
16
        FT_NONE, BASE_NONE, NULL, 0,
18757
16
        NULL, HFILL }},
18758
16
    { &hf_ansi_map_tDisconnect,
18759
16
      { "tDisconnect", "ansi_map.tDisconnect_element",
18760
16
        FT_NONE, BASE_NONE, NULL, 0,
18761
16
        NULL, HFILL }},
18762
16
    { &hf_ansi_map_unreliableCallData,
18763
16
      { "unreliableCallData", "ansi_map.unreliableCallData_element",
18764
16
        FT_NONE, BASE_NONE, NULL, 0,
18765
16
        NULL, HFILL }},
18766
16
    { &hf_ansi_map_oCalledPartyBusy,
18767
16
      { "oCalledPartyBusy", "ansi_map.oCalledPartyBusy_element",
18768
16
        FT_NONE, BASE_NONE, NULL, 0,
18769
16
        NULL, HFILL }},
18770
16
    { &hf_ansi_map_oNoAnswer,
18771
16
      { "oNoAnswer", "ansi_map.oNoAnswer_element",
18772
16
        FT_NONE, BASE_NONE, NULL, 0,
18773
16
        NULL, HFILL }},
18774
16
    { &hf_ansi_map_positionRequest,
18775
16
      { "positionRequest", "ansi_map.positionRequest_element",
18776
16
        FT_NONE, BASE_NONE, NULL, 0,
18777
16
        NULL, HFILL }},
18778
16
    { &hf_ansi_map_positionRequestForward,
18779
16
      { "positionRequestForward", "ansi_map.positionRequestForward_element",
18780
16
        FT_NONE, BASE_NONE, NULL, 0,
18781
16
        NULL, HFILL }},
18782
16
    { &hf_ansi_map_callTerminationReport,
18783
16
      { "callTerminationReport", "ansi_map.callTerminationReport_element",
18784
16
        FT_NONE, BASE_NONE, NULL, 0,
18785
16
        NULL, HFILL }},
18786
16
    { &hf_ansi_map_geoPositionRequest,
18787
16
      { "geoPositionRequest", "ansi_map.geoPositionRequest_element",
18788
16
        FT_NONE, BASE_NONE, NULL, 0,
18789
16
        NULL, HFILL }},
18790
16
    { &hf_ansi_map_interSystemPositionRequest,
18791
16
      { "interSystemPositionRequest", "ansi_map.interSystemPositionRequest_element",
18792
16
        FT_NONE, BASE_NONE, NULL, 0,
18793
16
        NULL, HFILL }},
18794
16
    { &hf_ansi_map_interSystemPositionRequestForward,
18795
16
      { "interSystemPositionRequestForward", "ansi_map.interSystemPositionRequestForward_element",
18796
16
        FT_NONE, BASE_NONE, NULL, 0,
18797
16
        NULL, HFILL }},
18798
16
    { &hf_ansi_map_aCGDirective,
18799
16
      { "aCGDirective", "ansi_map.aCGDirective_element",
18800
16
        FT_NONE, BASE_NONE, NULL, 0,
18801
16
        NULL, HFILL }},
18802
16
    { &hf_ansi_map_roamerDatabaseVerificationRequest,
18803
16
      { "roamerDatabaseVerificationRequest", "ansi_map.roamerDatabaseVerificationRequest_element",
18804
16
        FT_NONE, BASE_NONE, NULL, 0,
18805
16
        NULL, HFILL }},
18806
16
    { &hf_ansi_map_addService,
18807
16
      { "addService", "ansi_map.addService_element",
18808
16
        FT_NONE, BASE_NONE, NULL, 0,
18809
16
        NULL, HFILL }},
18810
16
    { &hf_ansi_map_dropService,
18811
16
      { "dropService", "ansi_map.dropService_element",
18812
16
        FT_NONE, BASE_NONE, NULL, 0,
18813
16
        NULL, HFILL }},
18814
16
    { &hf_ansi_map_lcsParameterRequest,
18815
16
      { "lcsParameterRequest", "ansi_map.lcsParameterRequest_element",
18816
16
        FT_NONE, BASE_NONE, NULL, 0,
18817
16
        NULL, HFILL }},
18818
16
    { &hf_ansi_map_checkMEID,
18819
16
      { "checkMEID", "ansi_map.checkMEID_element",
18820
16
        FT_NONE, BASE_NONE, NULL, 0,
18821
16
        NULL, HFILL }},
18822
16
    { &hf_ansi_map_positionEventNotification,
18823
16
      { "positionEventNotification", "ansi_map.positionEventNotification_element",
18824
16
        FT_NONE, BASE_NONE, NULL, 0,
18825
16
        NULL, HFILL }},
18826
16
    { &hf_ansi_map_statusRequest,
18827
16
      { "statusRequest", "ansi_map.statusRequest_element",
18828
16
        FT_NONE, BASE_NONE, NULL, 0,
18829
16
        NULL, HFILL }},
18830
16
    { &hf_ansi_map_interSystemSMSDeliveryPointToPoint,
18831
16
      { "interSystemSMSDeliveryPointToPoint", "ansi_map.interSystemSMSDeliveryPointToPoint_element",
18832
16
        FT_NONE, BASE_NONE, NULL, 0,
18833
16
        NULL, HFILL }},
18834
16
    { &hf_ansi_map_qualificationRequest2,
18835
16
      { "qualificationRequest2", "ansi_map.qualificationRequest2_element",
18836
16
        FT_NONE, BASE_NONE, NULL, 0,
18837
16
        NULL, HFILL }},
18838
16
    { &hf_ansi_map_handoffMeasurementRequestRes,
18839
16
      { "handoffMeasurementRequestRes", "ansi_map.handoffMeasurementRequestRes_element",
18840
16
        FT_NONE, BASE_NONE, NULL, 0,
18841
16
        NULL, HFILL }},
18842
16
    { &hf_ansi_map_facilitiesDirectiveRes,
18843
16
      { "facilitiesDirectiveRes", "ansi_map.facilitiesDirectiveRes_element",
18844
16
        FT_NONE, BASE_NONE, NULL, 0,
18845
16
        NULL, HFILL }},
18846
16
    { &hf_ansi_map_handoffBackRes,
18847
16
      { "handoffBackRes", "ansi_map.handoffBackRes_element",
18848
16
        FT_NONE, BASE_NONE, NULL, 0,
18849
16
        NULL, HFILL }},
18850
16
    { &hf_ansi_map_facilitiesReleaseRes,
18851
16
      { "facilitiesReleaseRes", "ansi_map.facilitiesReleaseRes_element",
18852
16
        FT_NONE, BASE_NONE, NULL, 0,
18853
16
        NULL, HFILL }},
18854
16
    { &hf_ansi_map_qualificationDirectiveRes,
18855
16
      { "qualificationDirectiveRes", "ansi_map.qualificationDirectiveRes_element",
18856
16
        FT_NONE, BASE_NONE, NULL, 0,
18857
16
        NULL, HFILL }},
18858
16
    { &hf_ansi_map_qualificationRequestRes,
18859
16
      { "qualificationRequestRes", "ansi_map.qualificationRequestRes_element",
18860
16
        FT_NONE, BASE_NONE, NULL, 0,
18861
16
        NULL, HFILL }},
18862
16
    { &hf_ansi_map_resetCircuitRes,
18863
16
      { "resetCircuitRes", "ansi_map.resetCircuitRes_element",
18864
16
        FT_NONE, BASE_NONE, NULL, 0,
18865
16
        NULL, HFILL }},
18866
16
    { &hf_ansi_map_registrationNotificationRes,
18867
16
      { "registrationNotificationRes", "ansi_map.registrationNotificationRes_element",
18868
16
        FT_NONE, BASE_NONE, NULL, 0,
18869
16
        NULL, HFILL }},
18870
16
    { &hf_ansi_map_registrationCancellationRes,
18871
16
      { "registrationCancellationRes", "ansi_map.registrationCancellationRes_element",
18872
16
        FT_NONE, BASE_NONE, NULL, 0,
18873
16
        NULL, HFILL }},
18874
16
    { &hf_ansi_map_locationRequestRes,
18875
16
      { "locationRequestRes", "ansi_map.locationRequestRes_element",
18876
16
        FT_NONE, BASE_NONE, NULL, 0,
18877
16
        NULL, HFILL }},
18878
16
    { &hf_ansi_map_routingRequestRes,
18879
16
      { "routingRequestRes", "ansi_map.routingRequestRes_element",
18880
16
        FT_NONE, BASE_NONE, NULL, 0,
18881
16
        NULL, HFILL }},
18882
16
    { &hf_ansi_map_featureRequestRes,
18883
16
      { "featureRequestRes", "ansi_map.featureRequestRes_element",
18884
16
        FT_NONE, BASE_NONE, NULL, 0,
18885
16
        NULL, HFILL }},
18886
16
    { &hf_ansi_map_transferToNumberRequestRes,
18887
16
      { "transferToNumberRequestRes", "ansi_map.transferToNumberRequestRes_element",
18888
16
        FT_NONE, BASE_NONE, NULL, 0,
18889
16
        NULL, HFILL }},
18890
16
    { &hf_ansi_map_handoffToThirdRes,
18891
16
      { "handoffToThirdRes", "ansi_map.handoffToThirdRes_element",
18892
16
        FT_NONE, BASE_NONE, NULL, 0,
18893
16
        NULL, HFILL }},
18894
16
    { &hf_ansi_map_authenticationDirectiveRes,
18895
16
      { "authenticationDirectiveRes", "ansi_map.authenticationDirectiveRes_element",
18896
16
        FT_NONE, BASE_NONE, NULL, 0,
18897
16
        NULL, HFILL }},
18898
16
    { &hf_ansi_map_authenticationRequestRes,
18899
16
      { "authenticationRequestRes", "ansi_map.authenticationRequestRes_element",
18900
16
        FT_NONE, BASE_NONE, NULL, 0,
18901
16
        NULL, HFILL }},
18902
16
    { &hf_ansi_map_baseStationChallengeRes,
18903
16
      { "baseStationChallengeRes", "ansi_map.baseStationChallengeRes_element",
18904
16
        FT_NONE, BASE_NONE, NULL, 0,
18905
16
        NULL, HFILL }},
18906
16
    { &hf_ansi_map_authenticationFailureReportRes,
18907
16
      { "authenticationFailureReportRes", "ansi_map.authenticationFailureReportRes_element",
18908
16
        FT_NONE, BASE_NONE, NULL, 0,
18909
16
        NULL, HFILL }},
18910
16
    { &hf_ansi_map_countRequestRes,
18911
16
      { "countRequestRes", "ansi_map.countRequestRes_element",
18912
16
        FT_NONE, BASE_NONE, NULL, 0,
18913
16
        NULL, HFILL }},
18914
16
    { &hf_ansi_map_interSystemPageRes,
18915
16
      { "interSystemPageRes", "ansi_map.interSystemPageRes_element",
18916
16
        FT_NONE, BASE_NONE, NULL, 0,
18917
16
        NULL, HFILL }},
18918
16
    { &hf_ansi_map_unsolicitedResponseRes,
18919
16
      { "unsolicitedResponseRes", "ansi_map.unsolicitedResponseRes_element",
18920
16
        FT_NONE, BASE_NONE, NULL, 0,
18921
16
        NULL, HFILL }},
18922
16
    { &hf_ansi_map_handoffMeasurementRequest2Res,
18923
16
      { "handoffMeasurementRequest2Res", "ansi_map.handoffMeasurementRequest2Res_element",
18924
16
        FT_NONE, BASE_NONE, NULL, 0,
18925
16
        NULL, HFILL }},
18926
16
    { &hf_ansi_map_facilitiesDirective2Res,
18927
16
      { "facilitiesDirective2Res", "ansi_map.facilitiesDirective2Res_element",
18928
16
        FT_NONE, BASE_NONE, NULL, 0,
18929
16
        NULL, HFILL }},
18930
16
    { &hf_ansi_map_handoffBack2Res,
18931
16
      { "handoffBack2Res", "ansi_map.handoffBack2Res_element",
18932
16
        FT_NONE, BASE_NONE, NULL, 0,
18933
16
        NULL, HFILL }},
18934
16
    { &hf_ansi_map_handoffToThird2Res,
18935
16
      { "handoffToThird2Res", "ansi_map.handoffToThird2Res_element",
18936
16
        FT_NONE, BASE_NONE, NULL, 0,
18937
16
        NULL, HFILL }},
18938
16
    { &hf_ansi_map_authenticationDirectiveForwardRes,
18939
16
      { "authenticationDirectiveForwardRes", "ansi_map.authenticationDirectiveForwardRes_element",
18940
16
        FT_NONE, BASE_NONE, NULL, 0,
18941
16
        NULL, HFILL }},
18942
16
    { &hf_ansi_map_authenticationStatusReportRes,
18943
16
      { "authenticationStatusReportRes", "ansi_map.authenticationStatusReportRes_element",
18944
16
        FT_NONE, BASE_NONE, NULL, 0,
18945
16
        NULL, HFILL }},
18946
16
    { &hf_ansi_map_informationDirectiveRes,
18947
16
      { "informationDirectiveRes", "ansi_map.informationDirectiveRes_element",
18948
16
        FT_NONE, BASE_NONE, NULL, 0,
18949
16
        NULL, HFILL }},
18950
16
    { &hf_ansi_map_informationForwardRes,
18951
16
      { "informationForwardRes", "ansi_map.informationForwardRes_element",
18952
16
        FT_NONE, BASE_NONE, NULL, 0,
18953
16
        NULL, HFILL }},
18954
16
    { &hf_ansi_map_interSystemPage2Res,
18955
16
      { "interSystemPage2Res", "ansi_map.interSystemPage2Res_element",
18956
16
        FT_NONE, BASE_NONE, NULL, 0,
18957
16
        NULL, HFILL }},
18958
16
    { &hf_ansi_map_interSystemSetupRes,
18959
16
      { "interSystemSetupRes", "ansi_map.interSystemSetupRes_element",
18960
16
        FT_NONE, BASE_NONE, NULL, 0,
18961
16
        NULL, HFILL }},
18962
16
    { &hf_ansi_map_originationRequestRes,
18963
16
      { "originationRequestRes", "ansi_map.originationRequestRes_element",
18964
16
        FT_NONE, BASE_NONE, NULL, 0,
18965
16
        NULL, HFILL }},
18966
16
    { &hf_ansi_map_randomVariableRequestRes,
18967
16
      { "randomVariableRequestRes", "ansi_map.randomVariableRequestRes_element",
18968
16
        FT_NONE, BASE_NONE, NULL, 0,
18969
16
        NULL, HFILL }},
18970
16
    { &hf_ansi_map_remoteUserInteractionDirectiveRes,
18971
16
      { "remoteUserInteractionDirectiveRes", "ansi_map.remoteUserInteractionDirectiveRes_element",
18972
16
        FT_NONE, BASE_NONE, NULL, 0,
18973
16
        NULL, HFILL }},
18974
16
    { &hf_ansi_map_sMSDeliveryBackwardRes,
18975
16
      { "sMSDeliveryBackwardRes", "ansi_map.sMSDeliveryBackwardRes_element",
18976
16
        FT_NONE, BASE_NONE, NULL, 0,
18977
16
        NULL, HFILL }},
18978
16
    { &hf_ansi_map_sMSDeliveryForwardRes,
18979
16
      { "sMSDeliveryForwardRes", "ansi_map.sMSDeliveryForwardRes_element",
18980
16
        FT_NONE, BASE_NONE, NULL, 0,
18981
16
        NULL, HFILL }},
18982
16
    { &hf_ansi_map_sMSDeliveryPointToPointRes,
18983
16
      { "sMSDeliveryPointToPointRes", "ansi_map.sMSDeliveryPointToPointRes_element",
18984
16
        FT_NONE, BASE_NONE, NULL, 0,
18985
16
        NULL, HFILL }},
18986
16
    { &hf_ansi_map_sMSNotificationRes,
18987
16
      { "sMSNotificationRes", "ansi_map.sMSNotificationRes_element",
18988
16
        FT_NONE, BASE_NONE, NULL, 0,
18989
16
        NULL, HFILL }},
18990
16
    { &hf_ansi_map_sMSRequestRes,
18991
16
      { "sMSRequestRes", "ansi_map.sMSRequestRes_element",
18992
16
        FT_NONE, BASE_NONE, NULL, 0,
18993
16
        NULL, HFILL }},
18994
16
    { &hf_ansi_map_oTASPRequestRes,
18995
16
      { "oTASPRequestRes", "ansi_map.oTASPRequestRes_element",
18996
16
        FT_NONE, BASE_NONE, NULL, 0,
18997
16
        NULL, HFILL }},
18998
16
    { &hf_ansi_map_changeFacilitiesRes,
18999
16
      { "changeFacilitiesRes", "ansi_map.changeFacilitiesRes_element",
19000
16
        FT_NONE, BASE_NONE, NULL, 0,
19001
16
        NULL, HFILL }},
19002
16
    { &hf_ansi_map_changeServiceRes,
19003
16
      { "changeServiceRes", "ansi_map.changeServiceRes_element",
19004
16
        FT_NONE, BASE_NONE, NULL, 0,
19005
16
        NULL, HFILL }},
19006
16
    { &hf_ansi_map_parameterRequestRes,
19007
16
      { "parameterRequestRes", "ansi_map.parameterRequestRes_element",
19008
16
        FT_NONE, BASE_NONE, NULL, 0,
19009
16
        NULL, HFILL }},
19010
16
    { &hf_ansi_map_tMSIDirectiveRes,
19011
16
      { "tMSIDirectiveRes", "ansi_map.tMSIDirectiveRes_element",
19012
16
        FT_NONE, BASE_NONE, NULL, 0,
19013
16
        NULL, HFILL }},
19014
16
    { &hf_ansi_map_numberPortabilityRequestRes,
19015
16
      { "numberPortabilityRequestRes", "ansi_map.numberPortabilityRequestRes_element",
19016
16
        FT_NONE, BASE_NONE, NULL, 0,
19017
16
        NULL, HFILL }},
19018
16
    { &hf_ansi_map_serviceRequestRes,
19019
16
      { "serviceRequestRes", "ansi_map.serviceRequestRes_element",
19020
16
        FT_NONE, BASE_NONE, NULL, 0,
19021
16
        NULL, HFILL }},
19022
16
    { &hf_ansi_map_analyzedInformationRes,
19023
16
      { "analyzedInformationRes", "ansi_map.analyzedInformationRes_element",
19024
16
        FT_NONE, BASE_NONE, NULL, 0,
19025
16
        NULL, HFILL }},
19026
16
    { &hf_ansi_map_facilitySelectedAndAvailableRes,
19027
16
      { "facilitySelectedAndAvailableRes", "ansi_map.facilitySelectedAndAvailableRes_element",
19028
16
        FT_NONE, BASE_NONE, NULL, 0,
19029
16
        NULL, HFILL }},
19030
16
    { &hf_ansi_map_modifyRes,
19031
16
      { "modifyRes", "ansi_map.modifyRes_element",
19032
16
        FT_NONE, BASE_NONE, NULL, 0,
19033
16
        NULL, HFILL }},
19034
16
    { &hf_ansi_map_searchRes,
19035
16
      { "searchRes", "ansi_map.searchRes_element",
19036
16
        FT_NONE, BASE_NONE, NULL, 0,
19037
16
        NULL, HFILL }},
19038
16
    { &hf_ansi_map_seizeResourceRes,
19039
16
      { "seizeResourceRes", "ansi_map.seizeResourceRes_element",
19040
16
        FT_NONE, BASE_NONE, NULL, 0,
19041
16
        NULL, HFILL }},
19042
16
    { &hf_ansi_map_sRFDirectiveRes,
19043
16
      { "sRFDirectiveRes", "ansi_map.sRFDirectiveRes_element",
19044
16
        FT_NONE, BASE_NONE, NULL, 0,
19045
16
        NULL, HFILL }},
19046
16
    { &hf_ansi_map_tBusyRes,
19047
16
      { "tBusyRes", "ansi_map.tBusyRes_element",
19048
16
        FT_NONE, BASE_NONE, NULL, 0,
19049
16
        NULL, HFILL }},
19050
16
    { &hf_ansi_map_tNoAnswerRes,
19051
16
      { "tNoAnswerRes", "ansi_map.tNoAnswerRes_element",
19052
16
        FT_NONE, BASE_NONE, NULL, 0,
19053
16
        NULL, HFILL }},
19054
16
    { &hf_ansi_map_callControlDirectiveRes,
19055
16
      { "callControlDirectiveRes", "ansi_map.callControlDirectiveRes_element",
19056
16
        FT_NONE, BASE_NONE, NULL, 0,
19057
16
        NULL, HFILL }},
19058
16
    { &hf_ansi_map_oDisconnectRes,
19059
16
      { "oDisconnectRes", "ansi_map.oDisconnectRes_element",
19060
16
        FT_NONE, BASE_NONE, NULL, 0,
19061
16
        NULL, HFILL }},
19062
16
    { &hf_ansi_map_tDisconnectRes,
19063
16
      { "tDisconnectRes", "ansi_map.tDisconnectRes_element",
19064
16
        FT_NONE, BASE_NONE, NULL, 0,
19065
16
        NULL, HFILL }},
19066
16
    { &hf_ansi_map_oCalledPartyBusyRes,
19067
16
      { "oCalledPartyBusyRes", "ansi_map.oCalledPartyBusyRes_element",
19068
16
        FT_NONE, BASE_NONE, NULL, 0,
19069
16
        NULL, HFILL }},
19070
16
    { &hf_ansi_map_oNoAnswerRes,
19071
16
      { "oNoAnswerRes", "ansi_map.oNoAnswerRes_element",
19072
16
        FT_NONE, BASE_NONE, NULL, 0,
19073
16
        NULL, HFILL }},
19074
16
    { &hf_ansi_map_positionRequestRes,
19075
16
      { "positionRequestRes", "ansi_map.positionRequestRes_element",
19076
16
        FT_NONE, BASE_NONE, NULL, 0,
19077
16
        NULL, HFILL }},
19078
16
    { &hf_ansi_map_positionRequestForwardRes,
19079
16
      { "positionRequestForwardRes", "ansi_map.positionRequestForwardRes_element",
19080
16
        FT_NONE, BASE_NONE, NULL, 0,
19081
16
        NULL, HFILL }},
19082
16
    { &hf_ansi_map_interSystemPositionRequestRes,
19083
16
      { "interSystemPositionRequestRes", "ansi_map.interSystemPositionRequestRes_element",
19084
16
        FT_NONE, BASE_NONE, NULL, 0,
19085
16
        NULL, HFILL }},
19086
16
    { &hf_ansi_map_interSystemPositionRequestForwardRes,
19087
16
      { "interSystemPositionRequestForwardRes", "ansi_map.interSystemPositionRequestForwardRes_element",
19088
16
        FT_NONE, BASE_NONE, NULL, 0,
19089
16
        NULL, HFILL }},
19090
16
    { &hf_ansi_map_roamerDatabaseVerificationRequestRes,
19091
16
      { "roamerDatabaseVerificationRequestRes", "ansi_map.roamerDatabaseVerificationRequestRes_element",
19092
16
        FT_NONE, BASE_NONE, NULL, 0,
19093
16
        NULL, HFILL }},
19094
16
    { &hf_ansi_map_addServiceRes,
19095
16
      { "addServiceRes", "ansi_map.addServiceRes_element",
19096
16
        FT_NONE, BASE_NONE, NULL, 0,
19097
16
        NULL, HFILL }},
19098
16
    { &hf_ansi_map_dropServiceRes,
19099
16
      { "dropServiceRes", "ansi_map.dropServiceRes_element",
19100
16
        FT_NONE, BASE_NONE, NULL, 0,
19101
16
        NULL, HFILL }},
19102
16
    { &hf_ansi_map_interSystemSMSPage,
19103
16
      { "interSystemSMSPage", "ansi_map.interSystemSMSPage_element",
19104
16
        FT_NONE, BASE_NONE, NULL, 0,
19105
16
        NULL, HFILL }},
19106
16
    { &hf_ansi_map_lcsParameterRequestRes,
19107
16
      { "lcsParameterRequestRes", "ansi_map.lcsParameterRequestRes_element",
19108
16
        FT_NONE, BASE_NONE, NULL, 0,
19109
16
        NULL, HFILL }},
19110
16
    { &hf_ansi_map_checkMEIDRes,
19111
16
      { "checkMEIDRes", "ansi_map.checkMEIDRes_element",
19112
16
        FT_NONE, BASE_NONE, NULL, 0,
19113
16
        NULL, HFILL }},
19114
16
    { &hf_ansi_map_statusRequestRes,
19115
16
      { "statusRequestRes", "ansi_map.statusRequestRes_element",
19116
16
        FT_NONE, BASE_NONE, NULL, 0,
19117
16
        NULL, HFILL }},
19118
16
    { &hf_ansi_map_interSystemSMSDeliveryPointToPointRes,
19119
16
      { "interSystemSMSDeliveryPointToPointRes", "ansi_map.interSystemSMSDeliveryPointToPointRes_element",
19120
16
        FT_NONE, BASE_NONE, NULL, 0,
19121
16
        NULL, HFILL }},
19122
16
    { &hf_ansi_map_qualificationRequest2Res,
19123
16
      { "qualificationRequest2Res", "ansi_map.qualificationRequest2Res_element",
19124
16
        FT_NONE, BASE_NONE, NULL, 0,
19125
16
        NULL, HFILL }},
19126
16
    };
19127
19128
    /* List of subtrees */
19129
16
    static int *ett[] = {
19130
16
        &ett_ansi_map,
19131
16
        &ett_mintype,
19132
16
        &ett_digitstype,
19133
16
        &ett_billingid,
19134
16
        &ett_sms_bearer_data,
19135
16
        &ett_sms_teleserviceIdentifier,
19136
16
        &ett_extendedmscid,
19137
16
        &ett_extendedsystemmytypecode,
19138
16
        &ett_handoffstate,
19139
16
        &ett_mscid,
19140
16
        &ett_cdmachanneldata,
19141
16
        &ett_cdmastationclassmark,
19142
16
        &ett_channeldata,
19143
16
        &ett_confidentialitymodes,
19144
16
        &ett_controlchanneldata,
19145
16
        &ett_CDMA2000HandoffInvokeIOSData,
19146
16
        &ett_CDMA2000HandoffResponseIOSData,
19147
16
        &ett_originationtriggers,
19148
16
        &ett_pacaindicator,
19149
16
        &ett_callingpartyname,
19150
16
        &ett_triggercapability,
19151
16
        &ett_winoperationscapability,
19152
16
        &ett_win_trigger_list,
19153
16
        &ett_controlnetworkid,
19154
16
        &ett_transactioncapability,
19155
16
        &ett_cdmaserviceoption,
19156
16
        &ett_sms_originationrestrictions,
19157
16
        &ett_systemcapabilities,
19158
16
    &ett_ansi_map_AuthenticationDirective_U,
19159
16
    &ett_ansi_map_AuthenticationDirectiveRes_U,
19160
16
    &ett_ansi_map_AuthenticationDirectiveForward_U,
19161
16
    &ett_ansi_map_AuthenticationDirectiveForwardRes_U,
19162
16
    &ett_ansi_map_AuthenticationFailureReport_U,
19163
16
    &ett_ansi_map_AuthenticationFailureReportRes_U,
19164
16
    &ett_ansi_map_AuthenticationRequest_U,
19165
16
    &ett_ansi_map_AuthenticationRequestRes_U,
19166
16
    &ett_ansi_map_AuthenticationStatusReport_U,
19167
16
    &ett_ansi_map_AuthenticationStatusReportRes_U,
19168
16
    &ett_ansi_map_BaseStationChallenge_U,
19169
16
    &ett_ansi_map_BaseStationChallengeRes_U,
19170
16
    &ett_ansi_map_Blocking_U,
19171
16
    &ett_ansi_map_BulkDeregistration_U,
19172
16
    &ett_ansi_map_CountRequest_U,
19173
16
    &ett_ansi_map_CountRequestRes_U,
19174
16
    &ett_ansi_map_FacilitiesDirective_U,
19175
16
    &ett_ansi_map_FacilitiesDirectiveRes_U,
19176
16
    &ett_ansi_map_FacilitiesDirective2_U,
19177
16
    &ett_ansi_map_FacilitiesDirective2Res_U,
19178
16
    &ett_ansi_map_FacilitiesRelease_U,
19179
16
    &ett_ansi_map_FacilitiesReleaseRes_U,
19180
16
    &ett_ansi_map_FeatureRequest_U,
19181
16
    &ett_ansi_map_FeatureRequestRes_U,
19182
16
    &ett_ansi_map_FlashRequest_U,
19183
16
    &ett_ansi_map_HandoffBack_U,
19184
16
    &ett_ansi_map_HandoffBackRes_U,
19185
16
    &ett_ansi_map_HandoffBack2_U,
19186
16
    &ett_ansi_map_HandoffBack2Res_U,
19187
16
    &ett_ansi_map_HandoffMeasurementRequest_U,
19188
16
    &ett_ansi_map_HandoffMeasurementRequestRes_U,
19189
16
    &ett_ansi_map_HandoffMeasurementRequest2_U,
19190
16
    &ett_ansi_map_HandoffMeasurementRequest2Res_U,
19191
16
    &ett_ansi_map_HandoffToThird_U,
19192
16
    &ett_ansi_map_HandoffToThirdRes_U,
19193
16
    &ett_ansi_map_HandoffToThird2_U,
19194
16
    &ett_ansi_map_HandoffToThird2Res_U,
19195
16
    &ett_ansi_map_InformationDirective_U,
19196
16
    &ett_ansi_map_InformationDirectiveRes_U,
19197
16
    &ett_ansi_map_InformationForward_U,
19198
16
    &ett_ansi_map_InformationForwardRes_U,
19199
16
    &ett_ansi_map_InterSystemAnswer_U,
19200
16
    &ett_ansi_map_InterSystemPage_U,
19201
16
    &ett_ansi_map_InterSystemPageRes_U,
19202
16
    &ett_ansi_map_InterSystemPage2_U,
19203
16
    &ett_ansi_map_InterSystemPage2Res_U,
19204
16
    &ett_ansi_map_InterSystemSetup_U,
19205
16
    &ett_ansi_map_InterSystemSetupRes_U,
19206
16
    &ett_ansi_map_LocationRequest_U,
19207
16
    &ett_ansi_map_LocationRequestRes_U,
19208
16
    &ett_ansi_map_MSInactive_U,
19209
16
    &ett_ansi_map_OriginationRequest_U,
19210
16
    &ett_ansi_map_OriginationRequestRes_U,
19211
16
    &ett_ansi_map_QualificationDirective_U,
19212
16
    &ett_ansi_map_QualificationDirectiveRes_U,
19213
16
    &ett_ansi_map_QualificationRequest_U,
19214
16
    &ett_ansi_map_QualificationRequestRes_U,
19215
16
    &ett_ansi_map_RandomVariableRequest_U,
19216
16
    &ett_ansi_map_RandomVariableRequestRes_U,
19217
16
    &ett_ansi_map_RedirectionDirective_U,
19218
16
    &ett_ansi_map_RedirectionRequest_U,
19219
16
    &ett_ansi_map_RegistrationCancellation_U,
19220
16
    &ett_ansi_map_RegistrationCancellationRes_U,
19221
16
    &ett_ansi_map_RegistrationNotification_U,
19222
16
    &ett_ansi_map_RegistrationNotificationRes_U,
19223
16
    &ett_ansi_map_RemoteUserInteractionDirective_U,
19224
16
    &ett_ansi_map_RemoteUserInteractionDirectiveRes_U,
19225
16
    &ett_ansi_map_ResetCircuit_U,
19226
16
    &ett_ansi_map_ResetCircuitRes_U,
19227
16
    &ett_ansi_map_RoutingRequest_U,
19228
16
    &ett_ansi_map_RoutingRequestRes_U,
19229
16
    &ett_ansi_map_SMSDeliveryBackward_U,
19230
16
    &ett_ansi_map_SMSDeliveryBackwardRes_U,
19231
16
    &ett_ansi_map_SMSDeliveryForward_U,
19232
16
    &ett_ansi_map_SMSDeliveryForwardRes_U,
19233
16
    &ett_ansi_map_SMSDeliveryPointToPoint_U,
19234
16
    &ett_ansi_map_SMSDeliveryPointToPointRes_U,
19235
16
    &ett_ansi_map_SMSDeliveryPointToPointAck_U,
19236
16
    &ett_ansi_map_SMSNotification_U,
19237
16
    &ett_ansi_map_SMSNotificationRes_U,
19238
16
    &ett_ansi_map_SMSRequest_U,
19239
16
    &ett_ansi_map_SMSRequestRes_U,
19240
16
    &ett_ansi_map_TransferToNumberRequest_U,
19241
16
    &ett_ansi_map_TransferToNumberRequestRes_U,
19242
16
    &ett_ansi_map_TrunkTest_U,
19243
16
    &ett_ansi_map_TrunkTestDisconnect_U,
19244
16
    &ett_ansi_map_Unblocking_U,
19245
16
    &ett_ansi_map_UnreliableRoamerDataDirective_U,
19246
16
    &ett_ansi_map_UnsolicitedResponse_U,
19247
16
    &ett_ansi_map_UnsolicitedResponseRes_U,
19248
16
    &ett_ansi_map_ParameterRequest_U,
19249
16
    &ett_ansi_map_ParameterRequestRes_U,
19250
16
    &ett_ansi_map_TMSIDirective_U,
19251
16
    &ett_ansi_map_TMSIDirectiveRes_U,
19252
16
    &ett_ansi_map_NumberPortabilityRequest_U,
19253
16
    &ett_ansi_map_NumberPortabilityRequestRes_U,
19254
16
    &ett_ansi_map_ServiceRequest_U,
19255
16
    &ett_ansi_map_ServiceRequestRes_U,
19256
16
    &ett_ansi_map_AnalyzedInformation_U,
19257
16
    &ett_ansi_map_AnalyzedInformationRes_U,
19258
16
    &ett_ansi_map_ConnectionFailureReport_U,
19259
16
    &ett_ansi_map_ConnectResource_U,
19260
16
    &ett_ansi_map_FacilitySelectedAndAvailable_U,
19261
16
    &ett_ansi_map_FacilitySelectedAndAvailableRes_U,
19262
16
    &ett_ansi_map_Modify_U,
19263
16
    &ett_ansi_map_ModifyRes_U,
19264
16
    &ett_ansi_map_Search_U,
19265
16
    &ett_ansi_map_SearchRes_U,
19266
16
    &ett_ansi_map_SeizeResource_U,
19267
16
    &ett_ansi_map_SeizeResourceRes_U,
19268
16
    &ett_ansi_map_SRFDirective_U,
19269
16
    &ett_ansi_map_SRFDirectiveRes_U,
19270
16
    &ett_ansi_map_TBusy_U,
19271
16
    &ett_ansi_map_TBusyRes_U,
19272
16
    &ett_ansi_map_TNoAnswer_U,
19273
16
    &ett_ansi_map_TNoAnswerRes_U,
19274
16
    &ett_ansi_map_ChangeFacilities_U,
19275
16
    &ett_ansi_map_ChangeFacilitiesRes_U,
19276
16
    &ett_ansi_map_ChangeService_U,
19277
16
    &ett_ansi_map_ChangeServiceRes_U,
19278
16
    &ett_ansi_map_MessageDirective_U,
19279
16
    &ett_ansi_map_BulkDisconnection_U,
19280
16
    &ett_ansi_map_CallControlDirective_U,
19281
16
    &ett_ansi_map_CallControlDirectiveRes_U,
19282
16
    &ett_ansi_map_OAnswer_U,
19283
16
    &ett_ansi_map_ODisconnect_U,
19284
16
    &ett_ansi_map_ODisconnectRes_U,
19285
16
    &ett_ansi_map_CallRecoveryReport_U,
19286
16
    &ett_ansi_map_TAnswer_U,
19287
16
    &ett_ansi_map_TDisconnect_U,
19288
16
    &ett_ansi_map_TDisconnectRes_U,
19289
16
    &ett_ansi_map_UnreliableCallData_U,
19290
16
    &ett_ansi_map_OCalledPartyBusy_U,
19291
16
    &ett_ansi_map_OCalledPartyBusyRes_U,
19292
16
    &ett_ansi_map_ONoAnswer_U,
19293
16
    &ett_ansi_map_ONoAnswerRes_U,
19294
16
    &ett_ansi_map_PositionRequest_U,
19295
16
    &ett_ansi_map_PositionRequestRes_U,
19296
16
    &ett_ansi_map_PositionRequestForward_U,
19297
16
    &ett_ansi_map_PositionRequestForwardRes_U,
19298
16
    &ett_ansi_map_CallTerminationReport_U,
19299
16
    &ett_ansi_map_GeoPositionRequest_U,
19300
16
    &ett_ansi_map_InterSystemPositionRequest_U,
19301
16
    &ett_ansi_map_InterSystemPositionRequestRes_U,
19302
16
    &ett_ansi_map_InterSystemPositionRequestForward_U,
19303
16
    &ett_ansi_map_InterSystemPositionRequestForwardRes_U,
19304
16
    &ett_ansi_map_ACGDirective_U,
19305
16
    &ett_ansi_map_RoamerDatabaseVerificationRequest_U,
19306
16
    &ett_ansi_map_RoamerDatabaseVerificationRequestRes_U,
19307
16
    &ett_ansi_map_LCSParameterRequest_U,
19308
16
    &ett_ansi_map_LCSParameterRequestRes_U,
19309
16
    &ett_ansi_map_CheckMEID_U,
19310
16
    &ett_ansi_map_CheckMEIDRes_U,
19311
16
    &ett_ansi_map_AddService_U,
19312
16
    &ett_ansi_map_AddServiceRes_U,
19313
16
    &ett_ansi_map_DropService_U,
19314
16
    &ett_ansi_map_DropServiceRes_U,
19315
16
    &ett_ansi_map_PositionEventNotification_U,
19316
16
    &ett_ansi_map_OTASPRequest_U,
19317
16
    &ett_ansi_map_OTASPRequestRes_U,
19318
16
    &ett_ansi_map_StatusRequest_U,
19319
16
    &ett_ansi_map_StatusRequestRes_U,
19320
16
    &ett_ansi_map_InterSystemSMSDeliveryPointToPoint_U,
19321
16
    &ett_ansi_map_InterSystemSMSDeliveryPointToPointRes_U,
19322
16
    &ett_ansi_map_InterSystemSMSPage_U,
19323
16
    &ett_ansi_map_QualificationRequest2_U,
19324
16
    &ett_ansi_map_QualificationRequest2Res_U,
19325
16
    &ett_ansi_map_AnnouncementList,
19326
16
    &ett_ansi_map_CDMACodeChannelInformation,
19327
16
    &ett_ansi_map_CDMACodeChannelList,
19328
16
    &ett_ansi_map_CDMATargetMAHOInformation,
19329
16
    &ett_ansi_map_CDMATargetMAHOList,
19330
16
    &ett_ansi_map_CDMATargetMeasurementInformation,
19331
16
    &ett_ansi_map_CDMATargetMeasurementList,
19332
16
    &ett_ansi_map_IntersystemTermination,
19333
16
    &ett_ansi_map_LocalTermination,
19334
16
    &ett_ansi_map_PSTNTermination,
19335
16
    &ett_ansi_map_TargetMeasurementInformation,
19336
16
    &ett_ansi_map_TargetMeasurementList,
19337
16
    &ett_ansi_map_TerminationList,
19338
16
    &ett_ansi_map_TerminationList_item,
19339
16
    &ett_ansi_map_CDMABandClassInformation,
19340
16
    &ett_ansi_map_CDMABandClassList,
19341
16
    &ett_ansi_map_CDMAServiceOptionList,
19342
16
    &ett_ansi_map_PSID_RSIDList,
19343
16
    &ett_ansi_map_TargetCellIDList,
19344
16
    &ett_ansi_map_CDMAConnectionReferenceInformation,
19345
16
    &ett_ansi_map_CDMAConnectionReferenceList,
19346
16
    &ett_ansi_map_CDMAConnectionReferenceList_item,
19347
16
    &ett_ansi_map_AnalogRedirectRecord,
19348
16
    &ett_ansi_map_CDMAChannelNumberList,
19349
16
    &ett_ansi_map_CDMAChannelNumberList_item,
19350
16
    &ett_ansi_map_CDMARedirectRecord,
19351
16
    &ett_ansi_map_MSID,
19352
16
    &ett_ansi_map_DataAccessElement,
19353
16
    &ett_ansi_map_DataAccessElementList,
19354
16
    &ett_ansi_map_DataAccessElementList_item,
19355
16
    &ett_ansi_map_DataUpdateResult,
19356
16
    &ett_ansi_map_DataUpdateResultList,
19357
16
    &ett_ansi_map_DestinationAddress,
19358
16
    &ett_ansi_map_ExecuteScript,
19359
16
    &ett_ansi_map_ModificationRequest,
19360
16
    &ett_ansi_map_ModificationRequestList,
19361
16
    &ett_ansi_map_ModificationResult,
19362
16
    &ett_ansi_map_ModificationResultList,
19363
16
    &ett_ansi_map_ServiceDataAccessElement,
19364
16
    &ett_ansi_map_ServiceDataAccessElementList,
19365
16
    &ett_ansi_map_ServiceDataResult,
19366
16
    &ett_ansi_map_ServiceDataResultList,
19367
16
    &ett_ansi_map_TriggerAddressList,
19368
16
    &ett_ansi_map_TriggerList,
19369
16
    &ett_ansi_map_WINCapability,
19370
16
    &ett_ansi_map_CallRecoveryID,
19371
16
    &ett_ansi_map_CallRecoveryIDList,
19372
16
    &ett_ansi_map_PositionInformation,
19373
16
    &ett_ansi_map_GapInterval,
19374
16
    &ett_ansi_map_CDMAPSMMList,
19375
16
    &ett_ansi_map_CDMAPSMMList_item,
19376
16
    &ett_ansi_map_MPCAddressList,
19377
16
    &ett_ansi_map_MobileStationMSID,
19378
16
    &ett_ansi_map_NewlyAssignedMSID,
19379
16
    &ett_ansi_map_InvokeData,
19380
16
    &ett_ansi_map_ReturnData,
19381
16
    };
19382
19383
16
    static ei_register_info ei[] = {
19384
16
        { &ei_ansi_map_nr_not_used, { "ansi_map.nr_not_used", PI_PROTOCOL, PI_WARN, "This Number plan should not have been used", EXPFILL }},
19385
16
        { &ei_ansi_map_unknown_invokeData_blob, { "ansi_map.unknown_invokeData_blob", PI_PROTOCOL, PI_WARN, "Unknown invokeData blob", EXPFILL }},
19386
16
        { &ei_ansi_map_no_data, { "ansi_map.no_data", PI_PROTOCOL, PI_NOTE, "Carries no data", EXPFILL }},
19387
16
    };
19388
19389
16
    expert_module_t* expert_ansi_map;
19390
19391
16
    static const enum_val_t ansi_map_response_matching_type_values[] = {
19392
16
        {"tid",                "Transaction ID only", ANSI_MAP_TID_ONLY},
19393
16
        {"tid_source",         "Transaction ID and Source", ANSI_MAP_TID_AND_SOURCE},
19394
16
        {"tid_source_dest",    "Transaction ID Source and Destination", ANSI_MAP_TID_SOURCE_AND_DEST},
19395
16
        {NULL, NULL, -1}
19396
16
    };
19397
19398
    /* TAP STAT INFO */
19399
16
    static stat_tap_table_ui stat_table = {
19400
16
        REGISTER_TELEPHONY_GROUP_ANSI,
19401
16
        "Map Operation Statistics",
19402
16
        "ansi_map",
19403
16
        "ansi_map",
19404
16
        ansi_map_stat_init,
19405
16
        ansi_map_stat_packet,
19406
16
        ansi_map_stat_reset,
19407
16
        NULL,
19408
16
        NULL,
19409
16
        array_length(stat_fields), stat_fields,
19410
16
        0, NULL,
19411
16
        NULL,
19412
16
        0
19413
16
    };
19414
19415
    /* Register protocol */
19416
16
    proto_ansi_map = proto_register_protocol("ANSI Mobile Application Part", "ANSI MAP", "ansi_map");
19417
    /* Register fields and subtrees */
19418
16
    proto_register_field_array(proto_ansi_map, hf, array_length(hf));
19419
16
    proto_register_subtree_array(ett, array_length(ett));
19420
16
    expert_ansi_map = expert_register_protocol(proto_ansi_map);
19421
16
    expert_register_field_array(expert_ansi_map, ei, array_length(ei));
19422
19423
16
    ansi_map_handle = register_dissector("ansi_map", dissect_ansi_map, proto_ansi_map);
19424
19425
16
    is637_tele_id_dissector_table =
19426
16
        register_dissector_table("ansi_map.tele_id", "IS-637 Teleservice ID", proto_ansi_map,
19427
16
                                 FT_UINT8, BASE_DEC);
19428
19429
16
    is683_dissector_table =
19430
16
        register_dissector_table("ansi_map.ota", "IS-683-A (OTA)", proto_ansi_map,
19431
16
                                 FT_UINT8, BASE_DEC);
19432
19433
16
    is801_dissector_table =
19434
16
        register_dissector_table("ansi_map.pld", "IS-801 (PLD)", proto_ansi_map,
19435
16
                                 FT_UINT8, BASE_DEC);
19436
19437
16
    ansi_map_tap = register_tap("ansi_map");
19438
19439
19440
16
    range_convert_str(wmem_epan_scope(), &global_ssn_range, "5-14", MAX_SSN);
19441
19442
16
    ansi_map_module = prefs_register_protocol(proto_ansi_map, proto_reg_handoff_ansi_map);
19443
19444
19445
16
    prefs_register_range_preference(ansi_map_module, "map.ssn", "ANSI MAP SSNs",
19446
16
                                    "ANSI MAP SSNs to decode as ANSI MAP",
19447
16
                                    &global_ssn_range, MAX_SSN);
19448
19449
16
    prefs_register_enum_preference(ansi_map_module, "transaction.matchtype",
19450
16
                                  "Type of matching invoke/response",
19451
16
                                  "Type of matching invoke/response, risk of mismatch if loose matching chosen",
19452
16
                                  &ansi_map_response_matching_type, ansi_map_response_matching_type_values, false);
19453
19454
16
    TransactionId_table = wmem_multimap_new_autoreset(wmem_epan_scope(), wmem_file_scope(), wmem_str_hash, g_str_equal);
19455
16
    register_stat_tap_table_ui(&stat_table);
19456
16
}
19457
19458
/*
19459
 * Editor modelines  -  https://www.wireshark.org/tools/modelines.html
19460
 *
19461
 * Local variables:
19462
 * c-basic-offset: 4
19463
 * tab-width: 8
19464
 * indent-tabs-mode: nil
19465
 * End:
19466
 *
19467
 * vi: set shiftwidth=4 tabstop=8 expandtab:
19468
 * :indentSize=4:tabSize=8:noTabs=true:
19469
 */