~ubuntu-branches/ubuntu/gutsy/wireshark/gutsy-security

« back to all changes in this revision

Viewing changes to asn1/ansi_map/ansi_map.cnf

  • Committer: Bazaar Package Importer
  • Author(s): Frederic Peters
  • Date: 2007-04-01 08:58:40 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20070401085840-or3qhrpv8alt1bwg
Tags: 0.99.5-1
* New upstream release.
* debian/patches/09_idl2wrs.dpatch: updated to patch idl2wrs.sh.in.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
# ansi_map.cnf
2
2
# ansi_map conformation file
3
 
# Copyright 2005-2006 Anders Broman 
4
 
# $Id: ansi_map.cnf 18505 2006-06-17 16:19:23Z etxrab $
5
 
 
6
 
 
 
3
# Copyright 2005-2007 Anders Broman 
 
4
# $Id: ansi_map.cnf 20458 2007-01-16 22:51:08Z etxrab $
 
5
 
 
6
#.INCLUDE ../gsmmap/gsm_map-exp.cnf
7
7
#.EXPORTS
8
8
 
9
9
#.PDU
20
20
#.FIELD_RENAME
21
21
 
22
22
#.FN_BODY InvokeParameters
23
 
        proto_tree_add_item(tree, hf_ansi_map_invokeParameters, tvb, offset,-1,FALSE);
 
23
 
 
24
  ServiceIndicator = 0;
 
25
  OperationCode = OperationCode&0x00ff;
 
26
 
 
27
  ansi_map_is_invoke = TRUE;    
 
28
  if (check_col(pinfo->cinfo, COL_INFO)){
 
29
          col_set_str(pinfo->cinfo, COL_INFO, val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
 
30
  }
 
31
  /* No Data */
 
32
  if(tvb_length_remaining(tvb, offset)<=0){
 
33
                update_saved_invokedata(pinfo, tree, tvb);
 
34
          return offset;
 
35
 
 
36
  }
 
37
 
24
38
        offset = dissect_invokeData(pinfo, tree, tvb, offset);
 
39
        update_saved_invokedata(pinfo, tree, tvb);
25
40
 
26
41
#.FN_BODY ReturnParameters
27
 
        proto_tree_add_item(tree, hf_ansi_map_returnResult, tvb, offset,-1,FALSE);
28
 
        offset = dissect_returnData(pinfo, tree, tvb, offset);
 
42
  struct amsi_map_invokedata_t *ansi_map_saved_invokedata;
 
43
  struct tcap_private_t *p_private_tcap;
 
44
  proto_item *item;
 
45
  address* src = &(pinfo->src);
 
46
  address* dst = &(pinfo->dst);
 
47
  guint8 *src_str;
 
48
  guint8 *dst_str;
 
49
  char *buf;
 
50
 
 
51
  buf=ep_alloc(1024);
 
52
  src_str = address_to_str(src);
 
53
  dst_str = address_to_str(dst);
 
54
 
 
55
  /* Data from the TCAP dissector */
 
56
  if (pinfo->private_data != NULL){
 
57
          p_private_tcap=pinfo->private_data;
 
58
          /* The hash string needs to contain src and dest to distiguish differnt flows */
 
59
          src_str = address_to_str(src);
 
60
          dst_str = address_to_str(dst);
 
61
                  buf = p_private_tcap->TransactionID_str;
 
62
                  /* Reverse order to invoke */
 
63
                  strcat(buf,dst_str);
 
64
                  strcat(buf,src_str);
 
65
                  strcat(buf,"\0");
 
66
          ansi_map_saved_invokedata = g_hash_table_lookup(TransactionId_table, p_private_tcap->TransactionID_str);
 
67
          if(ansi_map_saved_invokedata){
 
68
                  OperationCode = ansi_map_saved_invokedata->opcode;
 
69
                  ServiceIndicator = ansi_map_saved_invokedata->ServiceIndicator;
 
70
          }else{
 
71
                  OperationCode = OperationCode & 0x00ff;
 
72
          }
 
73
  }else{
 
74
          OperationCode = OperationCode & 0x00ff;
 
75
  }
 
76
  if (check_col(pinfo->cinfo, COL_INFO)){
 
77
          col_clear(pinfo->cinfo, COL_INFO);
 
78
          col_add_fstr(pinfo->cinfo, COL_INFO,"%s Response", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
 
79
  }
 
80
  /* No Data */
 
81
  if(tvb_length_remaining(tvb, offset)<=0){
 
82
          return offset;
 
83
  }
 
84
 
 
85
  item = proto_tree_add_text(tree, tvb, 0, -1, "OperationCode %s",val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown %u"));
 
86
  PROTO_ITEM_SET_GENERATED(item);
 
87
 
 
88
  ansi_map_is_invoke = FALSE;
 
89
  offset = dissect_returnData(pinfo, tree, tvb, offset);
29
90
 
30
91
#.FN_BODY ErrorParameters
31
92
 
32
93
#.FN_BODY RejectParameters
33
94
 
34
 
#.FN_PARS PrivateOperationCode
35
 
 
36
 
VAL_PTR = &OperationCode
37
 
 
38
 
#.FN_BODY PrivateOperationCode
 
95
#.FN_BODY PrivateOperationCode VAL_PTR = &OperationCode
39
96
 %(DEFAULT_BODY)s
40
97
 proto_tree_add_item(tree, hf_ansi_map_op_code_fam, tvb, offset-2,1,FALSE);
41
98
 proto_tree_add_item(tree, hf_ansi_map_op_code, tvb, offset-1,1,FALSE);
42
99
 
43
 
#.FN_PARS MINType
44
 
 
45
 
VAL_PTR = &parameter_tvb
46
 
 
47
 
#.FN_BODY MINType
 
100
#.FN_BODY MINType VAL_PTR = &parameter_tvb
48
101
        tvbuff_t *parameter_tvb = NULL;
49
102
%(DEFAULT_BODY)s
50
103
        if (parameter_tvb){
51
104
                dissect_ansi_map_min_type(parameter_tvb,pinfo,tree);
52
105
        }
53
106
 
54
 
#.FN_PARS DigitsType
55
 
 
56
 
VAL_PTR = &parameter_tvb
57
 
 
58
 
#.FN_BODY DigitsType
 
107
#.FN_BODY DigitsType VAL_PTR = &parameter_tvb
59
108
        tvbuff_t *parameter_tvb = NULL;
60
109
%(DEFAULT_BODY)s
61
110
        if (parameter_tvb){
62
111
                dissect_ansi_map_digits_type(parameter_tvb,pinfo,tree);
63
112
        }
64
113
 
65
 
#.FN_PARS Subaddress
66
 
 
67
 
VAL_PTR = &parameter_tvb
68
 
 
69
 
#.FN_BODY Subaddress
 
114
#.FN_BODY Subaddress VAL_PTR = &parameter_tvb
70
115
        tvbuff_t *parameter_tvb = NULL;
71
116
%(DEFAULT_BODY)s
72
117
        if (parameter_tvb){
74
119
        }
75
120
 
76
121
# 6.5.2.3 AlertCode
77
 
#.FN_PARS AlertCode
78
 
VAL_PTR = &parameter_tvb
79
 
 
80
 
#.FN_BODY AlertCode
 
122
#.FN_BODY AlertCode VAL_PTR = &parameter_tvb
81
123
        tvbuff_t *parameter_tvb = NULL;
82
124
%(DEFAULT_BODY)s
83
125
        if (parameter_tvb){
85
127
        }
86
128
 
87
129
# 6.5.2.5 AnnouncementCode
88
 
#.FN_PARS AnnouncementCode
89
 
VAL_PTR = &parameter_tvb
90
 
 
91
 
#.FN_BODY AnnouncementCode
 
130
#.FN_BODY AnnouncementCode VAL_PTR = &parameter_tvb
92
131
        tvbuff_t *parameter_tvb = NULL;
93
132
%(DEFAULT_BODY)s
94
133
        if (parameter_tvb){
96
135
        }
97
136
 
98
137
# 6.5.2.14 AuthorizationPeriod
99
 
#.FN_PARS AuthorizationPeriod
100
 
VAL_PTR = &parameter_tvb
101
 
 
102
 
#.FN_BODY AuthorizationPeriod
 
138
#.FN_BODY AuthorizationPeriod VAL_PTR = &parameter_tvb
103
139
        tvbuff_t *parameter_tvb = NULL;
104
140
%(DEFAULT_BODY)s
105
141
        if (parameter_tvb){
108
144
 
109
145
 
110
146
# 6.5.2.16 BillingID
111
 
#.FN_PARS BillingID
112
 
VAL_PTR = &parameter_tvb
113
 
 
114
 
#.FN_BODY BillingID
 
147
#.FN_BODY BillingID VAL_PTR = &parameter_tvb
115
148
        tvbuff_t *parameter_tvb = NULL;
116
149
%(DEFAULT_BODY)s
117
150
        if (parameter_tvb){
119
152
        }
120
153
 
121
154
# 6.5.2.20 CallingFeaturesIndicator
122
 
#.FN_PARS CallingFeaturesIndicator
123
 
VAL_PTR = &parameter_tvb
124
 
 
125
 
#.FN_BODY CallingFeaturesIndicator
 
155
#.FN_BODY CallingFeaturesIndicator VAL_PTR = &parameter_tvb
126
156
        tvbuff_t *parameter_tvb = NULL;
127
157
%(DEFAULT_BODY)s
128
158
        if (parameter_tvb){
129
159
                dissect_ansi_map_callingfeaturesindicator(parameter_tvb,pinfo,tree);
130
160
        }
131
161
# 6.5.2.29 CDMACallMode
132
 
#.FN_PARS CDMACallMode
133
 
VAL_PTR = &parameter_tvb
134
 
 
135
 
#.FN_BODY CDMACallMode
 
162
#.FN_BODY CDMACallMode VAL_PTR = &parameter_tvb
136
163
        tvbuff_t *parameter_tvb = NULL;
137
164
%(DEFAULT_BODY)s
138
165
        if (parameter_tvb){
139
166
                dissect_ansi_map_cdmacallmode(parameter_tvb,pinfo,tree);
140
167
        }
 
168
# 6.5.2.30 CDMAChannelData
 
169
#.FN_BODY CDMAChannelData VAL_PTR = &parameter_tvb
 
170
        tvbuff_t *parameter_tvb = NULL;
 
171
%(DEFAULT_BODY)s
 
172
        if (parameter_tvb){
 
173
                dissect_ansi_map_cdmachanneldata(parameter_tvb,pinfo,tree);
 
174
        }
 
175
 
141
176
# 6.5.2.41 CDMAStationClassMark
142
 
#.FN_PARS CDMAStationClassMark
143
 
VAL_PTR = &parameter_tvb
144
 
 
145
 
#.FN_BODY CDMAStationClassMark
 
177
#.FN_BODY CDMAStationClassMark VAL_PTR = &parameter_tvb
146
178
        tvbuff_t *parameter_tvb = NULL;
147
179
%(DEFAULT_BODY)s
148
180
        if (parameter_tvb){
150
182
        }
151
183
 
152
184
# 6.5.2.47 ChannelData
153
 
#.FN_PARS ChannelData
154
 
VAL_PTR = &parameter_tvb
155
 
 
156
 
#.FN_BODY ChannelData
 
185
#.FN_BODY ChannelData VAL_PTR = &parameter_tvb
157
186
        tvbuff_t *parameter_tvb = NULL;
158
187
%(DEFAULT_BODY)s
159
188
        if (parameter_tvb){
161
190
        }
162
191
 
163
192
# 6.5.2.50 ConfidentialityModes
164
 
#.FN_PARS ConfidentialityModes
165
 
VAL_PTR = &parameter_tvb
166
 
 
167
 
#.FN_BODY ConfidentialityModes
 
193
#.FN_BODY ConfidentialityModes VAL_PTR = &parameter_tvb
168
194
        tvbuff_t *parameter_tvb = NULL;
169
195
%(DEFAULT_BODY)s
170
196
        if (parameter_tvb){
171
197
                dissect_ansi_map_confidentialitymodes(parameter_tvb,pinfo,tree);
172
198
        }
 
199
# 6.5.2.51 ControlChannelData
 
200
#.FN_BODY ControlChannelData VAL_PTR = &parameter_tvb
 
201
        tvbuff_t *parameter_tvb = NULL;
 
202
%(DEFAULT_BODY)s
 
203
        if (parameter_tvb){
 
204
                dissect_ansi_map_controlchanneldata(parameter_tvb,pinfo,tree);
 
205
        }
173
206
 
174
207
# 6.5.2.53 DeniedAuthorizationPeriod
175
 
#.FN_PARS DeniedAuthorizationPeriod
176
 
VAL_PTR = &parameter_tvb
177
 
 
178
 
#.FN_BODY DeniedAuthorizationPeriod
 
208
#.FN_BODY DeniedAuthorizationPeriod VAL_PTR = &parameter_tvb
179
209
        tvbuff_t *parameter_tvb = NULL;
180
210
%(DEFAULT_BODY)s
181
211
        if (parameter_tvb){
183
213
        }
184
214
 
185
215
# 6.5.2.64 ExtendedMSCID
186
 
#.FN_PARS ExtendedMSCID
187
 
VAL_PTR = &parameter_tvb
188
 
 
189
 
#.FN_BODY ExtendedMSCID
 
216
#.FN_BODY ExtendedMSCID VAL_PTR = &parameter_tvb
190
217
        tvbuff_t *parameter_tvb = NULL;
191
218
%(DEFAULT_BODY)s
192
219
        if (parameter_tvb){
194
221
        }
195
222
 
196
223
# 6.5.2.65 ExtendedSystemMyTypeCode
197
 
#.FN_PARS ExtendedSystemMyTypeCode
198
 
VAL_PTR = &parameter_tvb
199
 
 
200
 
#.FN_BODY ExtendedSystemMyTypeCode
 
224
#.FN_BODY ExtendedSystemMyTypeCode VAL_PTR = &parameter_tvb
201
225
        tvbuff_t *parameter_tvb = NULL;
202
226
%(DEFAULT_BODY)s
203
227
        if (parameter_tvb){
204
228
                dissect_ansi_map_extendedsystemmytypecode(parameter_tvb,pinfo,tree);
205
229
        }
206
230
#6.5.2.71 HandoffState
207
 
#.FN_PARS HandoffState
208
 
VAL_PTR = &parameter_tvb
209
 
 
210
 
#.FN_BODY HandoffState
 
231
#.FN_BODY HandoffState VAL_PTR = &parameter_tvb
211
232
        tvbuff_t *parameter_tvb = NULL;
212
233
%(DEFAULT_BODY)s
213
234
        if (parameter_tvb){
215
236
        }
216
237
 
217
238
# 6.5.2.72 InterMSCCircuitID
218
 
#.FN_PARS InterMSCCircuitID
219
 
VAL_PTR = &parameter_tvb
220
 
 
221
 
#.FN_BODY InterMSCCircuitID
 
239
#.FN_BODY InterMSCCircuitID VAL_PTR = &parameter_tvb
222
240
        tvbuff_t *parameter_tvb = NULL;
223
241
%(DEFAULT_BODY)s
224
242
        if (parameter_tvb){
226
244
        }
227
245
 
228
246
# 6.5.2.78 MessageWaitingNotificationCount 
229
 
#.FN_PARS MessageWaitingNotificationCount
230
 
VAL_PTR = &parameter_tvb
231
 
 
232
 
#.FN_BODY MessageWaitingNotificationCount
 
247
#.FN_BODY MessageWaitingNotificationCount VAL_PTR = &parameter_tvb
233
248
        tvbuff_t *parameter_tvb = NULL;
234
249
%(DEFAULT_BODY)s
235
250
        if (parameter_tvb){
237
252
        }
238
253
 
239
254
# 6.5.2.79 MessageWaitingNotificationType
240
 
#.FN_PARS MessageWaitingNotificationType
241
 
VAL_PTR = &parameter_tvb
242
 
 
243
 
#.FN_BODY MessageWaitingNotificationType
 
255
#.FN_BODY MessageWaitingNotificationType VAL_PTR = &parameter_tvb
244
256
        tvbuff_t *parameter_tvb = NULL;
245
257
%(DEFAULT_BODY)s
246
258
        if (parameter_tvb){
249
261
 
250
262
 
251
263
# 6.5.2.82 MSCID
252
 
#.FN_PARS MSCID
253
 
VAL_PTR = &parameter_tvb
254
 
 
255
 
#.FN_BODY MSCID
 
264
#.FN_BODY MSCID VAL_PTR = &parameter_tvb
256
265
        tvbuff_t *parameter_tvb = NULL;
257
266
%(DEFAULT_BODY)s
258
267
        if (parameter_tvb){
259
268
                dissect_ansi_map_mscid(parameter_tvb,pinfo,tree);
260
269
        }
 
270
 
261
271
# 6.5.2.84 MSLocation
262
 
#.FN_PARS MSLocation
263
 
VAL_PTR = &parameter_tvb
264
 
 
265
 
#.FN_BODY MSLocation
 
272
#.FN_BODY MSLocation VAL_PTR = &parameter_tvb
266
273
        tvbuff_t *parameter_tvb = NULL;
267
274
%(DEFAULT_BODY)s
268
275
        if (parameter_tvb){
270
277
        }
271
278
 
272
279
# 6.5.2.85 NAMPSCallMode
273
 
#.FN_PARS NAMPSCallMode
274
 
VAL_PTR = &parameter_tvb
275
 
 
276
 
#.FN_BODY NAMPSCallMode
 
280
#.FN_BODY NAMPSCallMode VAL_PTR = &parameter_tvb
277
281
        tvbuff_t *parameter_tvb = NULL;
278
282
%(DEFAULT_BODY)s
279
283
        if (parameter_tvb){
281
285
        }
282
286
 
283
287
# 6.5.2.86 NAMPSChannelData
284
 
#.FN_PARS NAMPSChannelData
285
 
VAL_PTR = &parameter_tvb
286
 
 
287
 
#.FN_BODY NAMPSChannelData
 
288
#.FN_BODY NAMPSChannelData VAL_PTR = &parameter_tvb
288
289
        tvbuff_t *parameter_tvb = NULL;
289
290
%(DEFAULT_BODY)s
290
291
        if (parameter_tvb){
292
293
        }
293
294
 
294
295
# 6.5.2.88 OneTimeFeatureIndicator
295
 
#.FN_PARS OneTimeFeatureIndicator
296
 
VAL_PTR = &parameter_tvb
297
 
 
298
 
#.FN_BODY OneTimeFeatureIndicator
 
296
#.FN_BODY OneTimeFeatureIndicator VAL_PTR = &parameter_tvb
299
297
        tvbuff_t *parameter_tvb = NULL;
300
298
%(DEFAULT_BODY)s
301
299
        if (parameter_tvb){
303
301
        }
304
302
 
305
303
# 6.5.2.90 OriginationTriggers
306
 
#.FN_PARS OriginationTriggers
307
 
VAL_PTR = &parameter_tvb
308
 
 
309
 
#.FN_BODY OriginationTriggers
 
304
#.FN_BODY OriginationTriggers VAL_PTR = &parameter_tvb
310
305
        tvbuff_t *parameter_tvb = NULL;
311
306
%(DEFAULT_BODY)s
312
307
        if (parameter_tvb){
314
309
        }
315
310
 
316
311
# 6.5.2.91 PACAIndicator
317
 
#.FN_PARS PACAIndicator
318
 
VAL_PTR = &parameter_tvb
319
 
 
320
 
#.FN_BODY PACAIndicator
 
312
#.FN_BODY PACAIndicator VAL_PTR = &parameter_tvb
321
313
        tvbuff_t *parameter_tvb = NULL;
322
314
%(DEFAULT_BODY)s
323
315
        if (parameter_tvb){
325
317
        }
326
318
 
327
319
# 6.5.2.93 PC_SSN
328
 
#.FN_PARS PC-SSN
329
 
VAL_PTR = &parameter_tvb
330
 
 
331
 
#.FN_BODY PC-SSN
 
320
#.FN_BODY PC-SSN VAL_PTR = &parameter_tvb
332
321
        tvbuff_t *parameter_tvb = NULL;
333
322
%(DEFAULT_BODY)s
334
323
        if (parameter_tvb){
336
325
        }
337
326
 
338
327
# 6.5.2.94 PilotBillingID
339
 
#.FN_PARS PilotBillingID
340
 
VAL_PTR = &parameter_tvb
 
328
#.FN_BODY PilotBillingID VAL_PTR = &parameter_tvb
341
329
 
342
 
#.FN_BODY PilotBillingID
343
330
        tvbuff_t *parameter_tvb = NULL;
344
331
%(DEFAULT_BODY)s
345
332
        if (parameter_tvb){
346
333
                dissect_ansi_map_pilotbillingid(parameter_tvb,pinfo,tree);
347
334
        }
348
335
 
349
 
 
350
 
# 6.5.2.158 TerminationTreatment
351
 
#.FN_PARS TerminationTreatment
352
 
VAL_PTR = &parameter_tvb
353
 
 
354
 
#.FN_BODY TerminationTreatment
355
 
        tvbuff_t *parameter_tvb = NULL;
356
 
%(DEFAULT_BODY)s
357
 
        if (parameter_tvb){
358
 
                dissect_ansi_map_terminationtreatment(parameter_tvb,pinfo,tree);
 
336
# 6.5.2.124
 
337
#.FN_BODY SMS-BearerData VAL_PTR = &SMS_BearerData_tvb
 
338
        int length;
 
339
    proto_item *item;
 
340
    proto_tree *subtree;
 
341
        SMS_BearerData_tvb = NULL;
 
342
 
 
343
%(DEFAULT_BODY)s
 
344
        if (SMS_BearerData_tvb){
 
345
                /* A zero length OCTET STRING will return a zero length tvb */
 
346
                length = tvb_length_remaining(SMS_BearerData_tvb,0);
 
347
                if (length <=0){
 
348
                        item = get_ber_last_created_item();
 
349
                        subtree = proto_item_add_subtree(item, ett_sms_bearer_data);
 
350
                        proto_item_append_text(item," length %%u",length);
 
351
                        SMS_BearerData_tvb = NULL;
 
352
                        return offset;
 
353
                }
 
354
                if(!ansi_map_is_invoke){
 
355
                        switch(ServiceIndicator){
 
356
                                case 1: /* CDMA OTASP Service */
 
357
                                case 3: /* CDMA OTAPA Service */
 
358
                                        dissector_try_port(is683_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
 
359
                                        break;
 
360
                                case 4: /* CDMA Position Determination Service */
 
361
                                        dissector_try_port(is801_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
 
362
                                        break;
 
363
                                default:
 
364
                                        break;
 
365
                        }
 
366
                }
 
367
        }
 
368
 
 
369
# 6.5.2.136 SMS-OriginationRestrictions
 
370
#.FN_BODY SMS-OriginationRestrictions VAL_PTR = &parameter_tvb
 
371
        tvbuff_t *parameter_tvb = NULL;
 
372
%(DEFAULT_BODY)s
 
373
        if (parameter_tvb){
 
374
                dissect_ansi_map_sms_originationrestrictions(parameter_tvb,pinfo,tree);
 
375
        }
 
376
 
 
377
# 6.5.2.137
 
378
# N.S0005-0 v 1.0
 
379
#.FN_BODY SMS-TeleserviceIdentifier VAL_PTR = &parameter_tvb
 
380
 
 
381
        int length;
 
382
    proto_item *item;
 
383
    proto_tree *subtree;
 
384
        tvbuff_t *parameter_tvb = NULL;
 
385
        static gint32 ansi_map_sms_tele_id = -1;
 
386
 
 
387
%(DEFAULT_BODY)s
 
388
        if (parameter_tvb){
 
389
                /* A zero length OCTET STRING will return a zero length tvb */
 
390
                length = tvb_length_remaining(parameter_tvb,0);
 
391
                if (length <=0){
 
392
                        item = get_ber_last_created_item();
 
393
                        subtree = proto_item_add_subtree(item, ett_sms_teleserviceIdentifier);
 
394
                        proto_item_append_text(item, " length %%u",length);
 
395
                        return offset;
 
396
                }
 
397
                ansi_map_sms_tele_id = tvb_get_ntohs(tvb,0);
 
398
                if ((ansi_map_sms_tele_id != -1)&&(SMS_BearerData_tvb !=NULL))
 
399
                {
 
400
                    dissector_try_port(is637_tele_id_dissector_table, ansi_map_sms_tele_id, SMS_BearerData_tvb, g_pinfo, g_tree);
 
401
                }
 
402
        }
 
403
 
 
404
# 6.5.2.146 SystemCapabilities */
 
405
# Updated in N.S0008-0 v 1.0 */
 
406
#.FN_BODY SystemCapabilities VAL_PTR = &parameter_tvb
 
407
        tvbuff_t *parameter_tvb = NULL;
 
408
%(DEFAULT_BODY)s
 
409
        if (parameter_tvb){
 
410
                dissect_ansi_map_systemcapabilities(parameter_tvb,pinfo,tree);
 
411
        }
 
412
 
 
413
 
 
414
# 6.5.2.159 TerminationTriggers
 
415
#.FN_BODY TerminationTriggers VAL_PTR = &parameter_tvb
 
416
        tvbuff_t *parameter_tvb = NULL;
 
417
%(DEFAULT_BODY)s
 
418
        if (parameter_tvb){
 
419
                dissect_ansi_map_terminationtriggers(parameter_tvb,pinfo,tree);
359
420
        }
360
421
 
361
422
# 6.5.2.160 TransactionCapability
362
 
#.FN_PARS TransactionCapability
363
 
VAL_PTR = &parameter_tvb
364
 
 
365
 
#.FN_BODY TransactionCapability
 
423
#.FN_BODY TransactionCapability VAL_PTR = &parameter_tvb
366
424
        tvbuff_t *parameter_tvb = NULL;
367
425
%(DEFAULT_BODY)s
368
426
        if (parameter_tvb){
369
427
                dissect_ansi_map_transactioncapability(parameter_tvb,pinfo,tree);
370
428
        }
371
429
 
 
430
# 6.5.2.f (TSB76) CDMAServiceOption N.S0010-0 v 1.0
 
431
#.FN_BODY CDMAServiceOption VAL_PTR = &parameter_tvb
 
432
        tvbuff_t *parameter_tvb = NULL;
 
433
%(DEFAULT_BODY)s
 
434
        if (parameter_tvb){
 
435
                dissect_ansi_map_cdmaserviceoption(parameter_tvb,pinfo,tree);
 
436
        }
 
437
 
372
438
# 6.5.2.aj SecondInterMSCCircuitID
373
439
# -- XXX Same code as ISLPinformation???
374
440
 
375
441
# 6.5.2.bw CallingPartyName N.S0012-0 v 1.0
376
 
#.FN_PARS CallingPartyName
377
 
VAL_PTR = &parameter_tvb
378
 
 
379
 
#.FN_BODY CallingPartyName
 
442
#.FN_BODY CallingPartyName VAL_PTR = &parameter_tvb
380
443
        tvbuff_t *parameter_tvb = NULL;
381
444
%(DEFAULT_BODY)s
382
445
        if (parameter_tvb){
384
447
        }
385
448
 
386
449
# 6.5.2.df TriggerCapability
387
 
#.FN_PARS TriggerCapability
388
 
VAL_PTR = &parameter_tvb
389
 
 
390
 
#.FN_BODY TriggerCapability
 
450
#.FN_BODY TriggerCapability VAL_PTR = &parameter_tvb
391
451
        tvbuff_t *parameter_tvb = NULL;
392
452
%(DEFAULT_BODY)s
393
453
        if (parameter_tvb){
395
455
        }
396
456
 
397
457
# 6.5.2.dj WINOperationsCapability
398
 
#.FN_PARS WINOperationsCapability
399
 
VAL_PTR = &parameter_tvb
400
 
 
401
 
#.FN_BODY WINOperationsCapability
 
458
#.FN_BODY WINOperationsCapability VAL_PTR = &parameter_tvb
402
459
        tvbuff_t *parameter_tvb = NULL;
403
460
%(DEFAULT_BODY)s
404
461
        if (parameter_tvb){
406
463
        }
407
464
 
408
465
# 6.5.2.ek ControlNetworkID
409
 
#.FN_PARS ControlNetworkID
410
 
VAL_PTR = &parameter_tvb
411
 
 
412
 
#.FN_BODY ControlNetworkID
 
466
#.FN_BODY ControlNetworkID VAL_PTR = &parameter_tvb
413
467
        tvbuff_t *parameter_tvb = NULL;
414
468
%(DEFAULT_BODY)s
415
469
        if (parameter_tvb){
416
470
                dissect_ansi_map_controlnetworkid(parameter_tvb,pinfo,tree);
417
471
        }
418
472
 
 
473
#6.5.2.gm CDMA2000HandoffInvokeIOSData
 
474
#.FN_BODY CDMA2000HandoffInvokeIOSData VAL_PTR = &parameter_tvb
 
475
        tvbuff_t *parameter_tvb = NULL;
 
476
        proto_item *item;
 
477
    proto_tree *subtree;
 
478
 
 
479
%(DEFAULT_BODY)s
 
480
        if (parameter_tvb){
 
481
                item = get_ber_last_created_item();
 
482
                subtree = proto_item_add_subtree(item, ett_CDMA2000HandoffInvokeIOSData);
 
483
                dissect_cdma2000_a1_elements(parameter_tvb, pinfo, subtree, 
 
484
                        0, tvb_length_remaining(parameter_tvb,0));
 
485
        }
 
486
#6.5.2.gn CDMA2000HandoffResponseIOSData
 
487
#.FN_BODY CDMA2000HandoffResponseIOSData VAL_PTR = &parameter_tvb
 
488
        tvbuff_t *parameter_tvb = NULL;
 
489
        proto_item *item;
 
490
    proto_tree *subtree;
 
491
 
 
492
%(DEFAULT_BODY)s
 
493
        if (parameter_tvb){
 
494
                item = get_ber_last_created_item();
 
495
                subtree = proto_item_add_subtree(item, ett_CDMA2000HandoffResponseIOSData);
 
496
                dissect_cdma2000_a1_elements(parameter_tvb, pinfo, subtree, 
 
497
                        0, tvb_length_remaining(parameter_tvb,0));
 
498
        }
 
499
#6.5.2.wB ServiceIndicator N.S0011-0 v 1.0
 
500
#.FN_BODY ServiceIndicator VAL_PTR = &parameter_tvb
 
501
        tvbuff_t *parameter_tvb = NULL;
 
502
%(DEFAULT_BODY)s
 
503
        if (parameter_tvb){
 
504
                if (SMS_BearerData_tvb !=NULL)
 
505
                {
 
506
                        ServiceIndicator = tvb_get_guint8(parameter_tvb,0);
 
507
                        switch(ServiceIndicator){
 
508
                                case 1: /* CDMA OTASP Service */
 
509
                                case 3: /* CDMA OTAPA Service */
 
510
                                        dissector_try_port(is683_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
 
511
                                        break;
 
512
                                case 4: /* CDMA Position Determination Service */
 
513
                                        dissector_try_port(is801_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
 
514
                                        break;
 
515
                                default:
 
516
                                        break;
 
517
                        }
 
518
                }
 
519
        }
419
520
         
420
521
#.TYPE_ATTR
 
522
# Dont't put the bytes after the name in the display
 
523
InterMSCCircuitID TYPE = FT_NONE DISPLAY = BASE_DEC STRINGS = NULL
 
524
MobileIdentificationNumber TYPE = FT_NONE DISPLAY = BASE_DEC STRINGS = NULL
 
525
MobileStationMIN TYPE = FT_NONE DISPLAY = BASE_DEC STRINGS = NULL
 
526
CallingPartyNumberString1 TYPE = FT_NONE DISPLAY = BASE_DEC STRINGS = NULL
 
527
CallingPartyNumberString2 TYPE = FT_NONE DISPLAY = BASE_DEC STRINGS = NULL
 
528
SMS-Address TYPE = FT_NONE DISPLAY = BASE_DEC STRINGS = NULL
 
529
SMS-DestinationAddress TYPE = FT_NONE DISPLAY = BASE_DEC STRINGS = NULL
 
530
SMS-OriginatingAddress TYPE = FT_NONE DISPLAY = BASE_DEC STRINGS = NULL
 
531
SMS-OriginalOriginatingAddress TYPE = FT_NONE DISPLAY = BASE_DEC STRINGS = NULL
 
532
SMS-OriginalDestinationAddress TYPE = FT_NONE DISPLAY = BASE_DEC STRINGS = NULL
 
533
SenderIdentificationNumber TYPE = FT_NONE DISPLAY = BASE_DEC STRINGS = NULL
 
534
MobileDirectoryNumber TYPE = FT_NONE DISPLAY = BASE_DEC STRINGS = NULL
 
535
Digits TYPE = FT_NONE DISPLAY = BASE_DEC STRINGS = NULL
 
536
MSCIdentificationNumber TYPE = FT_NONE DISPLAY = BASE_DEC STRINGS = NULL
 
537
NewlyAssignedMIN TYPE = FT_NONE DISPLAY = BASE_DEC STRINGS = NULL
 
538
RedirectingNumberDigits = FT_NONE DISPLAY = BASE_DEC STRINGS = NULL
 
539
RedirectingNumberString = FT_NONE DISPLAY = BASE_DEC STRINGS = NULL
 
540
CallingPartyNumberDigits1 = FT_NONE DISPLAY = BASE_DEC STRINGS = NULL
 
541
CallingPartyNumberDigits2 = FT_NONE DISPLAY = BASE_DEC STRINGS = NULL
 
542
 
421
543
ActionCode   TYPE = FT_UINT8  DISPLAY = BASE_DEC  STRINGS = VALS(ansi_map_ActionCode_vals)
422
544
AuthenticationCapability TYPE = FT_UINT8  DISPLAY = BASE_DEC  STRINGS = VALS(ansi_map_AuthenticationCapability_vals) 
423
545
AlertResult   TYPE = FT_UINT8  DISPLAY = BASE_DEC  STRINGS = VALS(ansi_map_AlertResult_result_vals)
424
546
AvailabilityType TYPE = FT_UINT8  DISPLAY = BASE_DEC  STRINGS = VALS(ansi_map_AvailabilityType_vals)
425
547
CancellationType TYPE = FT_UINT8  DISPLAY = BASE_DEC  STRINGS = VALS(ansi_map_CancellationType_vals)
426
548
GeographicAuthorization TYPE = FT_UINT8  DISPLAY = BASE_DEC  STRINGS = VALS(ansi_map_GeographicAuthorization_vals)
427
 
 
428
549
CountUpdateReport TYPE = FT_UINT8  DISPLAY = BASE_DEC  STRINGS = VALS(ansi_map_CountUpdateReport_vals)
429
550
ControlChannelMode  TYPE = FT_UINT8  DISPLAY = BASE_DEC  STRINGS = VALS(ansi_map_ControlChannelMode_vals)
430
551
PageIndicator  TYPE = FT_UINT8  DISPLAY = BASE_DEC  STRINGS = VALS(ansi_map_PageIndicator_vals)
432
553
SMS-CauseCode  TYPE = FT_UINT8  DISPLAY = BASE_DEC  STRINGS = VALS(ansi_map_SMS_CauseCode_vals)
433
554
SMS-ChargeIndicator TYPE = FT_UINT8  DISPLAY = BASE_DEC   STRINGS = VALS(ansi_map_SMS_ChargeIndicator_vals)
434
555
SMS-NotificationIndicator TYPE = FT_UINT8  DISPLAY = BASE_DEC   STRINGS = VALS(ansi_map_SMS_NotificationIndicator_vals)
435
 
SMS-TeleserviceIdentifier TYPE = FT_UINT16  DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_SMS_TeleserviceIdentifier_vals)
 
556
#SMS-TeleserviceIdentifier TYPE = FT_UINT16  DISPLAY = BASE_DEC STRINGS = VALS(ansi_map_SMS_TeleserviceIdentifier_vals)
436
557
TDMABandwidth TYPE = FT_UINT8  DISPLAY = BASE_DEC  BITMASK = 0x0f STRINGS = VALS(ansi_map_TDMABandwidth_vals)
437
558
TDMAServiceCode TYPE = FT_UINT8  DISPLAY = BASE_DEC   STRINGS = VALS(ansi_map_TDMAServiceCode_vals)
438
559
OTASP-ResultCode TYPE = FT_UINT8  DISPLAY = BASE_DEC   STRINGS = VALS(ansi_map_OTASP_ResultCode_vals)