Coverage Report

Created: 2026-06-30 07:22

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/wireshark/epan/dissectors/packet-c15ch.c
Line
Count
Source
1
/* packet-c15ch.c
2
 * Routines for C15 Call History Protocol dissection
3
 * Copyright 2015, Christopher Sheldahl for GENBAND <christopher.sheldahl@genband.com>
4
 *
5
 * Wireshark - Network traffic analyzer
6
 * By Gerald Combs <gerald@wireshark.org>
7
 * Copyright 1998 Gerald Combs
8
 *
9
 * SPDX-License-Identifier: GPL-2.0-or-later
10
 */
11
12
#include "config.h"
13
14
#include <epan/packet.h>
15
#include <epan/etypes.h>
16
#include <epan/strutil.h>
17
#include <epan/wmem_scopes.h>
18
#include <epan/tfs.h>
19
20
void proto_register_c15ch_hbeat(void);
21
void proto_register_c15ch(void);
22
void proto_reg_handoff_c15ch_hbeat(void);
23
void proto_reg_handoff_c15ch(void);
24
25
/* main C15 subtypes : int variable containing one of these values is passed along to second level dissector */
26
14
#define C15_CP_STATE_CH     1
27
14
#define C15_CP_EVENT        2
28
14
#define C15_ISUP            3
29
14
#define C15_NITN_XLATE      4
30
14
#define C15_SCCP            5
31
14
#define C15_CP_ORIG         6
32
14
#define C15_CONN            7
33
14
#define C15_NTWK_CONN       8
34
14
#define C15_MK_BRK          9
35
14
#define C15_PATH_FIND      10
36
14
#define C15_PATH_IDLE      11
37
14
#define C15_DEST_DIGITS    12
38
14
#define C15_TWC_RSWCH      13
39
14
#define C15_SRCE_DEST      14
40
14
#define C15_ROUTE          15
41
14
#define C15_INC_GWE        16
42
14
#define C15_OUT_GWE        17
43
14
#define C15_OUT_GWE_BC     18
44
14
#define C15_Q931           19
45
14
#define C15_AMA            20
46
14
#define C15_QOS            21
47
14
#define C15_ECHO_CANCEL    22
48
14
#define C15_TONE           23
49
14
#define C15_ENCAP_ISUP     24
50
14
#define C15_TCAP           25
51
14
#define C15_CLLI           26
52
14
#define C15_INFO           27
53
14
#define C15_GENERIC_MSG_1  28
54
14
#define C15_GENERIC_MSG_2  29
55
14
#define C15_GENERIC_MSG_3  30
56
14
#define C15_GENERIC_MSG_4  31
57
14
#define C15_GENERIC_MSG_5  32
58
14
#define C15_CORRELATE_MSG  33
59
14
#define C15_SIP_REG_SUBS_REPORT 34
60
14
#define C15_SYS_ALARM      35
61
14
#define C15_TTY_MSG        36
62
63
116
#define HEADER_SZ 36 /* length of complete c15ch header in bytes */
64
65
static const char * const C15_LABEL = "C15";
66
/* Heartbeat Protocol : distinct from normal c15 type */
67
static int proto_c15ch_hbeat;
68
69
/* Subtrees */
70
static int ett_c15ch_hbeat;
71
72
/* Fields */
73
static int hf_c15ch_hbeat_clli;
74
static int hf_c15ch_hbeat_primary;
75
static int hf_c15ch_hbeat_secondary;
76
static int hf_c15ch_hbeat_interface;
77
78
/* C15 base Protocol */
79
static int proto_c15ch;
80
81
/* Dissector Table */
82
static dissector_table_t c15ch_dissector_table;
83
84
/* Fields */
85
static int hf_c15ch_version;
86
static int hf_c15ch_msgtype;
87
static int hf_c15ch_size;
88
static int hf_c15ch_call_ref;
89
90
static int hf_c15ch_srce_ni;
91
static int hf_c15ch_srce_tn;
92
static int hf_c15ch_dest_ni;
93
static int hf_c15ch_dest_tn;
94
95
static int hf_c15ch_srce_ni_tn;
96
static int hf_c15ch_dest_ni_tn;
97
static int hf_c15ch_realtime;
98
99
/* Subtrees */
100
static int ett_c15ch;
101
static int ett_src_ni_tn;
102
static int ett_dest_ni_tn;
103
104
/* for msg_type field ...*/
105
static const value_string c15_msg_types[] = {
106
    { C15_CP_STATE_CH, "CP_STATE_CH" },
107
    { C15_CP_EVENT, "CP_EVENT" },
108
    { C15_ISUP, "ISUP" },
109
    { C15_NITN_XLATE, "NITN_XLATE" },
110
    { C15_SCCP, "SCCP" },
111
    { C15_CP_ORIG, "CP_ORIG" },
112
    { C15_CONN, "CONN" },
113
    { C15_NTWK_CONN, "NTWK_CONN" },
114
    { C15_MK_BRK, "MK_BRK" },
115
    { C15_PATH_FIND, "PATH_FIND" },
116
    { C15_PATH_IDLE, "PATH_IDLE" },
117
    { C15_DEST_DIGITS, "DEST_DIGITS" },
118
    { C15_TWC_RSWCH, "TWC_RSWCH" },
119
    { C15_SRCE_DEST, "SRCE_DEST" },
120
    { C15_ROUTE, "ROUTE" },
121
    { C15_INC_GWE, "INC_GWE" },
122
    { C15_OUT_GWE, "OUT_GWE" },
123
    { C15_OUT_GWE_BC, "OUT_GWE_BC" },
124
    { C15_Q931, "Q931" },
125
    { C15_AMA, "AMA" },
126
    { C15_QOS, "QOS" },
127
    { C15_ECHO_CANCEL, "ECHO_CANCEL" },
128
    { C15_TONE, "TONE" },
129
    { C15_ENCAP_ISUP, "ENCAP_ISUP" },
130
    { C15_TCAP, "TCAP" },
131
    { C15_CLLI, "CLLI" },
132
    { C15_INFO, "C15_INFO" },
133
    { C15_GENERIC_MSG_1, "C15_GENERIC_MSG_1" },
134
    { C15_GENERIC_MSG_2, "C15_GENERIC_MSG_2" },
135
    { C15_GENERIC_MSG_3, "C15_GENERIC_MSG_3" },
136
    { C15_GENERIC_MSG_4, "C15_GENERIC_MSG_4" },
137
    { C15_GENERIC_MSG_5, "C15_GENERIC_MSG_5" },
138
    { C15_CORRELATE_MSG, "C15_CORRELATE_MSG" },
139
    { C15_SIP_REG_SUBS_REPORT, "C15_SIP_REG_SUBS_REPORT" },
140
    { C15_SYS_ALARM, "C15_SYSTEM_ALARM" },
141
    { C15_TTY_MSG, "C15_TTY_MESSAGE" },
142
    { 0, NULL }
143
};
144
static value_string_ext c15_msg_types_ext = VALUE_STRING_EXT_INIT(c15_msg_types);
145
146
/* Second Level */
147
static int ett_c15ch_second_level;
148
static int ett_c15ch_second_level_sub1;
149
static int ett_c15ch_second_level_sub2;
150
static int ett_c15ch_second_level_sub3;
151
static int ett_c15ch_second_level_sub4;
152
static int proto_c15ch_second_level;
153
154
static dissector_handle_t c15ch_hbeat_handle;
155
static dissector_handle_t c15ch_handle;
156
157
static dissector_handle_t general_sccp_handle;
158
static dissector_handle_t general_isup_handle;
159
static dissector_handle_t general_q931_handle;
160
/* ama */
161
162
/* Fields */
163
static int hf_c15ch_ama;
164
static int hf_c15ch_ama_call_code;
165
static int hf_c15ch_ama_orig_digits;
166
static int hf_c15ch_ama_num_dialed_digits;
167
static int hf_c15ch_ama_br_prefix;
168
static int hf_c15ch_ama_dialed_digits;
169
static int hf_c15ch_ama_start_hour;
170
static int hf_c15ch_ama_start_minute;
171
static int hf_c15ch_ama_start_second;
172
static int hf_c15ch_ama_start_tenth_second;
173
static int hf_c15ch_ama_start_day;
174
static int hf_c15ch_ama_start_month;
175
static int hf_c15ch_ama_start_year;
176
static int hf_c15ch_ama_answered;
177
static int hf_c15ch_ama_elapsed_time; /*elapsed time in millisec*/
178
static int hf_c15ch_ama_call_type;
179
180
181
/* br_prefix labels */
182
static const value_string ama_br_prefix_types[] = {
183
    { 0, "PFX_NONE" },
184
    { 1, "PFX_1" },
185
    { 2, "PFX_0" },
186
    { 3, "PFX_01" },
187
    { 4, "PFX_011" },
188
    { 5, "PFX_ANY" },
189
    /* 6 is unused */
190
    { 7, "PFX_950" },
191
    { 0, NULL }
192
};
193
194
/* call_type labels */
195
static const value_string ama_call_types[] = {
196
    { 0, "NONE" },
197
    { 1, "FAIL" },
198
    { 2, "TEST" },
199
    { 3, "DDD" },
200
    { 4, "IDDD" },
201
    { 5, "EMERG" },
202
    { 6, "DA" },
203
    { 7, "LCDR" },
204
    { 8, "INWATS" },
205
    { 9, "OWATS" },
206
    { 10, "SLUS" },
207
    { 11, "TRAF" },
208
    { 12, "TMSG" },
209
    { 13, "UMSG" },
210
    { 14, "DAL" },
211
    { 15, "DAT" },
212
    { 16, "OFGA" },
213
    { 17, "TFGA" },
214
    { 18, "ILSP" },
215
    { 19, "ILOW" },
216
    { 20, "TLATA" },
217
    { 21, "CCSA" },
218
    { 22, "MISC" }, /* used for USCCF */
219
    { 23, "FREE" },
220
    { 24, "ICNS" },
221
    { 25, "TELC" },
222
    { 26, "ACB" },
223
    { 27, "AR" },
224
    { 28, "CNDB" },
225
    { 29, "SLE" },
226
    { 30, "COT" },
227
    { 31, "CLID" },
228
    { 32, "IPTS" },
229
    { 33, "CNAB" },
230
    { 34, "CIDS" },
231
    { 35, "ACR" },
232
    { 36, "SW56" },
233
    { 37, "ILSW56" },
234
    { 38, "TLSW56" },
235
    { 39, "CMCO" },
236
    { 40, "CMCT" },
237
    { 41, "TSLS" },
238
    { 42, "OFGB" },
239
    { 43, "TFGB" },
240
    { 44, "AIN" },
241
    { 45, "ISUS" },
242
    { 46, "ISTS" },
243
    { 47, "CNA" },
244
    { 48, "TGMO" },
245
    { 49, "TGMT" },
246
    { 0, NULL }
247
};
248
static value_string_ext ama_call_types_ext = VALUE_STRING_EXT_INIT(ama_call_types);
249
/* c15 info */
250
/* Fields */
251
static int hf_c15ch_c15_info;
252
static int hf_c15ch_c15_info_code;
253
static int hf_c15ch_c15_info_level;
254
static int hf_c15ch_c15_info_text;
255
256
257
/* labels for level */
258
static const value_string c15ch_c15_info_level_types[] = {
259
    { 0, "NONE" },
260
    { 1, "MIN" },
261
    { 2, "MAJ" },
262
    { 3, "CAT" },
263
    { 0, NULL }
264
};
265
266
/* clli */
267
268
/* Fields */
269
static int hf_c15ch_clli;
270
static int hf_c15ch_clli_clli_string;
271
static int hf_c15ch_clli_active_core;
272
static int hf_c15ch_clli_inactive_core;
273
static int hf_c15ch_clli_interface_string;
274
static int hf_c15ch_clli_seconds;
275
static int hf_c15ch_clli_microseconds;
276
277
278
/* conn */
279
280
/* Fields */
281
static int hf_c15ch_conn;
282
static int hf_c15ch_conn_connfrom;
283
static int hf_c15ch_conn_conntype;
284
static int hf_c15ch_conn_perphtype;
285
static int hf_c15ch_conn_intra;
286
static int hf_c15ch_conn_srceni;
287
static int hf_c15ch_conn_srcenitn;
288
static int hf_c15ch_conn_srcetn;
289
static int hf_c15ch_conn_destni;
290
static int hf_c15ch_conn_destnitn;
291
static int hf_c15ch_conn_desttn;
292
static int hf_c15ch_conn_interlinknum;
293
static int hf_c15ch_conn_fromport;
294
static int hf_c15ch_conn_fromslot;
295
static int hf_c15ch_conn_toport;
296
static int hf_c15ch_conn_toslot;
297
static int hf_c15ch_conn_hubcallid;
298
299
/* value_string arrays to label fields */
300
/* for connfrom field ...*/
301
static const value_string c15_conn_from_types[] = {
302
    { 1, "LOCAL_OTHER" },
303
    { 2, "LOCAL_RLCM" },
304
    { 3, "PATH_LOCAL_IDLE" },
305
    { 4, "PATH_SRCE_DEST" },
306
    { 0, NULL }
307
};
308
309
/* call proc state */
310
311
312
/* Fields */
313
static int hf_c15ch_cp_state_ch;
314
static int hf_c15ch_cp_state_ch_oldpm;
315
static int hf_c15ch_cp_state_ch_newpm;
316
static int hf_c15ch_cp_state_ch_subpm;
317
static int hf_c15ch_cp_state_ch_trkpm;
318
static int hf_c15ch_cp_state_ch_slepm;
319
static int hf_c15ch_cp_state_ch_flags;
320
static int hf_c15ch_cp_state_ch_oldrtetype;
321
static int hf_c15ch_cp_state_ch_oldrteidx;
322
static int hf_c15ch_cp_state_ch_newrtetype;
323
static int hf_c15ch_cp_state_ch_newrteidx;
324
325
/* value_string arrays to label fields */
326
static const value_string c15_cp_state_pm_types[] = {
327
    { 0, "ORIG" },
328
    { 1, "DSTM" },
329
    { 2, "RVRT" },
330
    { 3, "ORDT" },
331
    { 4, "ORWS" },
332
    { 5, "ORDD" },
333
    { 6, "ORID" },
334
    { 7, "#TST" },
335
    { 8, "DLNG" },
336
    { 9, "RBLT" },
337
    { 10, "CFWR" },
338
    { 11, "RTE" },
339
    { 12, "RLIN" },
340
    { 13, "MTCE" },
341
    { 14, "AUXT" },
342
    { 15, "NOLR" },
343
    { 16, "ITTK" },
344
    { 17, "ALSD" },
345
    { 18, "ANSP" },
346
    { 19, "TRNK" },
347
    { 20, "LINE" },
348
    { 21, "NOCP" },
349
    { 22, "3WC" },
350
    { 23, "3WCH" },
351
    { 24, "CWT" },
352
    { 25, "CWTH" },
353
    { 26, "UPSC" },
354
    { 27, "ORSD" },
355
    { 28, "CFRT" },
356
    { 29, "CFWB" },
357
    { 30, "CFW" },
358
    { 31, "CFWD" },
359
    { 32, "RCFW" },
360
    { 33, "ROTL" },
361
    { 34, "CHDT" },
362
    { 35, "CHD" },
363
    { 36, "CHLD" },
364
    { 37, "3WCH" },
365
    { 38, "3WCW" },
366
    { 39, "CSLT" },
367
    { 40, "DGTX" },
368
    { 41, "NAIL" },
369
    { 42, "DCBI" },
370
    { 43, "RGCF" },
371
    { 44, "RGCP" },
372
    { 45, "E800" },
373
    { 46, "CFRA" },
374
    { 47, "MWID" },
375
    { 48, "ACCP" },
376
    { 49, "ACRR" },
377
    { 50, "ACAN" },
378
    { 51, "SLE" },
379
    { 52, "PCOT" },
380
    { 53, "CLID" },
381
    { 54, "XPML" },
382
    { 55, "MWIL" },
383
    { 56, "LDBS" },
384
    { 57, "ACR" },
385
    { 58, "CPRK" },
386
    { 59, "CRCL" },
387
    { 60, "CFF" },
388
    { 61, "BERT" },
389
    { 62, "AIN" },
390
    { 63, "ASIT" },
391
    { 64, "ARTG" },
392
    { 65, "BNAL" },
393
    { 66, "DNAL" },
394
    { 67, "TRVR" },
395
    { 68, "EKTS" },
396
    { 69, "ALT" },
397
    { 70, "CALE" },
398
    { 71, "SRNG" },
399
    { 72, "LTA" },
400
    { 73, "HGQ" },
401
    { 74, "IDLE" },
402
    { 75, "SIG" },
403
    { 76, "SIGD" },
404
    { 0, NULL }
405
};
406
static value_string_ext c15_cp_state_pm_types_ext = VALUE_STRING_EXT_INIT(c15_cp_state_pm_types);
407
/* dest digits */
408
409
/* Fields */
410
static int hf_c15ch_dest_digits;
411
static int hf_c15ch_dest_digits_digits;
412
413
414
/* echo cancel */
415
416
/* Fields */
417
static int hf_c15ch_echo_cancel;
418
static int hf_c15ch_echo_cancel_ni;
419
static int hf_c15ch_echo_cancel_tn;
420
static int hf_c15ch_echo_cancel_ni_tn;
421
static int hf_c15ch_echo_cancel_old_l2_mode;
422
static int hf_c15ch_echo_cancel_old_channel_mode;
423
static int hf_c15ch_echo_cancel_old_ecan_mode;
424
static int hf_c15ch_echo_cancel_new_l2_mode;
425
static int hf_c15ch_echo_cancel_new_channel_mode;
426
static int hf_c15ch_echo_cancel_new_ecan_mode;
427
static int hf_c15ch_echo_cancel_tone_id;
428
static int hf_c15ch_echo_cancel_pm;
429
static int hf_c15ch_echo_cancel_pc;
430
static int hf_c15ch_echo_cancel_loop;
431
static int hf_c15ch_echo_cancel_slot;
432
static int hf_c15ch_echo_cancel_location;
433
434
435
436
/* value_string arrays to label fields */
437
enum C15_EC_L2_MODE
438
{
439
    C15_EC_L2_MODE_VOICE,
440
    C15_EC_L2_MODE_VBD,
441
    C15_EC_L2_MODE_VBD_ECANOFF
442
};
443
444
static const value_string c15_echo_cancel_l2_mode_types[] = {
445
    {C15_EC_L2_MODE_VOICE, "L2_MODE_VOICE"},
446
    {C15_EC_L2_MODE_VBD, "L2_MODE_VBD"},
447
    {C15_EC_L2_MODE_VBD_ECANOFF, "L2_MODE_VBD_ECANOFF"},
448
    {0, NULL}
449
};
450
451
enum C15_EC_CHANNEL_MODE
452
{
453
    C15_EC_VOICE_CHANNEL_MODE,
454
    C15_EC_VBD_CHANNEL_MODE,
455
    C15_EC_CHANNEL_MODE_INVALID
456
};
457
458
459
static const value_string c15_echo_cancel_channel_mode_types[] = {
460
    {C15_EC_VOICE_CHANNEL_MODE, "VOICE"},
461
    {C15_EC_VBD_CHANNEL_MODE, "VBD"},
462
    {0, NULL}
463
};
464
465
enum C15_EC_ECAN_MODE
466
{
467
    C15_EC_OFF_ECAN_MODE,
468
    C15_EC_ON_ECAN_MODE,
469
    C15_EC_ECAN_MODE_INVALID
470
};
471
472
static const value_string c15_echo_cancel_ecan_mode_types[] = {
473
    {C15_EC_OFF_ECAN_MODE, "OFF"},
474
    {C15_EC_ON_ECAN_MODE, "ON"},
475
    {0, NULL}
476
};
477
478
/* encapsulated isup */
479
480
/* Fields */
481
static int hf_c15ch_encap_isup;
482
static int hf_c15ch_encap_isup_direction;
483
static int hf_c15ch_encap_isup_isup_msg_length;
484
485
486
/* isup ( not encapsulated )*/
487
488
/* Fields */
489
static int hf_c15ch_isup;
490
static int hf_c15ch_isup_direction;
491
static int hf_c15ch_isup_msgtype;
492
static int hf_c15ch_isup_cic;
493
static int hf_c15ch_isup_opcmember;
494
static int hf_c15ch_isup_opccluster;
495
static int hf_c15ch_isup_opcnetwork;
496
static int hf_c15ch_isup_dpcmember;
497
static int hf_c15ch_isup_dpccluster;
498
static int hf_c15ch_isup_dpcnetwork;
499
static int hf_c15ch_isup_level3index;
500
static int hf_c15ch_isup_ni;
501
static int hf_c15ch_isup_tn;
502
static int hf_c15ch_isup_ni_tn;
503
static int hf_c15ch_isup_c15hdr;
504
static int hf_c15ch_isup_layer2hdr;
505
static int hf_c15ch_isup_layer3hdr;
506
static int hf_c15ch_isup_iptime;
507
508
509
/* value_string arrays to label fields */
510
/* labels for msgtype : non-contiguous integers*/
511
static const value_string c15_isup_types[] = {
512
    {1, "Initial Address"},
513
    {5, "Continuity"},
514
    {6, "Address Complete"},
515
    {9, "Answer"},
516
    {12, "Release"},
517
    {13, "Suspend"},
518
    {14, "Resume"},
519
    {16, "Release Complete"},
520
    {17, "Continuity Recheck Request"},
521
    {18, "Reset"},
522
    {19, "Blocking"},
523
    {20, "Unblocking"},
524
    {21, "Blocking Ack"},
525
    {22, "Unblocking Ack"},
526
    {23, "Group Reset"},
527
    {24, "Circuit Group Blocking"},
528
    {25, "Circuit Group Unblocking"},
529
    {26, "Circuit Group Blocking Ack"},
530
    {27, "Circuit Group Unblocking Ack"},
531
    {36, "Loop Back Ack"},
532
    {41, "Group Reset Ack"},
533
    {42, "Circuit Query"},
534
    {43, "Circuit Query Response"},
535
    {44, "Call Progress"},
536
    {46, "Unidentified Circuit ID Code"},
537
    {47, "Confusion"},
538
    {51, "Facility"},
539
    {233, "Circuit Reservation Ack"},
540
    {234, "Circuit Reservation"},
541
    {235, "Circuit Validation Response"},
542
    {236, "Circuit Validation Test"},
543
    {237, "Exit"},
544
    { 0, NULL}
545
};
546
static value_string_ext c15_isup_types_ext = VALUE_STRING_EXT_INIT(c15_isup_types);
547
static const value_string c15ch_direction_types[] = {
548
    { 0, "Incoming" },
549
    { 1, "Outgoing" },
550
    { 0, NULL}
551
};
552
553
/* mkbrk */
554
555
556
/* Fields */
557
static int hf_c15ch_mkbrk;
558
static int hf_c15ch_mkbrk_makebreak;
559
static int hf_c15ch_mkbrk_nshlf;
560
static int hf_c15ch_mkbrk_stm;
561
static int hf_c15ch_mkbrk_caddr;
562
static int hf_c15ch_mkbrk_cdata;
563
564
565
/* nitn xlate */
566
567
/* Fields */
568
static int hf_c15ch_nitnxlate;
569
static int hf_c15ch_nitnxlate_ni;
570
static int hf_c15ch_nitnxlate_tn;
571
static int hf_c15ch_nitnxlate_ni_tn;
572
static int hf_c15ch_nitnxlate_equiptype;
573
static int hf_c15ch_nitnxlate_concat_string;
574
static int hf_c15ch_nitnxlate_sitestring;
575
static int hf_c15ch_nitnxlate_subsitestring;
576
static int hf_c15ch_nitnxlate_equipname;
577
static int hf_c15ch_nitnxlate_gw_type;
578
static int hf_c15ch_nitnxlate_parm_1;
579
static int hf_c15ch_nitnxlate_parm_2;
580
static int hf_c15ch_nitnxlate_parm_3;
581
static int hf_c15ch_nitnxlate_parm_4;
582
static int hf_c15ch_nitnxlate_key;
583
static int hf_c15ch_nitnxlate_user_tid;
584
static int hf_c15ch_nitnxlate_host;
585
static int hf_c15ch_nitnxlate_sip_call_id_64;
586
static int hf_c15ch_nitnxlate_tg_num;
587
static int hf_c15ch_nitnxlate_mgcp_line_id;
588
static int hf_c15ch_nitnxlate_gateway;
589
static int hf_c15ch_nitnxlate_line;
590
static int hf_c15ch_nitnxlate_bay;
591
static int hf_c15ch_nitnxlate_shelf;
592
static int hf_c15ch_nitnxlate_lsg;
593
static int hf_c15ch_nitnxlate_idt_rdt;
594
static int hf_c15ch_nitnxlate_pm;
595
static int hf_c15ch_nitnxlate_channel;
596
static int hf_c15ch_nitnxlate_ptrk;
597
static int hf_c15ch_nitnxlate_pc_sts1;
598
static int hf_c15ch_nitnxlate_port_vt15;
599
600
601
static const value_string c15ch_nitnxlate_gwe_types[] = {
602
    { 0, "NONE" },
603
    { 1, "H248_TRK" },
604
    { 2, "SIP_LN" },
605
    { 3, "MGCP_LN" },
606
    { 4, "H248_LN" },
607
    { 5, "NCS_LN" },
608
    /* 6 is unused */
609
    /* 7 is unused */
610
    /* 8 is unused */
611
    /* 9 is unused */
612
    /* 10 is unused */
613
    /* 11 is unused */
614
    { 12, "LTRK" },
615
    { 13, "DTRK" },
616
    { 14, "SIP_LTG" },
617
    { 15, "SIP_TG" },
618
    { 0, NULL }
619
};
620
621
/* labels for equip (location) */
622
/* non-contiguous integers */
623
static const value_string c15ch_nitnxlate_equip_types[] = {
624
    {   4, "UNIT" },
625
    {  57, "LCM_LINE" },
626
    {  78, "RSLM_UNIT" },
627
    {  79, "RSLM_LINE" },
628
    {  80, "4T12" },
629
    {  81, "RSLM_LSG" },
630
    {  82, "RSLM_DRAWER" },
631
    {  91, "ESA" },
632
    { 115, "RSCS_DTRK" },
633
    { 119, "DS1_CHANNEL" },
634
    { 122, "LOC_IDC" },
635
    { 131, "IDTL" },
636
    { 136, "HUB_LINE" },
637
    { 138, "UMP" },
638
    { 139, "HUB_DS1L" },
639
    { 145, "VLIN" },
640
    { 149, "GW_LINE" },
641
    { 151, "PTRK" },
642
    { 154, "GW_TRUNK" },
643
    { 155, "RDT" },
644
    { 0, NULL }
645
};
646
static value_string_ext c15ch_nitnxlate_equip_types_ext = VALUE_STRING_EXT_INIT(c15ch_nitnxlate_equip_types);
647
/* ntwk conn */
648
649
/* Fields */
650
static int hf_c15ch_ntwk_conn;
651
static int hf_c15ch_ntwk_conn_pathtype;
652
static int hf_c15ch_ntwk_conn_conntype;
653
static int hf_c15ch_ntwk_conn_fromoptimized;
654
static int hf_c15ch_ntwk_conn_fromsite;
655
static int hf_c15ch_ntwk_conn_frompm;
656
static int hf_c15ch_ntwk_conn_frompc;
657
static int hf_c15ch_ntwk_conn_fromloop;
658
static int hf_c15ch_ntwk_conn_fromslot;
659
static int hf_c15ch_ntwk_conn_fromlocation;
660
static int hf_c15ch_ntwk_conn_fromcnx;
661
static int hf_c15ch_ntwk_conn_fromntwkni;
662
static int hf_c15ch_ntwk_conn_fromntwktn;
663
static int hf_c15ch_ntwk_conn_fromntwknitn;
664
static int hf_c15ch_ntwk_conn_mbshold;
665
static int hf_c15ch_ntwk_conn_tooptimized;
666
static int hf_c15ch_ntwk_conn_tosite;
667
static int hf_c15ch_ntwk_conn_topm;
668
static int hf_c15ch_ntwk_conn_topc;
669
static int hf_c15ch_ntwk_conn_toloop;
670
static int hf_c15ch_ntwk_conn_toslot;
671
static int hf_c15ch_ntwk_conn_tolocation;
672
static int hf_c15ch_ntwk_conn_tocnx;
673
674
675
static const value_string c15ch_path_types[] = {
676
    { 0, "BRDCST" },
677
    { 1, "1WAY" },
678
    { 2, "2WAY" },
679
    { 3, "BC_SPFC" },
680
    { 4, "1WAY_SPFC" },
681
    { 5, "BC_CMBND" },
682
    { 6, "1WAY_CMBND" },
683
    { 7, "NWLB" },
684
    { 8, "1WAY_2_UTR" },
685
    { 9, "2WAY_LB" },
686
    { 10, "2WAY_LSG" },
687
    { 0, NULL }
688
};
689
690
static const value_string c15ch_ntwk_srcedest_conn_types[] = {
691
    { 0, "CONN_FULL" },
692
    { 1, "CONN_PRT_SRCE" },
693
    { 2, "CONN_PRT_DEST" },
694
    { 3, "CONN_PRT_SRDS" },
695
    { 4, "DISC_FULL" },
696
    { 5, "DISC_PRT_SRCE" },
697
    { 6, "DISC_PRT_DEST" },
698
    { 7, "DISC_PRT_SRDS" },
699
    { 0, NULL }
700
};
701
702
/* orig */
703
704
/* Fields */
705
static int hf_c15ch_orig;
706
static int hf_c15ch_orig_tnblocktype;
707
static int hf_c15ch_orig_ni;
708
static int hf_c15ch_orig_tn;
709
static int hf_c15ch_orig_ni_tn;
710
711
static int hf_c15ch_orig_dndigits;
712
713
static int hf_c15ch_orig_nidscrn;
714
static int hf_c15ch_orig_nidaddrtype;
715
static int hf_c15ch_orig_nidnmbrplan;
716
static int hf_c15ch_orig_nidprivind;
717
static int hf_c15ch_orig_upnsaved;
718
719
static int hf_c15ch_orig_upndigits;
720
721
static int hf_c15ch_orig_upnscrn;
722
static int hf_c15ch_orig_upnaddrtype;
723
static int hf_c15ch_orig_upnnmbrplan;
724
static int hf_c15ch_orig_upnprivind;
725
static int hf_c15ch_orig_rnpsaved;
726
727
static int hf_c15ch_orig_rnpdigits;
728
729
static int hf_c15ch_orig_rnpscrn;
730
static int hf_c15ch_orig_rnpaddrtype;
731
static int hf_c15ch_orig_rnpnmbrplan;
732
static int hf_c15ch_orig_rnpprivind;
733
static int hf_c15ch_orig_iptime;
734
735
736
/* labels for blocktype */
737
static const value_string c15ch_orig_block_types[] = {
738
    {0, "CALL_REG_BUF"},
739
    {1, "MUX_LOOP"},
740
    {2, "DS30_LOOP"},
741
    {3, "DVCE_REG"},
742
    {4, "SHLF_BLOCK_DCM"},
743
    {5, "NSHLF_BLOCK"},
744
    {6, "DILOOP_BLOCK"},
745
    {7, "SHLF_BLOCK"},
746
    {8, "TIMER2_BLOCK"},
747
    {9, "DIGIT_BUFFER"},
748
    {10, "CARD_SPL"},
749
    {11, "CARD_8PL"},
750
    {12, "CARD_PPCL"},
751
    {13, "CARD_MISC"},
752
    {14, "CARD_2PL"},
753
    {15, "CARD_EMTRK"},
754
    {16, "CARD_DGT"},
755
    {17, "CARD_MF"},
756
    {18, "CARD_NOLLER"},
757
    {19, "CARD_PMA"},
758
    {20, "TRVR_REG"},
759
    {21, "CARD_TONE_TEST"},
760
    {22, "CARD_PC1"},
761
    {23, "CARD_EMTRK_2W"},
762
    {24, "CARD_ITTK"},
763
    {25, "CARD_LTT"},
764
    {26, "CARD_AUX_TONE"},
765
    {27, "MSG_BUF_REG"},
766
    {28, "TTY_PCB_REG"},
767
    {29, "TAPE_PCB_REG"},
768
    {30, "Q_INFO_BLOCK"},
769
    {31, "CARD_OTG_LPTRK"},
770
    {32, "CARD_MISC_LPTRK"},
771
    {33, "CARD_MF2PL"},
772
    {34, "CARD_CPSC"},
773
    {35, "CARD_PSC1"},
774
    {36, "CARD_ER2PL"},
775
    {37, "CARD_EMT_PAD_SW"},
776
    {38, "REM_BLOCK"},
777
    {39, "BR_BUFFER"},
778
    {40, "CARD_DTRK"},
779
    {41, "CARD_DMTC"},
780
    {42, "MTU_PCB_REG"},
781
    {43, "CARD_2PL_ZDB"},
782
    {44, "CARD_MISC_ZDB"},
783
    {45, "CARD_PPCL_ZDB"},
784
    {46, "CARD_PE_PROC"},
785
    {47, "CARD_SRL_ZDB"},
786
    {48, "CARD_ER8PL"},
787
    {49, "TWC_LINK_ORIG"},
788
    {50, "TWC_LINK_ADDED"},
789
    {51, "CWT_LINK_ORIG"},
790
    {52, "CWT_LINK_WTNG"},
791
    {53, "CARD_SPL_ZDB"},
792
    {54, "MAINT_REG"},
793
    {55, "CARD_MF4PL"},
794
    {56, "DAS_PCB_REG"},
795
    {57, "CARD_ESB_ZDB"},
796
    {58, "CARD_RCT_SPL"},
797
    {59, "CARD_RCT_UVSL"},
798
    {60, "CARD_RCT_FSR"},
799
    {61, "CARD_RCT_SIMP"},
800
    {62, "CARD_RCT_COIN"},
801
    {63, "SCM_BLOCK"},
802
    {64, "CARD_RMB_SHU"},
803
    {65, "CARD_ACT"},
804
    {66, "PMS"},
805
    {67, "CARD_8PL_ZDB"},
806
    {68, "TWC_LINK_HOLD"},
807
    {69, "CWT_LINK_HOLD"},
808
    {70, "XFER_LINK_ORIG"},
809
    {71, "XFER_LINK_ADDED"},
810
    {72, "CHD_LINK_HOLD"},
811
    {73, "CHD_LINK_ACT"},
812
    /* 74 IS UNUSED */
813
    {74, "UNUSED"},
814
    {75, "TERM_IFACE"},
815
    {76, "SVCE_IFACE"},
816
    {77, "CONF_IFACE"},
817
    {78, "DRA_IFACE"},
818
    {79, "LCM_BLOCK"},
819
    {80, "CARD_LCML_A"},
820
    {81, "CARD_LCML_B"},
821
    {82, "LSG_BLOCK"},
822
    {83, "CARD_LCM_KEY"},
823
    {84, "CARD_LCM_ESB"},
824
    {85, "CARD_DRA_TRK"},
825
    {86, "IOID_IOBLOCK"},
826
    {87, "IOI_IOBLOCK"},
827
    {88, "UTR_BLOCK"},
828
    {89, "CARD_DLC_BRD"},
829
    {90, "DLC_PORT_REG"},
830
    {91, "DLC_BUF_REG"},
831
    {92, "AMA_RECORD_BUF"},
832
    {93, "SSO_BULK_BUF"},
833
    {94, "DLC_PORT_DBLK"},
834
    {95, "CARD_LCM_PWR"},
835
    {96, "SLC_BLOCK"},
836
    {97, "CARD_SLC_SPL"},
837
    {98, "CARD_SLC_SIMP"},
838
    {99, "CARD_SLC_COIN"},
839
    {100, "CARD_SLC_KEY"},
840
    {101, "CARD_SLC_PBX"},
841
    {102, "SLC_SHLF_BLOCK"},
842
    {103, "SCI_BLOCK"},
843
    {104, "DS1_LINK_BLOCK"},
844
    {105, "SRLK_IFACE_DBLK"},
845
    {106, "CARD_RLCM_LCT"},
846
    {107, "RMM_BLOCK"},
847
    {108, "CARD_RMPK"},
848
    {109, "BCU_BLOCK"},
849
    {110, "CARD_RSLM_RMP"},
850
    {111, "ESA_BLOCK"},
851
    {112, "CARD_RMP_ITTK"},
852
    {113, "SFTR_BUFFER"},
853
    {114, "LFTR_BUFFER"},
854
    {115, "LAN_LCI_BLOCK"},
855
    {116, "LAN_LSHF_BLOCK"},
856
    {117, "LAN_LSC_BLOCK"},
857
    {118, "LEVEL3_BLOCK"},
858
    {119, "LVL3_MTCE_REG"},
859
    {120, "CCS_SNLS_BLOCK"},
860
    {121, "CCS_SNL_BLOCK"},
861
    {122, "CCS_SNRS_BLOCK"},
862
    {123, "CCS_SNR_BLOCK"},
863
    {124, "CCS_MTCE_REG"},
864
    {125, "CARD_RMM_DTR"},
865
    {126, "SMDI_PCB_REG"},
866
    {127, "XLFTR_BUFFER"},
867
    {128, "CARD_RCU_POTS"},
868
    {129, "CARD_RCU_MF"},
869
    {130, "CARD_RCU_COIN"},
870
    {131, "CARD_RCU_FXB"},
871
    {132, "CARD_RCU_MP"},
872
    {133, "CARD_RCU_EPOT"},
873
    {134, "CARD_RCU_KEY"},
874
    {135, "CARD_RCU_EMF"},
875
    {136, "CARD_RCU_FX_KEY"},
876
    {137, "RCU_BLOCK"},
877
    {138, "CARD_RCU_ESB"},
878
    {139, "CARD_IBERT"},
879
    {140, "CARD_DPX" },
880
    {141, "CARD_LCML_C" },
881
    {142, "MBS_REG_BLK"},
882
    {143, "CARD_FXS"},
883
    {144, "CARD_FXo"},
884
    {145, "CARD_PBX_CELL"},
885
    {146, "RSCS_BLOCK"},
886
    {147, "RSC_D30L_BLOCK"},
887
    {148, "RSC_DS1_REM_BLK"},
888
    {149, "RSC_DS1_TRK_BLK"},
889
    {150, "CARD_RSCS_DTRK" },
890
    {151, "CARD_6X71_DATL"},
891
    {152, "LOOP_DS30_LBK"},
892
    {153, "LOOP_MLI_LBK"},
893
    {154, "CARD_BX27"},
894
    {155, "ISDN_REG_BLK"},
895
    {156, "IDC_BLOCK"},
896
    {157, "DS1_BLOCK"},
897
    {158, "VDS30_LOOP"},
898
    {159, "ISDN_PARDLD_BLK"},
899
    {160, "ISDN_BD_CH_BLK"},
900
    {161, "SMA_BLOCK"},
901
    {162, "IDT_BLOCK"},
902
    {163, "RDT_ISDN_CARD"},
903
    {164, "RDT_P_PHONE"},
904
    {165, "EDCH_BLOCK"},
905
    {166, "ESMA_DS1L_BLOCK"},
906
    {167, "TRANSACT_REG"},
907
    {168, "CARD_IDTL_SPL"},
908
    {169, "CARD_IDTL_SIMP"},
909
    {170, "CARD_IDTL_COIN"},
910
    {171, "CARD_IDTL_KEY"},
911
    {172, "CARD_IDTL_PBX"},
912
    {173, "TAFFI_DATA_BLK"},
913
    {174, "ISG_BLOCK"},
914
    {175, "ISG_DCH_BLOCK"},
915
    {176, "ISG_BCH_BLOCK"},
916
    {177, "TMC0_BLOCK"},
917
    {178, "EOC0_BLOCK"},
918
    {179, "TMC1_BLOCK"},
919
    {180, "EOC1_BLOCK"},
920
    {181, "HUB_BLOCK"},
921
    {182, "CARD_HUB_UMP"},
922
    {183, "CARD_UMP_ITTK"},
923
    {184, "CARD_UMP_TEST"},
924
    {185, "CARD_PRI_MTCE"},
925
    {186, "CARD_PRI_CHAN"},
926
    {187, "CARD_EX17_A"},
927
    {188, "RLD_BLOCK"},
928
    {189, "CARD_LMU_TEST"},
929
    {190, "HUB_DS1L_BLOCK"},
930
    {191, "PELP_BLOCK"},
931
    {192, "SIMRING_BLOCK"},
932
    {193, "CARD_VIRTUAL_LINE"},
933
    {194, "CARD_H248_SPL"},
934
    {195, "CARD_H248_COIN"},
935
    {196, "CARD_H248_PBX"},
936
    {197, "PGI_BLOCK"},
937
    {198, "GW1_BLOCK"},
938
    {199, "GW2_BLOCK"},
939
    {200, "GW_BLOCK"},
940
    {201, "CARD_SIP_SPL"},
941
    {202, "CARD_PTRK"},
942
    {203, "PTRK_IFACE_BLK"},
943
    {204, "PC_BLOCK"},
944
    {205, "CARD_H248_DTRK"},
945
    {206, "DS1_LOOP_BLK"},
946
    {207, "DS3_BLOCK"},
947
    {208, "RDT_BLOCK"},
948
    {209, "RDT_DS1L_BLOCK"},
949
    {210, "CARD_MGCP_SPL"},
950
    {211, "CARD_NCS_SPL"},
951
    {212, "SUBS_REG"},
952
    {213, "CARD_SIP_PBX"},
953
    {214, "OC3_BLOCK"},
954
    {215, "CCFN_LINK_BLK"},
955
    {216, "EMCC_BLOCK"},
956
    {217, "AGIF_BLOCK"},
957
    { 0, NULL}
958
};
959
static value_string_ext c15ch_orig_block_types_ext = VALUE_STRING_EXT_INIT(c15ch_orig_block_types);
960
/* out gwe bc */
961
962
/* Fields */
963
static int hf_c15ch_outgwebc;
964
static int hf_c15ch_outgwebc_pbc_conn_ni;
965
static int hf_c15ch_outgwebc_pbc_conn_tn;
966
static int hf_c15ch_outgwebc_pbc_conn_ni_tn;
967
static int hf_c15ch_outgwebc_pbc_conn_num;
968
static int hf_c15ch_outgwebc_pbc_conn_type;
969
static int hf_c15ch_outgwebc_bc_msg_type;
970
static int hf_c15ch_outgwebc_op_bc_sdp_ip;
971
static int hf_c15ch_outgwebc_op_bc_sdp_port;
972
static int hf_c15ch_outgwebc_pbc_mdrp_mode;
973
static int hf_c15ch_outgwebc_pbc_tst_flags;
974
975
976
/* pathfind */
977
/* Fields */
978
static int hf_c15ch_pathfind;
979
static int hf_c15ch_pathfind_vds30;
980
981
static int hf_c15ch_pathfind_fromgweni;
982
static int hf_c15ch_pathfind_fromgwetn;
983
static int hf_c15ch_pathfind_fromgwenitn;
984
static int hf_c15ch_pathfind_fromoptimized;
985
static int hf_c15ch_pathfind_fromsite;
986
static int hf_c15ch_pathfind_frompm;
987
static int hf_c15ch_pathfind_frompc;
988
static int hf_c15ch_pathfind_fromloop;
989
static int hf_c15ch_pathfind_fromslot;
990
static int hf_c15ch_pathfind_fromcnx;
991
static int hf_c15ch_pathfind_fromni;
992
static int hf_c15ch_pathfind_fromtn;
993
static int hf_c15ch_pathfind_fromnitn;
994
static int hf_c15ch_pathfind_togweni;
995
static int hf_c15ch_pathfind_togwetn;
996
static int hf_c15ch_pathfind_togwenitn;
997
static int hf_c15ch_pathfind_tooptimized;
998
static int hf_c15ch_pathfind_tosite;
999
static int hf_c15ch_pathfind_topm;
1000
static int hf_c15ch_pathfind_topc;
1001
static int hf_c15ch_pathfind_toloop;
1002
static int hf_c15ch_pathfind_toslot;
1003
static int hf_c15ch_pathfind_tocnx;
1004
static int hf_c15ch_pathfind_toni;
1005
static int hf_c15ch_pathfind_totn;
1006
static int hf_c15ch_pathfind_tonitn;
1007
1008
/* value_string arrays to label fields */
1009
/* for vds30 field ...*/
1010
static const value_string c15ch_path_vds30_types[] = {
1011
    { 0, "NOT_VDS30" },
1012
    { 1, "NEWSLOT_0" },
1013
    { 2, "NEWSLOT_1_ADD_0" },
1014
    { 3, "NEWSLOT_1_ADD_1" },
1015
    { 4, "IDLE" },
1016
    { 0, NULL }
1017
};
1018
1019
/* pathidle */
1020
1021
/* Fields */
1022
static int hf_c15ch_pathidle;
1023
static int hf_c15ch_pathidle_vds30;
1024
static int hf_c15ch_pathidle_idlecode;
1025
static int hf_c15ch_pathidle_pathtype;
1026
1027
static int hf_c15ch_pathidle_fromgweni;
1028
static int hf_c15ch_pathidle_fromgwenitn;
1029
static int hf_c15ch_pathidle_fromgwetn;
1030
static int hf_c15ch_pathidle_fromsite;
1031
static int hf_c15ch_pathidle_frompm;
1032
static int hf_c15ch_pathidle_frompc;
1033
static int hf_c15ch_pathidle_fromloop;
1034
static int hf_c15ch_pathidle_fromslot;
1035
static int hf_c15ch_pathidle_fromcnx;
1036
static int hf_c15ch_pathidle_fromni;
1037
static int hf_c15ch_pathidle_fromnitn;
1038
static int hf_c15ch_pathidle_fromtn;
1039
1040
static int hf_c15ch_pathidle_togweni;
1041
static int hf_c15ch_pathidle_togwenitn;
1042
static int hf_c15ch_pathidle_togwetn;
1043
static int hf_c15ch_pathidle_tosite;
1044
static int hf_c15ch_pathidle_topm;
1045
static int hf_c15ch_pathidle_topc;
1046
static int hf_c15ch_pathidle_toloop;
1047
static int hf_c15ch_pathidle_toslot;
1048
static int hf_c15ch_pathidle_tocnx;
1049
static int hf_c15ch_pathidle_toni;
1050
static int hf_c15ch_pathidle_tonitn;
1051
static int hf_c15ch_pathidle_totn;
1052
1053
1054
/* for idlecode field */
1055
static const value_string c15ch_pathidle_idle_types[] = {
1056
    { 0, "FULL" },
1057
    { 1, "PRT_SRCE" },
1058
    { 2, "PRT_DEST" },
1059
    { 3, "PRT_SRDS" },
1060
    { 0, NULL }
1061
};
1062
1063
/* q931 */
1064
1065
/* Fields */
1066
static int hf_c15ch_q931;
1067
static int hf_c15ch_q931_direction;
1068
static int hf_c15ch_q931_ni;
1069
static int hf_c15ch_q931_tn;
1070
static int hf_c15ch_q931_ni_tn;
1071
static int hf_c15ch_q931_msglength;
1072
1073
/* quality of service (qos) */
1074
1075
/* Fields */
1076
static int hf_c15ch_qos;
1077
static int hf_c15ch_qos_ni;
1078
static int hf_c15ch_qos_tn;
1079
static int hf_c15ch_qos_ni_tn;
1080
static int hf_c15ch_qos_rtcp_call_id;
1081
static int hf_c15ch_qos_register_type;
1082
static int hf_c15ch_qos_tg_num;
1083
static int hf_c15ch_qos_trk_type;
1084
static int hf_c15ch_qos_status;
1085
static int hf_c15ch_qos_codec;
1086
static int hf_c15ch_qos_given_ip;
1087
static int hf_c15ch_qos_real_ip;
1088
static int hf_c15ch_qos_local_ip;
1089
static int hf_c15ch_qos_tx_pkts;
1090
static int hf_c15ch_qos_lost_pkts;
1091
static int hf_c15ch_qos_lost_pct;
1092
static int hf_c15ch_qos_jitter;
1093
static int hf_c15ch_qos_rtt;
1094
static int hf_c15ch_qos_avg_rtt;
1095
static int hf_c15ch_qos_duration;
1096
static int hf_c15ch_qos_mos;
1097
static int hf_c15ch_qos_ep_type;
1098
static int hf_c15ch_qos_dn_or_tg;
1099
static int hf_c15ch_qos_pm;
1100
static int hf_c15ch_qos_pc;
1101
static int hf_c15ch_qos_hour;
1102
static int hf_c15ch_qos_min;
1103
static int hf_c15ch_qos_sec;
1104
static int hf_c15ch_qos_tenth_sec;
1105
static int hf_c15ch_qos_year;
1106
static int hf_c15ch_qos_month;
1107
static int hf_c15ch_qos_day;
1108
static int hf_c15ch_qos_day_of_week;
1109
1110
1111
/* value_string arrays to label fields */
1112
static const value_string c15ch_qos_status_types[] = {
1113
    { 1, "NO : No RTCP received from End" },
1114
    { 2, "LO : Listener Only" },
1115
    { 4, "CV : Conversation" },
1116
    { 8, "NAT : NAT Connection" },
1117
    { 16, "RTU : RTCP terminated by RTU" },
1118
    { 32, "EPERR : Endpoint providing erroneous data" },
1119
    { 64, "INACT : Inactive" },
1120
    { 0, NULL }
1121
};
1122
1123
/* route */
1124
1125
/* Fields */
1126
static int hf_c15ch_route;
1127
static int hf_c15ch_route_number;
1128
static int hf_c15ch_route_type;
1129
static int hf_c15ch_route_subpm;
1130
static int hf_c15ch_route_trkpm;
1131
static int hf_c15ch_route_strtaindo;
1132
static int hf_c15ch_route_cr_rte_adv;
1133
static int hf_c15ch_route_cause;
1134
1135
1136
/* field labels */
1137
/* for strtaindo field */
1138
static const value_string c15_route_strt_ain_do_types[] = {
1139
    { 0, "START" },
1140
    { 1, "AIN" },
1141
    { 2, "PROGRESS" },
1142
    { 3, "RTADV" },
1143
    { 0, NULL }
1144
};
1145
1146
static const value_string c15_route_types[] = {
1147
    { 0, "TONE" },
1148
    { 1, "AUDICHRON" },
1149
    { 2, "INTERCEPT" },
1150
    { 3, "EAS" },
1151
    { 4, "TIE_LINE" },
1152
    { 5, "CAMA" },
1153
    { 6, "CAMA_2" },
1154
    { 7, "TSPS" },
1155
    { 8, "AMR" },
1156
    { 9, "STN_RING" },
1157
    { 10, "VAXS" },
1158
    { 11, "ROTL" },
1159
    { 12, "TEST_LINE" },
1160
    { 13, "ALM_CHK" },
1161
    { 14, "DST" },
1162
    { 15, "ESB" },
1163
    { 16, "EQA" },
1164
    { 17, "OS" },
1165
    { 18, "LEAS" },
1166
    { 19, "VDRA" },
1167
    { 20, "ISUP" },
1168
    { 21, "IDAL" },
1169
    { 22, "EAOSS" },
1170
    { 23, "LTRK" },
1171
    { 24, "PRI" },
1172
    { 25, "SIPT" },
1173
    { 0, NULL }
1174
};
1175
static value_string_ext c15_route_types_ext = VALUE_STRING_EXT_INIT(c15_route_types);
1176
1177
/* Fields */
1178
static int hf_c15ch_sccp;
1179
static int hf_c15ch_sccp_direction;
1180
static int hf_c15ch_sccp_msgtype;
1181
static int hf_c15ch_sccp_hopcount;
1182
static int hf_c15ch_sccp_transactionnum;
1183
static int hf_c15ch_sccp_opcmember;
1184
static int hf_c15ch_sccp_opccluster;
1185
static int hf_c15ch_sccp_opcnetwork;
1186
static int hf_c15ch_sccp_dpcmember;
1187
static int hf_c15ch_sccp_dpccluster;
1188
static int hf_c15ch_sccp_dpcnetwork;
1189
static int hf_c15ch_sccp_ni;
1190
static int hf_c15ch_sccp_ni_tn;
1191
static int hf_c15ch_sccp_tn;
1192
static int hf_c15ch_sccp_sls;
1193
static int hf_c15ch_sccp_iptime;
1194
static int hf_c15ch_sccp_level3index;
1195
1196
1197
static const value_string c15ch_sccp_msg_types[] = {
1198
    { 9, "UDT" },
1199
    { 10, "UDTS" },
1200
    { 17, "XUDT" },
1201
    { 18, "XUDTS" },
1202
    { 0, NULL }
1203
};
1204
1205
/* srcedest */
1206
1207
/* Fields */
1208
static int hf_c15ch_srcedest;
1209
static int hf_c15ch_srcedest_conntype;
1210
static int hf_c15ch_srcedest_pathtype;
1211
static int hf_c15ch_srcedest_pathdirect;
1212
1213
1214
/* field labels */
1215
1216
/* tcap */
1217
/* Fields */
1218
static int hf_c15ch_tcap;
1219
static int hf_c15ch_tcap_direction;
1220
static int hf_c15ch_tcap_action;
1221
static int hf_c15ch_tcap_package_type;
1222
static int hf_c15ch_tcap_ssn;
1223
static int hf_c15ch_tcap_local_ssn;
1224
static int hf_c15ch_tcap_result_err_code;
1225
static int hf_c15ch_tcap_return_reason;
1226
static int hf_c15ch_tcap_feat_id;
1227
static int hf_c15ch_tcap_feat_req;
1228
static int hf_c15ch_tcap_cl_comp_result;
1229
static int hf_c15ch_tcap_release_bit;
1230
static int hf_c15ch_tcap_term_cl_request;
1231
static int hf_c15ch_tcap_opc_index;
1232
static int hf_c15ch_tcap_dpc_mem;
1233
static int hf_c15ch_tcap_dpc_clus;
1234
static int hf_c15ch_tcap_dpc_net;
1235
static int hf_c15ch_tcap_cp_id;
1236
1237
/* value strings */
1238
static const value_string c15ch_tcap_action_types[] = {
1239
    { 0, "Invalid" },
1240
    { 1, "Output Msg" },
1241
    { 2, "Abort Query" },
1242
    { 3, "Timeout" },
1243
    { 4, "Input Msg" },
1244
    { 5, "Msg Ret on Err" },
1245
    { 0, NULL }
1246
};
1247
1248
static const value_string c15ch_tcap_package_types[] = {
1249
    { 0, "Invalid" },
1250
    { 1, "Unidirectional" },
1251
    { 2, "Query W Perm" },
1252
    { 3, "Query WO Perm" },
1253
    { 4, "Response" },
1254
    { 5, "Conv W Perm" },
1255
    { 6, "Conv WO Perm" },
1256
    { 16, "Abort Package" },
1257
    { 0, NULL }
1258
};
1259
1260
static const value_string c15ch_tcap_rel_bit_types[] = {
1261
    { 0, "Hold Buffer" },
1262
    { 1, "Release Buffer" },
1263
    { 0, NULL }
1264
};
1265
1266
static const value_string c15ch_tcap_ret_reason_types[] = {
1267
    { 0, "GTT Trans" },
1268
    { 1, "GTT Addr" },
1269
    { 2, "Subsys Cong" },
1270
    { 3, "Subsys Fail" },
1271
    { 4, "Unequip User" },
1272
    { 5, "Ntwk Fail" },
1273
    { 6, "Ntwrk Cong" },
1274
    { 0, NULL }
1275
};
1276
1277
static const value_string c15ch_tcap_err_code_types[] = {
1278
    { 0, "Class Succ" },
1279
    { 1, "Cl Ret Err" },
1280
    { 2, "T5 Timeout" },
1281
    { 3, "SW Error" },
1282
    { 4, "No Resource" },
1283
    { 5, "CCS7 Unas" },
1284
    { 6, "Acg Block" },
1285
    { 7, "Abort Rcvd" },
1286
    { 8, "Protocol" },
1287
    { 9, "Application" },
1288
    { 10, "T1 Timeout" },
1289
    { 11, "Return Err" },
1290
    { 12, "Reject" },
1291
    { 13, "MWI T1 TO" },
1292
    { 0, NULL }
1293
};
1294
1295
static const value_string c15ch_tcap_feat_req_types[] = {
1296
    { 0, "Invalid" },
1297
    { 1, "Init Query" },
1298
    { 2, "Send Notify" },
1299
    { 3, "Busy Idle" },
1300
    { 4, "Cancel" },
1301
    { 5, "Dequeue" },
1302
    { 6, "Abort" },
1303
    { 7, "Report Err" },
1304
    { 8, "Rsrc Clr" },
1305
    { 9, "Update Data" },
1306
    { 10, "EDP Cont" },
1307
    { 11, "Term Notif" },
1308
    { 12, "Update" },
1309
    { 13, "Query Request" },
1310
    { 0, NULL }
1311
};
1312
1313
static const value_string c15ch_tcap_feat_id_types[] = {
1314
    { 0, "Invalid" },
1315
    { 1, "Acb Act" },
1316
    { 2, "Ar 1Act" },
1317
    { 3, "Ar 2Act 1st" },
1318
    { 4, "Ar 2Act 2nd" },
1319
    { 5, "Acb Deact" },
1320
    { 6, "Ar Deact" },
1321
    { 7, "SCREJ" },
1322
    { 8, "SCFWD" },
1323
    { 9, "SCACC" },
1324
    { 10, "SC RNG CFWD" },
1325
    { 11, "CNAM" },
1326
    { 12, "AIN" },
1327
    { 13, "MDSI" },
1328
    { 0, NULL }
1329
};
1330
1331
1332
static const value_string c15ch_tcap_direction_types[] = {
1333
    { 0, "In Orig" },
1334
    { 1, "Out Orig" },
1335
    { 2, "In Term" },
1336
    { 3, "Out Term" },
1337
    { 0, NULL }
1338
};
1339
1340
static const value_string c15ch_tcap_local_ssn_types[] = {
1341
    { 0, "NO_SUBSYSTEM" },
1342
    { 1, "SCCP_NTWK" },
1343
    { 2, "CLAS_SUBSYS" },
1344
    { 3, "CNAM_SUBSYS" },
1345
    { 4, "LDMG_SUBSYS" },
1346
    /* 5 is unused */
1347
    { 6, "E800_SUBSYS1" },
1348
    { 7, "E800_SUBSYS2" },
1349
    { 8, "E800_SUBSYS3" },
1350
    { 9, "E800_SUBSYS4" },
1351
    { 10, "E800_SUBSYS5" },
1352
    { 11, "E800_SUBSYS6" },
1353
    { 12, "E800_SUBSYS7" },
1354
    { 13, "E800_SUBSYS8" },
1355
    { 14, "E800_SUBSYS9" },
1356
    { 15, "E800_SUBSYS10" },
1357
    { 16, "E800_SUBSYS11" },
1358
    { 17, "E800_SUBSYS12" },
1359
    { 18, "E800_SUBSYS13" },
1360
    { 19, "E800_SUBSYS14" },
1361
    { 20, "E800_SUBSYS15" },
1362
    { 21, "E800_SUBSYS16" },
1363
    { 22, "E800_SUBSYS17" },
1364
    { 23, "AIN_SUBSYS" },
1365
    { 24, "MDSI_SUBSYS" },
1366
    { 0, NULL }
1367
};
1368
1369
/* twc rswch */
1370
1371
/* Fields */
1372
static int hf_c15ch_twc_rswch;
1373
static int hf_c15ch_twc_rswch_pm;
1374
static int hf_c15ch_twc_rswch_subpm;
1375
static int hf_c15ch_twc_rswch_trkpm;
1376
static int hf_c15ch_twc_rswch_devid;
1377
static int hf_c15ch_twc_rswch_event;
1378
static int hf_c15ch_twc_rswch_parm;
1379
static int hf_c15ch_twc_rswch_iptime;
1380
1381
1382
/* cp event */
1383
1384
1385
/* Fields */
1386
static int hf_c15ch_cp_event;
1387
static int hf_c15ch_cp_event_pm;
1388
static int hf_c15ch_cp_event_subpm;
1389
static int hf_c15ch_cp_event_trkpm;
1390
static int hf_c15ch_cp_event_dig_ckt_test_trkpm;
1391
static int hf_c15ch_cp_event_devid;
1392
static int hf_c15ch_cp_event_event;
1393
static int hf_c15ch_cp_event_parm;
1394
static int hf_c15ch_cp_event_iptime;
1395
static int hf_c15ch_cp_event_subpm_orig;
1396
static int hf_c15ch_cp_event_subpm_disc_time;
1397
static int hf_c15ch_cp_event_subpm_revert;
1398
static int hf_c15ch_cp_event_subpm_orig_dt;
1399
static int hf_c15ch_cp_event_subpm_orig_ws;
1400
static int hf_c15ch_cp_event_subpm_orig_dd;
1401
static int hf_c15ch_cp_event_subpm_orig_id;
1402
static int hf_c15ch_cp_event_subpm_no_test;
1403
static int hf_c15ch_cp_event_subpm_dialing;
1404
static int hf_c15ch_cp_event_subpm_rebuilt;
1405
static int hf_c15ch_cp_event_subpm_acfw_reac;
1406
static int hf_c15ch_cp_event_subpm_process_route;
1407
static int hf_c15ch_cp_event_subpm_rte_line;
1408
static int hf_c15ch_cp_event_subpm_mtce;
1409
static int hf_c15ch_cp_event_subpm_aux_tone;
1410
static int hf_c15ch_cp_event_subpm_noller;
1411
static int hf_c15ch_cp_event_subpm_ittk;
1412
static int hf_c15ch_cp_event_subpm_alm_send;
1413
static int hf_c15ch_cp_event_subpm_ani_spill;
1414
static int hf_c15ch_cp_event_subpm_trunk_term;
1415
static int hf_c15ch_cp_event_subpm_line_term;
1416
static int hf_c15ch_cp_event_subpm_non_cp;
1417
static int hf_c15ch_cp_event_subpm_3wc;
1418
static int hf_c15ch_cp_event_subpm_held_3wc;
1419
static int hf_c15ch_cp_event_subpm_cwt;
1420
static int hf_c15ch_cp_event_subpm_held_cwt;
1421
static int hf_c15ch_cp_event_subpm_update_sc;
1422
static int hf_c15ch_cp_event_subpm_orig_spdt;
1423
static int hf_c15ch_cp_event_subpm_acfw_retm;
1424
static int hf_c15ch_cp_event_subpm_cfw_busy;
1425
static int hf_c15ch_cp_event_subpm_cfw;
1426
static int hf_c15ch_cp_event_subpm_cfw_deact;
1427
static int hf_c15ch_cp_event_subpm_rcfw;
1428
static int hf_c15ch_cp_event_subpm_rotl_tp;
1429
static int hf_c15ch_cp_event_subpm_chdt;
1430
static int hf_c15ch_cp_event_subpm_chd;
1431
static int hf_c15ch_cp_event_subpm_cheld;
1432
static int hf_c15ch_cp_event_subpm_3wch;
1433
static int hf_c15ch_cp_event_subpm_3wcw;
1434
static int hf_c15ch_cp_event_subpm_cslt;
1435
static int hf_c15ch_cp_event_subpm_dig_ckt_test;
1436
1437
static int hf_c15ch_cp_event_dig_ckt_test_subpm_sp;
1438
static int hf_c15ch_cp_event_dig_ckt_test_subpm_mp;
1439
static int hf_c15ch_cp_event_dig_ckt_test_subpm_coin;
1440
static int hf_c15ch_cp_event_dig_ckt_test_subpm_isdn;
1441
static int hf_c15ch_cp_event_dig_ckt_test_subpm_trc;
1442
static int hf_c15ch_cp_event_dig_ckt_test_subpm_disc;
1443
1444
static int hf_c15ch_cp_event_subpm_nail;
1445
static int hf_c15ch_cp_event_subpm_dcbi;
1446
static int hf_c15ch_cp_event_subpm_rag_confirm;
1447
static int hf_c15ch_cp_event_subpm_rag_process;
1448
static int hf_c15ch_cp_event_subpm_e800;
1449
static int hf_c15ch_cp_event_subpm_cfra;
1450
static int hf_c15ch_cp_event_subpm_mwi_deac;
1451
static int hf_c15ch_cp_event_subpm_acar_cp;
1452
static int hf_c15ch_cp_event_subpm_acar_rering;
1453
static int hf_c15ch_cp_event_subpm_acar_ann;
1454
static int hf_c15ch_cp_event_subpm_sle;
1455
static int hf_c15ch_cp_event_subpm_perform_cot;
1456
static int hf_c15ch_cp_event_subpm_clid;
1457
static int hf_c15ch_cp_event_subpm_xpm;
1458
static int hf_c15ch_cp_event_subpm_mwil;
1459
static int hf_c15ch_cp_event_subpm_ldbs;
1460
static int hf_c15ch_cp_event_subpm_acr;
1461
static int hf_c15ch_cp_event_subpm_call_park;
1462
static int hf_c15ch_cp_event_subpm_camp_on_recall;
1463
static int hf_c15ch_cp_event_subpm_cff;
1464
static int hf_c15ch_cp_event_subpm_ibert;
1465
static int hf_c15ch_cp_event_subpm_ain;
1466
static int hf_c15ch_cp_event_subpm_ain_sit;
1467
static int hf_c15ch_cp_event_subpm_ain_rtg;
1468
static int hf_c15ch_cp_event_subpm_nail_bcon;
1469
static int hf_c15ch_cp_event_subpm_nail_dcon;
1470
static int hf_c15ch_cp_event_subpm_qtrn_trvr;
1471
static int hf_c15ch_cp_event_subpm_ekts;
1472
static int hf_c15ch_cp_event_subpm_alt;
1473
static int hf_c15ch_cp_event_subpm_calea;
1474
static int hf_c15ch_cp_event_subpm_sim_ring;
1475
static int hf_c15ch_cp_event_subpm_lta;
1476
static int hf_c15ch_cp_event_subpm_hgq;
1477
static int hf_c15ch_cp_event_subpm_idle;
1478
static int hf_c15ch_cp_event_subpm_sig;
1479
static int hf_c15ch_cp_event_subpm_sig_dest;
1480
static int hf_c15ch_cp_event_subpm_agl_splrg;
1481
1482
1483
/*static const uint32_t MIN_PM_VAL = 0; */
1484
static const uint32_t MAX_PM_VAL = 77;
1485
static const int * const subpm_table[] = {
1486
    /* one entry for each PM type */
1487
    &hf_c15ch_cp_event_subpm_orig,            /* MIN_PM_VAL */
1488
    &hf_c15ch_cp_event_subpm_disc_time,
1489
    &hf_c15ch_cp_event_subpm_revert,
1490
    &hf_c15ch_cp_event_subpm_orig_dt,
1491
    &hf_c15ch_cp_event_subpm_orig_ws,
1492
    &hf_c15ch_cp_event_subpm_orig_dd,
1493
    &hf_c15ch_cp_event_subpm_orig_id,
1494
    &hf_c15ch_cp_event_subpm_no_test,
1495
    &hf_c15ch_cp_event_subpm_dialing,
1496
    &hf_c15ch_cp_event_subpm_rebuilt,
1497
    &hf_c15ch_cp_event_subpm_acfw_reac,
1498
    &hf_c15ch_cp_event_subpm_process_route,
1499
    &hf_c15ch_cp_event_subpm_rte_line,
1500
    &hf_c15ch_cp_event_subpm_mtce,
1501
    &hf_c15ch_cp_event_subpm_aux_tone,
1502
    &hf_c15ch_cp_event_subpm_noller,
1503
    &hf_c15ch_cp_event_subpm_ittk,
1504
    &hf_c15ch_cp_event_subpm_alm_send,
1505
    &hf_c15ch_cp_event_subpm_ani_spill,
1506
    &hf_c15ch_cp_event_subpm_trunk_term,
1507
    &hf_c15ch_cp_event_subpm_line_term,
1508
    &hf_c15ch_cp_event_subpm_non_cp,
1509
    &hf_c15ch_cp_event_subpm_3wc,
1510
    &hf_c15ch_cp_event_subpm_held_3wc,
1511
    &hf_c15ch_cp_event_subpm_cwt,
1512
    &hf_c15ch_cp_event_subpm_held_cwt,
1513
    &hf_c15ch_cp_event_subpm_update_sc,
1514
    &hf_c15ch_cp_event_subpm_orig_spdt,
1515
    &hf_c15ch_cp_event_subpm_acfw_retm,
1516
    &hf_c15ch_cp_event_subpm_cfw_busy,
1517
    &hf_c15ch_cp_event_subpm_cfw,
1518
    &hf_c15ch_cp_event_subpm_cfw_deact,
1519
    &hf_c15ch_cp_event_subpm_rcfw,
1520
    &hf_c15ch_cp_event_subpm_rotl_tp,
1521
    &hf_c15ch_cp_event_subpm_chdt,
1522
    &hf_c15ch_cp_event_subpm_chd,
1523
    &hf_c15ch_cp_event_subpm_cheld,
1524
    &hf_c15ch_cp_event_subpm_3wch,
1525
    &hf_c15ch_cp_event_subpm_3wcw,
1526
    &hf_c15ch_cp_event_subpm_cslt,
1527
    &hf_c15ch_cp_event_subpm_dig_ckt_test,    /* default variable for dig ckt pm*/
1528
    &hf_c15ch_cp_event_subpm_nail,
1529
    &hf_c15ch_cp_event_subpm_dcbi,
1530
    &hf_c15ch_cp_event_subpm_rag_confirm,
1531
    &hf_c15ch_cp_event_subpm_rag_process,
1532
    &hf_c15ch_cp_event_subpm_e800,
1533
    &hf_c15ch_cp_event_subpm_cfra,
1534
    &hf_c15ch_cp_event_subpm_mwi_deac,
1535
    &hf_c15ch_cp_event_subpm_acar_cp,
1536
    &hf_c15ch_cp_event_subpm_acar_rering,
1537
    &hf_c15ch_cp_event_subpm_acar_ann,
1538
    &hf_c15ch_cp_event_subpm_sle,
1539
    &hf_c15ch_cp_event_subpm_perform_cot,
1540
    &hf_c15ch_cp_event_subpm_clid,
1541
    &hf_c15ch_cp_event_subpm_xpm,
1542
    &hf_c15ch_cp_event_subpm_mwil,
1543
    &hf_c15ch_cp_event_subpm_ldbs,
1544
    &hf_c15ch_cp_event_subpm_acr,
1545
    &hf_c15ch_cp_event_subpm_call_park,
1546
    &hf_c15ch_cp_event_subpm_camp_on_recall,
1547
    &hf_c15ch_cp_event_subpm_cff,
1548
    &hf_c15ch_cp_event_subpm_ibert,
1549
    &hf_c15ch_cp_event_subpm_ain,
1550
    &hf_c15ch_cp_event_subpm_ain_sit,
1551
    &hf_c15ch_cp_event_subpm_ain_rtg,
1552
    &hf_c15ch_cp_event_subpm_nail_bcon,
1553
    &hf_c15ch_cp_event_subpm_nail_dcon,
1554
    &hf_c15ch_cp_event_subpm_qtrn_trvr,
1555
    &hf_c15ch_cp_event_subpm_ekts,
1556
    &hf_c15ch_cp_event_subpm_alt,
1557
    &hf_c15ch_cp_event_subpm_calea,
1558
    &hf_c15ch_cp_event_subpm_sim_ring,
1559
    &hf_c15ch_cp_event_subpm_lta,
1560
    &hf_c15ch_cp_event_subpm_hgq,
1561
    &hf_c15ch_cp_event_subpm_idle,
1562
    &hf_c15ch_cp_event_subpm_sig,
1563
    &hf_c15ch_cp_event_subpm_sig_dest,
1564
    &hf_c15ch_cp_event_subpm_agl_splrg
1565
    /* MAX_PM_VAL */
1566
};
1567
static const uint32_t DIG_CKT_TEST_PM_VALUE = 40;
1568
1569
/* special table to look up subpm for pm_val = DIG_CKT_TEST__PM_VALUE */
1570
/* this table is indexed by trunk pm numbers */
1571
/*static const uint32_t MIN_DIG_CKT_TEST_TRKPM_VAL = 0; */
1572
static const uint32_t MAX_DIG_CKT_TEST_TRKPM_VAL = 5;
1573
static const int * const dig_ckt_test_subpm_table[] = {
1574
    /* one entry for each TRKPM value in the expected range */
1575
    &hf_c15ch_cp_event_dig_ckt_test_subpm_sp,            /* MIN_DIG_CKT_TEST_TRKPM_VAL */
1576
    &hf_c15ch_cp_event_dig_ckt_test_subpm_mp,
1577
    &hf_c15ch_cp_event_dig_ckt_test_subpm_coin,
1578
    &hf_c15ch_cp_event_dig_ckt_test_subpm_isdn,
1579
    &hf_c15ch_cp_event_dig_ckt_test_subpm_trc,
1580
    &hf_c15ch_cp_event_dig_ckt_test_subpm_disc            /* MAX_DIG_CKT_TEST_TRKPM_VAL */
1581
};
1582
1583
static const value_string dig_ckt_test_subpm_sp_types[] = {
1584
/* a value_string_ext for this has not been defined because it is a member of array dig_ckt_test_subpm_name_tables
1585
and the other members of that array all have less than 20 items */
1586
    {0, "CRD_MSNG_TEST"},
1587
    {1, "SET_UP"},
1588
    {2, "HNDL_MODE_2"},
1589
    {3, "WAIT_CTU_SCA"},
1590
    {4, "WAIT_ACM_CON"},
1591
    {5, "RDT_OFFHOOK"},
1592
    {6, "SEND_ECHO_TONE"},
1593
    {7, "ECHO_TONE_RESP"},
1594
    {8, "SEND_ECHO_MEAS"},
1595
    {9, "ECHO_MEAS_RESP"},
1596
    {10, "SEND_STOP_ECHO_TONE"},
1597
    {11, "STOP_ECHO_TONE_RESP"},
1598
    {12, "RDT_ONHOOK"},
1599
    {13, "RDT_SPRING"},
1600
    {14, "POTS_OR_COIN"},
1601
    {15, "RMOV_ASORB_P"},
1602
    {16, "RFLEC_TERM"},
1603
    {17, "SEND_LOSS_TONE"},
1604
    {18, "LOSS_TONE_RESP"},
1605
    {19, "SEND_LOSS_MEAS"},
1606
    {20, "LOSS_MEAS_RESP"},
1607
    {21, "SEND_QUIET_TONE"},
1608
    {22, "QUIET_TONE_RESP"},
1609
    {23, "SEND_IDLE_MEAS"},
1610
    {24, "IDLE_MEAS_RESP"},
1611
    {25, "RMOV_RFLC"},
1612
    {0, NULL}
1613
};
1614
1615
static const value_string dig_ckt_test_subpm_mp_types[] = {
1616
    {0, "START_MP"},
1617
    {1, "NEG_S_TONE"},
1618
    {2, "NEG_S_MEAS"},
1619
    {3, "ANI_RESP"},
1620
    {4, "RMOV_NTPI"},
1621
    {5, "ABSORB_TERM"},
1622
    {6, "POS_S_TONE"},
1623
    {7, "POS_S_MEAS"},
1624
    {8, "POS_S_ANI"},
1625
    {9, "ABSO_RMOV"},
1626
    {10, "PTPI_TERM"},
1627
    {11, "POS_T_TONE"},
1628
    {12, "POS_T_MEAS"},
1629
    {13, "RDT_NTPR"},
1630
    {14, "RDT_PRPR"},
1631
    {15, "RDT_PTPR"},
1632
    {0, NULL}
1633
};
1634
1635
static const value_string dig_ckt_test_subpm_coin_types[] = {
1636
    {0, "START_COIN"},
1637
    {1, "POS_C_TONE"},
1638
    {2, "POS_C_MEAS"},
1639
    {3, "COIN_PRES"},
1640
    {4, "RMOV_PTPI"},
1641
    {5, "RFL_NTPI_TRM"},
1642
    {6, "NEG_C_TONE"},
1643
    {7, "NEG_C_MEAS"},
1644
    {8, "NEG_C_RSP"},
1645
    {9, "RFL_NTPI_RMV"},
1646
    {10, "POS_C_TERM"},
1647
    {11, "POS_C_TONE2"},
1648
    {12, "POS_C_MEAS2"},
1649
    {13, "LOOP_DLY"},
1650
    {14, "LOOP_MEAS"},
1651
    {15, "RDT_C_CLCT"},
1652
    {16, "RDT_C_RV_BT"},
1653
    {17, "RDT_C_RET"},
1654
    {0, NULL}
1655
};
1656
1657
static const value_string dig_ckt_test_subpm_isdn_types[] = {
1658
    {0, "CRD_MSNG_TEST"},
1659
    {1, "SZ_LN_MTCE"},
1660
    {2, "LC_RSTR_TEST"},
1661
    {3, "U_CNT_TEST"},
1662
    {4, "NT1_RSTR_TST"},
1663
    {5, "NT1_STAT_TEST"},
1664
    {6, "NEBE_TEST"},
1665
    {7, "FEBE_TEST"},
1666
    {8, "RLS_LN_MTCE"},
1667
    {0, NULL}
1668
};
1669
1670
static const value_string dig_ckt_test_subpm_trc_types[] = {
1671
    {0, NULL}
1672
};
1673
1674
static const value_string dig_ckt_test_subpm_disc_types[] = {
1675
    {0, NULL}
1676
};
1677
1678
static const value_string * const dig_ckt_test_subpm_name_tables[] = {
1679
    /* one entry for each TRKPM value in the expected range */
1680
    dig_ckt_test_subpm_sp_types,
1681
    dig_ckt_test_subpm_mp_types,
1682
    dig_ckt_test_subpm_coin_types,
1683
    dig_ckt_test_subpm_isdn_types,
1684
    dig_ckt_test_subpm_trc_types,
1685
    dig_ckt_test_subpm_disc_types
1686
};
1687
1688
/* valid indexes run from MIN_DIG_CKT_TEST__TRKPM_VAL to MAX_DIG_CKT_TEST__TRKPM_VAL */
1689
static const value_string trkpm_dig_ckt_test_types[] = {
1690
    {0, "TEST_SP"},
1691
    {1, "TEST_MP"},
1692
    {2, "TEST_COIN"},
1693
    {3, "TEST_ISDN"},
1694
    {4, "WAIT_TRC_RESP"},
1695
    {5, "WAIT_DISC_CONN"},
1696
    {0, NULL}
1697
};
1698
1699
/* various subpm tables */
1700
static const value_string subpm_orig_types[] = {
1701
    {0, "SET_UP"},
1702
    {1, "SCM_CHANNEL"},
1703
    {2, "P409_GRD_SRT"},
1704
    {3, "ANI_TEST"},
1705
    {4, "WAIT_RMB"},
1706
    {5, "WAIT_FX_HIT"},
1707
    {6, "WAIT_RSRC"},
1708
    {7, "WAIT_ICOT_RSRC"},
1709
    {8, "WAIT_LPA"},
1710
    {9, "WAIT_COT_MSG"},
1711
    {10, "WT_COT_RCHK"},
1712
    {11, "WT_MADN_TONE"},
1713
    {12, "MADN_TONE"},
1714
    {13, "MADN_NOTONE"},
1715
    {14, "FX_DIAL_DLAY"},
1716
    {15, "WAIT_BD_RPY"},
1717
    {16, "DELAY_IDTL_LKOT"},
1718
    {17, "WT_H248_CTX1D"},
1719
    {18, "WAIT_MSDN_PCA"},
1720
    {19, "WT_H248_CTXAV"},
1721
    {0, NULL}
1722
};
1723
1724
1725
static const value_string subpm_disc_time_types[] = {
1726
    {0, "SET_UP"},
1727
    {1, "WAIT_DISC"},
1728
    {2, "HOLD_IDLE"},
1729
    {3, "LOOP_DISC"},
1730
    {4, "LOOP_TIME"},
1731
    {5, "WAIT_FX0_DSC"},
1732
    {0, NULL}
1733
};
1734
1735
static const value_string subpm_revert_types[] = {
1736
    {0, "SET_UP"},
1737
    {1, "AWAIT_RSRC"},
1738
    {2, "AWAIT_DIGIT"},
1739
    {3, "BUSY_TONE"},
1740
    {4, "INFORM_CLG"},
1741
    {5, "WAIT_ONHK"},
1742
    {6, "WAIT_TCAP"},
1743
    {7, "RINGING"},
1744
    {8, "INFORM_CLD"},
1745
    {9, "TALKING"},
1746
    {10, "RING_FAIL"},
1747
    {11, "ANI_TEST"},
1748
    {0, NULL}
1749
};
1750
1751
static const value_string subpm_orig_dt_types[] = {
1752
    {0, "SET_UP"},
1753
    {1, "WAIT_DT"},
1754
    {2, "DIAL_TONE"},
1755
    {3, "FX_DIAL_DLAY"},
1756
    {4, "WAIT_DT_PCA"},
1757
    {0, NULL}
1758
};
1759
1760
static const value_string subpm_orig_ws_types[] = {
1761
    {0, "SET_UP"},
1762
    {1, "WAIT_RCVR"},
1763
    {2, "FX_DIAL_DLAY"},
1764
    {0, NULL}
1765
};
1766
1767
static const value_string subpm_orig_dd_types[] = {
1768
    {0, "SET_UP"},
1769
    {1, "WAIT_HIT_DELAY"},
1770
    {2, "WAIT_FOR_RCVR"},
1771
    {0, NULL}
1772
};
1773
1774
static const value_string subpm_orig_id_types[] = {
1775
    {0, "SET_UP"},
1776
    {1, "WAIT_FOR_RCVR"},
1777
    {0, NULL}
1778
};
1779
1780
static const value_string subpm_no_test_types[] = {
1781
    {0, NULL}
1782
};
1783
1784
static const value_string subpm_dialing_types[] = {
1785
    {0, "SET_UP"},
1786
    {1, "DP_DGT_FIRST"},
1787
    {2, "DP_DGT_DIAL"},
1788
    {3, "WAIT_FOR_KP"},
1789
    {4, "MF_DIALING"},
1790
    {5, "COLL_GIC_DIG"},
1791
    {6, "CPW_PROG_1ST"},
1792
    {7, "CPW_PROG_NXT"},
1793
    {8, "COLL_SC_INDX"},
1794
    {9, "CONFIRM_TONE"},
1795
    {10, "WAIT_CONFIRM"},
1796
    {11, "FX_SND_DLNG"},
1797
    {12, "AUD_PROG_1ST"},
1798
    {13, "AUD_PROG_NXT"},
1799
    {14, "ISDN_FA_DLNG"},
1800
    {15, "ISDN_CFW_NXT"},
1801
    {16, "CLD_SCFW_FA"},
1802
    {17, "WAIT_CNFR_PCA"},
1803
    {0, NULL}
1804
};
1805
1806
static const value_string subpm_rebuilt_types[] = {
1807
    {0, "REBILT_NORM"},
1808
    {1, "REBILT_QUE"},
1809
    {2, "REBILT_TIMIN"},
1810
    {3, "REBILT_Q_T"},
1811
    {0, NULL}
1812
};
1813
1814
static const value_string subpm_acfw_reac_types[] = {
1815
    {0, "REAC_SETUP"},
1816
    {1, "WAIT_SPDT"},
1817
    {2, "PROVIDE_SPDT"},
1818
    {3, "COLLECT_DIGS"},
1819
    {4, "WAIT_ACT_CFM"},
1820
    {5, "PROV_ACT_CFM"},
1821
    {0, NULL}
1822
};
1823
1824
static const value_string subpm_process_route_types[] = {
1825
    {0, NULL}
1826
};
1827
1828
static const value_string subpm_rte_line_types[] = {
1829
/* a value_string_ext has not been defined for this because it is a member of the array subpm_name_tables.
1830
This is the longest member of that array.  There are also two members with 30-40 items. */
1831
    {0, "SET_UP"},
1832
    {1, "SRCE_CNTRL"},
1833
    {2, "ANI_TEST"},
1834
    {3, "CPSC_SELECT"},
1835
    {4, "CPSC_TERM"},
1836
    {5, "HUNT_SLICE"},
1837
    {6, "SCM_CHNL"},
1838
    {7, "PRERNG_TST"},
1839
    {8, "SRCE_TEST"},
1840
    {9, "RINGING_LINE"},
1841
    {10, "DEST_TEST"},
1842
    {11, "ANSWER_TIME"},
1843
    {12, "WAIT_TIMING"},
1844
    {13, "WAIT_INC_COT"},
1845
    {14, "WAIT_LCM_CLI"},
1846
    {15, "WAIT_CNAM_RS"},
1847
    {16, "WAIT_ACR_RES"},
1848
    {17, "DPX_SEIZE"},
1849
    {18, "DPX_ANSWR"},
1850
    {19, "MADN_SLICE"},
1851
    {20, "LTRK_SELECT"},
1852
    {21, "FXS_DIAL_OPL"},
1853
    {22, "LTRK_OPL_DLY"},
1854
    {23, "LTRK_OPLSING"},
1855
    {24, "LTRK_WT_ANS"},
1856
    {25, "ISDN_RT_BRK"},
1857
    {26, "ISDN_PRESENT"},
1858
    {27, "ISDN_PROCDG"},
1859
    {28, "ISDN_ALERTING"},
1860
    {29, "PROGRESS_CLR"},
1861
    {30, "WAIT_SCP_RSP"},
1862
    {31, "EKTS_SLICE"},
1863
    {32, "EKTS_OFFERED"},
1864
    {33, "TELE_WAIT_TCAP"},
1865
    {34, "TELE_WAIT_COT_OR_TCAP"},
1866
    {35, "TELE_TCAP_WAIT_COT"},
1867
    {36, "TELE_WAIT_RCVR"},
1868
    {37, "TELE_WAIT_ON_WINK"},
1869
    {38, "TELE_WAIT_ON_COT"},
1870
    {39, "TELE_VRDA_TRUNKS_BUSY"},
1871
    {40, "TELE_OUTPULSE_BUSY"},
1872
    {41, "TELE_WAIT_START"},
1873
    {42, "TELE_COLLECT_DIG"},
1874
    {43, "SRNG_NO_PDN"},
1875
    {44, "WT_PKTCONN"},
1876
    {45, "MADN_H248_WAIT_CNXID"},
1877
    {46, "MADN_ANS_WAIT_PCA"},
1878
    {47, "TELE_WAIT_RCVR_PCA"},
1879
    {48, "WAIT_CTXID"},
1880
    {0, NULL}
1881
};
1882
1883
static const value_string subpm_mtce_types[] = {
1884
    {27, "ISUP_MAINT"},
1885
    {28, "QPL_MAINT"},
1886
    {0, NULL}
1887
};
1888
1889
static const value_string subpm_aux_tone_types[] = {
1890
    {0, "SETUP"},
1891
    {1, "SEIZED"},
1892
    {2, "WAIT_FOR_TONE"},
1893
    {3, "APPLY_TONE"},
1894
    {0, NULL}
1895
};
1896
1897
static const value_string subpm_noller_types[] = {
1898
    {0, "SET_UP"},
1899
    {1, "IDLE"},
1900
    {2, "WAIT_MF_RCVR1"},
1901
    {3, "DIALING_DN"},
1902
    {4, "OVFLW_TONE"},
1903
    {5, "VERIFY_CONN"},
1904
    {6, "WAIT_MF_RCVR2"},
1905
    {7, "DIALING_TC"},
1906
    {8, "TEST_CONN"},
1907
    {9, "WAIT_TIMING"},
1908
    {0, NULL}
1909
};
1910
1911
static const value_string subpm_ittk_types[] = {
1912
    {0, "SET_UP"},
1913
    {1, "WAIT_STRT_DLNG"},
1914
    {2, "WAIT_FOR_RCVR"},
1915
    {3, "TR_REV_DELAY"},
1916
    {4, "WTBG_DIAL"},
1917
    {5, "DN_DIALING"},
1918
    {6, "DP_DIAL"},
1919
    {7, "WAIT_END_DLNG"},
1920
    {8, "NRML_SUPRVSN"},
1921
    {9, "BUSY_MONITOR"},
1922
    {10, "BM_TEMP"},
1923
    {11, "NO_MONITOR"},
1924
    {12, "NM_TEMP"},
1925
    {13, "BUSY_TONE"},
1926
    {14, "OUT_TEST"},
1927
    {15, "IN_TEST__ID"},
1928
    {16, "TT_TEST"},
1929
    {17, "INTERCEPT_ID"},
1930
    {18, "OVERFLOW"},
1931
    {19, "CK_TRUE_DISC"},
1932
    {20, "WAIT_BI_SET"},
1933
    {21, "WAIT_BYPASS_CONN"},
1934
    {22, "WAIT_BI_CLR"},
1935
    {23, "SLC_OUT_TEST"},
1936
    {24, "WAIT_BURSTS"},
1937
    {25, "WAIT_TONE"},
1938
    {26, "FIRST_TONE_ON"},
1939
    {27, "FIRST_TONE_OFF"},
1940
    {28, "SECOND_TONE_ON"},
1941
    {29, "SECOND_TONE_OFF"},
1942
    {30, "THIRD_TONE_ON"},
1943
    {31, "WAIT_SLEEVE"},
1944
    {32, "WAIT_VLCM"},
1945
    {33, "WAIT_IDT/IDT_TO_MMB"},
1946
    {34, "IDT_BYPASS"},
1947
    {35, "WAIT_IDT_BPS"},
1948
    {36, "TEST_IDT"},
1949
    {0, NULL}
1950
};
1951
1952
static const value_string subpm_alm_send_types[] = {
1953
    {0, NULL}
1954
};
1955
1956
static const value_string subpm_ani_spill_types[] = {
1957
    {0, "SET_UP"},
1958
    {1, "WAIT_MF_RCVR"},
1959
    {2, "WAIT_ANI_KP"},
1960
    {3, "WAIT_ANI_ID"},
1961
    {4, "COLLECT_CLG_DIG"},
1962
    {5, "WT_ONI_ANIF_ST"},
1963
    {6, "ANI_TIMEOUT"},
1964
    {7, "WAIT_DELAY"},
1965
    {0, NULL}
1966
};
1967
1968
static const value_string subpm_trunk_term_types[] = {
1969
    {0, "SET_UP"},
1970
    {1, "NORM_TALK"},
1971
    {2, "DISC_TIMING"},
1972
    {3, "COIN_COLLECT"},
1973
    {4, "COIN_RETURN"},
1974
    {5, "DEST_TONE"},
1975
    {6, "WT_DEST_RCVR"},
1976
    {7, "WT_SRCE_RCVR"},
1977
    {8, "INBAND_DEST"},
1978
    {9, "INBAND_SRCE"},
1979
    {10, "HWL_INTR_RBK"},
1980
    {11, "WT_HW_IT_RBK"},
1981
    {12, "INTR_RGBK"},
1982
    {13, "OS_FROM_DEST"},
1983
    {14, "OS_FROM_SRCE"},
1984
    {15, "TIME_CHG_CTL"},
1985
    {16, "WAIT_CC_COL"},
1986
    {17, "WAIT_CC_RET"},
1987
    {18, "OVFL_RGBK"},
1988
    {19, "WAIT_CC_MFST"},
1989
    {20, "WAIT_CC_ENBL"},
1990
    {21, "WAIT_CC_DSBL"},
1991
    {22, "OS_HOLD"},
1992
    {23, "CBARA_COL"},
1993
    {24, "CBARA_RTN"},
1994
    {25, "CBARA_RLSE"},
1995
    {26, "WT_TLNK_HSHK"},
1996
    {27, "WT_TLNK_SYNC"},
1997
    {28, "WAIT_OUTPULSE_END"},
1998
    {29, "WAIT_ALDP_TONE"},
1999
    {30, "WAIT_OUTPULSE_DELAY"},
2000
    {31, "WAIT_OSNC_CC"},
2001
    {32, "WT_REPL_PCAV_TRK"},
2002
    {0, NULL}
2003
};
2004
2005
static const value_string subpm_line_term_types[] = {
2006
    {0, "SET_UP"},
2007
    {1, "NORM_TALKING"},
2008
    {2, "DISC_TIMING"},
2009
    {3, "COIN_COLLECT"},
2010
    {4, "COIN_RETURN"},
2011
    {5, "WAIT_RCVR"},
2012
    {6, "INBAND_SIG"},
2013
    {7, "HWL_INTR_RRG"},
2014
    {8, "WT_HW_IT_RRG"},
2015
    {9, "INTR_RERING"},
2016
    {10, "SOURCE_TONE"},
2017
    {11, "OVFL_RERING"},
2018
    {12, "WAIT_BI_TONE"},
2019
    {13, "BI_TONE_ON"},
2020
    {14, "DCBI_3WC_Z"},
2021
    {15, "TIME_CHG_CTL"},
2022
    {16, "WAIT_DTR"},
2023
    {17, "WT_TLNK_DLY"},
2024
    {18, "WT_TLNK_HSHK"},
2025
    {19, "WT_TLNK_SYNC"},
2026
    {20, "WAIT_ALDP_TONE"},
2027
    {21, "WT_PCAV_DCBI"},
2028
    {22, "WT_REPL_PCAV"},
2029
    {0, NULL}
2030
};
2031
2032
static const value_string subpm_non_cp_types[] = {
2033
    {0, "CR_SUB_PM_ZERO"},
2034
    {1, "ONHK_TEST_PED"},
2035
    {2, "ONHK_TEST_RES"},
2036
    {3, "PEPR_MTCE_STATE"},
2037
    {4, "GEN_TIMING_REG"},
2038
    {5, "CPT_CONNECTION"},
2039
    {6, "OFHK_TEST_PED"},
2040
    {7, "OFHK_TEST_RES"},
2041
    {8, "CR_TIMING_TEST"},
2042
    {9, "CR_SUB_PM_INVLD"},
2043
    {0, NULL}
2044
};
2045
2046
static const value_string subpm_twc_types[] = {
2047
    {0, "SET_UP"},
2048
    {1, "CONN_ADDED"},
2049
    {2, "TALK_3WAY"},
2050
    {3, "RESW_Y_HELD"},
2051
    {4, "RESW_Y_TALK"},
2052
    {5, "RESW_ADDED"},
2053
    {6, "CONNZ_YGONE"},
2054
    {7, "CSLT_ORG"},
2055
    {8, "CSLT_TALK_Y"},
2056
    {9, "TRANSFER"},
2057
    {10, "RESW_TRNSFER"},
2058
    {11, "CSLT_XYGONE"},
2059
    {12, "CSLT_XZGONE"},
2060
    {13, "TALKY_XYGONE"},
2061
    {14, "TALKY_XZGONE"},
2062
    {15, "X_CLASS_ONLY"},
2063
    {16, "RESW_XYGONE"},
2064
    {0, NULL}
2065
};
2066
2067
static const value_string subpm_held_3wc_types[] = {
2068
    {0, "CR_SUB_PM_ZERO"},
2069
    {1, "ONHK_TEST_PED"},
2070
    {2, "ONHK_TEST_RES"},
2071
    {3, "PEPR_MTCE_STATE"},
2072
    {0, NULL}
2073
};
2074
2075
static const value_string subpm_cwt_types[] = {
2076
    {0, NULL}
2077
};
2078
2079
static const value_string subpm_held_cwt_types[] = {
2080
    {0, NULL}
2081
};
2082
2083
static const value_string subpm_update_sc_types[] = {
2084
    {0, "SETUP"},
2085
    {1, "WAIT_SPDT"},
2086
    {2, "HAVE_SPDT"},
2087
    {3, "GET_INDEX"},
2088
    {4, "GET_DIGITS"},
2089
    {5, "WAIT_CONFRM"},
2090
    {6, "HAVE_CONFRM"},
2091
    {7, "WAIT_SPDT_PCA"},
2092
    {8, "WAIT_CNFM_PCA"},
2093
    {9, "WT_H248_CTXID"},
2094
    {0, NULL}
2095
};
2096
2097
static const value_string subpm_acfw_retm_types[] = {
2098
    {0, "RETM_SETUP"},
2099
    {1, "RETIMING"},
2100
    {0, NULL}
2101
};
2102
2103
static const value_string subpm_cfw_busy_types[] = {
2104
    {0, "SETUP"},
2105
    {1, "BUSY_TIMING"},
2106
    {0, NULL}
2107
};
2108
2109
static const value_string subpm_cfw_types[] = {
2110
    {0, "SET_UP"},
2111
    {1, "RT_BREAK"},
2112
    {2, "REMIND_RING"},
2113
    {3, "SCM_CHNL"},
2114
    {0, NULL}
2115
};
2116
2117
static const value_string subpm_cfw_deact_types[] = {
2118
    {0, "DEACT_SETUP"},
2119
    {1, "WAIT_DE_CPM"},
2120
    {2, "PROV_DE_CPM"},    /* note that values are not continuous */
2121
    {8, "WAIT_CNFR_PCA"},
2122
    {0, NULL}
2123
};
2124
2125
static const value_string subpm_rcfw_types[] = {
2126
    {0, "SET_UP"},
2127
    {1, "SRCE_CNTRL"},
2128
    {2, "WAIT_COT"},
2129
    {0, NULL}
2130
};
2131
2132
static const value_string subpm_rotl_tp_types[] = {
2133
    {0, "SET_UP"},
2134
    {1, "FIRST_DIGIT"},
2135
    {2, "SEC_DIGIT"},
2136
    {3, "THIRD_DIGIT"},
2137
    {4, "COL_TRK_INFO"},
2138
    {5, "COL_DN_INFO"},
2139
    {6, "END_OUTPULSE"},
2140
    {7, "WAIT_COT"},
2141
    {8, "WAIT_ACM"},
2142
    {9, "WAIT_ANM"},
2143
    {10, "ANS_SUPV"},
2144
    {11, "LTBT_CONN"},
2145
    {12, "TEST_CONN"},
2146
    {13, "COL_ID_DIGIT"},
2147
    {14, "WAIT_SIGNAL"},
2148
    {15, "WAIT_ST_SIG"},
2149
    {16, "WAIT_ANI_SIG"},
2150
    {17, "END_ANI_SPILL"},
2151
    {18, "ROTLTP_ONHK"},
2152
    {19, "COL_TG_INFO"},
2153
    {20, "WAIT_TO_SEND"},
2154
    {21, "WAIT_CONN_APR"},
2155
    {0, NULL}
2156
};
2157
2158
static const value_string subpm_chdt_types[] = {
2159
    {0, "SETUP"},
2160
    {1, "WAIT_CFT"},
2161
    {2, "CFT"},
2162
    {3, "WAIT_DT"},
2163
    {4, "DIAL_TONE"},
2164
    {5, "WAIT_SPDT"},
2165
    {6, "SPDT"},
2166
    {0, NULL}
2167
};
2168
2169
static const value_string subpm_chd_types[] = {
2170
    {0, "SETUP"},
2171
    {1, "CONN_ACT"},
2172
    {2, "SRCE_RERING"},
2173
    {3, "DEST_RERING"},
2174
    {4, "SILENCE"},
2175
    {5, "SIL_W_GONE"},
2176
    {0, NULL}
2177
};
2178
2179
static const value_string subpm_cheld_types[] = {
2180
    {0, "SETUP"},
2181
    {1, "NVP"},
2182
    {0, NULL}
2183
};
2184
2185
static const value_string subpm_dig_ckt_test_types[] = {
2186
    {0, NULL}
2187
};
2188
2189
static const value_string subpm_nail_types[] = {
2190
    {0, NULL}
2191
};
2192
2193
static const value_string subpm_dcbi_types[] = {
2194
    {0, "DCBI_SETUP"},
2195
    {1, "DCBI_CNTRL"},
2196
    {2, "DCBI_RESW_XY"},
2197
    {3, "DCBI_RESW_YZ"},
2198
    {0, NULL}
2199
};
2200
2201
static const value_string subpm_rag_confirm_types[] = {
2202
    {0, "SETUP"},
2203
    {1, "WAIT"},
2204
    {2, "ON"},
2205
    {0, NULL}
2206
};
2207
2208
static const value_string subpm_rag_process_types[] = {
2209
    {0, "SETUP"},
2210
    {1, "SEARCH"},
2211
    {2, "SCM_CHANNEL"},
2212
    {3, "PRERNG_TEST"},
2213
    {4, "WAIT_TCAP"},
2214
    {5, "RERING"},
2215
    {6, "MBS_RERING"},
2216
    {7, "DELAY_CONN"},
2217
    {8, "WT_H248_CTXID"},
2218
    {0, NULL}
2219
};
2220
2221
static const value_string subpm_e800_types[] = {
2222
    {0, "SET_UP"},
2223
    {1, "COLLECT_DIG"},
2224
    {2, "WT_FGD_DIG"},
2225
    {3, "WT_COR_RCVR"},
2226
    {4, "WT_FGID_II"},
2227
    {5, "WT_FGD_ANI"},
2228
    {6, "WT_FGD_CLDKP"},
2229
    {7, "WT_FGD_CLED"},
2230
    {8, "WAIT_RESP"},
2231
    {9, "CLCT_AT_DIG"},
2232
    {10, "DLY_2ND_STG"},
2233
    {11, "DLY_B4_ACK"},
2234
    {0, NULL}
2235
};
2236
2237
static const value_string subpm_cfra_types[] = {
2238
    {0, "SET_UP"},
2239
    {1, "SRCE_CNTRL"},
2240
    {2, "WAIT_COT"},
2241
    {3, "ANI_TEST"},
2242
    {4, "CPSC_SELECT"},
2243
    {5, "CAMA_OPR"},
2244
    {6, "WAIT_RGBK"},
2245
    {7, "RBT"},
2246
    {8, "WAIT_TIMER"},
2247
    {9, "WAIT_SPDT"},
2248
    {10, "WAIT_ANS"},
2249
    {11, "SPDT1"},
2250
    {12, "DN_COLLECT"},
2251
    {13, "PIN_COLLECT"},
2252
    {14, "SPDT2"},
2253
    {15, "ACT_DACT_COL"},
2254
    {16, "SPDT3"},
2255
    {17, "FWD_TO_COLL"},
2256
    {18, "WT_DACT_CNFR"},
2257
    {19, "WT_ACT_CNFR"},
2258
    {20, "CNFR_TONE"},
2259
    {0, NULL}
2260
};
2261
2262
static const value_string subpm_mwi_deac_types[] = {
2263
    {0, "SETUP_CONFRM"},
2264
    {1, "WAIT_CONFRM"},
2265
    {2, "HAVE_CONFRM"},
2266
    {0, NULL}
2267
};
2268
2269
static const value_string subpm_acar_cp_types[] = {
2270
    {0, "SET_UP"},
2271
    {1, "WAIT_I_BSP"},
2272
    {2, "ACAR_CALL_PMS"},
2273
    {0, NULL}
2274
};
2275
2276
static const value_string subpm_acar_rering_types[] = {
2277
    {0, "SET_UP"},
2278
    {1, "SCM_CHANNEL"},
2279
    {2, "WAIT_TCAP"},
2280
    {3, "RERING_LOCL"},
2281
    {4, "WAIT_FINAL_Q"},
2282
    {5, "WT_H248_CTXID"},
2283
    {0, NULL}
2284
};
2285
2286
static const value_string subpm_acar_ann_types[] = {
2287
    {0, "SET_UP"},
2288
    {1, "DRA_BUSY"},
2289
    {2, "DRA_WAIT"},
2290
    {3, "DRA_MSG_BUSY"},
2291
    {4, "DRA_MSG_WAIT"},
2292
    {5, "DRA_MSG_ACT"},
2293
    {6, "DRA_MSG_DIAL"},
2294
    {7, "DRA_END_DLY"},
2295
    {8, "WT_TCAP_RESP"},
2296
    {9, "GET_CONF_DIG"},
2297
    {10, "WAIT_RCVR_PCA"},
2298
    {0, NULL}
2299
};
2300
2301
static const value_string subpm_sle_types[] = {
2302
    {0, "SETUP"},
2303
    {1, "LIST_EDIT"},
2304
    {2, "LIST_ADD"},
2305
    {3, "LIST_DELETE"},
2306
    {4, "LIST_REVIEW"},
2307
    {5, "CHG_STATUS"},
2308
    {6, "LISTEN_ERR"},
2309
    {7, "EXIT"},
2310
    {8, "DEL_ALL"},
2311
    {9, "DEL_ALL_PRV"},
2312
    {10, "REPEAT_ANNC"},
2313
    {11, "LCP"},
2314
    {12, "CA_FA_CNFRM"},
2315
    {13, "INVALID_CMD"},
2316
    {0, NULL}
2317
};
2318
2319
static const value_string subpm_perform_cot_types[] = {
2320
    {0, "SET_UP"},
2321
    {1, "DRA_BUSY"},
2322
    {2, "DRA_WAIT"},
2323
    {3, "DRA_MSG_BUSY"},
2324
    {4, "DRA_MSG_WAIT"},
2325
    {5, "DRA_MSG_ACT"},
2326
    {6, "DRA_MSG_DIAL"},
2327
    {7, "DRA_END_DLY"},
2328
    {8, "CMD_GET_DIG"},
2329
    {9, "WAIT_RCVR"},
2330
    {10, "WAIT_RCVR_PCA"},
2331
    {0, NULL}
2332
};
2333
2334
static const value_string subpm_clid_types[] = {
2335
    {0, "SETUP"},
2336
    {1, "TRK_RETRY"},
2337
    {2, "WAIT_DRA"},
2338
    {3, "WAIT_RSRC"},
2339
    {4, "WAIT_ANNOC"},
2340
    {5, "WAIT_END"},
2341
    {6, "WAIT_CONFIRM"},
2342
    {7, "WAIT_SRCE_DS"},
2343
    {8, "WAIT_CNFR_PCA"},
2344
    {0, NULL}
2345
};
2346
2347
static const value_string subpm_xpm_types[] = {
2348
    {0, NULL}
2349
};
2350
2351
static const value_string subpm_mwil_types[] = {
2352
    {0, "SETUP"},
2353
    {1, "SEND"},
2354
    {2, "WAIT"},
2355
    {3, "CPM_CON"},
2356
    {4, "CPM_WT"},
2357
    {5, "BKGD"},
2358
    {6, "WT_CNXID"},
2359
    {7, "RDT_WAIT"},
2360
    {0, NULL}
2361
};
2362
2363
static const value_string subpm_ldbs_types[] = {
2364
    {0, "SET_UP"},
2365
    {1, "COLLECT_DIG"},
2366
    {2, "WAIT_QUERY"},
2367
    {3, "WAIT_DELAY"},
2368
    {0, NULL}
2369
};
2370
2371
static const value_string subpm_acr_types[] = {
2372
    {0, "SETUP"},
2373
    {1, "TRK_RETRY"},
2374
    {2, "WAIT_DRA"},
2375
    {3, "WAIT_RSRC"},
2376
    {4, "WAIT_ANNOC"},
2377
    {5, "WAIT_END"},
2378
    {6, "WAIT_CONFIRM"},
2379
    {7, "WAIT_SRCE_DS"},
2380
    {0, NULL}
2381
};
2382
2383
static const value_string subpm_call_park_types[] = {
2384
    {0, "SET_UP"},
2385
    {1, "COLL_1ST_DIG"},
2386
    {2, "COLL_NTH_DIG"},
2387
    {3, "X_WT_SPDT"},
2388
    {4, "TONE_CONN_XY"},
2389
    {5, "Y_PARKED"},
2390
    {6, "YPARK_WT_RBK"},
2391
    {7, "YPARK_XRERNG"},
2392
    {8, "X_WT_CONFIRM"},
2393
    {9, "X_CONFIRM"},
2394
    {10, "DELAY_CONN"},
2395
    {11, "ISDN_RERING"},
2396
    {12, "WT_PCAV_CXID"},
2397
    {0, NULL}
2398
};
2399
2400
static const value_string subpm_camp_on_recall_types[] = {
2401
    {0, NULL}
2402
};
2403
2404
static const value_string subpm_cff_types[] = {
2405
    {0, "SET_UP"},
2406
    {1, "WAIT_CNFRM"},
2407
    {2, "PROVIDE_CNFRM"},
2408
    {3, "WAIT_CNFR_PCA"},
2409
    {0, NULL}
2410
};
2411
2412
static const value_string subpm_ibert_types[] = {
2413
    {0, "SETUP"},
2414
    {1, "WT_RESP_1"},
2415
    {2, "WT_RESP_2"},
2416
    {3, "CNT_CLR_ACK"},
2417
    {4, "WT_STP_TEST"},
2418
    {5, "RSET_CNT_ACK"},
2419
    {6, "FND_PT_2_TST"},
2420
    {7, "TEST_PATH"},
2421
    {8, "WT_STAT_RSLT"},
2422
    {9, "EFS_RSLT"},
2423
    {10, "WAIT_DS1"},
2424
    {11, "WT_RTS"},
2425
    {12, "WT_TCM_SYNC"},
2426
    {0, NULL}
2427
};
2428
2429
static const value_string subpm_ain_types[] = {
2430
    {0, "SET_UP"},
2431
    {1, "WAIT_COT"},
2432
    {2, "WAIT_SCP"},
2433
    {3, "WAIT_DGT"},
2434
    {4, "DRA_WAIT"},
2435
    {5, "DRA_BUSY"},
2436
    {6, "DRA_MSG_BUSY"},
2437
    {7, "DRA_MSG_WAIT"},
2438
    {8, "DRA_MSG_PLAY"},
2439
    {9, "DRA_COL_DIGS"},
2440
    {10, "WAIT_RCVR_PCA"},
2441
    {0, NULL}
2442
};
2443
2444
static const value_string subpm_ain_sit_types[] = {
2445
    {0, "SET_UP"},
2446
    {1, "DLY_B4_1ST_WINK"},
2447
    {2, "WAIT_FOR_RCVR"},
2448
    {3, "WAIT_FOR_1ST_KP"},
2449
    {4, "WAIT_FOR_II"},
2450
    {5, "WAIT_FOR_ANI"},
2451
    {6, "WAIT_FOR_CLD_KP"},
2452
    {7, "WAIT_FOR_CLD"},
2453
    {8, "DLY_B4_2ND_WINK"},
2454
    {0, NULL}
2455
};
2456
2457
static const value_string subpm_ain_rtg_types[] = {
2458
    {0, "SETUP"},
2459
    {1, "REAL_TIME_BR"},
2460
    {0, NULL}
2461
};
2462
2463
static const value_string subpm_nail_bcon_dcon_types[] = {
2464
    {0, "START_NAIL_CONN"},
2465
    {1, "WAIT_SCM_RESP"},
2466
    {2, "FINISH_NAIL_CONN"},
2467
    {0, NULL}
2468
};
2469
2470
static const value_string subpm_qtrn_trvr_types[] = {
2471
    {0, NULL}
2472
};
2473
2474
static const value_string subpm_ekts_types[] = {
2475
    {0, "SET_UP"},
2476
    {1, "KEY_SETUP"},
2477
    {2, "PROGRESS"},
2478
    {3, "RINGBACK"},
2479
    {4, "CONNECT"},
2480
    {5, "KEY_HOLD"},
2481
    {6, "NOTIFY"},
2482
    {7, "CLEARING"},
2483
    {8, "FT_SEARCH"},
2484
    {9, "FT_UPDATE"},
2485
    {10, "REM_RING"},
2486
    {11, "DNLD_REQ"},
2487
    {12, "RETRIEVE"},
2488
    {13, "DROP_EKTS"},
2489
    {0, NULL}
2490
};
2491
2492
static const value_string subpm_alt_types[] = {
2493
    {0, "IDLE"},
2494
    {1, "PERM"},
2495
    {2, "BRIDGE"},
2496
    {0, NULL}
2497
};
2498
2499
static const value_string subpm_calea_types[] = {
2500
    {0, NULL}
2501
};
2502
2503
static const value_string subpm_sim_ring_types[] = {
2504
    {0, "SET_UP"},
2505
    {1, "GO_XLATE_NPMDN"},
2506
    {2, "GO_DISC_NPMDN"},
2507
    {0, NULL}
2508
};
2509
2510
static const value_string subpm_lta_types[] = {
2511
    {0, "SETUP"},
2512
    {1, "WAIT_CONN_SLACC"},
2513
    {2, "WAIT_MTA_CONN"},
2514
    {3, "SEND_LOOPARND_RMV"},
2515
    {4, "WAIT_MTA_LOOPARND_RMV"},
2516
    {5, "MTA_ACCESS"},
2517
    {6, "TL1_MSG_RSP_DLY"},
2518
    {7, "CHG_DIR_RSP_DLY"},
2519
    {8, "WAIT_MTA_DISC_RSP"},
2520
    {9, "WAIT_MTA_REPSTAT_RPLY"},
2521
    {10, "WAIT_BYPASS"},
2522
    {11, "IDT_TO_MMB"},
2523
    {12, "IDT_BYPASS"},
2524
    {13, "WAIT_IDT_BPS"},
2525
    {14, "TEST_IDT"},
2526
    /* 15 is undefined */
2527
    {16, "TL1_RESP_DELY"},
2528
    {17, "WAIT_CU_TEST_FINISH"},
2529
    {18, "WAIT_MTA_THEN_BREAK_CONN"},
2530
    {19, "IDT_VIRT_WAIT_MMB"},
2531
    {20, "IDT_VIRT_TRC_CONNECT"},
2532
    {21, "IDT_VIRT_TRC_RSP_WAIT"},
2533
    {22, "IDT_VIRT_TRC_DISC_WAIT"},
2534
    {0, NULL}
2535
};
2536
2537
static const value_string subpm_hgq_types[] = {
2538
    {0, NULL}
2539
};
2540
2541
static const value_string subpm_idle_types[] = {
2542
    {0, NULL}
2543
};
2544
2545
static const value_string subpm_sig_types[] = {
2546
    {0, "SETUP"},
2547
    {1, "PSIS_SETUP"},
2548
    {2, "PSiM_SETUP"},
2549
    {3, "WT_CNAM_RESP"},
2550
    {4, "WT_DSIG_CONN"},
2551
    {5, "WT_XMIT_TONE"},
2552
    {6, "INTERCOM"},
2553
    {7, "WT_DSIG_DISC"},
2554
    {8, "WT_DISC"},
2555
    {9, "WT_STD_RTE"},
2556
    {0, NULL}
2557
};
2558
2559
static const value_string subpm_sig_dest_types[] = {
2560
    {0, "SETUP"},
2561
    {1, "WT_RT_BREAK"},
2562
    {2, "WT_PKT_CONN"},
2563
    {3, "WT_DEST_CONN"},
2564
    {4, "WT_DST_INTERCOM"},
2565
    {5, "WT_DISC"},
2566
    {0, NULL}
2567
};
2568
2569
static const value_string subpm_agl_splrg_types[] = {
2570
    {0, "SET_UP"},
2571
    {1, "REMIND_RING"},
2572
    {2, "WT_H248_CTXID"},
2573
    {0, NULL}
2574
};
2575
2576
static const value_string * const subpm_name_tables[] = {
2577
    subpm_orig_types,
2578
    subpm_disc_time_types,
2579
    subpm_revert_types,
2580
    subpm_orig_dt_types,
2581
    subpm_orig_ws_types,
2582
    subpm_orig_dd_types,
2583
    subpm_orig_id_types,
2584
    subpm_no_test_types,
2585
    subpm_dialing_types,
2586
    subpm_rebuilt_types,
2587
    subpm_acfw_reac_types,
2588
    subpm_process_route_types,
2589
    subpm_rte_line_types,
2590
    subpm_mtce_types,
2591
    subpm_aux_tone_types,
2592
    subpm_noller_types,
2593
    subpm_ittk_types,
2594
    subpm_alm_send_types,
2595
    subpm_ani_spill_types,
2596
    subpm_trunk_term_types,
2597
    subpm_line_term_types,
2598
    subpm_non_cp_types,
2599
    subpm_twc_types, /*index 22 : this is the same as at index 37 and index 38 */
2600
    subpm_held_3wc_types, /*index 23 : this is the same as at index 39  */
2601
    subpm_cwt_types,
2602
    subpm_held_cwt_types,
2603
    subpm_update_sc_types,
2604
    subpm_orig_dt_types, /* index 27 : this is the same as at index 3 */
2605
    subpm_acfw_retm_types,
2606
    subpm_cfw_busy_types,
2607
    subpm_cfw_types, /* index 30 */
2608
    subpm_cfw_deact_types,
2609
    subpm_rcfw_types,
2610
    subpm_rotl_tp_types,
2611
    subpm_chdt_types,
2612
    subpm_chd_types,
2613
    subpm_cheld_types,
2614
    subpm_twc_types, /*index 37 : this is the same as at index 22 and index 38 */
2615
    subpm_twc_types, /*index 38 : this is the same as at index 22 and index 37 */
2616
    subpm_held_3wc_types, /*index 39 : this is the same as at index 23  */
2617
    subpm_dig_ckt_test_types,    /* default for dig_ckt */
2618
    subpm_nail_types,
2619
    subpm_dcbi_types,
2620
    subpm_rag_confirm_types,
2621
    subpm_rag_process_types,
2622
    subpm_e800_types,
2623
    subpm_cfra_types,
2624
    subpm_mwi_deac_types,
2625
    subpm_acar_cp_types,
2626
    subpm_acar_rering_types,
2627
    subpm_acar_ann_types,    /* index 50 */
2628
    subpm_sle_types,
2629
    subpm_perform_cot_types,
2630
    subpm_clid_types,
2631
    subpm_xpm_types,
2632
    subpm_mwil_types,
2633
    subpm_ldbs_types,
2634
    subpm_acr_types,
2635
    subpm_call_park_types,
2636
    subpm_camp_on_recall_types,
2637
    subpm_cff_types,    /* index 60 */
2638
    subpm_ibert_types,
2639
    subpm_ain_types,
2640
    subpm_ain_sit_types,
2641
    subpm_ain_rtg_types,
2642
    subpm_nail_bcon_dcon_types,
2643
    subpm_nail_bcon_dcon_types,
2644
    subpm_qtrn_trvr_types,
2645
    subpm_ekts_types,
2646
    subpm_alt_types,
2647
    subpm_calea_types,    /* index 70 */
2648
    subpm_sim_ring_types,
2649
    subpm_lta_types,
2650
    subpm_hgq_types,
2651
    subpm_idle_types,
2652
    subpm_sig_types,
2653
    subpm_sig_dest_types,
2654
    subpm_agl_splrg_types
2655
};
2656
2657
/* for pm field ...*/
2658
static const value_string c15_pm_types[] = {
2659
    { 0, "ORIG" },
2660
    { 1, "DSTM" },
2661
    { 2, "RVRT" },
2662
    { 3, "ORDT" },
2663
    { 4, "ORWS" },
2664
    { 5, "ORDD" },
2665
    { 6, "ORID" },
2666
    { 7, "#TST" },
2667
    { 8, "DLNG" },
2668
    { 9, "RBLT" },
2669
    { 10, "CFWR" },
2670
    { 11, "RTE" },
2671
    { 12, "RLIN" },
2672
    { 13, "MTCE" },
2673
    { 14, "AUXT" },
2674
    { 15, "NOLR" },
2675
    { 16, "ITTK" },
2676
    { 17, "ALSD" },
2677
    { 18, "ANSP" },
2678
    { 19, "TRNK" },
2679
    { 20, "LINE" },
2680
    { 21, "NOCP" },
2681
    { 22, "3WC" },
2682
    { 23, "3WCH" },
2683
    { 24, "CWT" },
2684
    { 25, "CWTH" },
2685
    { 26, "UPSC" },
2686
    { 27, "ORSD" },
2687
    { 28, "CFRT" },
2688
    { 29, "CFWB" },
2689
    { 30, "CFW" },
2690
    { 31, "CFWD" },
2691
    { 32, "RCFW" },
2692
    { 33, "ROTL" },
2693
    { 34, "CHDT" },
2694
    { 35, "CHD" },
2695
    { 36, "CHLD" },
2696
    { 37, "3WCH" },
2697
    { 38, "3WCW" },
2698
    { 39, "CSLT" },
2699
    { 40, "DGTX" },
2700
    { 41, "NAIL" },
2701
    { 42, "DCBI" },
2702
    { 43, "RGCF" },
2703
    { 44, "RGCP" },
2704
    { 45, "E800" },
2705
    { 46, "CFRA" },
2706
    { 47, "MWID" },
2707
    { 48, "ACCP" },
2708
    { 49, "ACRR" },
2709
    { 50, "ACAN" },
2710
    { 51, "SLE" },
2711
    { 52, "PCOT" },
2712
    { 53, "CLID" },
2713
    { 54, "XPML" },
2714
    { 55, "MWIL" },
2715
    { 56, "LDBS" },
2716
    { 57, "ACR" },
2717
    { 58, "CPRK" },
2718
    { 59, "CRCL" },
2719
    { 60, "CFF" },
2720
    { 61, "BERT" },
2721
    { 62, "AIN" },
2722
    { 63, "ASIT" },
2723
    { 64, "ARTG" },
2724
    { 65, "BNAL" },
2725
    { 66, "DNAL" },
2726
    { 67, "TRVR" },
2727
    { 68, "EKTS" },
2728
    { 69, "ALT" },
2729
    { 70, "CALE" },
2730
    { 71, "SRNG" },
2731
    { 72, "LTA" },
2732
    { 73, "HGQ" },
2733
    { 74, "IDLE" },
2734
    { 75, "SIG" },
2735
    { 76, "SIGD" },
2736
    { 77, "SPRG" },
2737
    { 0, NULL }
2738
};
2739
static value_string_ext c15_pm_types_ext = VALUE_STRING_EXT_INIT(c15_pm_types);
2740
2741
static const value_string c15_dev_types[] = {
2742
    { 0, "CR" },
2743
    { 1, "SRCE" },
2744
    { 2, "DEST" },
2745
    { 3, "TS" },
2746
    { 4, "RS" },
2747
    { 5, "TD" },
2748
    { 6, "RD" },
2749
    { 7, "CLBF" },
2750
    { 8, "TMP1" },
2751
    { 9, "TMP2" },
2752
    { 10, "PPS" },
2753
    { 11, "PPD" },
2754
    { 12, "BR1" },
2755
    { 13, "BR2" },
2756
    { 14, "BR3" },
2757
    { 15, "BR4" },
2758
    { 16, "BR5" },
2759
    { 17, "BR6" },
2760
    { 18, "ACFW" },
2761
    { 19, "CATR" },
2762
    { 20, "DATR" },
2763
    { 21, "MR" },
2764
    { 22, "TSMS" },
2765
    { 23, "VFG" },
2766
    { 24, "SFTR" },
2767
    { 25, "ETOE" },
2768
    { 26, "DST2" },
2769
    { 27, "TD2" },
2770
    { 28, "AINR" },
2771
    { 29, "STRB" },
2772
    { 30, "AXBF" },
2773
    { 0, NULL }
2774
};
2775
static value_string_ext c15_dev_types_ext = VALUE_STRING_EXT_INIT(c15_dev_types);
2776
static const value_string c15_event_types[] = {
2777
    { 0, "DISC" },
2778
    { 1, "CONN" },
2779
    { 2, "DIGT" },
2780
    { 3, "TO" },
2781
    { 4, "RGFL" },
2782
    { 5, "FLSH" },
2783
    { 6, "WINK" },
2784
    { 7, "NONE" },
2785
    { 8, "COIN" },
2786
    { 9, "ANI" },
2787
    { 10, "OPLS" },
2788
    { 11, "RSRC" },
2789
    { 12, "PBLK" },
2790
    { 13, "SOW" },
2791
    { 14, "RGON" },
2792
    { 15, "RGOF" },
2793
    { 16, "LOW" },
2794
    { 17, "LITTI" },
2795
    { 18, "AUXT" },
2796
    { 19, "NLRS" },
2797
    { 20, "NLRE" },
2798
    { 21, "ITTK" },
2799
    { 22, "DSPL" },
2800
    { 23, "MLWK" },
2801
    { 24, "CONT" },
2802
    { 25, "ROW" },
2803
    { 26, "CPSC" },
2804
    { 27, "PEPR" },
2805
    { 28, "DST" },
2806
    { 29, "PLSN" },
2807
    { 30, "CHNL" },
2808
    { 31, "HMPE" },
2809
    { 32, "LTBT" },
2810
    { 33, "MMB" },
2811
    { 34, "FLTY" },
2812
    { 35, "VAXS" },
2813
    { 36, "MTCE" },
2814
    { 37, "TSON" },
2815
    { 38, "TSNO" },
2816
    { 39, "TMAP" },
2817
    { 40, "RMOV" },
2818
    { 41, "CTU" },
2819
    /* 42 unused */
2820
    { 43, "COMP" },
2821
    /* 44 unused */
2822
    { 45, "TNPL" },
2823
    { 46, "SCP" },
2824
    { 47, "ACRT" },
2825
    { 48, "CPST" },
2826
    { 49, "ACM" },
2827
    { 50, "ANM" },
2828
    { 51, "BLO" },
2829
    { 52, "CCRI" },
2830
    { 53, "CCRO" },
2831
    { 54, "COTP" },
2832
    { 55, "COTF" },
2833
    { 56, "COTT" },
2834
    { 57, "CRA" },
2835
    { 58, "CVR" },
2836
    { 59, "EXM" },
2837
    { 60, "IAM" },
2838
    { 61, "LPA" },
2839
    { 62, "REL" },
2840
    { 63, "RES" },
2841
    { 64, "RLC" },
2842
    { 65, "RSC" },
2843
    { 66, "SUS" },
2844
    { 67, "UCIC" },
2845
    { 68, "CLID" },
2846
    { 69, "MONY" },
2847
    { 70, "XPML" },
2848
    { 71, "OVLT" },
2849
    { 72, "SLET" },
2850
    { 73, "CNAT" },
2851
    { 74, "KEY" },
2852
    { 75, "HOLD" },
2853
    { 76, "RTRV" },
2854
    { 77, "COT8" },
2855
    { 78, "DATL" },
2856
    { 79, "FKEY" },
2857
    { 80, "ABRT" },
2858
    { 81, "TCAP" },
2859
    { 82, "SETP" },
2860
    { 83, "FACT" },
2861
    { 84, "PROC" },
2862
    { 85, "ALRT" },
2863
    { 86, "HDAK" },
2864
    { 87, "HDRJ" },
2865
    { 88, "KSAC" },
2866
    { 89, "RTAK" },
2867
    { 90, "RTRJ" },
2868
    { 91, "STAT" },
2869
    { 92, "ISFC" },
2870
    { 93, "CPG" },
2871
    { 94, "ALTW" },
2872
    { 95, "ALTD" },
2873
    { 96, "ALTN" },
2874
    { 97, "ALTP" },
2875
    { 98, "ALTQ" },
2876
    { 99, "FACW" },
2877
    { 100, "PROG" },
2878
    { 101, "BRDG" },
2879
    { 102, "AIU" },
2880
    { 103, "FAC" },
2881
    { 104, "SRNG" },
2882
    { 105, "PCAV" },
2883
    { 106, "CXID" },
2884
    { 107, "INVT" },
2885
    { 108, "REFR" },
2886
    { 109, "SVND" },
2887
    { 110, "TL1D" },
2888
    { 111, "INDG" },
2889
    { 112, "TL1M" },
2890
    { 113, "INVR" },
2891
    {   0, NULL}
2892
};
2893
static value_string_ext c15_event_types_ext = VALUE_STRING_EXT_INIT(c15_event_types);
2894
2895
#define C15_INC_GWE_NONE       0
2896
14
#define C15_INC_GWE_REPLY      1
2897
14
#define C15_INC_GWE_BC_PGI     2
2898
14
#define C15_INC_GWE_MGCP_DLCX  3
2899
14
#define C15_INC_GWE_H248_DIGIT    4
2900
14
#define C15_INC_GWE_VOIP_COT      5
2901
14
#define C15_INC_GWE_NOTIFY        6
2902
14
#define C15_INC_GWE_ADMN_UPDT_REC 7
2903
14
#define C15_INC_GWE_CL_SETUP      8
2904
14
#define C15_INC_GWE_PTRK_SETUP    9
2905
14
#define C15_INC_GWE_CL_PROG      10
2906
14
#define C15_INC_GWE_CL_ANS       11
2907
14
#define C15_INC_GWE_CL_REL       12
2908
14
#define C15_INC_GWE_NTWK_MOD     13
2909
14
#define C15_INC_GWE_RV_AVAIL     14
2910
14
#define C15_INC_GWE_CL_REDIR     15
2911
14
#define C15_INC_GWE_CL_REFER     16
2912
14
#define C15_INC_GWE_CHG_HDL      17
2913
14
#define C15_INC_GWE_SUBS_CHG_HDL 18
2914
14
#define C15_INC_GWE_INFO         19
2915
14
#define C15_INC_GWE_INV_REPL     20
2916
14
#define C15_INC_GWE_ADMN_DN      21
2917
14
#define C15_INC_GWE_SUA_REPLY    22
2918
14
#define C15_INC_GWE_SUA_HNDL     23
2919
14
#define C15_INC_GWE_SUA_TGH_STAT 24
2920
2921
2922
/* Dissector Table */
2923
static dissector_table_t c15ch_inc_gwe_dissector_table;
2924
2925
/* Fields */
2926
static int hf_c15ch_inc_gwe;
2927
static int hf_c15ch_inc_gwe_ni;
2928
static int hf_c15ch_inc_gwe_tn;
2929
static int hf_c15ch_inc_gwe_ni_tn;
2930
static int hf_c15ch_inc_gwe_taskid;
2931
static int hf_c15ch_inc_gwe_fiatid_invalid;
2932
static int hf_c15ch_inc_gwe_fiatid_bc;
2933
static int hf_c15ch_inc_gwe_fiatid_mtce;
2934
static int hf_c15ch_inc_gwe_fiatid_om;
2935
static int hf_c15ch_inc_gwe_fiatid_h248;
2936
static int hf_c15ch_inc_gwe_fiatid_sua;
2937
static int hf_c15ch_inc_gwe_fiatid_mgcp;
2938
static int hf_c15ch_inc_gwe_fiatid_sip_notify;
2939
static int hf_c15ch_inc_gwe_fiatid_admn;
2940
static int hf_c15ch_inc_gwe_datatype;
2941
2942
2943
/* labels */
2944
2945
2946
static int * const fiatid_table[] = {
2947
    /* one entry for each Task type */
2948
    &hf_c15ch_inc_gwe_fiatid_invalid,
2949
    &hf_c15ch_inc_gwe_fiatid_bc,
2950
    &hf_c15ch_inc_gwe_fiatid_mtce,
2951
    &hf_c15ch_inc_gwe_fiatid_om,
2952
    &hf_c15ch_inc_gwe_fiatid_h248,
2953
    &hf_c15ch_inc_gwe_fiatid_sua,
2954
    &hf_c15ch_inc_gwe_fiatid_mgcp,
2955
    &hf_c15ch_inc_gwe_fiatid_sip_notify,
2956
    &hf_c15ch_inc_gwe_fiatid_admn
2957
};
2958
2959
/*static const uint8_t FIRST_TASK_TYPE_INDEX = 0;*/
2960
static const uint8_t LAST_TASK_TYPE_INDEX = 8;
2961
2962
2963
static const value_string c15inc_gwe_task_types[] = {
2964
    { 0, "GWE_TK_INVALID" },
2965
    { 1, "GWE_TK_BC" },
2966
    { 2, "GWE_TK_MTCE" },
2967
    { 3, "GWE_TK_OM" },
2968
    { 4, "GWE_TK_H248" },
2969
    { 5, "GWE_TK_SUA" },
2970
    { 6, "GWE_TK_MGCP" },
2971
    { 7, "GWE_TK_SIP_NOTIFY" },
2972
    { 8, "GWE_TK_ADMN" },
2973
    { 0, NULL }
2974
};
2975
2976
#if 0
2977
static const uint8_t INVALID_TASK_TYPE_VAL;
2978
#endif
2979
2980
static const value_string c15inc_gwe_bc_fiat_types[] = {
2981
    { 0, "GW_FT_INVALID" },
2982
    { 1, "GWE_FT_REPLY" },
2983
    { 2, "GWE_FT_BC_PGI" },
2984
    { 3, "GWE_FT_MGCP_DLCX" },
2985
    { 0, NULL }
2986
};
2987
2988
static const value_string c15inc_gwe_mtce_fiat_types[] = {
2989
    { 0, "GW_FT_INVALID" },
2990
    { 1, "GWE_FT_REPLY" },
2991
    { 2, "GWE_FT_GRACEFUL" },
2992
    { 3, "GWE_FT_FORCED" },
2993
    { 4, "GWE_FT_RESTART" },
2994
    { 5, "GWE_FT_DISCNCT" },
2995
    { 6, "GWE_FT_HANDOFF" },
2996
    { 7, "GWE_FT_FAILOVER" },
2997
    { 8, "GWE_FT_LN_DLCX" },
2998
    { 9, "GWE_FT_LN_GRCFL" },
2999
    { 10, "GWE_FT_LN_FRCD" },
3000
    { 11, "GWE_FT_LN_RSTRT" },
3001
    { 12, "GWE_FT_DS1_GRCFL" },
3002
    { 13, "GWE_FT_DS1_FRCD" },
3003
    { 14, "GWE_FT_DS1_RSTRT" },
3004
    { 15, "GWE_FT_TRK_GRCFL" },
3005
    { 16, "GWE_FT_TRK_FRCD" },
3006
    { 17, "GWE_FT_TRK_RSTRT" },
3007
    { 18, "GWE_FT_ALLDS1_GRCL" },
3008
    { 19, "GWE_FT_ALLDS1_FRCD" },
3009
    { 20, "GWE_FT_ALLDS1_GRCFL" },
3010
    { 21, "GWE_FT_LN_DISCNCT" },
3011
    { 0, NULL }
3012
};
3013
3014
static const value_string c15inc_gwe_om_fiat_types[] = {
3015
    { 0, "GW_FT_INVALID" },
3016
    { 1, "GWE_FT_REPLY" },
3017
    { 0, NULL }
3018
};
3019
3020
static const value_string c15inc_gwe_h248_mgcp_fiat_types[] = {
3021
    { 0, "GW_FT_INVALID" },
3022
    { 1, "GWE_FT_REPLY" },
3023
    { 2, "GWE_FT_OFHK" },
3024
    { 3, "GWE_FT_ONHK" },
3025
    { 4, "GWE_FT_DIGIT" },
3026
    { 5, "GWE_FT_FLASH" },
3027
    { 6, "GWE_FT_COT" },
3028
    { 7, "GWE_FT_FAX_NTFY" },
3029
    { 8, "GWE_FT_MDM_NTFY" },
3030
    { 0, NULL }
3031
};
3032
3033
static const value_string c15inc_gwe_sua_fiat_types[] = {
3034
    { 0, "GW_FT_INVALID" },
3035
    { 1, "GWE_FT_REPLY" },
3036
    { 2, "GWE_FT_OFHK" },
3037
    { 3, "GWE_FT_ONHK" },
3038
    { 4, "GWE_FT_CL_SETUP" },
3039
    { 5, "GWE_FT_CL_PROG" },
3040
    { 6, "GWE_FT_CL_ANS" },
3041
    { 7, "GWE_FT_CL_REL" },
3042
    { 8, "GWE_FT_NTWK_MOD" },
3043
    { 9, "GWE_FT_RV_AVAIL" },
3044
    { 10, "GWE_FT_CL_REDIR" },
3045
    { 11, "GWE_FT_CL_REFER" },
3046
    { 12, "GWE_FT_PTRK_CL_SETUP" },
3047
    { 13, "GWE_FT_CHG_HDL" },
3048
    { 14, "GWE_FT_SUBS_CHG_HDL" },
3049
    { 15, "GWE_FT_INFO" },
3050
    { 16, "GWE_FT_INV_REPL" },
3051
    { 17, "GWE_FT_TGH_STAT" },
3052
    { 0, NULL }
3053
};
3054
3055
static const value_string c15inc_gwe_sip_notify_fiat_types[] = {
3056
    { 0, "GWE_FT_MWI_NOTIFY" },
3057
    { 1, "GWE_FT_REMINDER_NOTIFY" },
3058
    { 2, "GWE_FT_REFER_NOTIFY" },
3059
    { 0, NULL }
3060
};
3061
3062
static const value_string c15inc_gwe_admn_fiat_types[] = {
3063
    { 0, "GWE_FT_INVALID" },
3064
    { 1, "GWE_FT_ADMN_SUBS" },
3065
    { 2, "GWE_FT_ADMN_UNSUBS" },
3066
    { 3, "GWE_FT_ADMN_UPDT_REC_ADDR" },
3067
    { 4, "GWE_FT_ADMN_UA_RESP" },
3068
    { 0, NULL }
3069
};
3070
3071
static const value_string * const fiat_name_tables[] = {
3072
    /* correspond to members of c15inc_gwe_task_types */
3073
    NULL, /* corresponds to c15inc_gwe_task_types[0] i.e. GWE_TK_INVALID */
3074
    c15inc_gwe_bc_fiat_types,
3075
    c15inc_gwe_mtce_fiat_types,
3076
    c15inc_gwe_om_fiat_types,
3077
    c15inc_gwe_h248_mgcp_fiat_types,
3078
    c15inc_gwe_sua_fiat_types,
3079
    c15inc_gwe_h248_mgcp_fiat_types,
3080
    c15inc_gwe_sip_notify_fiat_types,
3081
    c15inc_gwe_admn_fiat_types
3082
};
3083
static const uint8_t FIRST_FIAT_NAME_TABLE_INDEX  = 1;  /* First valid index. */
3084
static const uint8_t LAST_FIAT_NAME_TABLE_INDEX = 8;
3085
3086
static const value_string c15inc_gwe_types[] = {
3087
    { C15_INC_GWE_NONE, "IN_DATA_NONE" },
3088
    { C15_INC_GWE_REPLY, "REPLY" },
3089
    { C15_INC_GWE_BC_PGI, "BC_PGI" },
3090
    { C15_INC_GWE_MGCP_DLCX, "MGCP_DLCX" },
3091
    { C15_INC_GWE_H248_DIGIT, "H248_DIGIT" },
3092
    { C15_INC_GWE_VOIP_COT, "VOIP_COT" },
3093
    { C15_INC_GWE_NOTIFY, "NOTIFY" },
3094
    { C15_INC_GWE_ADMN_UPDT_REC, "ADMN_UPDT_REC" },
3095
    { C15_INC_GWE_CL_SETUP, "CL_SETUP" },
3096
    { C15_INC_GWE_PTRK_SETUP, "PTRK_SETUP" },
3097
    { C15_INC_GWE_CL_PROG, "CL_PROG" },
3098
    { C15_INC_GWE_CL_ANS, "CL_ANS" },
3099
    { C15_INC_GWE_CL_REL, "CL_REL" },
3100
    { C15_INC_GWE_NTWK_MOD, "NTWK_MOD" },
3101
    { C15_INC_GWE_RV_AVAIL, "RV_AVAIL" },
3102
    { C15_INC_GWE_CL_REDIR, "CL_REDIR" },
3103
    { C15_INC_GWE_CL_REFER, "CL_REFER" },
3104
    { C15_INC_GWE_CHG_HDL, "CHG_HDL" },
3105
    { C15_INC_GWE_SUBS_CHG_HDL, "SUBS_CHG_HDL" },
3106
    { C15_INC_GWE_INFO, "INFO" },
3107
    { C15_INC_GWE_INV_REPL, "INV_REPL" },
3108
    { C15_INC_GWE_ADMN_DN, "ADMN_DN" },
3109
    { C15_INC_GWE_SUA_REPLY, "INC_SUA_REPLY" },
3110
    { C15_INC_GWE_SUA_HNDL, "INC_SUA_HANDL" },
3111
    { C15_INC_GWE_SUA_TGH_STAT, "INC_SUA_TGH_STAT" },
3112
    { 0, NULL }
3113
};
3114
static value_string_ext c15inc_gwe_types_ext = VALUE_STRING_EXT_INIT(c15inc_gwe_types);
3115
3116
/* Protocol for all third-level Inc GWE dissection */
3117
static int proto_c15ch_third_level_inc_gwe;
3118
3119
static int ett_c15ch_third_level_inc_gwe;
3120
static int ett_c15ch_third_level_inc_gwe_sub1;
3121
3122
3123
/* Fields */
3124
static int hf_c15ch_inc_gwe_admn_dn;
3125
static int hf_c15ch_inc_gwe_admn_dn_ip_gwe_sua_hndl;
3126
static int hf_c15ch_inc_gwe_admn_dn_ip_gwe_digits;
3127
3128
3129
/* Fields */
3130
static int hf_c15ch_inc_gwe_admn_updt;
3131
static int hf_c15ch_inc_gwe_admn_updt_ip_gwe_med_ni;
3132
static int hf_c15ch_inc_gwe_admn_updt_ip_gwe_med_tn;
3133
static int hf_c15ch_inc_gwe_admn_updt_ip_gwe_med_ni_tn;
3134
static int hf_c15ch_inc_gwe_admn_updt_ip_ns_iface;
3135
static int hf_c15ch_inc_gwe_admn_updt_ip_ns_terminal;
3136
static int hf_c15ch_inc_gwe_admn_updt_ip_gwe_new_rec_addr;
3137
3138
/* Fields */
3139
static int hf_c15ch_inc_gwe_bc_pgi;
3140
static int hf_c15ch_inc_gwe_bc_pgi_pbc_conn_num;
3141
static int hf_c15ch_inc_gwe_bc_pgi_pbc_conn_type;
3142
static int hf_c15ch_inc_gwe_bc_pgi_pbc_msg_type;
3143
static int hf_c15ch_inc_gwe_bc_pgi_bc_mode;
3144
static int hf_c15ch_inc_gwe_bc_pgi_bc_pgi_sdp;
3145
static int hf_c15ch_inc_gwe_bc_pgi_bc_pgi_m_port;
3146
static int hf_c15ch_inc_gwe_bc_pgi_pbc_tst_flags;
3147
3148
/* Field Labels */
3149
static const value_string c15_inc_gwe_bc_pgi_pbc_conn_types[] = {
3150
    { 1, "TDM Internetworking" },
3151
    { 2, "Media Portal" },
3152
    { 3, "Conference" },
3153
    { 4, "Optimized Conn" },
3154
    { 0, NULL }
3155
};
3156
3157
/* Subtree */
3158
#if 0
3159
static int ett_c15ch_inc_gwe_bc_pgi;
3160
#endif
3161
3162
/* Fields */
3163
static int hf_c15ch_inc_gwe_chg_hndl;
3164
static int hf_c15ch_inc_gwe_chg_hndl_ip_gwe_sua_hndl;
3165
static int hf_c15ch_inc_gwe_chg_hndl_ip_gwe_new_hndl;
3166
3167
3168
/* Fields */
3169
static int hf_c15ch_inc_gwe_cl_ans;
3170
static int hf_c15ch_inc_gwe_cl_ans_ip_gwe_sua_hndl;
3171
static int hf_c15ch_inc_gwe_cl_ans_ip_gwe_conn_num;
3172
static int hf_c15ch_inc_gwe_cl_ans_ip_cl_ans_lsdp;
3173
static int hf_c15ch_inc_gwe_cl_ans_ip_cl_ans_m_port;
3174
static int hf_c15ch_inc_gwe_cl_ans_encap_isup;
3175
3176
/* Fields */
3177
static int hf_c15ch_inc_gwe_cl_prog;
3178
static int hf_c15ch_inc_gwe_cl_prog_ip_gwe_sua_hndl;
3179
static int hf_c15ch_inc_gwe_cl_prog_ip_gwe_conn_num;
3180
static int hf_c15ch_inc_gwe_cl_prog_ip_cl_prog_lsdp;
3181
static int hf_c15ch_inc_gwe_cl_prog_ip_cl_prog_m_port;
3182
static int hf_c15ch_inc_gwe_cl_prog_ip_gwe_stat_code;
3183
static int hf_c15ch_inc_gwe_cl_prog_encap_isup;
3184
3185
/* Fields */
3186
static int hf_c15ch_inc_gwe_cl_redir;
3187
static int hf_c15ch_inc_gwe_cl_redir_ip_gwe_sua_hndl;
3188
static int hf_c15ch_inc_gwe_cl_redir_ip_gwe_conn_num;
3189
static int hf_c15ch_inc_gwe_cl_redir_ip_gwe_redir_digits;
3190
3191
3192
/* Fields */
3193
static int hf_c15ch_inc_gwe_cl_refer;
3194
static int hf_c15ch_inc_gwe_cl_refer_ip_gwe_sua_hndl;
3195
static int hf_c15ch_inc_gwe_cl_refer_ip_gwe_conn_num;
3196
static int hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_digits;
3197
static int hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_ni;
3198
static int hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_tn;
3199
static int hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_ni_tn;
3200
3201
3202
/* Fields */
3203
static int hf_c15ch_inc_gwe_cl_rel;
3204
static int hf_c15ch_inc_gwe_cl_rel_ip_gwe_sua_hndl;
3205
static int hf_c15ch_inc_gwe_cl_rel_ip_gwe_conn_num;
3206
static int hf_c15ch_inc_gwe_cl_rel_ip_gwe_stat_code;
3207
static int hf_c15ch_inc_gwe_cl_rel_encap_isup;
3208
3209
3210
3211
/* Fields */
3212
static int hf_c15ch_inc_gwe_cl_setup;
3213
static int hf_c15ch_inc_gwe_cl_setup_ip_gwe_sua_hndl;
3214
static int hf_c15ch_inc_gwe_cl_setup_ip_gwe_cled_digits;
3215
static int hf_c15ch_inc_gwe_cl_setup_ip_cl_setup_lsdp;
3216
static int hf_c15ch_inc_gwe_cl_setup_ip_cl_setup_m_port;
3217
3218
3219
/* Fields */
3220
static int hf_c15ch_inc_gwe_h248_digit;
3221
static int hf_c15ch_inc_gwe_h248_digit_ip_gwe_digit;
3222
static int hf_c15ch_inc_gwe_h248_digit_ip_gwe_digit_method;
3223
3224
3225
/* Fields */
3226
static int hf_c15ch_inc_gwe_info;
3227
static int hf_c15ch_inc_gwe_info_ip_gwe_sua_hndl;
3228
static int hf_c15ch_inc_gwe_info_ip_gwe_info_type;
3229
static int hf_c15ch_inc_gwe_info_ip_gwe_info_digit;
3230
static int hf_c15ch_inc_gwe_info_encap_isup_msg_type;
3231
3232
/* value_string arrays to label fields */
3233
/* These two encapsulated isup message types are the only valid ones for this field. */
3234
static const value_string c15ch_inc_gwe_info_encap_isup_msg_types[] = {
3235
    { 13, "Suspend Message" },
3236
    { 14, "Resume Message" },
3237
    { 0, NULL }
3238
};
3239
3240
/* Fields */
3241
static int hf_c15ch_inc_gwe_inv_repl;
3242
static int hf_c15ch_inc_gwe_inv_repl_ip_gwe_sua_hndl;
3243
static int hf_c15ch_inc_gwe_inv_repl_ip_gwe_conn_num;
3244
static int hf_c15ch_inc_gwe_inv_repl_ip_inv_repl_rsdp_ip;
3245
static int hf_c15ch_inc_gwe_inv_repl_ip_inv_repl_rsdp_port;
3246
3247
/* Fields */
3248
static int hf_c15ch_inc_gwe_mgcp_dlcx;
3249
static int hf_c15ch_inc_gwe_mgcp_dlcx_err_code;
3250
3251
/* Fields */
3252
static int hf_c15ch_inc_gwe_notify;
3253
static int hf_c15ch_inc_gwe_notify_ip_gwe_mwi_stat;
3254
static int hf_c15ch_inc_gwe_notify_ip_gwe_digits;
3255
3256
/* Fields */
3257
static int hf_c15ch_inc_gwe_ntwk_mod;
3258
static int hf_c15ch_inc_gwe_ntwk_mod_ip_gwe_sua_hndl;
3259
static int hf_c15ch_inc_gwe_ntwk_mod_ip_gwe_conn_num;
3260
static int hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_lsdp;
3261
static int hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_l_m_port;
3262
static int hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_rsdp;
3263
static int hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_r_m_port;
3264
static int hf_c15ch_inc_gwe_ntwk_mod_ip_gwe_stat_code;
3265
3266
3267
/* Fields */
3268
static int hf_c15ch_inc_gwe_ptrk_setup;
3269
static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_sua_hndl;
3270
static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_cled_digits;
3271
static int hf_c15ch_inc_gwe_ptrk_setup_ip_cl_setup_lsdp;
3272
static int hf_c15ch_inc_gwe_ptrk_setup_ip_cl_setup_m_port;
3273
static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clid_pri;
3274
static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clng_digits;
3275
static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clng_ton;
3276
static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clng_np;
3277
static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_alert_info;
3278
static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_redir_digits;
3279
static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_redir_ton;
3280
static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_redir_np;
3281
static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_ocn_digits;
3282
static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_chrg_digits;
3283
static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_chrg_noa;
3284
static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_chrg_npi;
3285
static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_npdi;
3286
static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_rn_digits;
3287
static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_cic_digits;
3288
static int hf_c15ch_inc_gwe_ptrk_setup_encap_isup;
3289
3290
/* Fields */
3291
static int hf_c15ch_inc_gwe_reply;
3292
static int hf_c15ch_inc_gwe_reply_ip_gwe_msg_type;
3293
static int hf_c15ch_inc_gwe_reply_ip_gwe_stat_code;
3294
static int hf_c15ch_inc_gwe_reply_ip_gwe_conn_num;
3295
static int hf_c15ch_inc_gwe_reply_nw_mdcn_lsdp_ip;
3296
static int hf_c15ch_inc_gwe_reply_nw_mdcn_lsdp_port;
3297
static int hf_c15ch_inc_gwe_reply_nw_mdcn_rsdp_ip;
3298
static int hf_c15ch_inc_gwe_reply_nw_mdcn_rsdp_port;
3299
3300
/* Fields */
3301
static int hf_c15ch_inc_gwe_rv_avail;
3302
static int hf_c15ch_inc_gwe_rv_avail_ip_gwe_sua_hndl;
3303
static int hf_c15ch_inc_gwe_rv_avail_ip_gwe_conn_num;
3304
static int hf_c15ch_inc_gwe_rv_avail_ip_gwe_info_len;
3305
3306
/* Fields */
3307
static int hf_c15ch_inc_gwe_sua_hndl;
3308
static int hf_c15ch_inc_gwe_sua_hndl_ip_gwe_sua_hndl;
3309
3310
/* Fields */
3311
static int hf_c15ch_inc_gwe_sua_reply;
3312
static int hf_c15ch_inc_gwe_sua_reply_ip_gwe_sua_hndl;
3313
static int hf_c15ch_inc_gwe_sua_reply_ip_gwe_msg_type;
3314
static int hf_c15ch_inc_gwe_sua_reply_ip_gwe_stat_code;
3315
static int hf_c15ch_inc_gwe_sua_reply_ip_gwe_conn_num;
3316
static int hf_c15ch_inc_gwe_sua_reply_nw_mdcn_lsdp_ip;
3317
static int hf_c15ch_inc_gwe_sua_reply_nw_mdcn_lsdp_port;
3318
static int hf_c15ch_inc_gwe_sua_reply_nw_mdcn_rsdp_ip;
3319
static int hf_c15ch_inc_gwe_sua_reply_nw_mdcn_rsdp_port;
3320
3321
/* Fields */
3322
static int hf_c15ch_inc_gwe_subs_chg_hndl;
3323
static int hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_sua_hndl;
3324
static int hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_new_hndl;
3325
static int hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_med_ni;
3326
static int hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_med_tn;
3327
static int hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_med_ni_tn;
3328
3329
/* Fields */
3330
static int hf_c15ch_inc_gwe_tgh_stat;
3331
static int hf_c15ch_inc_gwe_tgh_stat_ip_gwe_sua_hndl;
3332
static int hf_c15ch_inc_gwe_tgh_stat_ip_gwe_tgh_state;
3333
3334
/* value_string arrays to label fields */
3335
3336
static const value_string tgh_state_types[] = {
3337
    { 0, "In-Service" },
3338
    { 1, "Acquiring" },
3339
    { 2, "Out-of-Service" },
3340
    { 0, NULL }
3341
};
3342
3343
/* Fields */
3344
static int hf_c15ch_inc_gwe_voip_cot;
3345
static int hf_c15ch_inc_gwe_voip_cot_ip_gwe_pass_code;
3346
3347
/* Field Labels */
3348
static const true_false_string c15_inc_gwe_voip_cot_ip_gwe_pass_code_types = {
3349
       "Success", /*string for 1*/
3350
       "Failure"  /*string for 0*/
3351
};
3352
3353
#if 0
3354
/* Subtree */
3355
static int ett_c15ch_inc_gwe_voip_cot;
3356
#endif
3357
3358
/* out gwe */
3359
3360
#define C15_OUT_GWE_NONE       0
3361
14
#define C15_OUT_GWE_DIGIT_SCAN 1
3362
14
#define C15_OUT_GWE_CONN_NUM   2
3363
14
#define C15_OUT_GWE_MK_CONN    3
3364
14
#define C15_OUT_GWE_MD_CONN    4
3365
14
#define C15_OUT_GWE_CALL_ANS   5
3366
14
#define C15_OUT_GWE_CALL_SETUP 6
3367
14
#define C15_OUT_GWE_CALL_PROG  7
3368
14
#define C15_OUT_GWE_CALL_NOTIFY 8
3369
14
#define C15_OUT_GWE_CALL_REL    9
3370
14
#define C15_OUT_GWE_UPDT_NI_TN 10
3371
14
#define C15_OUT_GWE_PCM_DATA   11
3372
14
#define C15_OUT_GWE_BLF_DATA   12
3373
14
#define C15_OUT_GWE_COT        13
3374
14
#define C15_OUT_GWE_RING_LINE  14
3375
14
#define C15_OUT_GWE_AUDIT_CONN 15
3376
14
#define C15_OUT_GWE_SAC_SUB_VALID  16
3377
14
#define C15_OUT_GWE_SAC_NOTIFY     17
3378
14
#define C15_OUT_GWE_SAC_LIST_ENTRY 18
3379
14
#define C15_OUT_GWE_RV_SUBS_DATA   19
3380
14
#define C15_OUT_GWE_UPDT_REC_ADDR  20
3381
14
#define C15_OUT_GWE_DEL_SUBS_UA    21
3382
14
#define C15_OUT_GWE_LINE_SPRVSN    22
3383
14
#define C15_OUT_GWE_SIP_INFO       23
3384
14
#define C15_OUT_GWE_SIP_REFER      24
3385
3386
static int ett_c15ch_third_level_out_gwe;
3387
static int ett_c15ch_third_level_out_gwe_sub1;
3388
static int ett_c15ch_third_level_out_gwe_sub2;
3389
3390
static int proto_c15ch_third_level_out_gwe;
3391
3392
/* Dissector Table */
3393
static dissector_table_t c15ch_out_gwe_dissector_table;
3394
3395
/* Fields */
3396
static int hf_c15ch_out_gwe;
3397
static int hf_c15ch_out_gwe_ni;
3398
static int hf_c15ch_out_gwe_tn;
3399
static int hf_c15ch_out_gwe_ni_tn;
3400
static int hf_c15ch_out_gwe_op_gwe_msg_type;
3401
static int hf_c15ch_out_gwe_op_gwe_protocol;
3402
static int hf_c15ch_out_gwe_op_sua_hndl;
3403
static int hf_c15ch_out_gwe_gwe_data_type;
3404
3405
#if 0
3406
/* Subtree */
3407
static int ett_c15ch_out_gwe;
3408
static int ett_c15ch_out_gwe_sub_ni_tn;
3409
#endif
3410
3411
/* value labels for fields*/
3412
static const value_string c15_out_gwe_data_types[] = {
3413
    { C15_OUT_GWE_NONE, "OUT_DATA_NONE" },
3414
    { C15_OUT_GWE_DIGIT_SCAN, "DIGIT_SCAN" },
3415
    { C15_OUT_GWE_CONN_NUM, "CONN_NUM" },
3416
    { C15_OUT_GWE_MK_CONN, "MK_CONN" },
3417
    { C15_OUT_GWE_MD_CONN, "MD_CONN" },
3418
    { C15_OUT_GWE_CALL_ANS, "CALL_ANS" },
3419
    { C15_OUT_GWE_CALL_SETUP, "CALL_SETUP" },
3420
    { C15_OUT_GWE_CALL_PROG, "CALL_PROG" },
3421
    { C15_OUT_GWE_CALL_NOTIFY, "CALL_NOTIFY" },
3422
    { C15_OUT_GWE_CALL_REL, "CALL_REL" },
3423
    { C15_OUT_GWE_UPDT_NI_TN, "UPDT_NI_TN" },
3424
    { C15_OUT_GWE_PCM_DATA, "PCM_DATA" },
3425
    { C15_OUT_GWE_BLF_DATA, "BLF_DATA" },
3426
    { C15_OUT_GWE_COT, "GWE_OUT_COT" },
3427
    { C15_OUT_GWE_RING_LINE, "RING_LINE" },
3428
    { C15_OUT_GWE_AUDIT_CONN, "AUDIT_CONN" },
3429
    { C15_OUT_GWE_SAC_SUB_VALID, "SAC_SUB_VALID" },
3430
    { C15_OUT_GWE_SAC_NOTIFY, "SAC_NOTIFY" },
3431
    { C15_OUT_GWE_SAC_LIST_ENTRY, "SAC_LIST_ENTRY" },
3432
    { C15_OUT_GWE_RV_SUBS_DATA, "RV_SUBS_DATA" },
3433
    { C15_OUT_GWE_UPDT_REC_ADDR, "UPDT_REC_ADDR" },
3434
    { C15_OUT_GWE_DEL_SUBS_UA, "DEL_SUBS_UA" },
3435
    { C15_OUT_GWE_LINE_SPRVSN, "LINE_SPRVSN" },
3436
    { C15_OUT_GWE_SIP_INFO, "SIP_INFO" },
3437
    { C15_OUT_GWE_SIP_REFER, "SIP_REFER" },
3438
    { 0, NULL }
3439
};
3440
static value_string_ext c15_out_gwe_data_types_ext = VALUE_STRING_EXT_INIT(c15_out_gwe_data_types);
3441
3442
static const value_string c15_out_gwe_protocol_types[] = {
3443
    { 0, "H248" },
3444
    { 1, "SIP" },
3445
    { 2, "MGCP" },
3446
    { 3, "NCS" },
3447
    { 0, NULL }
3448
};
3449
3450
static const value_string c15_out_gwe_msg_types[] = {
3451
    { 0, "GWE_MSG_INVALID" },
3452
    { 1, "GWE_DIGIT_SCAN" },
3453
    { 2, "GWE_RING_LINE" },
3454
    { 3, "GWE_LINE_SPRVSN" },
3455
    { 4, "GWE_APPLY_TONE" },
3456
    { 5, "GWE_REMOVE_TONE" },
3457
    { 6, "GWE_PHYS_MK_CONN" },
3458
    { 7, "GWE_PHYS_BK_CONN" },
3459
    { 8, "GWE_PHYS_MV_CONN" },
3460
    { 9, "GWE_PHYS_MD_CONN" },
3461
    { 10, "GWE_NTWK_MK_CONN" },
3462
    { 11, "GWE_NTWK_BK_CONN" },
3463
    { 12, "GWE_NTWK_MD_CONN" },
3464
    { 13, "GWE_NODE_SVC_CHG" },
3465
    { 14, "GWE_LINE_SVC_CHG" },
3466
    { 15, "GWE_SEND_RESP" },
3467
    { 16, "GWE_AUDIT_LINE" },
3468
    { 17, "GWE_MSG_PASSTHRU" },
3469
    { 18, "GWE_CALL_ANS" },
3470
    { 19, "GWE_CALL_SETUP" },
3471
    { 20, "GWE_CALL_PROG" },
3472
    { 21, "GWE_CALL_REL" },
3473
    { 22, "GWE_GET_RV_INFO" },
3474
    { 23, "GWE_PUT_RV_INFO" },
3475
    { 24, "GWE_CALL_NOTIFY" },
3476
    { 25, "GWE_UPDT_NI_TN" },
3477
    { 26, "GWE_UA_INFO_XFER" },
3478
    { 27, "GWE_PUT_PCM_DATA" },
3479
    { 28, "GWE_REBUILD_OK" },
3480
    { 29, "GWE_TRK_SVC_CHG" },
3481
    { 30, "GWE_STRT_COT" },
3482
    { 31, "GWE_STOP_COT" },
3483
    { 32, "GWE_RECV_COT" },
3484
    { 33, "GWE_SUBTRACT_ALL" },
3485
    { 34, "GWE_AUDIT_TRK" },
3486
    { 35, "GWE_AUDIT_GW" },
3487
    { 36, "GWE_AUDIT_ROOT" },
3488
    { 37, "GWE_WC_LINE_OFHK" },
3489
    { 38, "GWE_AUD_ROOT_CXTS" },
3490
    { 39, "GWE_SUB_ALL_CXT" },
3491
    { 40, "GWE_SAC_SUB_VALID" },
3492
    { 41, "GWE_SAC_NOTIFY" },
3493
    { 42, "GWE_DEL_NONE" },
3494
    { 43, "GWE_AUDIT_CONN" },
3495
    { 44, "GWE_UPDATE_CALLINGID" },
3496
    { 45, "GWE_PUT_BLF_DATA" },
3497
    { 46, "GWE_PUT_RV_SUBS_DATA" },
3498
    { 47, "GWE_GET_RV_SUBS_DATA" },
3499
    { 48, "GWE_STORE_RV_SUBS_DATA" },
3500
    { 49, "GWE_DEL_RV_SUBS_DATA" },
3501
    { 50, "GWE_UPDT_REC_ADDR" },
3502
    { 51, "GWE_MGCP_DLCX" },
3503
    { 52, "GWE_DEL_SUBS_UA" },
3504
    { 53, "GWE_SUBS_UA_QUE" },
3505
    { 54, "GWE_SIP_INFO" },
3506
    { 55, "GWE_SIP_REFER" },
3507
    { 56, "GWE_UPDT_SDP" },
3508
    { 0, NULL }
3509
};
3510
static value_string_ext c15_out_gwe_msg_types_ext = VALUE_STRING_EXT_INIT(c15_out_gwe_msg_types);
3511
3512
/* Fields */
3513
static int hf_c15ch_out_gwe_audit_conn;
3514
static int hf_c15ch_out_gwe_audit_conn_ni;
3515
static int hf_c15ch_out_gwe_audit_conn_tn;
3516
static int hf_c15ch_out_gwe_audit_conn_ni_tn;
3517
static int hf_c15ch_out_gwe_audit_conn_context;
3518
3519
/* Fields */
3520
static int hf_c15ch_out_gwe_blf_data;
3521
static int hf_c15ch_out_gwe_blf_data_rb_ua_handle;
3522
static int hf_c15ch_out_gwe_blf_data_rb_type;
3523
static int hf_c15ch_out_gwe_blf_data_med_ni;
3524
static int hf_c15ch_out_gwe_blf_data_med_tn;
3525
static int hf_c15ch_out_gwe_blf_data_med_ni_tn;
3526
static int hf_c15ch_out_gwe_blf_data_rb_ni;
3527
static int hf_c15ch_out_gwe_blf_data_rb_tn;
3528
static int hf_c15ch_out_gwe_blf_data_rb_ni_tn;
3529
3530
3531
/* Fields */
3532
static int hf_c15ch_out_gwe_call_ans;
3533
static int hf_c15ch_out_gwe_call_ans_conn_num;
3534
static int hf_c15ch_out_gwe_call_ans_op_cl_ans_rsdp_ip;
3535
static int hf_c15ch_out_gwe_call_ans_op_cl_ans_rsdp_port;
3536
static int hf_c15ch_out_gwe_call_ans_encap_isup;
3537
3538
/* Fields */
3539
static int hf_c15ch_out_gwe_call_notify;
3540
static int hf_c15ch_out_gwe_call_notify_op_gwe_mwi;
3541
static int hf_c15ch_out_gwe_call_notify_status_code;
3542
3543
3544
/* Fields */
3545
static int hf_c15ch_out_gwe_call_prog;
3546
static int hf_c15ch_out_gwe_call_prog_conn_num;
3547
static int hf_c15ch_out_gwe_call_prog_op_gwe_stat_code;
3548
static int hf_c15ch_out_gwe_call_prog_encap_isup;
3549
3550
/* Fields */
3551
static int hf_c15ch_out_gwe_call_rel;
3552
static int hf_c15ch_out_gwe_call_rel_status_code;
3553
static int hf_c15ch_out_gwe_call_rel_encap_isup;
3554
3555
/* Fields */
3556
static int hf_c15ch_out_gwe_call_setup;
3557
static int hf_c15ch_out_gwe_call_setup_conn_num;
3558
static int hf_c15ch_out_gwe_call_setup_op_cl_ans_rsdp_ip;
3559
static int hf_c15ch_out_gwe_call_setup_op_cl_ans_rsdp_port;
3560
3561
static int hf_c15ch_out_gwe_call_setup_op_gwe_redir_digits;
3562
3563
static int hf_c15ch_out_gwe_call_setup_op_gwe_rdir_ton;
3564
static int hf_c15ch_out_gwe_call_setup_op_gwe_rdir_np;
3565
3566
static int hf_c15ch_out_gwe_call_setup_op_gwe_ocn_digits;
3567
3568
static int hf_c15ch_out_gwe_call_setup_op_gwe_chrg_digits;
3569
3570
static int hf_c15ch_out_gwe_call_setup_op_gwe_chrg_noa;
3571
static int hf_c15ch_out_gwe_call_setup_op_gwe_chrg_npi;
3572
3573
static int hf_c15ch_out_gwe_call_setup_encap_isup;
3574
3575
3576
/* Fields */
3577
static int hf_c15ch_out_gwe_conn_num;
3578
static int hf_c15ch_out_gwe_conn_num_out_gwe_conn_num;
3579
3580
3581
/* Fields */
3582
static int hf_c15ch_out_gwe_del_subs_ua;
3583
static int hf_c15ch_out_gwe_del_subs_ua_op_sip_ua_hndl;
3584
3585
3586
/* Fields */
3587
static int hf_c15ch_out_gwe_digit_scan;
3588
static int hf_c15ch_out_gwe_digit_scan_voip_dgmp_override;
3589
static int hf_c15ch_out_gwe_digit_scan_actv_dgmp;
3590
static int hf_c15ch_out_gwe_digit_scan_op_gwe_digit_scan_tone;
3591
static int hf_c15ch_out_gwe_digit_scan_op_gwe_tone_type;
3592
static int hf_c15ch_out_gwe_digit_scan_op_gwe_tone_to;
3593
static int hf_c15ch_out_gwe_digit_scan_op_gwe_digit_flash;
3594
3595
/* Fields */
3596
static int hf_c15ch_out_gwe_line_sprvsn;
3597
static int hf_c15ch_out_gwe_line_sprvsn_op_gwe_ofhk_event;
3598
static int hf_c15ch_out_gwe_line_sprvsn_op_gwe_onhk_event;
3599
static int hf_c15ch_out_gwe_line_sprvsn_op_gwe_flhk_event;
3600
3601
3602
/* Fields */
3603
static int hf_c15ch_out_gwe_md_conn;
3604
static int hf_c15ch_out_gwe_md_conn_conn_num;
3605
static int hf_c15ch_out_gwe_md_conn_status_code;
3606
static int hf_c15ch_out_gwe_md_conn_op_gwe_mode;
3607
3608
/* Fields */
3609
static int hf_c15ch_out_gwe_mk_conn;
3610
static int hf_c15ch_out_gwe_mk_conn_conn_num;
3611
static int hf_c15ch_out_gwe_mk_conn_op_mk_conn_rsdp_ip;
3612
static int hf_c15ch_out_gwe_mk_conn_op_mk_conn_rsdp_port;
3613
3614
/* Fields */
3615
static int hf_c15ch_out_gwe_out_cot;
3616
static int hf_c15ch_out_gwe_out_cot_ni;
3617
static int hf_c15ch_out_gwe_out_cot_tn;
3618
static int hf_c15ch_out_gwe_out_cot_ni_tn;
3619
3620
3621
/* Fields */
3622
static int hf_c15ch_out_gwe_pcm_data;
3623
static int hf_c15ch_out_gwe_pcm_data_rb_ua_handle_near;
3624
static int hf_c15ch_out_gwe_pcm_data_rb_ua_handle_far;
3625
3626
/* Fields */
3627
static int hf_c15ch_out_gwe_ring_line;
3628
static int hf_c15ch_out_gwe_ring_line_op_gwe_display;
3629
static int hf_c15ch_out_gwe_ring_line_op_gwe_display_chars;
3630
3631
3632
/* Fields */
3633
static int hf_c15ch_out_gwe_rv_subs_data;
3634
static int hf_c15ch_out_gwe_rv_subs_data_rb_fe_ni;
3635
static int hf_c15ch_out_gwe_rv_subs_data_rb_fe_tn;
3636
static int hf_c15ch_out_gwe_rv_subs_data_rb_fe_ni_tn;
3637
3638
3639
/* Fields */
3640
static int hf_c15ch_out_gwe_sac_list_entry;
3641
static int hf_c15ch_out_gwe_sac_list_entry_op_gwe_med_uri;
3642
3643
3644
/* Fields */
3645
static int hf_c15ch_out_gwe_sac_notify;
3646
static int hf_c15ch_out_gwe_sac_notify_op_gwe_blf_state;
3647
static int hf_c15ch_out_gwe_sac_notify_op_gwe_subs_state;
3648
3649
3650
/* Fields */
3651
static int hf_c15ch_out_gwe_sac_sub_valid;
3652
static int hf_c15ch_out_gwe_sac_sub_valid_op_gwe_subs_valid;
3653
static int hf_c15ch_out_gwe_sac_sub_valid_op_gwe_num_list_items;
3654
3655
3656
/* Fields */
3657
static int hf_c15ch_out_gwe_sip_info;
3658
static int hf_c15ch_out_gwe_sip_info_op_gwe_sip_info;
3659
static int hf_c15ch_out_gwe_sip_info_op_gwe_sip_info_type;
3660
3661
/* Fields */
3662
static int hf_c15ch_out_gwe_sip_refer;
3663
static int hf_c15ch_out_gwe_sip_refer_op_gwe_refer_ua_hndl;
3664
3665
/* Fields */
3666
static int hf_c15ch_out_gwe_update_ni_tn;
3667
static int hf_c15ch_out_gwe_update_ni_tn_ni;
3668
static int hf_c15ch_out_gwe_update_ni_tn_tn;
3669
static int hf_c15ch_out_gwe_update_ni_tn_ni_tn;
3670
3671
3672
/* Fields */
3673
static int hf_c15ch_out_gwe_update_rec_addr;
3674
static int hf_c15ch_out_gwe_update_rec_addr_op_new_rec_addr;
3675
3676
/* tone */
3677
3678
14
#define C15_TONE_TONE_CONTROL 1
3679
14
#define C15_TONE_GIVE_TONE    2
3680
14
#define C15_TONE_OPLS         3
3681
14
#define C15_TONE_COT          4
3682
14
#define C15_TONE_CPM          5
3683
14
#define C15_TONE_RCVR         6
3684
14
#define C15_TONE_MADN_RING    7
3685
14
#define C15_TONE_TIMEOUT      8
3686
3687
static const value_string tone_types[] = {
3688
    { 0, "None" },
3689
    { 1, "Rgbk" },
3690
    { 2, "Ovflw" },
3691
    { 3, "Dial" },
3692
    { 4, "Howler/Rcvr Off Hook" },
3693
    { 5, "Busy" },
3694
    { 6, "Drop" },
3695
    { 7, "COS_H" },
3696
    { 8, "COS_L" },
3697
    { 9, "Short Howl/Short Rcvr Off Hook" },
3698
    { 10, "Con Rgbk" },
3699
    { 11, "Low" },
3700
    { 12, "High" },
3701
    { 13, "Short Busy" },
3702
    { 14, "Short Ovflw" },
3703
    { 15, "Short Dial" },
3704
    { 16, "Test 5 Sec" },
3705
    { 17, "Test 9 Sec" },
3706
    { 18, "Quiet" },
3707
    { 19, "Quiet 1 Sec" },
3708
    { 20, "Short Rgbk" },
3709
    { 21, "Code2 Rgbk" },
3710
    { 22, "Spec Dial" },
3711
    { 23, "Confirmation" },
3712
    { 24, "Call Waiting" },
3713
    { 25, "1 Blip (Dial Speed Test)" },
3714
    { 26, "2 Blips (Dial Speed Test)" },
3715
    { 27, "3 Blips (Dial Speed Test)" },
3716
    { 28, "ESB Ovflw" },
3717
    { 29, "Src ROH" },
3718
    { 30, "Con Busy" },
3719
    { 31, "Con Rgbk" },
3720
    { 32, "Short Rgbk" },
3721
    { 33, "SWT" },
3722
    { 34, "DWT" },
3723
    { 35, "DROH" },
3724
    { 36, "OPLSR" },
3725
    { 37, "Barge-In" },
3726
    { 38, "Stutter" },
3727
    { 39, "CLID" },
3728
    { 40, "NIC Dime A" },
3729
    { 41, "QRT Doll A" },
3730
    { 42, "NIC Dime B" },
3731
    { 43, "QRT Doll B" },
3732
    { 44, "DRCWT CAS" },
3733
    { 45, "CWT CAS" },
3734
    { 46, "Delay DT" },
3735
    { 47, "P-Phone Norm Ring" },
3736
    { 48, "P-Phone Distinct Ring" },
3737
    { 49, "CWID QT" },
3738
    { 50, "Teen CWT" },
3739
    { 51, "TN2 CWT" },
3740
    { 52, "SDR CWT" },
3741
    { 53, "Teen CAS" },
3742
    { 54, "TN2 CAS" },
3743
    { 55, "SDR CAS" },
3744
    { 56, "P-Phone Cont Ring (First Dnld Tone)" },
3745
    { 57, "P-Phone DTMF Dig 1" },
3746
    { 58, "P-Phone DTMF Dig 2" },
3747
    { 59, "P-Phone DTMF Dig 3" },
3748
    { 60, "P-Phone DTMF Dig 4" },
3749
    { 61, "P-Phone DTMF Dig 5" },
3750
    { 62, "P-Phone DTMF Dig 6" },
3751
    { 63, "P-Phone DTMF Dig 7" },
3752
    { 64, "P-Phone DTMF Dig 8" },
3753
    { 65, "P-Phone DTMF Dig 9" },
3754
    { 66, "P-Phone DTMF *" },
3755
    { 67, "P-Phone DTMF Dig 0" },
3756
    { 68, "P-Phone DTMF #" },
3757
    { 69, "CAS" },
3758
    { 70, "Cust (CTN1)" },
3759
    { 71, "Cust (CTN2)" },
3760
    { 72, "Cust (CTN3)" },
3761
    { 73, "Cust (CTN4)" },
3762
    { 74, "Cust (CTN5)" },
3763
    { 0, NULL }
3764
};
3765
static value_string_ext tone_types_ext = VALUE_STRING_EXT_INIT(tone_types);
3766
3767
3768
/* Dissector Table */
3769
static dissector_table_t c15ch_tone_dissector_table;
3770
3771
/* Fields */
3772
static int hf_c15ch_tone;
3773
static int hf_c15ch_tone_msg_type;
3774
3775
/* Subtree */
3776
static int ett_c15ch_third_level_tone; /* for third level dissection */
3777
static int ett_c15ch_third_level_tone_sub1;
3778
3779
/* Protocol */
3780
static int proto_c15ch_third_level_tone;
3781
/* Fields */
3782
static int hf_c15ch_tone_cot_control;
3783
static int hf_c15ch_tone_cot_control_device_id;
3784
static int hf_c15ch_tone_cot_control_cot_task;
3785
static int hf_c15ch_tone_cot_control_dest_h248;
3786
static int hf_c15ch_tone_cot_control_srce_h248;
3787
static int hf_c15ch_tone_cot_control_svc_channel;
3788
3789
/* value labels for fields*/
3790
static const value_string c15_tone_msg_types[] = {
3791
    { C15_TONE_TONE_CONTROL, "TONE_CONTROL" },
3792
    { C15_TONE_GIVE_TONE, "GIVE_TONE" },
3793
    { C15_TONE_OPLS, "OPLS" },
3794
    { C15_TONE_COT, "COT" },
3795
    { C15_TONE_CPM, "CPM" },
3796
    { C15_TONE_RCVR, "RCVR" },
3797
    { C15_TONE_MADN_RING, "MADN_RING" },
3798
    { C15_TONE_TIMEOUT, "TIMEOUT" },
3799
    { 0, NULL }
3800
};
3801
3802
/* Fields */
3803
static int hf_c15ch_tone_cpm;
3804
static int hf_c15ch_tone_cpm_loop_type;
3805
static int hf_c15ch_tone_cpm_device_id;
3806
static int hf_c15ch_tone_cpm_tone_type;
3807
3808
3809
#if 0
3810
/* Subtree */
3811
static int ett_c15ch_tone_cpm;
3812
#endif
3813
3814
/* labels for loop type */
3815
static const value_string loop_types[] = {
3816
    { 0, "INVALID" },
3817
    { 1, "PE" },
3818
    { 2, "REM" },
3819
    { 3, "DCM" },
3820
    { 4, "SCM" },
3821
    { 5, "LCM" },
3822
    { 6, "SCI" },
3823
    { 7, "SCU" },
3824
    { 8, "VDS30" },
3825
    { 9, "RSCS" },
3826
    { 10, "DS1" },
3827
    { 11, "SMA" },
3828
    { 12, "HUB" },
3829
    { 13, "PRI" },
3830
    { 14, "PGI" },
3831
    { 15, "GWE" },
3832
    { 0, NULL }
3833
};
3834
3835
/* labels for device type */
3836
static const value_string device_types[] = {
3837
    { 0, "CALL_REG" },
3838
    { 1, "SRCE" },
3839
    { 2, "DEST" },
3840
    { 3, "TONE_SRCE" },
3841
    { 4, "RCVR_SRCE" },
3842
    { 5, "TONE_DEST" },
3843
    { 6, "RCVR_DEST" },
3844
    { 7, "CLNG_NUM_BUF" },
3845
    { 8, "TEMP_ID1" },
3846
    { 9, "TEMP_ID2" },
3847
    { 10, "PEPR_SRCE" },
3848
    { 11, "PEPR_DEST" },
3849
    { 12, "BILLING_REG_1" },
3850
    { 13, "BILLING_REG_2" },
3851
    { 14, "BILLING_REG_3" },
3852
    { 15, "BILLING_REG_4" },
3853
    { 16, "BILLING_REG_5" },
3854
    { 17, "BILLING_REG_6" },
3855
    { 18, "ACFW_DIG_BUFF" },
3856
    { 19, "CR_ATR" },
3857
    { 20, "DR_ATR" },
3858
    { 21, "DEV_MAIN_REG" },
3859
    { 22, "TSMS_BUFFER" },
3860
    { 23, "VFG_REG" },
3861
    { 24, "SFTR_BUFF" },
3862
    { 25, "END_TO_END_DIG" },
3863
    { 26, "DEST2" },
3864
    { 27, "TONE_DEST2" },
3865
    { 28, "AIN_REGISTER" },
3866
    { 29, "AIN_STR_BUFFER" },
3867
    { 30, "AUX_BUFF" },
3868
    { 0, NULL },
3869
};
3870
static value_string_ext device_types_ext = VALUE_STRING_EXT_INIT(device_types);
3871
3872
3873
/* Fields */
3874
static int hf_c15ch_tone_give_tone;
3875
static int hf_c15ch_tone_give_tone_tone_id;
3876
static int hf_c15ch_tone_give_tone_tone_type;
3877
3878
/* Fields */
3879
static int hf_c15ch_tone_madn_ring;
3880
static int hf_c15ch_tone_madn_ring_device_id;
3881
static int hf_c15ch_tone_madn_ring_tone_type;
3882
3883
/* Fields */
3884
static int hf_c15ch_tone_opls;
3885
static int hf_c15ch_tone_opls_svce_from_ni;
3886
static int hf_c15ch_tone_opls_svce_to_ni;
3887
static int hf_c15ch_tone_opls_svce_to_ni_tn;
3888
static int hf_c15ch_tone_opls_svce_to_tn;
3889
static int hf_c15ch_tone_opls_digits;
3890
3891
3892
/* Fields */
3893
static int hf_c15ch_tone_rcvr;
3894
static int hf_c15ch_tone_rcvr_rcvr_id;
3895
static int hf_c15ch_tone_rcvr_conn_to_ni;
3896
static int hf_c15ch_tone_rcvr_conn_to_ni_tn;
3897
static int hf_c15ch_tone_rcvr_conn_to_tn;
3898
3899
3900
/* Fields */
3901
static int hf_c15ch_tone_timeout;
3902
static int hf_c15ch_tone_timeout_device_id;
3903
static int hf_c15ch_tone_timeout_service_pm;
3904
static int hf_c15ch_tone_timeout_service_ni;
3905
static int hf_c15ch_tone_timeout_service_ni_tn;
3906
static int hf_c15ch_tone_timeout_service_tn;
3907
static int hf_c15ch_tone_timeout_gw_provided;
3908
static int hf_c15ch_tone_timeout_gw_service_tone_type_or_from_ni;
3909
3910
3911
/* Fields */
3912
static int hf_c15ch_tone_tone_control;
3913
static int hf_c15ch_tone_tone_control_device_id;
3914
static int hf_c15ch_tone_tone_control_tone_type;
3915
3916
/* New fields for Generic Messages, Correlated Messages,
3917
   REG SUBS Report, System Alarm, and TTY Messages */
3918
3919
static int hf_c15ch_c15_generic_msg_1;
3920
static int hf_c15ch_c15_generic_msg_2;
3921
static int hf_c15ch_c15_generic_msg_3;
3922
static int hf_c15ch_c15_generic_msg_4;
3923
static int hf_c15ch_c15_generic_msg_5;
3924
static int hf_c15ch_c15_correlate_msg;
3925
static int hf_c15ch_c15_generic_msg_parm_1;
3926
static int hf_c15ch_c15_generic_msg_parm_2;
3927
static int hf_c15ch_c15_generic_msg_parm_3;
3928
static int hf_c15ch_c15_generic_msg_parm_4;
3929
static int hf_c15ch_c15_generic_msg_parm_5;
3930
static int hf_c15ch_c15_generic_msg_data_len;
3931
static int hf_c15ch_c15_generic_msg_cr_ptr_val;
3932
static int hf_c15ch_c15_generic_msg_dr_ptr_val;
3933
static int hf_c15ch_c15_generic_msg_spr_int_1;
3934
static int hf_c15ch_c15_generic_msg_spr_int_2;
3935
static int hf_c15ch_c15_generic_msg_spr_uptr_1;
3936
static int hf_c15ch_c15_generic_msg_spr_uptr_2;
3937
static int hf_c15ch_c15_generic_msg_spr_pptr_1;
3938
static int hf_c15ch_c15_generic_msg_spr_pptr_2;
3939
static int hf_c15ch_c15_generic_msg_gen_msg_field_1;
3940
static int hf_c15ch_c15_generic_msg_gen_msg_field_2;
3941
static int hf_c15ch_c15_generic_msg_gen_msg_field_3;
3942
static int hf_c15ch_c15_generic_msg_gen_msg_field_4;
3943
static int hf_c15ch_c15_generic_msg_gen_msg_field_5;
3944
static int hf_c15ch_c15_generic_msg_gen_msg_string;
3945
static int hf_c15ch_c15_generic_msg_gen_data_large;
3946
static int hf_c15ch_c15_usage_id;
3947
static int hf_c15ch_c15_opt_parm_2;
3948
static int hf_c15ch_c15_opt_parm_3;
3949
static int hf_c15ch_c15_opt_parm_4;
3950
static int hf_c15ch_c15_opt_parm_5;
3951
static int hf_c15ch_c15_opt_parm_6_ptr;
3952
static int hf_c15ch_c15_opt_parm_7_ptr;
3953
static int hf_c15ch_c15_opt_parm_8_ptr;
3954
static int hf_c15ch_c15_opt_parm_9_ptr;
3955
static int hf_c15ch_c15_opt_string_parm_8;
3956
static int hf_c15ch_c15_opt_string_parm_9;
3957
static int hf_c15ch_c15_sip_reg_subs_report;
3958
static int hf_c15ch_c15_sys_alarm;
3959
static int hf_c15ch_c15_omm_tag_code;
3960
static int hf_c15ch_c15_alarm_class;
3961
static int hf_c15ch_c15_alarm_status;
3962
static int hf_c15ch_c15_site_name;
3963
static int hf_c15ch_c15_system;
3964
static int hf_c15ch_c15_tty_msg;
3965
static int hf_c15ch_c15_tty_int_parm_1;
3966
static int hf_c15ch_c15_tty_int_parm_2;
3967
static int hf_c15ch_c15_tty_int_parm_3;
3968
static int hf_c15ch_c15_tty_int_parm_4;
3969
static int hf_c15ch_c15_omm_msg_tag;
3970
static int hf_c15ch_c15_text_location;
3971
static int hf_c15ch_c15_tty_text_parm_1;
3972
static int hf_c15ch_c15_tty_text_parm_2;
3973
static int hf_c15ch_c15_tty_text_parm_3;
3974
static int hf_c15ch_c15_sip_report_type;
3975
static int hf_c15ch_c15_rate;
3976
static int hf_c15ch_c15_hour;
3977
static int hf_c15ch_c15_peak_min;
3978
static int hf_c15ch_c15_peak_sec;
3979
static int hf_c15ch_c15_auth_good;
3980
static int hf_c15ch_c15_auth_fail;
3981
static int hf_c15ch_c15_ovd084;
3982
static int hf_c15ch_c15_ovd086;
3983
static int hf_c15ch_c15_ovd088;
3984
static int hf_c15ch_c15_sip104;
3985
static int hf_c15ch_c15_reg_spare_1;
3986
static int hf_c15ch_c15_reg_spare_2;
3987
static int hf_c15ch_c15_reg_spare_3;
3988
static int hf_c15ch_c15_status_200_cnt;
3989
static int hf_c15ch_c15_status_202_cnt;
3990
static int hf_c15ch_c15_status_405_cnt;
3991
static int hf_c15ch_c15_subs_spare_1;
3992
static int hf_c15ch_c15_subs_spare_2;
3993
static int hf_c15ch_c15_subs_spare_3;
3994
static int hf_c15ch_c15_subs_spare_4;
3995
static int hf_c15ch_c15_subs_spare_5;
3996
static int hf_c15ch_c15_subs_spare_6;
3997
3998
/* util functions */
3999
/* static void add_digits_string(int hf, tvbuff_t *tvb, proto_tree *tree,
4000
                    unsigned first_offset, unsigned num_digits, unsigned max_num_digits,
4001
                    unsigned offset_from_digits_to_consume )
4002
    Function: Add a string of telephony digits, read from a tvbuff_t as a field to a
4003
              given proto_tree.
4004
              The number of digits in the string is typically given in a number before the
4005
              start of the digits.
4006
    Parameters:
4007
    hf is the field number of the proto_tree corresponding to storage for the digits.
4008
    tvb is the tvbuff_t containing the data to be added.
4009
    tree is the proto_tree to be modified.
4010
    first_offset is the offset from the beginning of the tvbuff_t where the telephony digits
4011
        actually begin.  If (first_offset >= tvb_length(tvb)) then the function does nothing.
4012
    num_digits is the number of digits that were actually stored in the relevant part of tvb
4013
       This value was probably determined by reading the field in the tvb just before where the
4014
       string of digits begins.    This will be used to actually allocate storage for the string.
4015
       max_num_digits is the maximum number of digits that the protocol indicates the
4016
       string of digits could be.
4017
4018
      max_num_digits is used in a call to proto_tree_add_string().
4019
4020
    offset_from_digits_to_consume: This number is subtracted from first_offset to give the location
4021
        where the num_digits field was read e.g.
4022
        offset_from_digits_to_consume == 1 if length is given in one byte just before digits
4023
        offset_from_digits_to_consume == 4 if length is given in four bytes just before digits
4024
        offset_from_digits_to_consume == 0 if no bytes before the digits are to be consumed
4025
        Note that the offset_from_digits_to_consume method is used in order to properly indicate where
4026
        the data came from that was used to determine the digits field.
4027
        If (offset_from_digits_to_consume > first_offset), then the offset parameter is
4028
        ignored and the display will indicate that the data used began at first_offset (equivalent
4029
        to offset_from_digits_to_consume of 0).
4030
*/
4031
static void add_digits_string(int hf, tvbuff_t *tvb, packet_info* pinfo, proto_tree *tree,
4032
                    unsigned first_offset, unsigned num_digits, unsigned max_num_digits, unsigned offset_from_digits_to_consume )
4033
48
{
4034
48
    char * ch_buff = NULL;
4035
48
    unsigned curr_offset;
4036
48
    unsigned buff_index;
4037
48
    unsigned curr_digit;
4038
48
    const char ZERO_C = '0';
4039
48
    if (max_num_digits < num_digits)
4040
25
    {
4041
25
        return;
4042
25
    }
4043
4044
23
    if (first_offset < offset_from_digits_to_consume)
4045
0
    {
4046
0
        offset_from_digits_to_consume = 0;
4047
0
    }
4048
23
    ch_buff = (char *) wmem_alloc(pinfo->pool, num_digits + 1); /*include space for terminating null*/
4049
161
    for ( curr_offset = first_offset, buff_index = 0; buff_index < num_digits; curr_offset++, buff_index++ )
4050
138
    {
4051
138
        curr_digit = tvb_get_uint8(tvb, curr_offset);
4052
4053
138
        if ( curr_digit < 10 )
4054
42
        {
4055
            /* decimal digit case */
4056
42
            ch_buff[ buff_index ] = ZERO_C + curr_digit;
4057
42
        }
4058
96
        else
4059
96
            {
4060
96
                switch( curr_digit )
4061
96
                {
4062
11
                    case(10):
4063
11
                        ch_buff[ buff_index ] = 'A';
4064
11
                        break;
4065
0
                    case(11):
4066
0
                        ch_buff[ buff_index ] = '*';
4067
0
                        break;
4068
31
                    case(12):
4069
31
                        ch_buff[ buff_index ] = '#';
4070
31
                        break;
4071
0
                    case(15):
4072
0
                        ch_buff[ buff_index ] = 'D';
4073
0
                        break;
4074
54
                    default: /* includes 13 and 14 */
4075
54
                        ch_buff[ buff_index ] = '?';
4076
96
                }
4077
96
            }
4078
138
    }
4079
23
    ch_buff[ num_digits ] = '\0';
4080
    /* we are consuming all data from (first_offset - offset_from_start_to_consume) to (first_offset + max_num_digits) */
4081
4082
23
    proto_tree_add_string(tree, hf,
4083
23
                tvb, first_offset - offset_from_digits_to_consume, max_num_digits + 1, ch_buff);
4084
23
}
4085
4086
4087
/* static void add_digits_string_info_col( tvbuff_t *tvb, unsigned first_offset,
4088
                                    unsigned num_digits, packet_info *pinfo );
4089
    Function: Append a string of telephony digits, read from a tvbuff_t, to the
4090
              string displayed in COL_INFO, for pinfo.
4091
    Parameters:
4092
        tvb: tvbuff_t containing the digit data.
4093
        first_offset: The offset from the beginning of the tvb where the digits begin.
4094
4095
        num_digits : number of digits to be read from tvb and put into the INFO column.
4096
4097
4098
4099
        pinfo : the packet_info structure containing the INFO column to be modified.
4100
    */
4101
static void add_digits_string_info_col(tvbuff_t *tvb,
4102
                    unsigned first_offset, unsigned num_digits,
4103
                    packet_info *pinfo)
4104
17
{
4105
    /* first_offset is where the list of digits actually begins in the packet */
4106
    /* num_digits is the actual number of digits in the string */
4107
17
    char * ch_buff;
4108
17
    unsigned i;
4109
17
    const char ZERO_C = '0';
4110
4111
17
    tvb_ensure_bytes_exist(tvb, first_offset, num_digits);
4112
17
    ch_buff = (char *) wmem_alloc(pinfo->pool, num_digits + 1); /*include space for terminating null*/
4113
1.00k
    for ( i = 0; i < num_digits; i++ )
4114
987
    {
4115
987
        unsigned curr_digit = tvb_get_uint8(tvb, i + first_offset);
4116
4117
987
        if ( curr_digit < 10 )
4118
397
        {
4119
            /* decimal digit case */
4120
397
            ch_buff[ i ] = ZERO_C + curr_digit;
4121
397
        }
4122
590
        else
4123
590
        {
4124
590
            switch( curr_digit )
4125
590
            {
4126
8
                case(10):
4127
8
                    ch_buff[ i ] = 'A';
4128
8
                    break;
4129
10
                case(11):
4130
10
                    ch_buff[ i ] = '*';
4131
10
                    break;
4132
77
                case(12):
4133
77
                    ch_buff[ i ] = '#';
4134
77
                    break;
4135
2
                case(15):
4136
2
                    ch_buff[ i ] = 'D';
4137
2
                    break;
4138
493
                default: /* includes 13 and 14 */
4139
493
                    ch_buff[ i ] = '?';
4140
590
            }
4141
590
        }
4142
987
    }
4143
17
    ch_buff[ num_digits ] = '\0';
4144
17
    col_append_str(pinfo->cinfo, COL_INFO, ch_buff);
4145
17
}
4146
4147
/* static void add_string_field( proto_tree * p_tree, packet_info* pinfo, tvbuff_t * tvb,
4148
                                unsigned str_start, unsigned max_str_len,
4149
                                int hf_num )
4150
4151
   Function: add an ascii string, read from a tvbuff_t, as a field to a given proto_tree
4152
4153
   Parameters:
4154
   p_tree is the proto_tree to be added to
4155
4156
   tvb is the tvbuff_t containing the data to be placed into a string field of p_tree
4157
4158
   str_start is the position in tvb where the string data begins.
4159
4160
4161
4162
4163
   hf_num is the field number for p_tree which is used for the string
4164
*/
4165
static void add_string_field( proto_tree * p_tree, packet_info* pinfo, tvbuff_t * tvb,
4166
                                unsigned str_start, unsigned max_str_len,
4167
                                int hf_num )
4168
51
{
4169
51
    char *field_stringz;
4170
51
    unsigned len;
4171
4172
51
    if (max_str_len == 0)
4173
0
    {
4174
0
        max_str_len = 1;
4175
0
    }
4176
4177
4178
51
    field_stringz = (char * )tvb_get_stringz_enc(pinfo->pool, tvb, str_start, &len, ENC_ASCII);
4179
51
    if ( len <= 1 )
4180
7
    {
4181
7
        proto_tree_add_string(p_tree, hf_num,
4182
7
            tvb, str_start, max_str_len, " ");
4183
7
    }
4184
44
    else
4185
44
    {
4186
44
        if ( len > max_str_len )
4187
17
        {
4188
17
            ws_utf8_truncate(field_stringz, max_str_len - 1);
4189
17
        }
4190
44
        proto_tree_add_string(p_tree, hf_num,
4191
44
                tvb, str_start, max_str_len, field_stringz);
4192
44
    }
4193
51
}
4194
4195
/* dissect functions */
4196
/* heartbeat is its own distinct dissector with a distinct ethertype */
4197
static int dissect_c15ch_hbeat(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4198
15
{
4199
15
    proto_item * ti = NULL;
4200
15
    proto_tree * c15ch_hbeat_tree = NULL;
4201
15
    col_clear(pinfo->cinfo, COL_INFO);
4202
4203
15
    col_set_str(pinfo->cinfo, COL_PROTOCOL, "C15CH_HBEAT");
4204
4205
15
    if (tree)
4206
15
    {
4207
15
        ti = proto_tree_add_item(tree, proto_c15ch_hbeat, tvb, 0, 62, ENC_NA);
4208
15
        c15ch_hbeat_tree = proto_item_add_subtree(ti, ett_c15ch_hbeat);
4209
15
        add_string_field( c15ch_hbeat_tree, pinfo, tvb, 10, 25, hf_c15ch_hbeat_clli );
4210
15
        proto_tree_add_item(c15ch_hbeat_tree, hf_c15ch_hbeat_primary,  tvb, 35, 1, ENC_BIG_ENDIAN);
4211
15
        proto_tree_add_item(c15ch_hbeat_tree, hf_c15ch_hbeat_secondary,  tvb, 36, 1, ENC_BIG_ENDIAN);
4212
15
        add_string_field( c15ch_hbeat_tree, pinfo, tvb, 37, 25, hf_c15ch_hbeat_interface );
4213
15
    }
4214
4215
    /* Return the amount of data this dissector was able to dissect */
4216
15
    return tvb_reported_length(tvb);
4217
15
}
4218
4219
/* base dissector : first one called for all non-heartbeat packets */
4220
/* These packets share a common ethertype */
4221
static int dissect_c15ch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4222
29
{
4223
29
    proto_item * ti = NULL;
4224
29
    proto_tree * c15ch_tree = NULL;
4225
29
    proto_tree * src_ni_tn_tree = NULL;
4226
29
    proto_tree * dest_ni_tn_tree = NULL;
4227
29
    uint32_t msg_type = 0;
4228
29
    uint32_t packet_length = 0;
4229
29
    uint32_t payload_length = 0;
4230
29
    uint32_t retv = 0;
4231
4232
29
    tvbuff_t * next_tvb;
4233
29
    col_clear(pinfo->cinfo, COL_INFO);
4234
4235
29
    msg_type = tvb_get_ntohl(tvb, 4);
4236
29
    packet_length = tvb_get_ntohl(tvb, 8);
4237
29
    if (packet_length < HEADER_SZ)
4238
0
    {
4239
0
        return 0;
4240
0
    }
4241
29
    payload_length = packet_length - HEADER_SZ;
4242
4243
29
    col_set_str(pinfo->cinfo, COL_PROTOCOL, C15_LABEL);
4244
4245
29
    col_add_fstr(pinfo->cinfo, COL_INFO, "Type: %s",
4246
29
        val_to_str_ext(pinfo->pool, msg_type, &c15_msg_types_ext, "Unknown Type: %d") );
4247
4248
29
    if (tree) /* we are being asked for details... */
4249
29
    {
4250
29
        ti = proto_tree_add_item(tree, proto_c15ch, tvb, 0, 36, ENC_NA);
4251
29
        proto_item_append_text(ti, ", Type: %s",
4252
29
            val_to_str_ext(pinfo->pool, msg_type, &c15_msg_types_ext, "Unknown Type: %d"));
4253
29
        c15ch_tree = proto_item_add_subtree(ti, ett_c15ch);
4254
29
        proto_tree_add_item(c15ch_tree, hf_c15ch_version,  tvb, 0, 4, ENC_BIG_ENDIAN);
4255
29
        proto_tree_add_item(c15ch_tree, hf_c15ch_msgtype,  tvb, 4, 4, ENC_BIG_ENDIAN);
4256
29
        proto_tree_add_item(c15ch_tree, hf_c15ch_size,     tvb, 8, 4, ENC_BIG_ENDIAN);
4257
29
        proto_tree_add_item(c15ch_tree, hf_c15ch_call_ref, tvb, 12, 4, ENC_BIG_ENDIAN);
4258
        /* src ni/tn */
4259
29
        ti = proto_tree_add_item(c15ch_tree, hf_c15ch_srce_ni_tn, tvb, 16, 8, ENC_BIG_ENDIAN);
4260
29
        src_ni_tn_tree = proto_item_add_subtree (ti, ett_src_ni_tn);
4261
4262
29
        proto_tree_add_item(src_ni_tn_tree, hf_c15ch_srce_ni, tvb, 16, 4, ENC_BIG_ENDIAN);
4263
29
        proto_tree_add_item(src_ni_tn_tree, hf_c15ch_srce_tn, tvb, 20, 4, ENC_BIG_ENDIAN);
4264
4265
        /* dest ni/tn */
4266
29
        ti = proto_tree_add_item(c15ch_tree, hf_c15ch_dest_ni_tn, tvb, 24, 8, ENC_BIG_ENDIAN);
4267
4268
29
        dest_ni_tn_tree = proto_item_add_subtree (ti, ett_dest_ni_tn);
4269
4270
29
        proto_tree_add_item(dest_ni_tn_tree, hf_c15ch_dest_ni, tvb, 24, 4, ENC_BIG_ENDIAN);
4271
29
        proto_tree_add_item(dest_ni_tn_tree, hf_c15ch_dest_tn, tvb, 28, 4, ENC_BIG_ENDIAN);
4272
4273
29
        proto_tree_add_item(c15ch_tree, hf_c15ch_realtime, tvb, 32, 4, ENC_BIG_ENDIAN);
4274
29
    }
4275
4276
29
    next_tvb = tvb_new_subset_length(tvb, HEADER_SZ, payload_length);
4277
    /* call dissector to dissect the rest of the packet, based on msg_type */
4278
29
    retv = HEADER_SZ + dissector_try_uint(c15ch_dissector_table, msg_type, next_tvb, pinfo, tree);
4279
29
    return retv;
4280
29
}
4281
4282
4283
static int dissect_c15ch_ama(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4284
0
{
4285
0
    proto_item * ti = NULL;
4286
0
    proto_tree * c15ch_ama_tree = NULL;
4287
4288
0
    uint8_t call_type_val = 0;
4289
0
    uint8_t dialed_num_digits;
4290
4291
0
    call_type_val = tvb_get_uint8(tvb, 40);
4292
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Call Type: %s",
4293
0
        val_to_str_ext(pinfo->pool, call_type_val, &ama_call_types_ext, "Unknown %d"));
4294
0
    if (tree)
4295
0
    {
4296
0
        ti = proto_tree_add_item(tree, hf_c15ch_ama, tvb, 0, 41, ENC_NA);
4297
0
        c15ch_ama_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
4298
0
        dialed_num_digits = tvb_get_uint8(tvb, 11);
4299
0
        proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_call_code,
4300
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
4301
0
        add_digits_string(hf_c15ch_ama_orig_digits, tvb, pinfo, c15ch_ama_tree,
4302
0
                        1, 10, 10, 0);
4303
0
        proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_num_dialed_digits,
4304
0
                            tvb, 11, 1, ENC_BIG_ENDIAN);
4305
0
        proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_br_prefix,
4306
0
                            tvb, 12, 1, ENC_BIG_ENDIAN);
4307
0
        add_digits_string(hf_c15ch_ama_dialed_digits, tvb, pinfo, c15ch_ama_tree,
4308
0
                        13, dialed_num_digits, 15, 0);
4309
0
        proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_start_hour,
4310
0
                            tvb, 28, 1, ENC_BIG_ENDIAN);
4311
0
        proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_start_minute,
4312
0
                            tvb, 29, 1, ENC_BIG_ENDIAN);
4313
0
        proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_start_second,
4314
0
                            tvb, 30, 1, ENC_BIG_ENDIAN);
4315
0
        proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_start_tenth_second,
4316
0
                            tvb, 31, 1, ENC_BIG_ENDIAN);
4317
0
        proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_start_day,
4318
0
                            tvb, 32, 1, ENC_BIG_ENDIAN);
4319
0
        proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_start_month,
4320
0
                            tvb, 33, 1, ENC_BIG_ENDIAN);
4321
0
        proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_start_year,
4322
0
                            tvb, 34, 1, ENC_BIG_ENDIAN);
4323
0
        proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_answered,
4324
0
                            tvb, 35, 1, ENC_BIG_ENDIAN);
4325
0
        proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_elapsed_time,
4326
0
                            tvb, 36, 4, ENC_BIG_ENDIAN);
4327
0
        proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_call_type,
4328
0
                            tvb, 40, 1, ENC_BIG_ENDIAN);
4329
0
    }
4330
4331
0
    return tvb_reported_length(tvb);
4332
0
}
4333
4334
static int dissect_c15ch_c15_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4335
0
{
4336
0
    proto_item * ti = NULL;
4337
0
    proto_tree * c15ch_c15_info_tree = NULL;
4338
4339
0
    if (tree)
4340
0
    {
4341
0
        ti = proto_tree_add_item( tree, hf_c15ch_c15_info, tvb, 0, 266, ENC_NA );
4342
0
        c15ch_c15_info_tree = proto_item_add_subtree( ti, ett_c15ch_second_level );
4343
0
        proto_tree_add_item( c15ch_c15_info_tree, hf_c15ch_c15_info_level, tvb, 0, 1, ENC_BIG_ENDIAN );
4344
0
        add_string_field( c15ch_c15_info_tree, pinfo, tvb, 1, 9, hf_c15ch_c15_info_code );
4345
0
        add_string_field( c15ch_c15_info_tree, pinfo, tvb, 10, 256, hf_c15ch_c15_info_text );
4346
0
    }
4347
4348
0
    return tvb_reported_length(tvb);
4349
0
}
4350
4351
static int dissect_c15ch_clli(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4352
0
{
4353
0
    proto_item * ti = NULL;
4354
0
    proto_tree * c15ch_clli_tree = NULL;
4355
4356
0
    unsigned clli_siz;
4357
0
    unsigned char * clli_string;
4358
0
    clli_string = tvb_get_stringz_enc(pinfo->pool, tvb, 0, &clli_siz, ENC_ASCII );
4359
0
    if ( (clli_siz > 1) && (clli_siz <= 25 ) )
4360
0
    {
4361
0
        col_clear(pinfo->cinfo, COL_INFO);
4362
0
        col_append_fstr(pinfo->cinfo, COL_INFO, "Type: CLLI, %s", clli_string);
4363
0
    }
4364
0
    if (tree)
4365
0
    {
4366
0
        ti = proto_tree_add_item(tree, hf_c15ch_clli, tvb, 0, 60, ENC_NA);
4367
0
        c15ch_clli_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
4368
0
        add_string_field( c15ch_clli_tree, pinfo, tvb, 0, 25, hf_c15ch_clli_clli_string );
4369
0
        proto_tree_add_item(c15ch_clli_tree, hf_c15ch_clli_active_core,  tvb, 25, 1, ENC_BIG_ENDIAN);
4370
0
        proto_tree_add_item(c15ch_clli_tree, hf_c15ch_clli_inactive_core,  tvb, 26, 1, ENC_BIG_ENDIAN);
4371
0
        add_string_field( c15ch_clli_tree, pinfo, tvb, 27, 25, hf_c15ch_clli_interface_string );
4372
0
        proto_tree_add_item(c15ch_clli_tree, hf_c15ch_clli_seconds,  tvb, 52, 4, ENC_BIG_ENDIAN);
4373
0
        proto_tree_add_item(c15ch_clli_tree, hf_c15ch_clli_microseconds,  tvb, 56, 4, ENC_BIG_ENDIAN);
4374
0
    }
4375
0
    return tvb_reported_length(tvb);
4376
0
}
4377
4378
4379
static int dissect_c15ch_conn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
4380
0
{
4381
0
    proto_item * ti = NULL;
4382
0
    proto_tree * c15ch_conn_tree = NULL;
4383
0
    proto_tree * srce_ni_tn_tree = NULL;
4384
0
    proto_tree * dest_ni_tn_tree = NULL;
4385
4386
0
    if (tree)
4387
0
    {
4388
0
        ti = proto_tree_add_item(tree, hf_c15ch_conn, tvb, 0, 53, ENC_NA);
4389
0
        c15ch_conn_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
4390
0
        proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_connfrom,
4391
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
4392
0
        proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_conntype,
4393
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
4394
0
        proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_perphtype,
4395
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
4396
0
        proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_intra,
4397
0
                            tvb, 12, 1, ENC_BIG_ENDIAN);
4398
0
        ti = proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_srcenitn,
4399
0
                            tvb, 13, 8, ENC_BIG_ENDIAN);
4400
0
        srce_ni_tn_tree = proto_item_add_subtree(ti, ett_c15ch_second_level_sub1);
4401
0
        proto_tree_add_item(srce_ni_tn_tree, hf_c15ch_conn_srceni,
4402
0
                            tvb, 13, 4, ENC_BIG_ENDIAN);
4403
0
        proto_tree_add_item(srce_ni_tn_tree, hf_c15ch_conn_srcetn,
4404
0
                            tvb, 17, 4, ENC_BIG_ENDIAN);
4405
4406
0
        ti = proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_destnitn,
4407
0
                            tvb, 21, 8, ENC_BIG_ENDIAN);
4408
0
        dest_ni_tn_tree = proto_item_add_subtree(ti, ett_c15ch_second_level_sub2);
4409
0
        proto_tree_add_item(dest_ni_tn_tree, hf_c15ch_conn_destni,
4410
0
                            tvb, 21, 4, ENC_BIG_ENDIAN);
4411
0
        proto_tree_add_item(dest_ni_tn_tree, hf_c15ch_conn_desttn,
4412
0
                            tvb, 25, 4, ENC_BIG_ENDIAN);
4413
0
        proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_interlinknum,
4414
0
                            tvb, 29, 4, ENC_BIG_ENDIAN);
4415
0
        proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_fromport,
4416
0
                            tvb, 33, 4, ENC_BIG_ENDIAN);
4417
0
        proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_fromslot,
4418
0
                            tvb, 37, 4, ENC_BIG_ENDIAN);
4419
0
        proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_toport,
4420
0
                            tvb, 41, 4, ENC_BIG_ENDIAN);
4421
0
        proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_toslot,
4422
0
                            tvb, 45, 4, ENC_BIG_ENDIAN);
4423
0
        proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_hubcallid,
4424
0
                            tvb, 49, 4, ENC_BIG_ENDIAN);
4425
0
    }
4426
0
    return tvb_reported_length(tvb);
4427
0
}
4428
4429
4430
static int dissect_c15ch_cp_state_ch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4431
0
{
4432
4433
0
    proto_item * ti = NULL;
4434
0
    proto_tree * c15ch_cp_state_ch_tree = NULL;
4435
4436
0
    uint32_t oldpm_value = 0;
4437
0
    uint32_t newpm_value = 0;
4438
0
    col_clear(pinfo->cinfo, COL_INFO);
4439
0
    oldpm_value = tvb_get_ntohl(tvb, 0);
4440
0
    newpm_value = tvb_get_ntohl(tvb, 4);
4441
4442
0
    col_add_fstr(pinfo->cinfo, COL_INFO, "Type: CP_STATE_CH, %s --> ",
4443
0
        val_to_str_ext_const(oldpm_value, &c15_cp_state_pm_types_ext, "Unknown") );
4444
4445
0
    col_append_str(pinfo->cinfo, COL_INFO,
4446
0
        val_to_str_ext_const(newpm_value, &c15_cp_state_pm_types_ext, "Unknown") );
4447
4448
0
    if (tree)
4449
0
    {
4450
0
        ti = proto_tree_add_item(tree, hf_c15ch_cp_state_ch, tvb, 0, 40, ENC_NA);
4451
0
        proto_item_append_text(ti, ", Old PM Type: %s",
4452
0
            val_to_str_ext_const(oldpm_value, &c15_cp_state_pm_types_ext, "Unknown"));
4453
0
        proto_item_append_text(ti, ", New PM Type: %s",
4454
0
            val_to_str_ext_const(newpm_value, &c15_cp_state_pm_types_ext, "Unknown"));
4455
4456
0
        c15ch_cp_state_ch_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
4457
0
        proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_oldpm,
4458
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
4459
0
        proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_newpm,
4460
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
4461
0
        proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_subpm,
4462
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
4463
0
        proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_trkpm,
4464
0
                            tvb, 12, 4, ENC_BIG_ENDIAN);
4465
0
        proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_slepm,
4466
0
                            tvb, 16, 4, ENC_BIG_ENDIAN);
4467
0
        proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_flags,
4468
0
                            tvb, 20, 4, ENC_BIG_ENDIAN);
4469
0
        proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_oldrtetype,
4470
0
                            tvb, 24, 4, ENC_BIG_ENDIAN);
4471
0
        proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_oldrteidx,
4472
0
                            tvb, 28, 4, ENC_BIG_ENDIAN);
4473
0
        proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_newrtetype,
4474
0
                            tvb, 32, 4, ENC_BIG_ENDIAN);
4475
0
        proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_newrteidx,
4476
0
                            tvb, 36, 4, ENC_BIG_ENDIAN);
4477
0
    }
4478
0
    return tvb_reported_length(tvb);
4479
0
}
4480
4481
4482
static int dissect_c15ch_dest_digits(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4483
0
{
4484
0
    proto_item * ti = NULL;
4485
0
    proto_tree * c15ch_dest_digits_tree = NULL;
4486
4487
0
    uint32_t num_digits;
4488
0
    num_digits = tvb_get_ntohl(tvb, 0);
4489
0
    col_append_str(pinfo->cinfo, COL_INFO, ", ");
4490
0
    add_digits_string_info_col( tvb, 4, num_digits, pinfo);
4491
0
    if (tree)
4492
0
    {
4493
0
        ti = proto_tree_add_item(tree, hf_c15ch_dest_digits, tvb, 0, 36, ENC_NA);
4494
0
        c15ch_dest_digits_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
4495
0
        add_digits_string(hf_c15ch_dest_digits_digits, tvb, pinfo, c15ch_dest_digits_tree, 4, num_digits, 32, 4);
4496
0
    }
4497
0
    return tvb_reported_length(tvb);
4498
0
}
4499
4500
4501
static int dissect_c15ch_echo_cancel(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4502
0
{
4503
0
    proto_item * ti = NULL;
4504
0
    proto_tree * c15ch_echo_cancel_tree = NULL;
4505
0
    proto_tree * sub_ni_tn_tree = NULL;
4506
0
    proto_tree * loc_tree = NULL;
4507
0
    proto_tree * old_tree = NULL;
4508
0
    proto_tree * new_tree = NULL;
4509
4510
0
    uint8_t valid_tone_id = 0;
4511
0
    uint8_t old_l2_mode_val, new_l2_mode_val;
4512
0
    enum C15_EC_CHANNEL_MODE old_channel_mode, new_channel_mode;
4513
0
    enum C15_EC_ECAN_MODE old_ecan_mode, new_ecan_mode;
4514
0
    uint32_t pm_val, pc_val, loop_val, slot_val;
4515
4516
0
    char * loc_string = NULL;
4517
4518
4519
0
    old_l2_mode_val = tvb_get_uint8(tvb, 8);
4520
0
    new_l2_mode_val = tvb_get_uint8(tvb, 9);
4521
4522
0
    switch( old_l2_mode_val )
4523
0
    {
4524
0
        case C15_EC_L2_MODE_VOICE:
4525
0
            {
4526
0
                old_channel_mode = C15_EC_VOICE_CHANNEL_MODE;
4527
0
                old_ecan_mode = C15_EC_ON_ECAN_MODE;
4528
0
            }
4529
0
            break;
4530
0
        case C15_EC_L2_MODE_VBD:
4531
0
            {
4532
0
                old_channel_mode = C15_EC_VBD_CHANNEL_MODE;
4533
0
                old_ecan_mode = C15_EC_ON_ECAN_MODE;
4534
0
            }
4535
0
            break;
4536
0
        case C15_EC_L2_MODE_VBD_ECANOFF:
4537
0
            {
4538
0
                old_channel_mode = C15_EC_VBD_CHANNEL_MODE;
4539
0
                old_ecan_mode = C15_EC_OFF_ECAN_MODE;
4540
0
            }
4541
0
            break;
4542
0
        default:
4543
0
            {
4544
0
                old_channel_mode = C15_EC_CHANNEL_MODE_INVALID;
4545
0
                old_ecan_mode = C15_EC_ECAN_MODE_INVALID;
4546
0
            }
4547
0
            break;
4548
0
    }
4549
4550
0
    switch( new_l2_mode_val )
4551
0
    {
4552
0
        case C15_EC_L2_MODE_VOICE:
4553
0
            {
4554
0
                new_channel_mode = C15_EC_VOICE_CHANNEL_MODE;
4555
0
                new_ecan_mode = C15_EC_ON_ECAN_MODE;
4556
0
            }
4557
0
            break;
4558
0
        case C15_EC_L2_MODE_VBD:
4559
0
            {
4560
0
                new_channel_mode = C15_EC_VBD_CHANNEL_MODE;
4561
0
                new_ecan_mode = C15_EC_ON_ECAN_MODE;
4562
0
            }
4563
0
            break;
4564
0
        case C15_EC_L2_MODE_VBD_ECANOFF:
4565
0
            {
4566
0
                new_channel_mode = C15_EC_VBD_CHANNEL_MODE;
4567
0
                new_ecan_mode = C15_EC_OFF_ECAN_MODE;
4568
0
            }
4569
0
            break;
4570
0
        default:
4571
0
            {
4572
0
                new_channel_mode = C15_EC_CHANNEL_MODE_INVALID;
4573
0
                new_ecan_mode = C15_EC_ECAN_MODE_INVALID;
4574
0
            }
4575
0
            break;
4576
0
    }
4577
4578
0
    if (tree)
4579
0
    {
4580
0
        ti = proto_tree_add_item(tree, hf_c15ch_echo_cancel, tvb, 0, 31, ENC_NA);
4581
0
        c15ch_echo_cancel_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
4582
0
        ti = proto_tree_add_item(c15ch_echo_cancel_tree, hf_c15ch_echo_cancel_ni_tn,
4583
0
                            tvb, 0, 8, ENC_BIG_ENDIAN);
4584
0
        sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
4585
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_echo_cancel_ni,
4586
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
4587
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_echo_cancel_tn,
4588
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
4589
0
        valid_tone_id = tvb_get_uint8( tvb, 10 );
4590
0
        if ( valid_tone_id )
4591
0
        {
4592
0
            proto_tree_add_item(c15ch_echo_cancel_tree, hf_c15ch_echo_cancel_tone_id, tvb, 11, 4, ENC_BIG_ENDIAN);
4593
0
        }
4594
0
        ti = proto_tree_add_item(c15ch_echo_cancel_tree, hf_c15ch_echo_cancel_old_l2_mode,
4595
0
                            tvb, 8, 1, ENC_BIG_ENDIAN);
4596
0
        old_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub2);
4597
0
        proto_tree_add_uint(old_tree, hf_c15ch_echo_cancel_old_channel_mode, tvb, 8, 1, (uint32_t)old_channel_mode);
4598
0
        proto_tree_add_uint(old_tree, hf_c15ch_echo_cancel_old_ecan_mode, tvb, 8, 1, (uint32_t)old_ecan_mode);
4599
4600
0
        ti = proto_tree_add_item(c15ch_echo_cancel_tree, hf_c15ch_echo_cancel_new_l2_mode,
4601
0
                            tvb, 9, 1, ENC_BIG_ENDIAN);
4602
0
        new_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub3);
4603
0
        proto_tree_add_uint(new_tree, hf_c15ch_echo_cancel_new_channel_mode,
4604
0
                            tvb, 9, 1, (uint32_t)new_channel_mode);
4605
0
        proto_tree_add_uint(new_tree, hf_c15ch_echo_cancel_new_ecan_mode,
4606
0
                            tvb, 9, 1, (uint32_t)new_ecan_mode);
4607
4608
        /* location : pm, pc, loop, slot */
4609
0
        pm_val = tvb_get_ntohl( tvb, 15 );
4610
0
        pc_val = tvb_get_ntohl( tvb, 19 );
4611
0
        loop_val = tvb_get_ntohl( tvb, 23 );
4612
0
        slot_val = tvb_get_ntohl( tvb, 27 );
4613
0
        loc_string = wmem_strdup_printf(pinfo->pool, "%d  %d  %d  %d", pm_val, pc_val, loop_val, slot_val );
4614
0
        ti = proto_tree_add_string(c15ch_echo_cancel_tree, hf_c15ch_echo_cancel_location, tvb, 15, (27 + 4 - 15) + 1, loc_string);
4615
0
        loc_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub4);
4616
4617
0
        proto_tree_add_item(loc_tree, hf_c15ch_echo_cancel_pm, tvb, 15, 4, ENC_BIG_ENDIAN);
4618
0
        proto_tree_add_item(loc_tree, hf_c15ch_echo_cancel_pc, tvb, 19, 4, ENC_BIG_ENDIAN);
4619
0
        proto_tree_add_item(loc_tree, hf_c15ch_echo_cancel_loop, tvb, 23, 4, ENC_BIG_ENDIAN);
4620
0
        proto_tree_add_item(loc_tree, hf_c15ch_echo_cancel_slot, tvb, 27, 4, ENC_BIG_ENDIAN);
4621
0
    }
4622
4623
0
    return tvb_reported_length(tvb);
4624
0
}
4625
4626
static int dissect_c15ch_encap_isup(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4627
0
{
4628
0
    proto_item * ti = NULL;
4629
0
    proto_tree * c15ch_encap_isup_tree = NULL;
4630
0
    tvbuff_t * next_tvb;
4631
4632
0
    if (tree)
4633
0
    {
4634
4635
0
        ti = proto_tree_add_item(tree, hf_c15ch_encap_isup, tvb, 0, 273, ENC_NA);
4636
0
        c15ch_encap_isup_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
4637
0
        proto_tree_add_item(c15ch_encap_isup_tree, hf_c15ch_encap_isup_direction,
4638
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
4639
0
        proto_tree_add_item(c15ch_encap_isup_tree, hf_c15ch_encap_isup_isup_msg_length,
4640
0
                            tvb, 1, 4, ENC_BIG_ENDIAN);
4641
4642
        /*length of ISUP portion == expected length == 268 */
4643
0
        next_tvb = tvb_new_subset_length(tvb, 5, 268);
4644
0
        call_dissector(general_isup_handle, next_tvb, pinfo, tree);
4645
0
    }
4646
4647
0
    col_set_str(pinfo->cinfo, COL_PROTOCOL, C15_LABEL);
4648
0
    col_set_str(pinfo->cinfo, COL_INFO, "Type: ISUP");
4649
4650
0
    return tvb_reported_length(tvb);
4651
0
}
4652
4653
4654
static int dissect_c15ch_isup(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4655
0
{
4656
0
    proto_item * ti = NULL;
4657
0
    proto_tree * c15ch_isup_tree = NULL;
4658
0
    proto_tree * c15ch_sub_hdr_tree = NULL;
4659
0
    proto_tree * sub_ni_tn_tree = NULL;
4660
0
    uint8_t msgtype_value = 0;
4661
0
    tvbuff_t * next_tvb;
4662
4663
0
    msgtype_value = tvb_get_uint8(tvb, 1);
4664
4665
0
    col_clear(pinfo->cinfo, COL_INFO);
4666
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Msg Type: %s",
4667
0
        val_to_str_ext_const(msgtype_value, &c15_isup_types_ext, "Unknown"));
4668
4669
0
    if (tree)
4670
0
    {
4671
4672
0
        ti = proto_tree_add_item(tree, hf_c15ch_isup, tvb, 0, 324, ENC_NA);
4673
0
        proto_item_append_text(ti, ", Msg Type: %s",
4674
0
            val_to_str_ext_const(msgtype_value, &c15_isup_types_ext, "Unknown"));
4675
0
        c15ch_isup_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
4676
0
        proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_direction,
4677
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
4678
0
        proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_msgtype,
4679
0
                            tvb, 1, 1, ENC_BIG_ENDIAN);
4680
0
        proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_cic,
4681
0
                            tvb, 2, 4, ENC_BIG_ENDIAN);
4682
0
        proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_opcmember,
4683
0
                            tvb, 6, 1, ENC_BIG_ENDIAN);
4684
0
        proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_opccluster,
4685
0
                            tvb, 7, 1, ENC_BIG_ENDIAN);
4686
0
        proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_opcnetwork,
4687
0
                            tvb, 8, 1, ENC_BIG_ENDIAN);
4688
0
        proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_dpcmember,
4689
0
                            tvb, 9, 1, ENC_BIG_ENDIAN);
4690
0
        proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_dpccluster,
4691
0
                            tvb, 10, 1, ENC_BIG_ENDIAN);
4692
0
        proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_dpcnetwork,
4693
0
                            tvb, 11, 1, ENC_BIG_ENDIAN);
4694
0
        proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_level3index,
4695
0
                            tvb, 12, 1, ENC_BIG_ENDIAN);
4696
0
        ti = proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_ni_tn,
4697
0
                            tvb, 13, 8, ENC_BIG_ENDIAN);
4698
0
        sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
4699
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_isup_ni,
4700
0
                            tvb, 13, 4, ENC_BIG_ENDIAN);
4701
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_isup_tn,
4702
0
                            tvb, 17, 4, ENC_BIG_ENDIAN);
4703
4704
0
        proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_iptime,
4705
0
                            tvb, 320, 4, ENC_BIG_ENDIAN);
4706
4707
0
        c15ch_sub_hdr_tree = proto_tree_add_subtree(c15ch_isup_tree,
4708
0
                           tvb, 21, 28, ett_c15ch_second_level_sub2, NULL, "Raw Header Data");
4709
0
        proto_tree_add_item(c15ch_sub_hdr_tree, hf_c15ch_isup_c15hdr,
4710
0
                            tvb, 21, 18, ENC_NA);
4711
0
        proto_tree_add_item(c15ch_sub_hdr_tree, hf_c15ch_isup_layer2hdr,
4712
0
                            tvb, 39, 2, ENC_NA);
4713
0
        proto_tree_add_item(c15ch_sub_hdr_tree, hf_c15ch_isup_layer3hdr,
4714
0
                            tvb, 41, 8, ENC_NA);
4715
4716
        /*length of ISUP portion == expected length == 271 */
4717
0
        next_tvb = tvb_new_subset_length(tvb, 49, 271);
4718
0
        call_dissector(general_isup_handle, next_tvb, pinfo, tree);
4719
0
    }
4720
4721
0
    col_set_str(pinfo->cinfo, COL_PROTOCOL, C15_LABEL);
4722
0
    col_clear(pinfo->cinfo, COL_INFO);
4723
0
    col_add_fstr(pinfo->cinfo, COL_INFO, "Type: ISUP, Msg Type: %s",
4724
0
        val_to_str_ext_const(msgtype_value, &c15_isup_types_ext, "Unknown Type") );
4725
4726
0
    return tvb_reported_length(tvb);
4727
0
}
4728
4729
static int dissect_c15ch_mkbrk(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
4730
0
{
4731
0
    proto_item * ti = NULL;
4732
0
    proto_tree * c15ch_mkbrk_tree = NULL;
4733
4734
0
    if (tree)
4735
0
    {
4736
0
        ti = proto_tree_add_item(tree, hf_c15ch_mkbrk, tvb, 0, 11, ENC_NA);
4737
0
        c15ch_mkbrk_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
4738
0
        proto_tree_add_item(c15ch_mkbrk_tree, hf_c15ch_mkbrk_makebreak,
4739
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
4740
0
        proto_tree_add_item(c15ch_mkbrk_tree, hf_c15ch_mkbrk_nshlf,
4741
0
                            tvb, 1, 1, ENC_BIG_ENDIAN);
4742
0
        proto_tree_add_item(c15ch_mkbrk_tree, hf_c15ch_mkbrk_stm,
4743
0
                            tvb, 2, 1, ENC_BIG_ENDIAN);
4744
0
        proto_tree_add_item(c15ch_mkbrk_tree, hf_c15ch_mkbrk_caddr,
4745
0
                            tvb, 3, 4, ENC_BIG_ENDIAN);
4746
0
        proto_tree_add_item(c15ch_mkbrk_tree, hf_c15ch_mkbrk_cdata,
4747
0
                            tvb, 7, 4, ENC_BIG_ENDIAN);
4748
0
    }
4749
0
    return tvb_reported_length(tvb);
4750
0
}
4751
4752
4753
static int dissect_c15ch_nitnxlate(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4754
9
{
4755
4756
9
    proto_item * ti = NULL;
4757
9
    proto_tree * c15ch_nitnxlate_tree = NULL;
4758
9
    proto_tree * sub_ni_tn_tree = NULL;
4759
9
    proto_tree * concat_tree = NULL;
4760
9
    unsigned char * site_string;
4761
9
    unsigned char * subsite_string;
4762
9
    char * equipname_string;
4763
9
    wmem_strbuf_t * desc_string = wmem_strbuf_create(pinfo->pool);
4764
9
    int str_start;
4765
9
    unsigned site_str_len, subsite_str_len, equipname_str_len;
4766
9
    uint32_t gwtype_val;
4767
9
    uint32_t frame_val, shelf_val, lsg_val, unit_val;
4768
9
    uint32_t key_val;
4769
9
    uint32_t tgnum_val;
4770
4771
    /* sitestring */
4772
9
    str_start = 12;
4773
9
    site_string = tvb_get_stringz_enc(pinfo->pool, tvb, str_start, &site_str_len, ENC_ASCII);
4774
4775
    /* subsitestring */
4776
9
    str_start = 17;
4777
9
    subsite_string = tvb_get_stringz_enc(pinfo->pool, tvb, str_start, &subsite_str_len, ENC_ASCII);
4778
4779
    /* equipname */
4780
9
    str_start = 22;
4781
9
    equipname_string = (char * )tvb_get_stringz_enc(pinfo->pool, tvb, str_start, &equipname_str_len, ENC_ASCII);
4782
4783
9
    frame_val = tvb_get_ntohl( tvb, 31 );
4784
9
    shelf_val = tvb_get_ntohl( tvb, 35 );
4785
9
    lsg_val = tvb_get_ntohl( tvb, 39 );
4786
9
    unit_val = tvb_get_ntohl( tvb, 43 );
4787
9
    key_val = tvb_get_ntohl( tvb, 47 );
4788
    /* desc_string contains for site, subsite, equip, any of which may be null */
4789
    /* don't want to print "NULL" or similar in the output string on any platform */
4790
9
    if (site_str_len > 0)
4791
8
        wmem_strbuf_append_printf(desc_string, "%s ", site_string);
4792
9
    if (subsite_str_len > 0)
4793
8
        wmem_strbuf_append_printf(desc_string, "%s ", subsite_string);
4794
9
    if (equipname_str_len > 0)
4795
8
        wmem_strbuf_append_printf(desc_string, "%s ", equipname_string);
4796
4797
9
    if ( key_val )
4798
6
    {
4799
6
        wmem_strbuf_append_printf(desc_string, "%d %d %d %d %d",
4800
6
                                    frame_val, shelf_val, lsg_val, unit_val, key_val );
4801
6
    }
4802
3
    else
4803
3
    {
4804
3
        if ( (g_strcmp0( "VLIN", equipname_string) == 0) ||
4805
2
                (g_strcmp0( "PTRK", equipname_string) == 0) )
4806
0
        {
4807
0
            wmem_strbuf_append_printf(desc_string, "%d", frame_val );
4808
0
        }
4809
3
        else if ( (g_strcmp0( "GWE", equipname_string ) == 0) ||
4810
2
                 (g_strcmp0( "IDE", equipname_string ) == 0) )
4811
0
        {
4812
0
            wmem_strbuf_append_printf(desc_string, "%d %d", frame_val, shelf_val );
4813
0
        }
4814
3
        else
4815
3
        {
4816
3
            wmem_strbuf_append_printf(desc_string, "%d %d %d %d", frame_val, shelf_val, lsg_val, unit_val);
4817
3
        }
4818
3
    }
4819
9
    col_append_fstr(pinfo->cinfo, COL_INFO, ", %s", desc_string->str);
4820
9
    if (tree)
4821
8
    {
4822
8
        ti = proto_tree_add_item(tree, hf_c15ch_nitnxlate, tvb, 0, 190, ENC_NA);
4823
8
        c15ch_nitnxlate_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
4824
4825
8
        ti = proto_tree_add_item(c15ch_nitnxlate_tree, hf_c15ch_nitnxlate_ni_tn, tvb, 0, 8, ENC_BIG_ENDIAN);
4826
8
        sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
4827
8
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_nitnxlate_ni,
4828
8
                            tvb, 0, 4, ENC_BIG_ENDIAN);
4829
8
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_nitnxlate_tn,
4830
8
                            tvb, 4, 4, ENC_BIG_ENDIAN);
4831
        /* equiptype */
4832
8
        proto_tree_add_item(c15ch_nitnxlate_tree, hf_c15ch_nitnxlate_equiptype,
4833
8
                            tvb, 8, 4, ENC_BIG_ENDIAN);
4834
4835
4836
8
        ti = proto_tree_add_string(c15ch_nitnxlate_tree, hf_c15ch_nitnxlate_concat_string, tvb, 12, 40 /*length*/,
4837
8
                                desc_string->str);
4838
8
        concat_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub2);
4839
8
        if ( site_str_len > 1 )
4840
8
        {
4841
8
            str_start = 12;
4842
8
            add_string_field( concat_tree, pinfo, tvb, str_start, 5, hf_c15ch_nitnxlate_sitestring );
4843
8
        }
4844
8
        if ( subsite_str_len > 1 )
4845
6
        {
4846
6
            str_start = 17;
4847
6
            add_string_field( concat_tree, pinfo, tvb, str_start, 5, hf_c15ch_nitnxlate_subsitestring );
4848
6
        }
4849
8
        if ( equipname_str_len > 1 )
4850
6
        {
4851
6
            str_start = 22;
4852
6
            add_string_field( concat_tree, pinfo, tvb, str_start, 5, hf_c15ch_nitnxlate_equipname );
4853
6
        }
4854
8
        if ( g_strcmp0( "GWE", equipname_string) == 0 )
4855
0
        {
4856
0
            proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_gateway,
4857
0
                            tvb, 31, 4, ENC_BIG_ENDIAN);
4858
4859
0
            proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_line,
4860
0
                            tvb, 35, 4, ENC_BIG_ENDIAN);
4861
0
        }
4862
8
        else
4863
8
            if ( g_strcmp0( "IDE", equipname_string ) == 0 )
4864
0
            {
4865
0
                proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_idt_rdt,
4866
0
                            tvb, 31, 4, ENC_BIG_ENDIAN);
4867
4868
0
                proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_line,
4869
0
                            tvb, 35, 4, ENC_BIG_ENDIAN);
4870
0
            }
4871
8
        else
4872
8
            if ( g_strcmp0( "VLIN", equipname_string ) == 0 )
4873
0
            {
4874
0
                proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_line,
4875
0
                            tvb, 31, 4, ENC_BIG_ENDIAN);
4876
0
            }
4877
8
        else
4878
8
            if ( g_strcmp0( "PTRK", equipname_string ) == 0 )
4879
0
            {
4880
0
                proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_ptrk,
4881
0
                            tvb, 31, 4, ENC_BIG_ENDIAN);
4882
0
            }
4883
8
        else
4884
8
            if ( (g_strcmp0( "LCE", equipname_string ) == 0) ||
4885
8
                 (g_strcmp0( "RSE", equipname_string ) == 0) ||
4886
8
                 (g_strcmp0( "RSC", equipname_string ) == 0) ||
4887
8
                 (g_strcmp0( "HUBE", equipname_string) == 0) )
4888
0
            {
4889
0
                proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_bay,
4890
0
                            tvb, 31, 4, ENC_BIG_ENDIAN);
4891
0
                proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_shelf,
4892
0
                            tvb, 35, 4, ENC_BIG_ENDIAN);
4893
0
                proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_lsg,
4894
0
                            tvb, 39, 4, ENC_BIG_ENDIAN);
4895
0
                proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_line,
4896
0
                            tvb, 43, 4, ENC_BIG_ENDIAN);
4897
0
                if ( key_val )
4898
0
                {
4899
0
                    proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_key,
4900
0
                            tvb, 47, 4, ENC_BIG_ENDIAN);
4901
0
                }
4902
0
            }
4903
8
        else
4904
8
            if (equipname_str_len <= 1)
4905
2
            {
4906
2
                proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_pm,
4907
2
                            tvb, 31, 4, ENC_BIG_ENDIAN);
4908
2
                proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_pc_sts1,
4909
2
                            tvb, 35, 4, ENC_BIG_ENDIAN); /* either pc or sts1 */
4910
2
                proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_port_vt15,
4911
2
                            tvb, 39, 4, ENC_BIG_ENDIAN); /* either port or vt15 */
4912
2
                proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_channel,
4913
2
                            tvb, 43, 4, ENC_BIG_ENDIAN);
4914
2
            }
4915
6
        else /* default case : label generically as parms  */
4916
6
        {
4917
6
            proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_parm_1,
4918
6
                            tvb, 31, 4, ENC_BIG_ENDIAN);
4919
4920
6
            proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_parm_2,
4921
6
                            tvb, 35, 4, ENC_BIG_ENDIAN);
4922
4923
6
            proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_parm_3,
4924
6
                            tvb, 39, 4, ENC_BIG_ENDIAN);
4925
6
            proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_parm_4,
4926
6
                            tvb, 43, 4, ENC_BIG_ENDIAN);
4927
6
            if ( key_val )
4928
5
            {
4929
5
                proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_key,
4930
5
                            tvb, 47, 4, ENC_BIG_ENDIAN);
4931
5
            }
4932
6
        }
4933
        /* gw type */
4934
8
        proto_tree_add_item(c15ch_nitnxlate_tree, hf_c15ch_nitnxlate_gw_type,
4935
8
                            tvb, 27, 4, ENC_BIG_ENDIAN);
4936
        /* user_tid */
4937
8
        if ( g_strcmp0( "GWE", equipname_string ) == 0 )
4938
0
        {
4939
0
            str_start = 51;
4940
0
            add_string_field( c15ch_nitnxlate_tree, pinfo, tvb, str_start, 65, hf_c15ch_nitnxlate_user_tid );
4941
0
        }
4942
        /* host */
4943
8
        str_start = 116;
4944
8
        gwtype_val = tvb_get_ntohl( tvb, 27 );
4945
8
        if (( gwtype_val == 3 ) ||
4946
8
            ( gwtype_val == 5 ) )
4947
0
        {
4948
0
            add_string_field(c15ch_nitnxlate_tree, pinfo, tvb, str_start, 65, hf_c15ch_nitnxlate_host );
4949
      /* moving MGCP_Line_ID here into this block as it is only valid for MGCP / NCS lines */
4950
0
            add_string_field(c15ch_nitnxlate_tree, pinfo, tvb, 185, 5, hf_c15ch_nitnxlate_mgcp_line_id);
4951
0
        }
4952
4953
        /* SIP Call-ID-64 */
4954
8
        if (( gwtype_val == 2  ) ||   /* Output SIP Call-ID up to 64 characters if SIP_LN or */
4955
8
            ( gwtype_val == 14 ) ||   /* SIP_LTG */
4956
8
            ( gwtype_val == 15 ) )    /* SIP_TG */
4957
0
        {
4958
0
            add_string_field(c15ch_nitnxlate_tree, pinfo, tvb, str_start, 65, hf_c15ch_nitnxlate_sip_call_id_64 );
4959
            /* Also placing this parameter as "host" for call correlation with external tools */
4960
0
            add_string_field(c15ch_nitnxlate_tree, pinfo, tvb, str_start, 65, hf_c15ch_nitnxlate_host );
4961
0
        }
4962
4963
        /* target group number */
4964
8
        tgnum_val = tvb_get_ntohl( tvb, 181 );
4965
8
        if ( tgnum_val )
4966
2
        {
4967
2
            proto_tree_add_item(c15ch_nitnxlate_tree, hf_c15ch_nitnxlate_tg_num,
4968
2
                                tvb, 181, 4, ENC_BIG_ENDIAN);
4969
2
        }
4970
4971
4972
        // add_string_field( c15ch_nitnxlate_tree, tvb, 185, 5, hf_c15ch_nitnxlate_mgcp_line_id);
4973
4974
8
    }
4975
9
    return tvb_reported_length(tvb);
4976
9
}
4977
4978
4979
static int dissect_c15ch_ntwk_conn(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4980
1
{
4981
1
    proto_item * ti = NULL;
4982
1
    proto_tree * c15ch_ntwk_conn_tree = NULL;
4983
1
    proto_tree * sub_ni_tn_tree = NULL;
4984
1
    proto_tree * old_loc_tree = NULL;
4985
1
    proto_tree * new_loc_tree = NULL;
4986
4987
1
    uint8_t from_pm_val, from_pc_val, from_loop_val, from_slot_val;
4988
1
    char * from_loc_string = NULL;
4989
4990
1
    uint8_t to_pm_val, to_pc_val, to_loop_val, to_slot_val;
4991
1
    char * to_loc_string = NULL;
4992
4993
1
    uint8_t path_type_val = 0;
4994
1
    uint8_t conn_type_val = 0;
4995
1
    path_type_val = tvb_get_uint8(tvb, 0);
4996
1
    conn_type_val = tvb_get_uint8(tvb, 1);
4997
1
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Path Type: %s",
4998
1
        val_to_str(pinfo->pool, path_type_val, c15ch_path_types, "Unknown %d") );
4999
1
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Conn Type: %s",
5000
1
        val_to_str(pinfo->pool, conn_type_val, c15ch_ntwk_srcedest_conn_types, "Unknown %d") );
5001
1
    if (tree)
5002
1
    {
5003
1
        int str_start;
5004
1
        int max_str_len;
5005
1
        ti = proto_tree_add_item(tree, hf_c15ch_ntwk_conn, tvb, 0, 39, ENC_NA);
5006
1
        c15ch_ntwk_conn_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5007
5008
        /* misc. fields */
5009
1
        proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_pathtype,
5010
1
                            tvb, 0, 1, ENC_BIG_ENDIAN);
5011
1
        proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_conntype,
5012
1
                            tvb, 1, 1, ENC_BIG_ENDIAN);
5013
1
        proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_fromoptimized,
5014
1
                            tvb, 2, 1, ENC_BIG_ENDIAN);
5015
5016
        /* fromsite */
5017
1
        str_start = 3;
5018
1
        max_str_len = 5;
5019
1
        add_string_field( c15ch_ntwk_conn_tree, pinfo, tvb, str_start, max_str_len, hf_c15ch_ntwk_conn_fromsite );
5020
5021
        /* old location and pm, pc, slot, loop*/
5022
1
        from_pm_val = tvb_get_uint8( tvb, 8 );
5023
1
        from_pc_val = tvb_get_uint8( tvb, 9 );
5024
1
        from_loop_val = tvb_get_uint8( tvb, 10 );
5025
1
        from_slot_val = tvb_get_uint8( tvb, 11 );
5026
1
        from_loc_string = wmem_strdup_printf(pinfo->pool, "%d  %d  %d  %d", from_pm_val, from_pc_val, from_loop_val, from_slot_val );
5027
1
        ti = proto_tree_add_string(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_fromlocation, tvb, 8, (11 - 8) + 1,
5028
1
                                from_loc_string);
5029
1
        old_loc_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
5030
1
        proto_tree_add_item(old_loc_tree, hf_c15ch_ntwk_conn_frompm,
5031
1
                            tvb, 8, 1, ENC_BIG_ENDIAN);
5032
1
        proto_tree_add_item(old_loc_tree, hf_c15ch_ntwk_conn_frompc,
5033
1
                            tvb, 9, 1, ENC_BIG_ENDIAN);
5034
1
        proto_tree_add_item(old_loc_tree, hf_c15ch_ntwk_conn_fromloop,
5035
1
                            tvb, 10, 1, ENC_BIG_ENDIAN);
5036
1
        proto_tree_add_item(old_loc_tree, hf_c15ch_ntwk_conn_fromslot,
5037
1
                            tvb, 11, 1, ENC_BIG_ENDIAN);
5038
5039
        /* misc. fields */
5040
1
        proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_fromcnx,
5041
1
                            tvb, 12, 4, ENC_BIG_ENDIAN);
5042
5043
1
        ti = proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_fromntwknitn,
5044
1
                            tvb, 16, 8, ENC_BIG_ENDIAN);
5045
1
        sub_ni_tn_tree = proto_item_add_subtree (ti,ett_c15ch_second_level_sub2);
5046
1
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_ntwk_conn_fromntwkni,
5047
1
                            tvb, 16, 4, ENC_BIG_ENDIAN);
5048
1
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_ntwk_conn_fromntwktn,
5049
1
                            tvb, 20, 4, ENC_BIG_ENDIAN);
5050
5051
5052
1
        proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_mbshold,
5053
1
                            tvb, 24, 1, ENC_BIG_ENDIAN);
5054
1
        proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_tooptimized,
5055
1
                            tvb, 25, 1, ENC_BIG_ENDIAN);
5056
        /* tosite */
5057
1
        str_start = 26;
5058
1
        max_str_len = 5;
5059
1
        add_string_field( c15ch_ntwk_conn_tree, pinfo, tvb, str_start, max_str_len, hf_c15ch_ntwk_conn_tosite );
5060
5061
        /* new location and pm, pc, slot, loop*/
5062
1
        to_pm_val = tvb_get_uint8( tvb, 31 );
5063
1
        to_pc_val = tvb_get_uint8( tvb, 32 );
5064
1
        to_loop_val = tvb_get_uint8( tvb, 33 );
5065
1
        to_slot_val = tvb_get_uint8( tvb, 34 );
5066
1
        to_loc_string = wmem_strdup_printf(pinfo->pool, "%d  %d  %d  %d", to_pm_val, to_pc_val, to_loop_val, to_slot_val );
5067
1
        ti = proto_tree_add_string(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_tolocation, tvb, 31, (34 - 31) + 1,
5068
1
                                to_loc_string);
5069
1
        new_loc_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub3);
5070
1
        proto_tree_add_item(new_loc_tree, hf_c15ch_ntwk_conn_topm,
5071
1
                            tvb, 31, 1, ENC_BIG_ENDIAN);
5072
1
        proto_tree_add_item(new_loc_tree, hf_c15ch_ntwk_conn_topc,
5073
1
                            tvb, 32, 1, ENC_BIG_ENDIAN);
5074
1
        proto_tree_add_item(new_loc_tree, hf_c15ch_ntwk_conn_toloop,
5075
1
                            tvb, 33, 1, ENC_BIG_ENDIAN);
5076
1
        proto_tree_add_item(new_loc_tree, hf_c15ch_ntwk_conn_toslot,
5077
1
                            tvb, 34, 1, ENC_BIG_ENDIAN);
5078
1
        proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_tocnx,
5079
1
                            tvb, 35, 4, ENC_BIG_ENDIAN);
5080
1
    }
5081
1
    return tvb_reported_length(tvb);
5082
1
}
5083
5084
5085
static int dissect_c15ch_orig(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5086
17
{
5087
17
    proto_item * ti = NULL;
5088
17
    proto_tree * c15ch_orig_tree = NULL;
5089
17
    proto_tree * sub_ni_tn_tree = NULL;
5090
5091
17
    uint8_t num_dn_digits;
5092
17
    uint8_t num_upn_digits;
5093
17
    uint8_t num_rnp_digits;
5094
5095
17
    num_dn_digits = tvb_get_uint8(tvb, 12);
5096
5097
17
    col_append_str(pinfo->cinfo, COL_INFO, ", DN: ");
5098
17
    add_digits_string_info_col( tvb, 13, num_dn_digits, pinfo);
5099
5100
17
    if (tree)
5101
17
    {
5102
17
        ti = proto_tree_add_item(tree, hf_c15ch_orig, tvb, 0, 73, ENC_NA);
5103
17
        c15ch_orig_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5104
17
        num_upn_digits = tvb_get_uint8(tvb, 28);
5105
17
        num_rnp_digits = tvb_get_uint8(tvb, 49);
5106
17
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_tnblocktype,
5107
17
                            tvb, 0, 4, ENC_BIG_ENDIAN);
5108
5109
17
        ti = proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_ni_tn, tvb, 4, 8, ENC_BIG_ENDIAN);
5110
5111
17
        sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
5112
17
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_orig_ni,
5113
17
                            tvb, 4, 4, ENC_BIG_ENDIAN);
5114
17
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_orig_tn,
5115
17
                            tvb, 8, 4, ENC_BIG_ENDIAN);
5116
5117
17
        add_digits_string(hf_c15ch_orig_dndigits,tvb,pinfo,c15ch_orig_tree, 13, num_dn_digits, 10, 1);
5118
5119
17
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_nidscrn,
5120
17
                            tvb, 23, 1, ENC_BIG_ENDIAN);
5121
17
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_nidaddrtype,
5122
17
                            tvb, 24, 1, ENC_BIG_ENDIAN);
5123
17
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_nidnmbrplan,
5124
17
                            tvb, 25, 1, ENC_BIG_ENDIAN);
5125
17
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_nidprivind,
5126
17
                            tvb, 26, 1, ENC_BIG_ENDIAN);
5127
17
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_upnsaved,
5128
17
                            tvb, 27, 1, ENC_BIG_ENDIAN);
5129
5130
17
        add_digits_string(hf_c15ch_orig_upndigits,tvb,pinfo,c15ch_orig_tree, 29, num_upn_digits, 15, 1);
5131
5132
17
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_upnscrn,
5133
17
                            tvb, 44, 1, ENC_BIG_ENDIAN);
5134
17
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_upnaddrtype,
5135
17
                            tvb, 45, 1, ENC_BIG_ENDIAN);
5136
17
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_upnnmbrplan,
5137
17
                            tvb, 46, 1, ENC_BIG_ENDIAN);
5138
17
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_upnprivind,
5139
17
                            tvb, 47, 1, ENC_BIG_ENDIAN);
5140
17
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_rnpsaved,
5141
17
                            tvb, 48, 1, ENC_BIG_ENDIAN);
5142
5143
17
        add_digits_string(hf_c15ch_orig_rnpdigits,tvb,pinfo,c15ch_orig_tree, 50, num_rnp_digits, 15, 1);
5144
5145
17
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_rnpscrn,
5146
17
                            tvb, 65, 1, ENC_BIG_ENDIAN);
5147
17
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_rnpaddrtype,
5148
17
                            tvb, 66, 1, ENC_BIG_ENDIAN);
5149
17
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_rnpnmbrplan,
5150
17
                            tvb, 67, 1, ENC_BIG_ENDIAN);
5151
17
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_rnpprivind,
5152
17
                            tvb, 68, 1, ENC_BIG_ENDIAN);
5153
17
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_iptime,
5154
17
                            tvb, 69, 4, ENC_BIG_ENDIAN);
5155
5156
17
    }
5157
17
    return tvb_reported_length(tvb);
5158
17
}
5159
5160
5161
static int dissect_c15ch_outgwebc(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
5162
1
{
5163
1
    proto_item * ti = NULL;
5164
1
    proto_tree * c15ch_outgwebc_tree = NULL;
5165
1
    proto_tree * sub_ni_tn_tree = NULL;
5166
5167
5168
1
    if (tree)
5169
1
    {
5170
1
        ti = proto_tree_add_item(tree, hf_c15ch_outgwebc, tvb, 0, 27, ENC_NA);
5171
1
        c15ch_outgwebc_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5172
5173
1
        ti = proto_tree_add_item(c15ch_outgwebc_tree, hf_c15ch_outgwebc_pbc_conn_ni_tn,
5174
1
                            tvb, 0, 8, ENC_BIG_ENDIAN);
5175
1
        sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
5176
5177
1
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_outgwebc_pbc_conn_ni,
5178
1
                            tvb, 0, 4, ENC_BIG_ENDIAN);
5179
1
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_outgwebc_pbc_conn_tn,
5180
1
                            tvb, 4, 4, ENC_BIG_ENDIAN);
5181
5182
1
        proto_tree_add_item(c15ch_outgwebc_tree, hf_c15ch_outgwebc_pbc_conn_num,
5183
1
                            tvb, 8, 4, ENC_BIG_ENDIAN);
5184
1
        proto_tree_add_item(c15ch_outgwebc_tree, hf_c15ch_outgwebc_pbc_conn_type,
5185
1
                            tvb, 12, 1, ENC_BIG_ENDIAN);
5186
1
        proto_tree_add_item(c15ch_outgwebc_tree, hf_c15ch_outgwebc_bc_msg_type,
5187
1
                            tvb, 13, 1, ENC_BIG_ENDIAN);
5188
1
        proto_tree_add_item(c15ch_outgwebc_tree, hf_c15ch_outgwebc_op_bc_sdp_ip,
5189
1
                            tvb, 14, 4, ENC_LITTLE_ENDIAN);
5190
1
        proto_tree_add_item(c15ch_outgwebc_tree, hf_c15ch_outgwebc_op_bc_sdp_port,
5191
1
                            tvb, 18, 4, ENC_BIG_ENDIAN);
5192
1
        proto_tree_add_item(c15ch_outgwebc_tree, hf_c15ch_outgwebc_pbc_mdrp_mode,
5193
1
                            tvb, 22, 1, ENC_BIG_ENDIAN);
5194
1
        proto_tree_add_item(c15ch_outgwebc_tree, hf_c15ch_outgwebc_pbc_tst_flags,
5195
1
                            tvb, 23, 4, ENC_BIG_ENDIAN);
5196
1
    }
5197
1
    return tvb_reported_length(tvb);
5198
1
}
5199
5200
5201
static int dissect_c15ch_pathfind(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
5202
0
{
5203
0
    proto_item * ti = NULL;
5204
0
    proto_tree * c15ch_pathfind_tree = NULL;
5205
0
    proto_tree * fromgwe_ni_tn_tree = NULL;
5206
0
    proto_tree * from_ni_tn_tree = NULL;
5207
0
    proto_tree * togwe_ni_tn_tree = NULL;
5208
0
    proto_tree * to_ni_tn_tree = NULL;
5209
0
    int str_start;
5210
0
    int max_str_len;
5211
5212
0
    if (tree)
5213
0
    {
5214
0
        ti = proto_tree_add_item(tree,  hf_c15ch_pathfind, tvb, 0, 73, ENC_NA);
5215
0
        c15ch_pathfind_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5216
0
        proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_vds30,
5217
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
5218
5219
0
        ti = proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_fromgwenitn, tvb, 1, 8, ENC_BIG_ENDIAN);
5220
0
        fromgwe_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
5221
0
        proto_tree_add_item(fromgwe_ni_tn_tree, hf_c15ch_pathfind_fromgweni,
5222
0
                            tvb, 1, 4, ENC_BIG_ENDIAN);
5223
0
        proto_tree_add_item(fromgwe_ni_tn_tree, hf_c15ch_pathfind_fromgwetn,
5224
0
                            tvb, 5, 4, ENC_BIG_ENDIAN);
5225
5226
0
        proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_fromoptimized,
5227
0
                            tvb, 9, 1, ENC_BIG_ENDIAN);
5228
        /* fromsite */
5229
0
        str_start = 10;
5230
0
        max_str_len = 5;
5231
0
        add_string_field( c15ch_pathfind_tree, pinfo, tvb, str_start, max_str_len, hf_c15ch_pathfind_fromsite );
5232
5233
0
        proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_frompm,
5234
0
                            tvb, 15, 1, ENC_BIG_ENDIAN);
5235
0
        proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_frompc,
5236
0
                            tvb, 16, 1, ENC_BIG_ENDIAN);
5237
0
        proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_fromloop,
5238
0
                            tvb, 17, 4, ENC_BIG_ENDIAN);
5239
0
        proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_fromslot,
5240
0
                            tvb, 21, 4, ENC_BIG_ENDIAN);
5241
0
        proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_fromcnx,
5242
0
                            tvb, 25, 4, ENC_BIG_ENDIAN);
5243
5244
0
        ti = proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_fromnitn,
5245
0
                            tvb, 29, 8, ENC_BIG_ENDIAN);
5246
0
        from_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub2);
5247
0
        proto_tree_add_item(from_ni_tn_tree, hf_c15ch_pathfind_fromni,
5248
0
                            tvb, 29, 4, ENC_BIG_ENDIAN);
5249
0
        proto_tree_add_item(from_ni_tn_tree, hf_c15ch_pathfind_fromtn,
5250
0
                            tvb, 33, 4, ENC_BIG_ENDIAN);
5251
5252
0
        ti = proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_togwenitn,
5253
0
                            tvb, 37, 8, ENC_BIG_ENDIAN);
5254
0
        togwe_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub3);
5255
0
        proto_tree_add_item(togwe_ni_tn_tree, hf_c15ch_pathfind_togweni,
5256
0
                            tvb, 37, 4, ENC_BIG_ENDIAN);
5257
0
        proto_tree_add_item(togwe_ni_tn_tree, hf_c15ch_pathfind_togwetn,
5258
0
                            tvb, 41, 4, ENC_BIG_ENDIAN);
5259
5260
0
        proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_tooptimized,
5261
0
                            tvb, 45, 1, ENC_BIG_ENDIAN);
5262
        /* tosite */
5263
0
        str_start = 46;
5264
0
        max_str_len = 5;
5265
0
        add_string_field( c15ch_pathfind_tree, pinfo, tvb, str_start, max_str_len, hf_c15ch_pathfind_tosite );
5266
5267
0
        proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_topm,
5268
0
                            tvb, 51, 1, ENC_BIG_ENDIAN);
5269
0
        proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_topc,
5270
0
                            tvb, 52, 1, ENC_BIG_ENDIAN);
5271
0
        proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_toloop,
5272
0
                            tvb, 53, 4, ENC_BIG_ENDIAN);
5273
0
        proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_toslot,
5274
0
                            tvb, 57, 4, ENC_BIG_ENDIAN);
5275
0
        proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_tocnx,
5276
0
                            tvb, 61, 4, ENC_BIG_ENDIAN);
5277
5278
0
        ti = proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_tonitn,
5279
0
                            tvb, 65, 8, ENC_BIG_ENDIAN);
5280
0
        to_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub4);
5281
0
        proto_tree_add_item(to_ni_tn_tree, hf_c15ch_pathfind_toni,
5282
0
                            tvb, 65, 4, ENC_BIG_ENDIAN);
5283
0
        proto_tree_add_item(to_ni_tn_tree, hf_c15ch_pathfind_totn,
5284
0
                            tvb, 69, 4, ENC_BIG_ENDIAN);
5285
0
    }
5286
0
    return tvb_reported_length(tvb);
5287
0
}
5288
5289
5290
static int dissect_c15ch_pathidle(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
5291
0
{
5292
0
    proto_item * ti = NULL;
5293
0
    proto_tree * c15ch_pathidle_tree = NULL;
5294
0
    proto_tree * fromgwe_ni_tn_tree = NULL;
5295
0
    proto_tree * from_ni_tn_tree = NULL;
5296
0
    proto_tree * togwe_ni_tn_tree = NULL;
5297
0
    proto_tree * to_ni_tn_tree = NULL;
5298
0
    int str_start;
5299
0
    int max_str_len;
5300
5301
0
    if (tree)
5302
0
    {
5303
0
        ti = proto_tree_add_item(tree, hf_c15ch_pathidle, tvb, 0, 73, ENC_NA);
5304
0
        c15ch_pathidle_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5305
0
        proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_vds30,
5306
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
5307
0
        proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_idlecode,
5308
0
                            tvb, 1, 1, ENC_BIG_ENDIAN);
5309
0
        proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_pathtype,
5310
0
                            tvb, 2, 1, ENC_BIG_ENDIAN);
5311
5312
0
        ti = proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_fromgwenitn,
5313
0
                            tvb, 3, 8, ENC_BIG_ENDIAN);
5314
0
        fromgwe_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
5315
0
        proto_tree_add_item(fromgwe_ni_tn_tree, hf_c15ch_pathidle_fromgweni,
5316
0
                            tvb, 3, 4, ENC_BIG_ENDIAN);
5317
0
        proto_tree_add_item(fromgwe_ni_tn_tree, hf_c15ch_pathidle_fromgwetn,
5318
0
                            tvb, 7, 4, ENC_BIG_ENDIAN);
5319
        /* fromsite */
5320
0
        str_start = 11;
5321
0
        max_str_len = 5;
5322
0
        add_string_field( c15ch_pathidle_tree, pinfo, tvb, str_start, max_str_len, hf_c15ch_pathidle_fromsite );
5323
5324
0
        proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_frompm,
5325
0
                            tvb, 16, 1, ENC_BIG_ENDIAN);
5326
0
        proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_frompc,
5327
0
                            tvb, 17, 1, ENC_BIG_ENDIAN);
5328
0
        proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_fromloop,
5329
0
                            tvb, 18, 4, ENC_BIG_ENDIAN);
5330
0
        proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_fromslot,
5331
0
                            tvb, 22, 4, ENC_BIG_ENDIAN);
5332
0
        proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_fromcnx,
5333
0
                            tvb, 26, 4, ENC_BIG_ENDIAN);
5334
5335
0
        ti = proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_fromnitn,
5336
0
                            tvb, 30, 8, ENC_BIG_ENDIAN);
5337
0
        from_ni_tn_tree = proto_item_add_subtree(ti, ett_c15ch_second_level_sub2);
5338
0
        proto_tree_add_item(from_ni_tn_tree, hf_c15ch_pathidle_fromni,
5339
0
                            tvb, 30, 4, ENC_BIG_ENDIAN);
5340
0
        proto_tree_add_item(from_ni_tn_tree, hf_c15ch_pathidle_fromtn,
5341
0
                            tvb, 34, 4, ENC_BIG_ENDIAN);
5342
5343
0
        ti = proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_togwenitn,
5344
0
                            tvb, 38, 8, ENC_BIG_ENDIAN);
5345
0
        togwe_ni_tn_tree = proto_item_add_subtree(ti, ett_c15ch_second_level_sub3);
5346
0
        proto_tree_add_item(togwe_ni_tn_tree, hf_c15ch_pathidle_togweni,
5347
0
                            tvb, 38, 4, ENC_BIG_ENDIAN);
5348
0
        proto_tree_add_item(togwe_ni_tn_tree, hf_c15ch_pathidle_togwetn,
5349
0
                            tvb, 42, 4, ENC_BIG_ENDIAN);
5350
        /* tosite */
5351
0
        str_start = 46;
5352
0
        max_str_len = 5;
5353
0
        add_string_field( c15ch_pathidle_tree, pinfo, tvb, str_start, max_str_len, hf_c15ch_pathidle_tosite );
5354
5355
0
        proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_topm,
5356
0
                            tvb, 51, 1, ENC_BIG_ENDIAN);
5357
0
        proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_topc,
5358
0
                            tvb, 52, 1, ENC_BIG_ENDIAN);
5359
0
        proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_toloop,
5360
0
                            tvb, 53, 4, ENC_BIG_ENDIAN);
5361
0
        proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_toslot,
5362
0
                            tvb, 57, 4, ENC_BIG_ENDIAN);
5363
0
        proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_tocnx,
5364
0
                            tvb, 61, 4, ENC_BIG_ENDIAN);
5365
5366
0
        ti = proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_tonitn, tvb, 65, 8, ENC_BIG_ENDIAN);
5367
0
        to_ni_tn_tree = proto_item_add_subtree(ti, ett_c15ch_second_level_sub4);
5368
0
        proto_tree_add_item(to_ni_tn_tree, hf_c15ch_pathidle_toni,
5369
0
                            tvb, 65, 4, ENC_BIG_ENDIAN);
5370
0
        proto_tree_add_item(to_ni_tn_tree, hf_c15ch_pathidle_totn,
5371
0
                            tvb, 69, 4, ENC_BIG_ENDIAN);
5372
0
    }
5373
0
    return tvb_reported_length(tvb);
5374
0
}
5375
5376
5377
static int dissect_c15ch_q931(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5378
0
{
5379
0
    proto_item * ti = NULL;
5380
0
    proto_tree * c15ch_q931_tree = NULL;
5381
0
    proto_tree * sub_ni_tn_tree = NULL;
5382
0
    uint32_t q931_msg_len;
5383
0
    uint8_t direction;
5384
0
    tvbuff_t * next_tvb;
5385
0
    uint8_t bytes_to_skip;
5386
5387
0
    direction = tvb_get_uint8(tvb, 0);
5388
5389
0
    if (direction > 1)
5390
0
    {
5391
0
        bytes_to_skip = 0; /* signifies invalid direction: q931 dissector will not be called */
5392
0
    }
5393
0
    else
5394
0
        if ( ! direction )
5395
0
        {
5396
            /* direction == 0 */
5397
0
            bytes_to_skip = 13;
5398
0
        }
5399
0
        else
5400
0
        {
5401
            /* direction == 1 */
5402
0
            bytes_to_skip = 10;
5403
0
        }
5404
5405
5406
0
    if (tree)
5407
0
    {
5408
5409
0
        ti = proto_tree_add_item(tree, hf_c15ch_q931, tvb, 0, 13, ENC_NA);
5410
0
        c15ch_q931_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5411
0
        proto_tree_add_item(c15ch_q931_tree, hf_c15ch_q931_direction,
5412
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
5413
5414
0
        q931_msg_len = tvb_get_ntohl(tvb, 9);
5415
5416
0
        ti = proto_tree_add_item(c15ch_q931_tree, hf_c15ch_q931_ni_tn,
5417
0
                            tvb, 1, 8, ENC_BIG_ENDIAN);
5418
0
        sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
5419
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_q931_ni,
5420
0
                            tvb, 1, 4, ENC_BIG_ENDIAN);
5421
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_q931_tn,
5422
0
                            tvb, 5, 4, ENC_BIG_ENDIAN);
5423
5424
0
        proto_tree_add_item(c15ch_q931_tree, hf_c15ch_q931_msglength,
5425
0
                            tvb, 9, 4, ENC_BIG_ENDIAN);
5426
0
        if (q931_msg_len && bytes_to_skip)
5427
0
        {
5428
0
            next_tvb = tvb_new_subset_length(tvb, 13 + bytes_to_skip, q931_msg_len - bytes_to_skip);
5429
0
            call_dissector(general_q931_handle, next_tvb, pinfo, tree);
5430
0
        }
5431
0
    }
5432
5433
0
    col_set_str(pinfo->cinfo, COL_PROTOCOL, C15_LABEL);
5434
0
    col_clear(pinfo->cinfo, COL_INFO);
5435
0
    col_add_fstr(pinfo->cinfo, COL_INFO, "Type: Q931, Direction: %s",
5436
0
                val_to_str(pinfo->pool, direction, c15ch_direction_types, "Unknown Direction Subtype: %d")  );
5437
5438
0
    return tvb_reported_length(tvb);
5439
0
}
5440
5441
5442
static int dissect_c15ch_qos(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5443
0
{
5444
0
    proto_item * ti = NULL;
5445
0
    proto_tree * c15ch_qos_tree = NULL;
5446
0
    proto_tree * sub_ni_tn_tree = NULL;
5447
5448
0
    uint32_t year_val;
5449
0
    float mos = (float)0.0;
5450
5451
0
    mos = tvb_get_ntohl(tvb, 72) / (float) (100.0);
5452
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", MOS: %.2f", mos);
5453
0
    if (tree)
5454
0
    {
5455
0
        ti = proto_tree_add_item(tree, hf_c15ch_qos, tvb, 0, 100, ENC_NA);
5456
0
        c15ch_qos_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5457
5458
0
        ti = proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_ni_tn, tvb, 0, 8, ENC_BIG_ENDIAN);
5459
5460
0
        sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
5461
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_qos_ni,
5462
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
5463
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_qos_tn,
5464
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
5465
5466
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_rtcp_call_id,
5467
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
5468
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_register_type,
5469
0
                            tvb, 12, 4, ENC_BIG_ENDIAN);
5470
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_tg_num,
5471
0
                            tvb, 16, 4, ENC_BIG_ENDIAN);
5472
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_trk_type,
5473
0
                            tvb, 20, 4, ENC_BIG_ENDIAN);
5474
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_status,
5475
0
                            tvb, 24, 4, ENC_BIG_ENDIAN);
5476
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_codec,
5477
0
                            tvb, 28, 4, ENC_BIG_ENDIAN);
5478
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_given_ip,
5479
0
                            tvb, 32, 4, ENC_BIG_ENDIAN);
5480
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_real_ip,
5481
0
                            tvb, 36, 4, ENC_BIG_ENDIAN);
5482
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_local_ip,
5483
0
                            tvb, 40, 4, ENC_BIG_ENDIAN);
5484
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_tx_pkts,
5485
0
                            tvb, 44, 4, ENC_BIG_ENDIAN);
5486
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_lost_pkts,
5487
0
                            tvb, 48, 4, ENC_BIG_ENDIAN);
5488
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_lost_pct,
5489
0
                            tvb, 52, 4, ENC_BIG_ENDIAN);
5490
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_jitter,
5491
0
                            tvb, 56, 4, ENC_BIG_ENDIAN);
5492
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_rtt,
5493
0
                            tvb, 60, 4, ENC_BIG_ENDIAN);
5494
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_avg_rtt,
5495
0
                            tvb, 64, 4, ENC_BIG_ENDIAN);
5496
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_duration,
5497
0
                            tvb, 68, 4, ENC_BIG_ENDIAN);
5498
0
        proto_tree_add_float(c15ch_qos_tree, hf_c15ch_qos_mos,
5499
0
                            tvb, 72, 4, mos);
5500
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_ep_type,
5501
0
                            tvb, 76, 1, ENC_BIG_ENDIAN);
5502
0
        add_string_field( c15ch_qos_tree, pinfo, tvb, 77, 13, hf_c15ch_qos_dn_or_tg );
5503
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_pm,
5504
0
                            tvb, 90, 1, ENC_BIG_ENDIAN);
5505
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_pc,
5506
0
                            tvb, 91, 1, ENC_BIG_ENDIAN);
5507
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_hour,
5508
0
                            tvb, 92, 1, ENC_BIG_ENDIAN);
5509
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_min,
5510
0
                            tvb, 93, 1, ENC_BIG_ENDIAN);
5511
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_sec,
5512
0
                            tvb, 94, 1, ENC_BIG_ENDIAN);
5513
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_tenth_sec,
5514
0
                            tvb, 95, 1, ENC_BIG_ENDIAN);
5515
0
        year_val = 2000 + ( (uint32_t) tvb_get_uint8( tvb, 96 ) ) ;
5516
0
        proto_tree_add_uint(c15ch_qos_tree, hf_c15ch_qos_year, tvb, 96, 1, year_val);
5517
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_month,
5518
0
                            tvb, 97, 1, ENC_BIG_ENDIAN);
5519
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_day,
5520
0
                            tvb, 98, 1, ENC_BIG_ENDIAN);
5521
0
        proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_day_of_week,
5522
0
                            tvb, 99, 1, ENC_BIG_ENDIAN);
5523
0
    }
5524
5525
0
    return tvb_reported_length(tvb);
5526
0
}
5527
5528
5529
static int dissect_c15ch_route(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5530
0
{
5531
0
    proto_item * ti = NULL;
5532
0
    proto_tree * c15ch_route_tree = NULL;
5533
5534
0
    uint32_t route_num_val = 0;
5535
5536
0
    route_num_val = tvb_get_ntohl(tvb, 0);
5537
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Route Number: %d", route_num_val);
5538
0
    if (tree)
5539
0
    {
5540
0
        ti = proto_tree_add_item(tree,hf_c15ch_route, tvb, 0, 17, ENC_NA);
5541
0
        c15ch_route_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5542
0
        proto_tree_add_item(c15ch_route_tree, hf_c15ch_route_number,
5543
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
5544
0
        proto_tree_add_item(c15ch_route_tree, hf_c15ch_route_type,
5545
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
5546
0
        proto_tree_add_item(c15ch_route_tree, hf_c15ch_route_subpm,
5547
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
5548
0
        proto_tree_add_item(c15ch_route_tree, hf_c15ch_route_trkpm,
5549
0
                            tvb, 12, 4, ENC_BIG_ENDIAN);
5550
0
        proto_tree_add_item(c15ch_route_tree, hf_c15ch_route_strtaindo,
5551
0
                            tvb, 16, 1, ENC_BIG_ENDIAN);
5552
0
        if ( tvb_reported_length(tvb) >= 25 )
5553
0
        {
5554
0
            proto_tree_add_item(c15ch_route_tree, hf_c15ch_route_cr_rte_adv,
5555
0
                            tvb, 17, 4, ENC_BIG_ENDIAN);
5556
0
            proto_tree_add_item(c15ch_route_tree, hf_c15ch_route_cause,
5557
0
                            tvb, 21, 4, ENC_BIG_ENDIAN);
5558
0
        }
5559
0
    }
5560
0
    return tvb_reported_length(tvb);
5561
0
}
5562
5563
5564
static int dissect_c15ch_sccp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5565
0
{
5566
5567
0
    proto_item * ti = NULL;
5568
0
    proto_tree * c15ch_sccp_tree = NULL;
5569
0
    proto_tree * sub_ni_tn_tree = NULL;
5570
0
    uint8_t direction;
5571
0
    tvbuff_t * next_tvb;
5572
5573
0
    direction = tvb_get_uint8(tvb, 0);
5574
0
    if (tree)
5575
0
    {
5576
5577
0
        ti = proto_tree_add_item(tree, hf_c15ch_sccp, tvb, 0, 302, ENC_NA);
5578
0
        c15ch_sccp_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5579
0
        proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_direction,
5580
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
5581
0
        proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_msgtype,
5582
0
                            tvb, 1, 1, ENC_BIG_ENDIAN);
5583
0
        proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_hopcount,
5584
0
                            tvb, 2, 1, ENC_BIG_ENDIAN);
5585
0
        proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_transactionnum,
5586
0
                            tvb, 3, 4, ENC_BIG_ENDIAN);
5587
0
        proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_opcmember,
5588
0
                            tvb, 7, 1, ENC_BIG_ENDIAN);
5589
0
        proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_opccluster,
5590
0
                            tvb, 8, 1, ENC_BIG_ENDIAN);
5591
0
        proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_opcnetwork,
5592
0
                            tvb, 9, 1, ENC_BIG_ENDIAN);
5593
0
        proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_dpcmember,
5594
0
                            tvb, 10, 1, ENC_BIG_ENDIAN);
5595
0
        proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_dpccluster,
5596
0
                            tvb, 11, 1, ENC_BIG_ENDIAN);
5597
0
        proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_dpcnetwork,
5598
0
                            tvb, 12, 1, ENC_BIG_ENDIAN);
5599
0
        proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_level3index,
5600
0
                            tvb, 13, 1, ENC_BIG_ENDIAN);
5601
        /* NI/TN */
5602
0
        ti = proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_ni_tn, tvb, 14, 8, ENC_BIG_ENDIAN);
5603
0
        sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
5604
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_sccp_ni,
5605
0
                            tvb, 14, 4, ENC_BIG_ENDIAN);
5606
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_sccp_tn,
5607
0
                            tvb, 18, 4, ENC_BIG_ENDIAN);
5608
5609
0
        proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_sls,
5610
0
                            tvb, 22, 1, ENC_BIG_ENDIAN);
5611
0
        proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_iptime,
5612
0
                            tvb, 298, 4, ENC_BIG_ENDIAN);
5613
5614
        /* skip bytes to get to SCCP message type */
5615
0
        next_tvb = tvb_new_subset_length(tvb, 23 + 2, 275 - 2);
5616
5617
        /* sccp dissector call */
5618
0
        call_dissector(general_sccp_handle, next_tvb, pinfo, tree);
5619
0
    }
5620
0
    col_set_str(pinfo->cinfo, COL_PROTOCOL, C15_LABEL);
5621
0
    col_clear(pinfo->cinfo, COL_INFO);
5622
0
    col_add_fstr(pinfo->cinfo, COL_INFO, "Type: SCCP, Direction: %s",
5623
0
                val_to_str(pinfo->pool, direction, c15ch_direction_types, "Unknown Direction Subtype: %d")  );
5624
0
    return tvb_reported_length(tvb);
5625
0
}
5626
5627
static int dissect_c15ch_srcedest(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
5628
0
{
5629
0
    proto_item * ti = NULL;
5630
0
    proto_tree * c15ch_srcedest_tree = NULL;
5631
5632
0
    if (tree)
5633
0
    {
5634
0
        ti = proto_tree_add_item(tree, hf_c15ch_srcedest, tvb, 0, 3, ENC_NA);
5635
0
        c15ch_srcedest_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5636
0
        proto_tree_add_item(c15ch_srcedest_tree, hf_c15ch_srcedest_conntype,
5637
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
5638
0
        proto_tree_add_item(c15ch_srcedest_tree, hf_c15ch_srcedest_pathtype,
5639
0
                            tvb, 1, 1, ENC_BIG_ENDIAN);
5640
0
        proto_tree_add_item(c15ch_srcedest_tree, hf_c15ch_srcedest_pathdirect,
5641
0
                            tvb, 2, 1, ENC_BIG_ENDIAN);
5642
0
    }
5643
0
    return tvb_reported_length(tvb);
5644
0
}
5645
5646
5647
static int dissect_c15ch_tcap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5648
0
{
5649
0
    proto_item * ti = NULL;
5650
0
    proto_tree * c15ch_tcap_tree = NULL;
5651
5652
0
    uint8_t local_ssn_val = 0;
5653
5654
0
    local_ssn_val = tvb_get_uint8(tvb, 4);
5655
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Local SSN: %s",
5656
0
        val_to_str(pinfo->pool, local_ssn_val, c15ch_tcap_local_ssn_types, "Unknown %d"));
5657
0
    if (tree)
5658
0
    {
5659
0
        ti = proto_tree_add_item(tree, hf_c15ch_tcap, tvb, 0, 20, ENC_NA);
5660
0
        c15ch_tcap_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5661
0
        proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_direction,
5662
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
5663
0
        proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_action,
5664
0
                            tvb, 1, 1, ENC_BIG_ENDIAN);
5665
0
        proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_package_type,
5666
0
                            tvb, 2, 1, ENC_BIG_ENDIAN);
5667
0
        proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_ssn,
5668
0
                            tvb, 3, 1, ENC_BIG_ENDIAN);
5669
0
        proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_local_ssn,
5670
0
                            tvb, 4, 1, ENC_BIG_ENDIAN);
5671
0
        proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_result_err_code,
5672
0
                            tvb, 5, 1, ENC_BIG_ENDIAN);
5673
0
        proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_return_reason,
5674
0
                            tvb, 6, 1, ENC_BIG_ENDIAN);
5675
0
        proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_feat_id,
5676
0
                            tvb, 7, 1, ENC_BIG_ENDIAN);
5677
0
        proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_feat_req,
5678
0
                            tvb, 8, 1, ENC_BIG_ENDIAN);
5679
0
        proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_cl_comp_result,
5680
0
                            tvb, 9, 1, ENC_BIG_ENDIAN);
5681
0
        proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_release_bit,
5682
0
                            tvb, 10, 1, ENC_BIG_ENDIAN);
5683
0
        proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_term_cl_request,
5684
0
                            tvb, 11, 1, ENC_BIG_ENDIAN);
5685
0
        proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_opc_index,
5686
0
                            tvb, 12, 1, ENC_BIG_ENDIAN);
5687
0
        proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_dpc_mem,
5688
0
                            tvb, 13, 1, ENC_BIG_ENDIAN);
5689
0
        proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_dpc_clus,
5690
0
                            tvb, 14, 1, ENC_BIG_ENDIAN);
5691
0
        proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_dpc_net,
5692
0
                            tvb, 15, 1, ENC_BIG_ENDIAN);
5693
0
        proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_cp_id,
5694
0
                            tvb, 16, 4, ENC_BIG_ENDIAN);
5695
0
    }
5696
0
    return tvb_reported_length(tvb);
5697
0
}
5698
5699
5700
static int dissect_c15ch_twc_rswch(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
5701
0
{
5702
0
    proto_item * ti = NULL;
5703
0
    proto_tree * c15ch_twc_rswch_tree = NULL;
5704
5705
0
    if (tree)
5706
0
    {
5707
0
        ti = proto_tree_add_item(tree, hf_c15ch_twc_rswch, tvb, 0, 28, ENC_NA);
5708
0
        c15ch_twc_rswch_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5709
0
        proto_tree_add_item(c15ch_twc_rswch_tree, hf_c15ch_twc_rswch_pm,
5710
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
5711
0
        proto_tree_add_item(c15ch_twc_rswch_tree, hf_c15ch_twc_rswch_subpm,
5712
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
5713
0
        proto_tree_add_item(c15ch_twc_rswch_tree, hf_c15ch_twc_rswch_trkpm,
5714
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
5715
0
        proto_tree_add_item(c15ch_twc_rswch_tree, hf_c15ch_twc_rswch_devid,
5716
0
                            tvb, 12, 4, ENC_BIG_ENDIAN);
5717
0
        proto_tree_add_item(c15ch_twc_rswch_tree, hf_c15ch_twc_rswch_event,
5718
0
                            tvb, 16, 4, ENC_BIG_ENDIAN);
5719
0
        proto_tree_add_item(c15ch_twc_rswch_tree, hf_c15ch_twc_rswch_parm,
5720
0
                            tvb, 20, 4, ENC_BIG_ENDIAN);
5721
0
        proto_tree_add_item(c15ch_twc_rswch_tree, hf_c15ch_twc_rswch_iptime,
5722
0
                            tvb, 24, 4, ENC_BIG_ENDIAN);
5723
0
    }
5724
0
    return tvb_reported_length(tvb);
5725
0
}
5726
5727
static int dissect_c15ch_cp_event(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5728
0
{
5729
0
    proto_item * ti = NULL;
5730
0
    proto_tree * c15ch_cp_event_tree = NULL;
5731
5732
0
    uint32_t pm_value = 0;
5733
0
    uint32_t event_value = 0;
5734
0
    uint32_t parm_value = 0;
5735
0
    uint32_t subpm_value = 0;
5736
0
    uint32_t trkpm_value = 0;
5737
0
    if (tvb_reported_length(tvb) < 28)
5738
0
    {
5739
0
        return 0;
5740
0
    }
5741
0
    pm_value = tvb_get_ntohl(tvb, 0);
5742
0
    subpm_value = tvb_get_ntohl(tvb, 4);
5743
0
    trkpm_value = tvb_get_ntohl(tvb, 8);
5744
0
    event_value = tvb_get_ntohl(tvb, 16);
5745
0
    parm_value = tvb_get_ntohl(tvb, 20);
5746
0
    col_clear(pinfo->cinfo, COL_INFO);
5747
5748
0
    col_add_fstr(pinfo->cinfo, COL_INFO, "Type: CP_EVENT, PM Type: %s",
5749
0
        val_to_str_ext(pinfo->pool, pm_value, &c15_pm_types_ext, "Unknown %d") );
5750
5751
0
    if ( ( pm_value <= MAX_PM_VAL ) && ( pm_value != DIG_CKT_TEST_PM_VALUE ) )
5752
0
    {
5753
0
        col_append_fstr(pinfo->cinfo, COL_INFO, ", Sub PM: %s",
5754
0
                val_to_str(pinfo->pool, subpm_value, subpm_name_tables[ pm_value ], "%d"));
5755
0
    }
5756
0
    else
5757
0
    {
5758
0
        if ( pm_value == DIG_CKT_TEST_PM_VALUE )
5759
0
        {
5760
0
            col_append_fstr(pinfo->cinfo, COL_INFO, ", Trk PM: %s",
5761
0
                    val_to_str(pinfo->pool, trkpm_value, trkpm_dig_ckt_test_types, "%d"));
5762
0
            if ( trkpm_value > MAX_DIG_CKT_TEST_TRKPM_VAL  )
5763
0
            {
5764
0
                col_append_fstr(pinfo->cinfo, COL_INFO, ", Sub PM: %d", subpm_value);
5765
0
            }
5766
0
            else
5767
0
            {
5768
0
                col_append_fstr(pinfo->cinfo, COL_INFO, ", Sub PM: %s",
5769
0
                    val_to_str(pinfo->pool, subpm_value, dig_ckt_test_subpm_name_tables[ trkpm_value ], "%d"));
5770
0
            }
5771
0
        }
5772
0
        else    /* (pm_value < MIN_PM_VAL) || (pm_value > MAX_PM_VAL) */
5773
0
        {
5774
0
            col_append_fstr(pinfo->cinfo, COL_INFO, ", Sub PM: %d", subpm_value);
5775
0
        }
5776
0
    }
5777
5778
0
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Event Type: %s, Parm: %d",
5779
0
        val_to_str_ext(pinfo->pool, event_value, &c15_event_types_ext, "Unknown %d"), parm_value);
5780
5781
5782
0
    if (tree)
5783
0
    {
5784
0
        ti = proto_tree_add_item(tree, hf_c15ch_cp_event, tvb, 0, 28, ENC_NA);
5785
5786
0
        proto_item_append_text(ti, ", PM Type: %s",
5787
0
            val_to_str_ext_const(pm_value, &c15_pm_types_ext, "Unknown"));
5788
0
        proto_item_append_text(ti, ", Event Type: %s",
5789
0
            val_to_str_ext_const(event_value, &c15_event_types_ext, "Unknown"));
5790
0
        c15ch_cp_event_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5791
5792
0
        proto_tree_add_item(c15ch_cp_event_tree, hf_c15ch_cp_event_pm,
5793
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
5794
0
        if ( pm_value > MAX_PM_VAL )
5795
0
        {
5796
            /* Unknown Type */
5797
0
            proto_tree_add_item(c15ch_cp_event_tree, hf_c15ch_cp_event_subpm,
5798
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
5799
0
        }
5800
0
        else
5801
0
        {
5802
            /* pm_value is within expected range */
5803
0
            if ( pm_value != DIG_CKT_TEST_PM_VALUE )
5804
0
            {
5805
                /*a normal pm type */
5806
0
                proto_tree_add_item(c15ch_cp_event_tree, *(subpm_table[ pm_value ] ),
5807
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
5808
0
            }
5809
0
            else
5810
0
            {
5811
                /* special case for labeling subpm values of dig_ckt pm type */
5812
0
                if ( trkpm_value > MAX_DIG_CKT_TEST_TRKPM_VAL )
5813
0
                {
5814
                    /* this is a dig_ckt pm type, but the trkpm value is out of range */
5815
                    /* use the default dig_ckt subpm field from the subpm_table */
5816
0
                    proto_tree_add_item(c15ch_cp_event_tree, *(subpm_table[ pm_value ] ),
5817
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
5818
0
                }
5819
0
                else
5820
0
                {
5821
                    /* dig_ckt pm type, with the trkpm value in the expected range */
5822
0
                    proto_tree_add_item(c15ch_cp_event_tree, *(dig_ckt_test_subpm_table[ trkpm_value ] ),
5823
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
5824
0
                }
5825
0
            }
5826
0
        }
5827
5828
0
        if (pm_value !=  DIG_CKT_TEST_PM_VALUE)
5829
0
        {
5830
0
            proto_tree_add_item(c15ch_cp_event_tree, hf_c15ch_cp_event_trkpm,
5831
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
5832
0
        }
5833
0
        else
5834
0
        {
5835
0
            proto_tree_add_item(c15ch_cp_event_tree, hf_c15ch_cp_event_dig_ckt_test_trkpm,
5836
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
5837
0
        }
5838
0
        proto_tree_add_item(c15ch_cp_event_tree, hf_c15ch_cp_event_devid,
5839
0
                            tvb, 12, 4, ENC_BIG_ENDIAN);
5840
0
        proto_tree_add_item(c15ch_cp_event_tree, hf_c15ch_cp_event_event,
5841
0
                            tvb, 16, 4, ENC_BIG_ENDIAN);
5842
0
        proto_tree_add_item(c15ch_cp_event_tree, hf_c15ch_cp_event_parm,
5843
0
                            tvb, 20, 4, ENC_BIG_ENDIAN);
5844
0
        proto_tree_add_item(c15ch_cp_event_tree, hf_c15ch_cp_event_iptime,
5845
0
                            tvb, 24, 4, ENC_BIG_ENDIAN);
5846
0
    }
5847
5848
0
    return tvb_reported_length(tvb);
5849
0
}
5850
5851
/* second level dissection code : called after header is dissected */
5852
static int dissect_c15ch_inc_gwe(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5853
0
{
5854
0
    proto_item * ti = NULL;
5855
0
    proto_tree * c15ch_inc_gwe_tree = NULL;
5856
0
    proto_tree * sub_ni_tn_tree = NULL;
5857
5858
0
    int retv = 0;
5859
0
    uint8_t task_num;
5860
0
    uint8_t type_num;
5861
0
    uint8_t fiat_num;
5862
0
    tvbuff_t * next_tvb;
5863
0
    bool task_in_range = true;
5864
0
    bool fiat_index_in_range = true;
5865
5866
0
    task_num = tvb_get_uint8(tvb,  8);
5867
0
    fiat_num = tvb_get_uint8(tvb,  9);
5868
0
    type_num = tvb_get_uint8(tvb, 10);
5869
5870
0
    if ( task_num > LAST_TASK_TYPE_INDEX )
5871
0
    {    /* this happens for unknown task types */
5872
0
        task_in_range  = false;
5873
0
        fiat_index_in_range = false; /* don't guess what the correct fiat table should be for unknown task */
5874
0
    }
5875
5876
0
    if ( task_in_range )
5877
0
    {
5878
0
        if ( ( task_num < FIRST_FIAT_NAME_TABLE_INDEX ) || (task_num > LAST_FIAT_NAME_TABLE_INDEX ) )
5879
0
        {
5880
0
            fiat_index_in_range = false; /* this happens for INVALID_TASK_TYPE_VAL */
5881
0
        }
5882
0
    }
5883
5884
0
    col_clear(pinfo->cinfo, COL_INFO);
5885
5886
5887
0
    if (fiat_index_in_range)
5888
0
    {
5889
0
        col_add_fstr(pinfo->cinfo, COL_INFO, "Type: INC_GWE, Task: %s, Fiat: %s",
5890
0
                val_to_str(pinfo->pool,  task_num, c15inc_gwe_task_types, "Unknown Task Type: %d" ),
5891
0
                val_to_str(pinfo->pool,  fiat_num, fiat_name_tables[ task_num ], "Unknown Fiat Type: %d") );
5892
0
    }
5893
0
    else /* either (task_num == INVALID_TASK_TYPE_VAL) or we have an unknown task */
5894
0
    {
5895
0
            col_add_fstr(pinfo->cinfo, COL_INFO, "Type: INC_GWE, Task: %s",
5896
0
                val_to_str(pinfo->pool,  task_num, c15inc_gwe_task_types, "Unknown Task Type: %d" ));
5897
0
    }
5898
5899
0
    if (tree)
5900
0
    {
5901
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe, tvb, 0, 11, ENC_NA);
5902
        /* note that defined INVALID_TASK_TYPE will be labeled as such, but task types that are out
5903
        of range will be labeled as an Unknown Task Type */
5904
0
        proto_item_append_text(ti, ", Task: %s",
5905
0
                val_to_str(pinfo->pool,  task_num, c15inc_gwe_task_types, "Unknown Task Type: %d" ) );
5906
5907
5908
0
        if ( fiat_index_in_range) /* we can find a fiat name table: not defined Invalid task type and not unknown task */
5909
0
        {
5910
0
            proto_item_append_text( ti, ", Fiat: %s",
5911
0
                val_to_str(pinfo->pool,  fiat_num, fiat_name_tables[ task_num ], "Unknown Fiat Type: %d" ) );
5912
0
        }
5913
0
        c15ch_inc_gwe_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5914
5915
0
        ti = proto_tree_add_item(c15ch_inc_gwe_tree, hf_c15ch_inc_gwe_ni_tn,
5916
0
                            tvb, 0, 8, ENC_BIG_ENDIAN);
5917
0
        sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
5918
5919
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_inc_gwe_ni,
5920
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
5921
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_inc_gwe_tn,
5922
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
5923
5924
0
        proto_tree_add_item(c15ch_inc_gwe_tree, hf_c15ch_inc_gwe_taskid,
5925
0
                            tvb, 8, 1, ENC_BIG_ENDIAN);
5926
0
        if (task_in_range) /* can be of any defined task type including INVALID */
5927
0
        {
5928
0
            proto_tree_add_item(c15ch_inc_gwe_tree, *(fiatid_table[ task_num ] ),
5929
0
                            tvb, 9, 1, ENC_BIG_ENDIAN);
5930
0
        }
5931
0
        proto_tree_add_item(c15ch_inc_gwe_tree, hf_c15ch_inc_gwe_datatype,
5932
0
                            tvb, 10, 1, ENC_BIG_ENDIAN);
5933
0
    }
5934
0
    next_tvb = tvb_new_subset_remaining(tvb, 11);
5935
    /*third level dissection*/
5936
0
    retv = 11 + dissector_try_uint(c15ch_inc_gwe_dissector_table, type_num, next_tvb, pinfo, tree);
5937
0
    return retv;
5938
0
}
5939
5940
/* Third level dissection code : called after basic inc gwe header info is dissected */
5941
5942
static int dissect_c15ch_inc_gwe_admn_dn(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5943
0
{
5944
0
    proto_item * ti = NULL;
5945
0
    proto_tree * c15ch_inc_gwe_admn_dn_tree = NULL;
5946
5947
0
    uint8_t num_digits;
5948
5949
0
    if (tree)
5950
0
    {
5951
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_admn_dn, tvb, 0, 37, ENC_NA);
5952
0
        c15ch_inc_gwe_admn_dn_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
5953
0
        num_digits = tvb_get_uint8(tvb, 4);
5954
0
        proto_tree_add_item(c15ch_inc_gwe_admn_dn_tree, hf_c15ch_inc_gwe_admn_dn_ip_gwe_sua_hndl,
5955
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
5956
0
        add_digits_string(hf_c15ch_inc_gwe_admn_dn_ip_gwe_digits, tvb, pinfo, c15ch_inc_gwe_admn_dn_tree,
5957
0
            5, num_digits, 32, 1);
5958
0
    }
5959
0
    return tvb_reported_length(tvb);
5960
0
}
5961
5962
5963
static int dissect_c15ch_inc_gwe_admn_updt(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
5964
0
{
5965
0
    proto_item * ti = NULL;
5966
0
    proto_tree * c15ch_inc_gwe_admn_updt_tree = NULL;
5967
0
    proto_tree * sub_ni_tn_tree = NULL;
5968
5969
0
    if (tree)
5970
0
    {
5971
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_admn_updt, tvb, 0, 20, ENC_NA);
5972
0
        c15ch_inc_gwe_admn_updt_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
5973
5974
0
        ti = proto_tree_add_item(c15ch_inc_gwe_admn_updt_tree, hf_c15ch_inc_gwe_admn_updt_ip_gwe_med_ni_tn,
5975
0
                            tvb, 0, 8, ENC_BIG_ENDIAN);
5976
0
        sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_third_level_inc_gwe_sub1);
5977
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_inc_gwe_admn_updt_ip_gwe_med_ni,
5978
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
5979
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_inc_gwe_admn_updt_ip_gwe_med_tn,
5980
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
5981
0
        proto_tree_add_item(c15ch_inc_gwe_admn_updt_tree, hf_c15ch_inc_gwe_admn_updt_ip_ns_iface,
5982
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
5983
0
        proto_tree_add_item(c15ch_inc_gwe_admn_updt_tree, hf_c15ch_inc_gwe_admn_updt_ip_ns_terminal,
5984
0
                            tvb, 12, 4, ENC_BIG_ENDIAN);
5985
0
        proto_tree_add_item(c15ch_inc_gwe_admn_updt_tree, hf_c15ch_inc_gwe_admn_updt_ip_gwe_new_rec_addr,
5986
0
                            tvb, 16, 4, ENC_BIG_ENDIAN);
5987
0
    }
5988
0
    return tvb_reported_length(tvb);
5989
0
}
5990
5991
5992
static int dissect_c15ch_inc_gwe_bc_pgi(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
5993
0
{
5994
0
    proto_item * ti = NULL;
5995
0
    proto_tree * c15ch_inc_gwe_bc_pgi_tree = NULL;
5996
5997
0
    if (tree)
5998
0
    {
5999
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_bc_pgi, tvb, 0, 19, ENC_NA);
6000
0
        c15ch_inc_gwe_bc_pgi_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6001
0
        proto_tree_add_item(c15ch_inc_gwe_bc_pgi_tree, hf_c15ch_inc_gwe_bc_pgi_pbc_conn_num,
6002
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6003
0
        proto_tree_add_item(c15ch_inc_gwe_bc_pgi_tree, hf_c15ch_inc_gwe_bc_pgi_pbc_conn_type,
6004
0
                            tvb, 4, 1, ENC_BIG_ENDIAN);
6005
0
        proto_tree_add_item(c15ch_inc_gwe_bc_pgi_tree, hf_c15ch_inc_gwe_bc_pgi_pbc_msg_type,
6006
0
                            tvb, 5, 1, ENC_BIG_ENDIAN);
6007
0
        proto_tree_add_item(c15ch_inc_gwe_bc_pgi_tree, hf_c15ch_inc_gwe_bc_pgi_bc_mode,
6008
0
                            tvb, 6, 1, ENC_BIG_ENDIAN);
6009
0
        proto_tree_add_item(c15ch_inc_gwe_bc_pgi_tree, hf_c15ch_inc_gwe_bc_pgi_bc_pgi_sdp,
6010
0
                            tvb, 7, 4, ENC_LITTLE_ENDIAN);
6011
0
        proto_tree_add_item(c15ch_inc_gwe_bc_pgi_tree, hf_c15ch_inc_gwe_bc_pgi_bc_pgi_m_port,
6012
0
                            tvb, 11, 4, ENC_BIG_ENDIAN);
6013
0
        proto_tree_add_item(c15ch_inc_gwe_bc_pgi_tree, hf_c15ch_inc_gwe_bc_pgi_pbc_tst_flags,
6014
0
                            tvb, 15, 4, ENC_BIG_ENDIAN);
6015
0
    }
6016
0
    return tvb_reported_length(tvb);
6017
0
}
6018
6019
static int dissect_c15ch_inc_gwe_chg_hndl(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6020
0
{
6021
0
    proto_item * ti = NULL;
6022
0
    proto_tree * c15ch_inc_gwe_chg_hndl_tree = NULL;
6023
6024
0
    if (tree)
6025
0
    {
6026
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_chg_hndl, tvb, 0, 8, ENC_NA);
6027
0
        c15ch_inc_gwe_chg_hndl_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6028
0
        proto_tree_add_item(c15ch_inc_gwe_chg_hndl_tree, hf_c15ch_inc_gwe_chg_hndl_ip_gwe_sua_hndl,
6029
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6030
0
        proto_tree_add_item(c15ch_inc_gwe_chg_hndl_tree, hf_c15ch_inc_gwe_chg_hndl_ip_gwe_new_hndl,
6031
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
6032
0
    }
6033
0
    return tvb_reported_length(tvb);
6034
0
}
6035
6036
6037
static int dissect_c15ch_inc_gwe_cl_ans(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6038
0
{
6039
0
    proto_item * ti = NULL;
6040
0
    proto_tree * c15ch_inc_gwe_cl_ans_tree = NULL;
6041
6042
0
    if (tree)
6043
0
    {
6044
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_cl_ans, tvb, 0, 14, ENC_NA);
6045
0
        c15ch_inc_gwe_cl_ans_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6046
0
        proto_tree_add_item(c15ch_inc_gwe_cl_ans_tree, hf_c15ch_inc_gwe_cl_ans_ip_gwe_sua_hndl,
6047
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6048
0
        proto_tree_add_item(c15ch_inc_gwe_cl_ans_tree, hf_c15ch_inc_gwe_cl_ans_ip_gwe_conn_num,
6049
0
                            tvb, 4, 1, ENC_BIG_ENDIAN);
6050
0
        proto_tree_add_item(c15ch_inc_gwe_cl_ans_tree, hf_c15ch_inc_gwe_cl_ans_ip_cl_ans_lsdp,
6051
0
                            tvb, 5, 4, ENC_LITTLE_ENDIAN);
6052
0
        proto_tree_add_item(c15ch_inc_gwe_cl_ans_tree, hf_c15ch_inc_gwe_cl_ans_ip_cl_ans_m_port,
6053
0
                            tvb, 9, 4, ENC_BIG_ENDIAN);
6054
0
        proto_tree_add_item(c15ch_inc_gwe_cl_ans_tree, hf_c15ch_inc_gwe_cl_ans_encap_isup,
6055
0
                            tvb, 13, 1, ENC_BIG_ENDIAN);
6056
0
    }
6057
0
    return tvb_reported_length(tvb);
6058
0
}
6059
6060
6061
static int dissect_c15ch_inc_gwe_cl_prog(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6062
0
{
6063
0
    proto_item * ti = NULL;
6064
0
    proto_tree * c15ch_inc_gwe_cl_prog_tree = NULL;
6065
6066
0
    if (tree)
6067
0
    {
6068
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_cl_prog, tvb, 0, 15, ENC_NA);
6069
0
        c15ch_inc_gwe_cl_prog_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6070
0
        proto_tree_add_item(c15ch_inc_gwe_cl_prog_tree, hf_c15ch_inc_gwe_cl_prog_ip_gwe_sua_hndl,
6071
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6072
0
        proto_tree_add_item(c15ch_inc_gwe_cl_prog_tree, hf_c15ch_inc_gwe_cl_prog_ip_gwe_conn_num,
6073
0
                            tvb, 4, 1, ENC_BIG_ENDIAN);
6074
0
        proto_tree_add_item(c15ch_inc_gwe_cl_prog_tree, hf_c15ch_inc_gwe_cl_prog_ip_cl_prog_lsdp,
6075
0
                            tvb, 5, 4, ENC_LITTLE_ENDIAN);
6076
0
        proto_tree_add_item(c15ch_inc_gwe_cl_prog_tree, hf_c15ch_inc_gwe_cl_prog_ip_cl_prog_m_port,
6077
0
                            tvb, 9, 4, ENC_BIG_ENDIAN);
6078
0
        proto_tree_add_item(c15ch_inc_gwe_cl_prog_tree, hf_c15ch_inc_gwe_cl_prog_ip_gwe_stat_code,
6079
0
                            tvb, 13, 1, ENC_BIG_ENDIAN);
6080
0
        proto_tree_add_item(c15ch_inc_gwe_cl_prog_tree, hf_c15ch_inc_gwe_cl_prog_encap_isup,
6081
0
                            tvb, 14, 1, ENC_BIG_ENDIAN);
6082
0
    }
6083
0
    return tvb_reported_length(tvb);
6084
0
}
6085
6086
6087
static int dissect_c15ch_inc_gwe_cl_redir(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
6088
0
{
6089
0
    proto_item * ti = NULL;
6090
0
    proto_tree * c15ch_inc_gwe_cl_redir_tree = NULL;
6091
6092
6093
0
    uint8_t redir_num_digits;
6094
6095
0
    if (tree)
6096
0
    {
6097
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_cl_redir, tvb, 0, 24, ENC_NA);
6098
0
        c15ch_inc_gwe_cl_redir_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6099
0
        redir_num_digits = tvb_get_uint8(tvb, 8);
6100
0
        proto_tree_add_item(c15ch_inc_gwe_cl_redir_tree, hf_c15ch_inc_gwe_cl_redir_ip_gwe_sua_hndl,
6101
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6102
0
        proto_tree_add_item(c15ch_inc_gwe_cl_redir_tree, hf_c15ch_inc_gwe_cl_redir_ip_gwe_conn_num,
6103
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
6104
0
        add_digits_string(hf_c15ch_inc_gwe_cl_redir_ip_gwe_redir_digits, tvb, pinfo, c15ch_inc_gwe_cl_redir_tree,
6105
0
            9, redir_num_digits, 15, 1);
6106
0
    }
6107
0
    return tvb_reported_length(tvb);
6108
0
}
6109
6110
static int dissect_c15ch_inc_gwe_cl_refer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
6111
0
{
6112
0
    proto_item * ti = NULL;
6113
0
    proto_tree * c15ch_inc_gwe_cl_refer_tree = NULL;
6114
0
    proto_tree * sub_ni_tn_tree = NULL;
6115
6116
0
    uint8_t trgt_num_digits;
6117
6118
0
    if (tree)
6119
0
    {
6120
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_cl_refer, tvb, 0, 49, ENC_NA);
6121
0
        c15ch_inc_gwe_cl_refer_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6122
0
        trgt_num_digits = tvb_get_uint8(tvb, 8);
6123
0
        proto_tree_add_item(c15ch_inc_gwe_cl_refer_tree, hf_c15ch_inc_gwe_cl_refer_ip_gwe_sua_hndl,
6124
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6125
0
        proto_tree_add_item(c15ch_inc_gwe_cl_refer_tree, hf_c15ch_inc_gwe_cl_refer_ip_gwe_conn_num,
6126
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
6127
0
        add_digits_string(hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_digits, tvb, pinfo, c15ch_inc_gwe_cl_refer_tree,
6128
0
            9, trgt_num_digits, 32, 1);
6129
0
        ti = proto_tree_add_item(c15ch_inc_gwe_cl_refer_tree, hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_ni_tn,
6130
0
                            tvb, 41, 8, ENC_BIG_ENDIAN);
6131
0
        sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_third_level_inc_gwe_sub1);
6132
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_ni,
6133
0
                            tvb, 41, 4, ENC_BIG_ENDIAN);
6134
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_tn,
6135
0
                            tvb, 45, 4, ENC_BIG_ENDIAN);
6136
0
    }
6137
0
    return tvb_reported_length(tvb);
6138
0
}
6139
6140
static int dissect_c15ch_inc_gwe_cl_rel(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6141
0
{
6142
0
    proto_item * ti = NULL;
6143
0
    proto_tree * c15ch_inc_gwe_cl_rel_tree = NULL;
6144
6145
0
    if (tree)
6146
0
    {
6147
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_cl_rel, tvb, 0, 7, ENC_NA);
6148
0
        c15ch_inc_gwe_cl_rel_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6149
0
        proto_tree_add_item(c15ch_inc_gwe_cl_rel_tree, hf_c15ch_inc_gwe_cl_rel_ip_gwe_sua_hndl,
6150
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6151
0
        proto_tree_add_item(c15ch_inc_gwe_cl_rel_tree, hf_c15ch_inc_gwe_cl_rel_ip_gwe_conn_num,
6152
0
                            tvb, 4, 1, ENC_BIG_ENDIAN);
6153
0
        proto_tree_add_item(c15ch_inc_gwe_cl_rel_tree, hf_c15ch_inc_gwe_cl_rel_ip_gwe_stat_code,
6154
0
                            tvb, 5, 1, ENC_BIG_ENDIAN);
6155
0
        proto_tree_add_item(c15ch_inc_gwe_cl_rel_tree, hf_c15ch_inc_gwe_cl_rel_encap_isup,
6156
0
                            tvb, 6, 1, ENC_BIG_ENDIAN);
6157
0
    }
6158
0
    return tvb_reported_length(tvb);
6159
0
}
6160
6161
6162
static int dissect_c15ch_inc_gwe_cl_setup(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6163
0
{
6164
0
    proto_item * ti = NULL;
6165
0
    proto_tree * c15ch_inc_gwe_cl_setup_tree = NULL;
6166
6167
6168
0
    uint8_t num_digits;
6169
6170
0
    num_digits = tvb_get_uint8(tvb, 4);
6171
6172
0
    if (tree)
6173
0
    {
6174
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_cl_setup, tvb, 0, 45, ENC_NA);
6175
0
        c15ch_inc_gwe_cl_setup_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6176
0
        proto_tree_add_item(c15ch_inc_gwe_cl_setup_tree, hf_c15ch_inc_gwe_cl_setup_ip_gwe_sua_hndl,
6177
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6178
0
        add_digits_string(hf_c15ch_inc_gwe_cl_setup_ip_gwe_cled_digits,tvb,pinfo,c15ch_inc_gwe_cl_setup_tree,
6179
0
            5, num_digits, 32, 1);
6180
0
        proto_tree_add_item(c15ch_inc_gwe_cl_setup_tree, hf_c15ch_inc_gwe_cl_setup_ip_cl_setup_lsdp,
6181
0
                            tvb, 37, 4, ENC_LITTLE_ENDIAN);
6182
0
        proto_tree_add_item(c15ch_inc_gwe_cl_setup_tree, hf_c15ch_inc_gwe_cl_setup_ip_cl_setup_m_port,
6183
0
                            tvb, 41, 4, ENC_BIG_ENDIAN);
6184
0
    }
6185
0
    return tvb_reported_length(tvb);
6186
0
}
6187
6188
static int dissect_c15ch_inc_gwe_h248_digit(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6189
0
{
6190
0
    proto_item * ti = NULL;
6191
0
    proto_tree * c15ch_inc_gwe_h248_digit_tree = NULL;
6192
6193
0
    if (tree)
6194
0
    {
6195
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_h248_digit, tvb, 0, 2, ENC_NA);
6196
0
        c15ch_inc_gwe_h248_digit_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6197
0
        proto_tree_add_item(c15ch_inc_gwe_h248_digit_tree, hf_c15ch_inc_gwe_h248_digit_ip_gwe_digit,
6198
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
6199
0
        proto_tree_add_item(c15ch_inc_gwe_h248_digit_tree, hf_c15ch_inc_gwe_h248_digit_ip_gwe_digit_method,
6200
0
                            tvb, 1, 1, ENC_BIG_ENDIAN);
6201
0
    }
6202
0
    return tvb_reported_length(tvb);
6203
0
}
6204
6205
static int dissect_c15ch_inc_gwe_info(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6206
0
{
6207
0
    proto_item * ti = NULL;
6208
0
    proto_tree * c15ch_inc_gwe_info_tree = NULL;
6209
6210
0
    if (tree)
6211
0
    {
6212
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_info, tvb, 0, 10, ENC_NA);
6213
0
        c15ch_inc_gwe_info_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6214
0
        proto_tree_add_item(c15ch_inc_gwe_info_tree, hf_c15ch_inc_gwe_info_ip_gwe_sua_hndl,
6215
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6216
0
        proto_tree_add_item(c15ch_inc_gwe_info_tree, hf_c15ch_inc_gwe_info_ip_gwe_info_type,
6217
0
                            tvb, 4, 1, ENC_BIG_ENDIAN);
6218
0
        proto_tree_add_item(c15ch_inc_gwe_info_tree, hf_c15ch_inc_gwe_info_ip_gwe_info_digit,
6219
0
                            tvb, 5, 4, ENC_BIG_ENDIAN);
6220
0
        proto_tree_add_item(c15ch_inc_gwe_info_tree, hf_c15ch_inc_gwe_info_encap_isup_msg_type,
6221
0
                            tvb, 9, 1, ENC_BIG_ENDIAN);
6222
0
    }
6223
0
    return tvb_reported_length(tvb);
6224
0
}
6225
6226
static int dissect_c15ch_inc_gwe_inv_repl(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6227
0
{
6228
0
    proto_item * ti = NULL;
6229
0
    proto_tree * c15ch_inc_gwe_inv_repl_tree = NULL;
6230
6231
0
    if (tree)
6232
0
    {
6233
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_inv_repl, tvb, 0, 16, ENC_NA);
6234
0
        c15ch_inc_gwe_inv_repl_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6235
0
        proto_tree_add_item(c15ch_inc_gwe_inv_repl_tree, hf_c15ch_inc_gwe_inv_repl_ip_gwe_sua_hndl,
6236
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6237
0
        proto_tree_add_item(c15ch_inc_gwe_inv_repl_tree, hf_c15ch_inc_gwe_inv_repl_ip_gwe_conn_num,
6238
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
6239
0
        proto_tree_add_item(c15ch_inc_gwe_inv_repl_tree, hf_c15ch_inc_gwe_inv_repl_ip_inv_repl_rsdp_ip,
6240
0
                            tvb, 8, 4, ENC_LITTLE_ENDIAN);
6241
0
        proto_tree_add_item(c15ch_inc_gwe_inv_repl_tree, hf_c15ch_inc_gwe_inv_repl_ip_inv_repl_rsdp_port,
6242
0
                            tvb, 12, 4, ENC_BIG_ENDIAN);
6243
0
    }
6244
0
    return tvb_reported_length(tvb);
6245
0
}
6246
6247
6248
static int dissect_c15ch_inc_gwe_mgcp_dlcx(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6249
0
{
6250
0
    proto_item * ti = NULL;
6251
0
    proto_tree * c15ch_inc_gwe_mgcp_dlcx_tree = NULL;
6252
6253
0
    if (tree)
6254
0
    {
6255
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_mgcp_dlcx, tvb, 0, 4, ENC_NA);
6256
0
        c15ch_inc_gwe_mgcp_dlcx_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6257
0
        proto_tree_add_item(c15ch_inc_gwe_mgcp_dlcx_tree, hf_c15ch_inc_gwe_mgcp_dlcx_err_code,
6258
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6259
0
    }
6260
0
    return tvb_reported_length(tvb);
6261
0
}
6262
6263
static int dissect_c15ch_inc_gwe_notify(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
6264
0
{
6265
0
    proto_item * ti = NULL;
6266
0
    proto_tree * c15ch_inc_gwe_notify_tree = NULL;
6267
6268
6269
0
    uint8_t num_digits;
6270
6271
0
    num_digits = tvb_get_uint8(tvb, 4);
6272
6273
0
    if (tree)
6274
0
    {
6275
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_notify, tvb, 0, 37, ENC_NA);
6276
0
        c15ch_inc_gwe_notify_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6277
0
        proto_tree_add_item(c15ch_inc_gwe_notify_tree, hf_c15ch_inc_gwe_notify_ip_gwe_mwi_stat,
6278
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6279
0
        add_digits_string(hf_c15ch_inc_gwe_notify_ip_gwe_digits,tvb,pinfo,c15ch_inc_gwe_notify_tree,
6280
0
            5, num_digits, 32, 1);
6281
0
    }
6282
0
    return tvb_reported_length(tvb);
6283
0
}
6284
6285
6286
static int dissect_c15ch_inc_gwe_ntwk_mod(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6287
0
{
6288
0
    proto_item * ti = NULL;
6289
0
    proto_tree * c15ch_inc_gwe_ntwk_mod_tree = NULL;
6290
6291
0
    if (tree)
6292
0
    {
6293
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_ntwk_mod, tvb, 0, 22, ENC_NA);
6294
0
        c15ch_inc_gwe_ntwk_mod_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6295
0
        proto_tree_add_item(c15ch_inc_gwe_ntwk_mod_tree, hf_c15ch_inc_gwe_ntwk_mod_ip_gwe_sua_hndl,
6296
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6297
0
        proto_tree_add_item(c15ch_inc_gwe_ntwk_mod_tree, hf_c15ch_inc_gwe_ntwk_mod_ip_gwe_conn_num,
6298
0
                            tvb, 4, 1, ENC_BIG_ENDIAN);
6299
0
        proto_tree_add_item(c15ch_inc_gwe_ntwk_mod_tree, hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_lsdp,
6300
0
                            tvb, 5, 4, ENC_LITTLE_ENDIAN);
6301
0
        proto_tree_add_item(c15ch_inc_gwe_ntwk_mod_tree, hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_l_m_port,
6302
0
                            tvb, 9, 4, ENC_BIG_ENDIAN);
6303
0
        proto_tree_add_item(c15ch_inc_gwe_ntwk_mod_tree, hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_rsdp,
6304
0
                            tvb, 13, 4, ENC_LITTLE_ENDIAN);
6305
0
        proto_tree_add_item(c15ch_inc_gwe_ntwk_mod_tree, hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_r_m_port,
6306
0
                            tvb, 17, 4, ENC_BIG_ENDIAN);
6307
0
        proto_tree_add_item(c15ch_inc_gwe_ntwk_mod_tree, hf_c15ch_inc_gwe_ntwk_mod_ip_gwe_stat_code,
6308
0
                            tvb, 21, 1, ENC_BIG_ENDIAN);
6309
6310
0
    }
6311
0
    return tvb_reported_length(tvb);
6312
0
}
6313
6314
static int dissect_c15ch_inc_gwe_ptrk_setup(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
6315
0
{
6316
0
    proto_item * ti = NULL;
6317
0
    proto_tree * c15ch_inc_gwe_ptrk_setup_tree = NULL;
6318
6319
6320
0
    uint8_t cled_num_digits, clng_num_digits, redir_num_digits, ocn_num_digits, chrg_num_digits,
6321
0
        rn_num_digits, cic_num_digits;
6322
6323
0
    if (tree)
6324
0
    {
6325
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_ptrk_setup, tvb, 0, 172, ENC_NA);
6326
0
        c15ch_inc_gwe_ptrk_setup_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6327
        /* CLED */
6328
0
        cled_num_digits = tvb_get_uint8(tvb, 4);
6329
6330
        /* CLNG */
6331
0
        clng_num_digits = tvb_get_uint8(tvb, 46);
6332
6333
        /* REDIR */
6334
0
        redir_num_digits = tvb_get_uint8(tvb, 85);
6335
6336
        /* OCN */
6337
0
        ocn_num_digits = tvb_get_uint8(tvb, 103);
6338
6339
        /* CHRG */
6340
0
        chrg_num_digits = tvb_get_uint8(tvb, 119);
6341
6342
        /* RN */
6343
0
        rn_num_digits = tvb_get_uint8(tvb, 133);
6344
6345
        /* CIC */
6346
0
        cic_num_digits = tvb_get_uint8(tvb, 166);
6347
6348
0
        proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_sua_hndl,
6349
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6350
0
        add_digits_string(hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_cled_digits,tvb,pinfo,c15ch_inc_gwe_ptrk_setup_tree,
6351
0
            5,cled_num_digits, 32, 1);
6352
0
        proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_cl_setup_lsdp,
6353
0
                            tvb, 37, 4, ENC_LITTLE_ENDIAN);
6354
0
        proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_cl_setup_m_port,
6355
0
                            tvb, 41, 4, ENC_BIG_ENDIAN);
6356
0
        proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clid_pri,
6357
0
                            tvb, 45, 1, ENC_BIG_ENDIAN);
6358
0
        add_digits_string(hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clng_digits,tvb,pinfo,c15ch_inc_gwe_ptrk_setup_tree,
6359
0
            47,clng_num_digits, 32, 1);
6360
0
        proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clng_ton,
6361
0
                            tvb, 79, 1, ENC_BIG_ENDIAN);
6362
0
        proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clng_np,
6363
0
                            tvb, 80, 1, ENC_BIG_ENDIAN);
6364
6365
0
        proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_alert_info,
6366
0
                            tvb, 81, 4, ENC_BIG_ENDIAN);
6367
6368
0
        add_digits_string(hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_redir_digits,tvb,pinfo,c15ch_inc_gwe_ptrk_setup_tree,
6369
0
            86,redir_num_digits, 15, 1);
6370
0
        proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_redir_ton,
6371
0
                            tvb, 101, 1, ENC_BIG_ENDIAN);
6372
0
        proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_redir_np,
6373
0
                            tvb, 102, 1, ENC_BIG_ENDIAN);
6374
6375
0
        add_digits_string(hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_ocn_digits,tvb,pinfo,c15ch_inc_gwe_ptrk_setup_tree,
6376
0
            104,ocn_num_digits, 15, 1);
6377
6378
0
        add_digits_string(hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_chrg_digits,tvb,pinfo,c15ch_inc_gwe_ptrk_setup_tree,
6379
0
            120,chrg_num_digits, 10, 1);
6380
0
        proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_chrg_noa,
6381
0
                            tvb, 130, 1, ENC_BIG_ENDIAN);
6382
0
        proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_chrg_npi,
6383
0
                            tvb, 131, 1, ENC_BIG_ENDIAN);
6384
6385
0
        proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_npdi,
6386
0
                            tvb, 132, 1, ENC_BIG_ENDIAN);
6387
6388
0
        add_digits_string(hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_rn_digits,tvb,pinfo,c15ch_inc_gwe_ptrk_setup_tree,
6389
0
            134,rn_num_digits, 32, 1);
6390
6391
0
        add_digits_string(hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_cic_digits,tvb,pinfo,c15ch_inc_gwe_ptrk_setup_tree,
6392
0
            167,cic_num_digits, 4, 1);
6393
6394
0
        proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_encap_isup,
6395
0
                            tvb, 171, 1, ENC_BIG_ENDIAN);
6396
0
    }
6397
0
    return tvb_reported_length(tvb);
6398
0
}
6399
6400
6401
static int dissect_c15ch_inc_gwe_reply(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6402
0
{
6403
0
    proto_item * ti = NULL;
6404
0
    proto_tree * c15ch_inc_gwe_reply_tree = NULL;
6405
6406
0
    if (tree)
6407
0
    {
6408
0
        ti = proto_tree_add_item(tree,  hf_c15ch_inc_gwe_reply, tvb, 0, 28, ENC_NA);
6409
0
        c15ch_inc_gwe_reply_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6410
0
        proto_tree_add_item(c15ch_inc_gwe_reply_tree, hf_c15ch_inc_gwe_reply_ip_gwe_msg_type,
6411
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6412
0
        proto_tree_add_item(c15ch_inc_gwe_reply_tree, hf_c15ch_inc_gwe_reply_ip_gwe_stat_code,
6413
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
6414
0
        proto_tree_add_item(c15ch_inc_gwe_reply_tree, hf_c15ch_inc_gwe_reply_ip_gwe_conn_num,
6415
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
6416
0
        proto_tree_add_item(c15ch_inc_gwe_reply_tree, hf_c15ch_inc_gwe_reply_nw_mdcn_lsdp_ip,
6417
0
                            tvb, 12, 4, ENC_LITTLE_ENDIAN);
6418
0
        proto_tree_add_item(c15ch_inc_gwe_reply_tree, hf_c15ch_inc_gwe_reply_nw_mdcn_lsdp_port,
6419
0
                            tvb, 16, 4, ENC_BIG_ENDIAN);
6420
0
        proto_tree_add_item(c15ch_inc_gwe_reply_tree, hf_c15ch_inc_gwe_reply_nw_mdcn_rsdp_ip,
6421
0
                            tvb, 20, 4, ENC_LITTLE_ENDIAN);
6422
0
        proto_tree_add_item(c15ch_inc_gwe_reply_tree, hf_c15ch_inc_gwe_reply_nw_mdcn_rsdp_port,
6423
0
                            tvb, 24, 4, ENC_BIG_ENDIAN);
6424
6425
0
    }
6426
0
    return tvb_reported_length(tvb);
6427
0
}
6428
6429
static int dissect_c15ch_inc_gwe_rv_avail(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6430
0
{
6431
0
    proto_item * ti = NULL;
6432
0
    proto_tree * c15ch_inc_gwe_rv_avail_tree = NULL;
6433
6434
0
    if (tree)
6435
0
    {
6436
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_rv_avail, tvb, 0, 12, ENC_NA);
6437
0
        c15ch_inc_gwe_rv_avail_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6438
0
        proto_tree_add_item(c15ch_inc_gwe_rv_avail_tree, hf_c15ch_inc_gwe_rv_avail_ip_gwe_sua_hndl,
6439
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6440
0
        proto_tree_add_item(c15ch_inc_gwe_rv_avail_tree, hf_c15ch_inc_gwe_rv_avail_ip_gwe_conn_num,
6441
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
6442
0
        proto_tree_add_item(c15ch_inc_gwe_rv_avail_tree, hf_c15ch_inc_gwe_rv_avail_ip_gwe_info_len,
6443
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
6444
6445
0
    }
6446
0
    return tvb_reported_length(tvb);
6447
0
}
6448
6449
static int dissect_c15ch_inc_gwe_sua_reply(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6450
0
{
6451
0
    proto_item * ti = NULL;
6452
0
    proto_tree * c15ch_inc_gwe_sua_reply_tree = NULL;
6453
6454
0
    if (tree)
6455
0
    {
6456
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_sua_reply, tvb, 0, 32, ENC_NA);
6457
0
        c15ch_inc_gwe_sua_reply_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6458
0
        proto_tree_add_item(c15ch_inc_gwe_sua_reply_tree, hf_c15ch_inc_gwe_sua_reply_ip_gwe_sua_hndl,
6459
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6460
0
        proto_tree_add_item(c15ch_inc_gwe_sua_reply_tree, hf_c15ch_inc_gwe_sua_reply_ip_gwe_msg_type,
6461
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
6462
0
        proto_tree_add_item(c15ch_inc_gwe_sua_reply_tree, hf_c15ch_inc_gwe_sua_reply_ip_gwe_stat_code,
6463
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
6464
0
        proto_tree_add_item(c15ch_inc_gwe_sua_reply_tree, hf_c15ch_inc_gwe_sua_reply_ip_gwe_conn_num,
6465
0
                            tvb, 12, 4, ENC_BIG_ENDIAN);
6466
0
        proto_tree_add_item(c15ch_inc_gwe_sua_reply_tree, hf_c15ch_inc_gwe_sua_reply_nw_mdcn_lsdp_ip,
6467
0
                            tvb, 16, 4, ENC_LITTLE_ENDIAN);
6468
0
        proto_tree_add_item(c15ch_inc_gwe_sua_reply_tree, hf_c15ch_inc_gwe_sua_reply_nw_mdcn_lsdp_port,
6469
0
                            tvb, 20, 4, ENC_BIG_ENDIAN);
6470
0
        proto_tree_add_item(c15ch_inc_gwe_sua_reply_tree, hf_c15ch_inc_gwe_sua_reply_nw_mdcn_rsdp_ip,
6471
0
                            tvb, 24, 4, ENC_LITTLE_ENDIAN);
6472
0
        proto_tree_add_item(c15ch_inc_gwe_sua_reply_tree, hf_c15ch_inc_gwe_sua_reply_nw_mdcn_rsdp_port,
6473
0
                            tvb, 28, 4, ENC_BIG_ENDIAN);
6474
6475
0
    }
6476
0
    return tvb_reported_length(tvb);
6477
0
}
6478
6479
6480
static int dissect_c15ch_inc_gwe_subs_chg_hndl(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6481
0
{
6482
0
    proto_item * ti = NULL;
6483
0
    proto_tree * c15ch_inc_gwe_subs_chg_hndl_tree = NULL;
6484
0
    proto_tree * sub_ni_tn_tree = NULL;
6485
6486
0
    if (tree)
6487
0
    {
6488
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_subs_chg_hndl, tvb, 0, 16, ENC_NA);
6489
0
        c15ch_inc_gwe_subs_chg_hndl_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6490
0
        proto_tree_add_item(c15ch_inc_gwe_subs_chg_hndl_tree, hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_sua_hndl,
6491
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6492
0
        proto_tree_add_item(c15ch_inc_gwe_subs_chg_hndl_tree, hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_new_hndl,
6493
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
6494
6495
0
        ti = proto_tree_add_item(c15ch_inc_gwe_subs_chg_hndl_tree, hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_med_ni_tn,
6496
0
                            tvb, 8, 8, ENC_BIG_ENDIAN);
6497
0
        sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_third_level_inc_gwe_sub1);
6498
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_med_ni,
6499
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
6500
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_med_tn,
6501
0
                            tvb, 12, 4, ENC_BIG_ENDIAN);
6502
0
    }
6503
0
    return tvb_reported_length(tvb);
6504
0
}
6505
6506
static int dissect_c15ch_inc_gwe_sua_hndl(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6507
0
{
6508
0
    proto_item * ti = NULL;
6509
0
    proto_tree * c15ch_inc_gwe_sua_hndl_tree = NULL;
6510
6511
0
    if (tree)
6512
0
    {
6513
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_sua_hndl, tvb, 0, 4, ENC_NA);
6514
0
        c15ch_inc_gwe_sua_hndl_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6515
0
        proto_tree_add_item(c15ch_inc_gwe_sua_hndl_tree, hf_c15ch_inc_gwe_sua_hndl_ip_gwe_sua_hndl,
6516
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6517
0
    }
6518
0
    return tvb_reported_length(tvb);
6519
0
}
6520
6521
6522
static int dissect_c15ch_inc_gwe_tgh_stat(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6523
0
{
6524
0
    proto_item * ti = NULL;
6525
0
    proto_tree * c15ch_inc_gwe_tgh_stat_tree = NULL;
6526
6527
0
    if (tree)
6528
0
    {
6529
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_tgh_stat, tvb, 0, 5, ENC_NA);
6530
0
        c15ch_inc_gwe_tgh_stat_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6531
0
        proto_tree_add_item(c15ch_inc_gwe_tgh_stat_tree, hf_c15ch_inc_gwe_tgh_stat_ip_gwe_sua_hndl,
6532
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6533
0
        proto_tree_add_item(c15ch_inc_gwe_tgh_stat_tree, hf_c15ch_inc_gwe_tgh_stat_ip_gwe_tgh_state,
6534
0
                            tvb, 4, 1, ENC_BIG_ENDIAN);
6535
0
    }
6536
0
    return tvb_reported_length(tvb);
6537
0
}
6538
6539
static int dissect_c15ch_inc_gwe_voip_cot(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6540
0
{
6541
0
    proto_item * ti = NULL;
6542
0
    proto_tree * c15ch_inc_gwe_voip_cot_tree = NULL;
6543
6544
0
    if (tree)
6545
0
    {
6546
0
        ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_voip_cot, tvb, 0, 1, ENC_NA);
6547
0
        c15ch_inc_gwe_voip_cot_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6548
0
        proto_tree_add_item(c15ch_inc_gwe_voip_cot_tree, hf_c15ch_inc_gwe_voip_cot_ip_gwe_pass_code,
6549
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
6550
0
    }
6551
0
    return tvb_reported_length(tvb);
6552
0
}
6553
6554
6555
/* second level dissection */
6556
static int dissect_c15ch_out_gwe(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
6557
0
{
6558
0
    proto_item * ti = NULL;
6559
0
    proto_tree * c15ch_out_gwe_tree = NULL;
6560
0
    proto_tree * sub_ni_tn_tree = NULL;
6561
6562
0
    uint8_t data_type;
6563
0
    uint8_t msg_type;
6564
0
    tvbuff_t * next_tvb;
6565
6566
0
    msg_type = tvb_get_uint8(tvb, 8);
6567
0
    data_type = tvb_get_uint8(tvb, 14);
6568
0
    col_clear(pinfo->cinfo, COL_INFO);
6569
0
    col_add_fstr(pinfo->cinfo, COL_INFO, "Type: OUT_GWE, Msg Subtype: %s",
6570
0
        val_to_str_ext(pinfo->pool, msg_type, &c15_out_gwe_msg_types_ext, "Unknown Msg Subtype: %d") );
6571
0
    if (tree)
6572
0
    {
6573
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe, tvb, 0, 15, ENC_NA);
6574
0
        proto_item_append_text(ti, ", Msg Subtype: %s",
6575
0
            val_to_str_ext(pinfo->pool, msg_type, &c15_out_gwe_msg_types_ext, "Unknown Msg Subtype: %d"));
6576
0
        c15ch_out_gwe_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
6577
6578
0
        ti = proto_tree_add_item(c15ch_out_gwe_tree, hf_c15ch_out_gwe_ni_tn,
6579
0
                            tvb, 0, 8, ENC_BIG_ENDIAN);
6580
6581
0
        sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
6582
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_out_gwe_ni,
6583
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6584
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_out_gwe_tn,
6585
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
6586
6587
6588
0
        proto_tree_add_item(c15ch_out_gwe_tree, hf_c15ch_out_gwe_op_gwe_msg_type,
6589
0
                            tvb, 8, 1, ENC_BIG_ENDIAN);
6590
0
        proto_tree_add_item(c15ch_out_gwe_tree, hf_c15ch_out_gwe_op_gwe_protocol,
6591
0
                            tvb, 9, 1, ENC_BIG_ENDIAN);
6592
0
        proto_tree_add_item(c15ch_out_gwe_tree, hf_c15ch_out_gwe_op_sua_hndl,
6593
0
                            tvb, 10, 4, ENC_BIG_ENDIAN);
6594
0
        proto_tree_add_item(c15ch_out_gwe_tree, hf_c15ch_out_gwe_gwe_data_type,
6595
0
                            tvb, 14, 1, ENC_BIG_ENDIAN);
6596
0
    }
6597
0
    next_tvb = tvb_new_subset_remaining(tvb, 15);
6598
6599
0
    dissector_try_uint(c15ch_out_gwe_dissector_table, data_type, next_tvb, pinfo, tree);
6600
0
    return tvb_reported_length(tvb);
6601
0
}
6602
6603
6604
/* third level dissection */
6605
static int dissect_c15ch_out_gwe_audit_conn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6606
0
{
6607
0
    proto_item * ti = NULL;
6608
0
    proto_tree * c15ch_out_gwe_audit_conn_tree = NULL;
6609
0
    proto_tree * sub_ni_tn_tree = NULL;
6610
6611
0
    if (tree)
6612
0
    {
6613
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_audit_conn, tvb, 0, 12, ENC_NA);
6614
0
        c15ch_out_gwe_audit_conn_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6615
0
        ti = proto_tree_add_item(c15ch_out_gwe_audit_conn_tree, hf_c15ch_out_gwe_audit_conn_ni_tn,
6616
0
                            tvb, 0, 8, ENC_BIG_ENDIAN);
6617
0
        sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_third_level_out_gwe);
6618
6619
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_out_gwe_audit_conn_ni,
6620
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6621
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_out_gwe_audit_conn_tn,
6622
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
6623
0
        proto_tree_add_item(c15ch_out_gwe_audit_conn_tree, hf_c15ch_out_gwe_audit_conn_context,
6624
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
6625
0
    }
6626
6627
0
    return tvb_reported_length(tvb);
6628
0
}
6629
6630
6631
static int dissect_c15ch_out_gwe_blf_data(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6632
0
{
6633
0
    proto_item * ti = NULL;
6634
0
    proto_tree * c15ch_out_gwe_blf_data_tree = NULL;
6635
0
    proto_tree * sub_med_ni_tn_tree = NULL;
6636
0
    proto_tree * sub_rb_ni_tn_tree = NULL;
6637
6638
0
    if (tree)
6639
0
    {
6640
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_blf_data, tvb, 0, 21, ENC_NA);
6641
0
        c15ch_out_gwe_blf_data_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6642
0
        proto_tree_add_item(c15ch_out_gwe_blf_data_tree, hf_c15ch_out_gwe_blf_data_rb_ua_handle,
6643
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6644
0
        proto_tree_add_item(c15ch_out_gwe_blf_data_tree, hf_c15ch_out_gwe_blf_data_rb_type,
6645
0
                            tvb, 4, 1, ENC_BIG_ENDIAN);
6646
6647
0
        ti = proto_tree_add_item(c15ch_out_gwe_blf_data_tree, hf_c15ch_out_gwe_blf_data_med_ni_tn,
6648
0
                            tvb, 5, 8, ENC_BIG_ENDIAN);
6649
0
        sub_med_ni_tn_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe_sub1);
6650
0
        proto_tree_add_item(sub_med_ni_tn_tree, hf_c15ch_out_gwe_blf_data_med_ni,
6651
0
                            tvb, 5, 4, ENC_BIG_ENDIAN);
6652
0
        proto_tree_add_item(sub_med_ni_tn_tree, hf_c15ch_out_gwe_blf_data_med_tn,
6653
0
                            tvb, 9, 4, ENC_BIG_ENDIAN);
6654
6655
0
        ti = proto_tree_add_item(c15ch_out_gwe_blf_data_tree, hf_c15ch_out_gwe_blf_data_rb_ni_tn,
6656
0
                            tvb, 13, 8, ENC_BIG_ENDIAN);
6657
0
        sub_rb_ni_tn_tree = proto_item_add_subtree(ti,  ett_c15ch_third_level_out_gwe_sub2);
6658
0
        proto_tree_add_item(sub_rb_ni_tn_tree, hf_c15ch_out_gwe_blf_data_rb_ni,
6659
0
                            tvb, 13, 4, ENC_BIG_ENDIAN);
6660
0
        proto_tree_add_item(sub_rb_ni_tn_tree, hf_c15ch_out_gwe_blf_data_rb_tn,
6661
0
                            tvb, 17, 4, ENC_BIG_ENDIAN);
6662
0
    }
6663
6664
0
    return tvb_reported_length(tvb);
6665
0
}
6666
6667
6668
static int dissect_c15ch_out_gwe_call_ans(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6669
0
{
6670
0
    proto_item * ti = NULL;
6671
0
    proto_tree * c15ch_out_gwe_call_ans_tree = NULL;
6672
6673
0
    if (tree)
6674
0
    {
6675
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_call_ans, tvb, 0, 13, ENC_NA);
6676
0
        c15ch_out_gwe_call_ans_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6677
0
        proto_tree_add_item(c15ch_out_gwe_call_ans_tree, hf_c15ch_out_gwe_call_ans_conn_num,
6678
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6679
0
        proto_tree_add_item(c15ch_out_gwe_call_ans_tree, hf_c15ch_out_gwe_call_ans_op_cl_ans_rsdp_ip,
6680
0
                            tvb, 4, 4, ENC_LITTLE_ENDIAN);
6681
0
        proto_tree_add_item(c15ch_out_gwe_call_ans_tree, hf_c15ch_out_gwe_call_ans_op_cl_ans_rsdp_port,
6682
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
6683
0
        proto_tree_add_item(c15ch_out_gwe_call_ans_tree, hf_c15ch_out_gwe_call_ans_encap_isup,
6684
0
                            tvb, 12, 1, ENC_BIG_ENDIAN);
6685
0
    }
6686
6687
0
    return tvb_reported_length(tvb);
6688
0
}
6689
6690
6691
static int dissect_c15ch_out_gwe_call_notify(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6692
0
{
6693
0
    proto_item * ti = NULL;
6694
0
    proto_tree * c15ch_out_gwe_call_notify_tree = NULL;
6695
6696
0
    if (tree)
6697
0
    {
6698
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_call_notify, tvb, 0, 8, ENC_NA);
6699
0
        c15ch_out_gwe_call_notify_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6700
0
        proto_tree_add_item(c15ch_out_gwe_call_notify_tree, hf_c15ch_out_gwe_call_notify_op_gwe_mwi,
6701
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6702
0
        proto_tree_add_item(c15ch_out_gwe_call_notify_tree, hf_c15ch_out_gwe_call_notify_status_code,
6703
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
6704
0
    }
6705
6706
0
    return tvb_reported_length(tvb);
6707
0
}
6708
6709
6710
static int dissect_c15ch_out_gwe_call_prog(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6711
0
{
6712
0
    proto_item * ti = NULL;
6713
0
    proto_tree * c15ch_out_gwe_call_prog_tree = NULL;
6714
6715
0
    if (tree)
6716
0
    {
6717
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_call_prog, tvb, 0, 9, ENC_NA);
6718
0
        c15ch_out_gwe_call_prog_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6719
0
        proto_tree_add_item(c15ch_out_gwe_call_prog_tree, hf_c15ch_out_gwe_call_prog_conn_num,
6720
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6721
0
        proto_tree_add_item(c15ch_out_gwe_call_prog_tree, hf_c15ch_out_gwe_call_prog_op_gwe_stat_code,
6722
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
6723
0
        proto_tree_add_item(c15ch_out_gwe_call_prog_tree, hf_c15ch_out_gwe_call_prog_encap_isup,
6724
0
                            tvb, 8, 1, ENC_BIG_ENDIAN);
6725
0
    }
6726
6727
0
    return tvb_reported_length(tvb);
6728
0
}
6729
6730
6731
static int dissect_c15ch_out_gwe_call_rel(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6732
0
{
6733
0
    proto_item * ti = NULL;
6734
0
    proto_tree * c15ch_out_gwe_call_rel_tree = NULL;
6735
6736
0
    if (tree)
6737
0
    {
6738
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_call_rel, tvb, 0, 5, ENC_NA);
6739
0
        c15ch_out_gwe_call_rel_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6740
0
        proto_tree_add_item(c15ch_out_gwe_call_rel_tree, hf_c15ch_out_gwe_call_rel_status_code,
6741
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6742
0
        proto_tree_add_item(c15ch_out_gwe_call_rel_tree, hf_c15ch_out_gwe_call_rel_encap_isup,
6743
0
                            tvb, 4, 1, ENC_BIG_ENDIAN);
6744
0
    }
6745
6746
0
    return tvb_reported_length(tvb);
6747
0
}
6748
6749
6750
static int dissect_c15ch_out_gwe_call_setup(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
6751
0
{
6752
0
    proto_item * ti = NULL;
6753
0
    proto_tree * c15ch_out_gwe_call_setup_tree = NULL;
6754
6755
0
    uint8_t redir_num_digits;
6756
0
    uint8_t ocn_num_digits;
6757
0
    uint8_t chrg_num_digits;
6758
6759
0
    if (tree)
6760
0
    {
6761
0
        ti = proto_tree_add_item(tree,  hf_c15ch_out_gwe_call_setup, tvb, 0, 60, ENC_NA);
6762
0
        c15ch_out_gwe_call_setup_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6763
        /* redir */
6764
0
        redir_num_digits = tvb_get_uint8(tvb, 12);
6765
6766
        /* ocn  */
6767
0
        ocn_num_digits = tvb_get_uint8(tvb, 30);
6768
6769
        /* chrg  */
6770
0
        chrg_num_digits = tvb_get_uint8(tvb, 46);
6771
6772
0
        proto_tree_add_item(c15ch_out_gwe_call_setup_tree, hf_c15ch_out_gwe_call_setup_conn_num,
6773
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6774
0
        proto_tree_add_item(c15ch_out_gwe_call_setup_tree, hf_c15ch_out_gwe_call_setup_op_cl_ans_rsdp_ip,
6775
0
                            tvb, 4, 4, ENC_LITTLE_ENDIAN);
6776
0
        proto_tree_add_item(c15ch_out_gwe_call_setup_tree, hf_c15ch_out_gwe_call_setup_op_cl_ans_rsdp_port,
6777
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
6778
0
        add_digits_string(hf_c15ch_out_gwe_call_setup_op_gwe_redir_digits, tvb, pinfo, c15ch_out_gwe_call_setup_tree,
6779
0
            13, redir_num_digits, 15, 1);
6780
0
        proto_tree_add_item(c15ch_out_gwe_call_setup_tree, hf_c15ch_out_gwe_call_setup_op_gwe_rdir_ton,
6781
0
                            tvb, 28, 1, ENC_BIG_ENDIAN);
6782
0
        proto_tree_add_item(c15ch_out_gwe_call_setup_tree, hf_c15ch_out_gwe_call_setup_op_gwe_rdir_np,
6783
0
                            tvb, 29, 1, ENC_BIG_ENDIAN);
6784
0
        add_digits_string(hf_c15ch_out_gwe_call_setup_op_gwe_ocn_digits, tvb, pinfo, c15ch_out_gwe_call_setup_tree,
6785
0
            31, ocn_num_digits, 15, 1);
6786
0
        add_digits_string(hf_c15ch_out_gwe_call_setup_op_gwe_chrg_digits, tvb, pinfo, c15ch_out_gwe_call_setup_tree,
6787
0
            47, chrg_num_digits, 10, 1);
6788
0
        proto_tree_add_item(c15ch_out_gwe_call_setup_tree, hf_c15ch_out_gwe_call_setup_op_gwe_chrg_noa,
6789
0
                            tvb, 57, 1, ENC_BIG_ENDIAN);
6790
0
        proto_tree_add_item(c15ch_out_gwe_call_setup_tree, hf_c15ch_out_gwe_call_setup_op_gwe_chrg_npi,
6791
0
                            tvb, 58, 1, ENC_BIG_ENDIAN);
6792
0
        proto_tree_add_item(c15ch_out_gwe_call_setup_tree, hf_c15ch_out_gwe_call_setup_encap_isup,
6793
0
                            tvb, 59, 1, ENC_BIG_ENDIAN);
6794
0
    }
6795
0
    return tvb_reported_length(tvb);
6796
0
}
6797
6798
static int dissect_c15ch_out_gwe_conn_num(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6799
0
{
6800
0
    proto_item * ti = NULL;
6801
0
    proto_tree * c15ch_out_gwe_conn_num_tree = NULL;
6802
6803
0
    if (tree)
6804
0
    {
6805
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_conn_num, tvb, 0, 4, ENC_NA);
6806
0
        c15ch_out_gwe_conn_num_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6807
0
        proto_tree_add_item(c15ch_out_gwe_conn_num_tree, hf_c15ch_out_gwe_conn_num_out_gwe_conn_num,
6808
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6809
0
    }
6810
6811
0
    return tvb_reported_length(tvb);
6812
0
}
6813
6814
static int dissect_c15ch_out_gwe_del_subs_ua(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6815
0
{
6816
0
    proto_item * ti = NULL;
6817
0
    proto_tree * c15ch_out_gwe_del_subs_ua_tree = NULL;
6818
6819
0
    if (tree)
6820
0
    {
6821
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_del_subs_ua, tvb, 0, 4, ENC_NA);
6822
0
        c15ch_out_gwe_del_subs_ua_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6823
0
        proto_tree_add_item(c15ch_out_gwe_del_subs_ua_tree, hf_c15ch_out_gwe_del_subs_ua_op_sip_ua_hndl,
6824
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6825
0
    }
6826
6827
0
    return tvb_reported_length(tvb);
6828
0
}
6829
6830
6831
static int dissect_c15ch_out_gwe_digit_scan(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6832
0
{
6833
0
    proto_item * ti = NULL;
6834
0
    proto_tree * c15ch_out_gwe_digit_scan_tree = NULL;
6835
6836
0
    int str_start;
6837
0
    int max_str_len;
6838
6839
0
    if (tree)
6840
0
    {
6841
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_digit_scan, tvb, 0, 255, ENC_NA);
6842
0
        c15ch_out_gwe_digit_scan_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6843
0
        proto_tree_add_item(c15ch_out_gwe_digit_scan_tree, hf_c15ch_out_gwe_digit_scan_voip_dgmp_override,
6844
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6845
0
        str_start = 1;
6846
0
        max_str_len = 250;
6847
0
        add_string_field( c15ch_out_gwe_digit_scan_tree, pinfo, tvb, str_start, max_str_len, hf_c15ch_out_gwe_digit_scan_actv_dgmp  );
6848
0
        proto_tree_add_item(c15ch_out_gwe_digit_scan_tree, hf_c15ch_out_gwe_digit_scan_op_gwe_digit_scan_tone,
6849
0
                            tvb, 251, 1, ENC_BIG_ENDIAN);
6850
0
        proto_tree_add_item(c15ch_out_gwe_digit_scan_tree, hf_c15ch_out_gwe_digit_scan_op_gwe_tone_type,
6851
0
                            tvb, 252, 1, ENC_BIG_ENDIAN);
6852
0
        proto_tree_add_item(c15ch_out_gwe_digit_scan_tree, hf_c15ch_out_gwe_digit_scan_op_gwe_tone_to,
6853
0
                            tvb, 253, 1, ENC_BIG_ENDIAN);
6854
0
        proto_tree_add_item(c15ch_out_gwe_digit_scan_tree, hf_c15ch_out_gwe_digit_scan_op_gwe_digit_flash,
6855
0
                            tvb, 254, 1, ENC_BIG_ENDIAN);
6856
0
    }
6857
6858
0
    return tvb_reported_length(tvb);
6859
0
}
6860
6861
6862
static int dissect_c15ch_out_gwe_line_sprvsn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6863
0
{
6864
0
    proto_item * ti = NULL;
6865
0
    proto_tree * c15ch_out_gwe_line_sprvsn_tree = NULL;
6866
6867
0
    if (tree)
6868
0
    {
6869
0
        ti = proto_tree_add_item(tree,  hf_c15ch_out_gwe_line_sprvsn, tvb, 0, 3, ENC_NA);
6870
0
        c15ch_out_gwe_line_sprvsn_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6871
0
        proto_tree_add_item(c15ch_out_gwe_line_sprvsn_tree, hf_c15ch_out_gwe_line_sprvsn_op_gwe_ofhk_event,
6872
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
6873
0
        proto_tree_add_item(c15ch_out_gwe_line_sprvsn_tree, hf_c15ch_out_gwe_line_sprvsn_op_gwe_onhk_event,
6874
0
                            tvb, 1, 1, ENC_BIG_ENDIAN);
6875
0
        proto_tree_add_item(c15ch_out_gwe_line_sprvsn_tree, hf_c15ch_out_gwe_line_sprvsn_op_gwe_flhk_event,
6876
0
                            tvb, 2, 1, ENC_BIG_ENDIAN);
6877
0
    }
6878
6879
0
    return tvb_reported_length(tvb);
6880
0
}
6881
6882
6883
static int dissect_c15ch_out_gwe_md_conn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6884
0
{
6885
0
    proto_item * ti = NULL;
6886
0
    proto_tree * c15ch_out_gwe_md_conn_tree = NULL;
6887
6888
0
    if (tree)
6889
0
    {
6890
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_md_conn, tvb, 0, 6, ENC_NA);
6891
0
        c15ch_out_gwe_md_conn_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6892
0
        proto_tree_add_item(c15ch_out_gwe_md_conn_tree, hf_c15ch_out_gwe_md_conn_conn_num,
6893
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6894
0
        proto_tree_add_item(c15ch_out_gwe_md_conn_tree, hf_c15ch_out_gwe_md_conn_status_code,
6895
0
                            tvb, 4, 1, ENC_BIG_ENDIAN);
6896
0
        proto_tree_add_item(c15ch_out_gwe_md_conn_tree, hf_c15ch_out_gwe_md_conn_op_gwe_mode,
6897
0
                            tvb, 5, 1, ENC_BIG_ENDIAN);
6898
0
    }
6899
6900
0
    return tvb_reported_length(tvb);
6901
0
}
6902
6903
6904
static int dissect_c15ch_out_gwe_out_cot(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6905
0
{
6906
0
    proto_item * ti = NULL;
6907
0
    proto_tree * c15ch_out_gwe_out_cot_tree = NULL;
6908
0
    proto_tree * sub_ni_tn_tree = NULL;
6909
6910
0
    if (tree)
6911
0
    {
6912
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_out_cot, tvb, 0, 8, ENC_NA);
6913
0
        c15ch_out_gwe_out_cot_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6914
6915
0
        ti = proto_tree_add_item(c15ch_out_gwe_out_cot_tree, hf_c15ch_out_gwe_out_cot_ni_tn,
6916
0
                            tvb, 0, 8, ENC_BIG_ENDIAN);
6917
0
        sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_third_level_out_gwe_sub1);
6918
6919
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_out_gwe_out_cot_ni,
6920
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6921
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_out_gwe_out_cot_tn,
6922
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
6923
0
    }
6924
6925
0
    return tvb_reported_length(tvb);
6926
0
}
6927
6928
6929
static int dissect_c15ch_out_gwe_mk_conn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6930
0
{
6931
0
    proto_item * ti = NULL;
6932
0
    proto_tree * c15ch_out_gwe_mk_conn_tree = NULL;
6933
6934
0
    if (tree)
6935
0
    {
6936
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_mk_conn, tvb, 0, 12, ENC_NA);
6937
0
        c15ch_out_gwe_mk_conn_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6938
0
        proto_tree_add_item(c15ch_out_gwe_mk_conn_tree, hf_c15ch_out_gwe_mk_conn_conn_num,
6939
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6940
0
        proto_tree_add_item(c15ch_out_gwe_mk_conn_tree, hf_c15ch_out_gwe_mk_conn_op_mk_conn_rsdp_ip,
6941
0
                            tvb, 4, 4, ENC_LITTLE_ENDIAN);
6942
0
        proto_tree_add_item(c15ch_out_gwe_mk_conn_tree, hf_c15ch_out_gwe_mk_conn_op_mk_conn_rsdp_port,
6943
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
6944
0
    }
6945
6946
0
    return tvb_reported_length(tvb);
6947
0
}
6948
6949
static int dissect_c15ch_out_gwe_pcm_data(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6950
0
{
6951
0
    proto_item * ti = NULL;
6952
0
    proto_tree * c15ch_out_gwe_pcm_data_tree = NULL;
6953
6954
0
    if (tree)
6955
0
    {
6956
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_pcm_data, tvb, 0, 8, ENC_NA);
6957
0
        c15ch_out_gwe_pcm_data_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6958
0
        proto_tree_add_item(c15ch_out_gwe_pcm_data_tree, hf_c15ch_out_gwe_pcm_data_rb_ua_handle_near,
6959
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
6960
0
        proto_tree_add_item(c15ch_out_gwe_pcm_data_tree, hf_c15ch_out_gwe_pcm_data_rb_ua_handle_far,
6961
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
6962
0
    }
6963
6964
0
    return tvb_reported_length(tvb);
6965
0
}
6966
6967
static int dissect_c15ch_out_gwe_ring_line(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
6968
0
{
6969
0
    proto_item * ti = NULL;
6970
0
    proto_tree * c15ch_out_gwe_ring_line_tree = NULL;
6971
6972
0
    if (tree)
6973
0
    {
6974
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_ring_line, tvb, 0, 101, ENC_NA);
6975
0
        c15ch_out_gwe_ring_line_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6976
0
        proto_tree_add_item(c15ch_out_gwe_ring_line_tree, hf_c15ch_out_gwe_ring_line_op_gwe_display,
6977
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
6978
0
        add_string_field( c15ch_out_gwe_ring_line_tree, pinfo, tvb, 1, 100, hf_c15ch_out_gwe_ring_line_op_gwe_display_chars );
6979
0
    }
6980
6981
0
    return tvb_reported_length(tvb);
6982
0
}
6983
6984
6985
static int dissect_c15ch_out_gwe_rv_subs_data(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6986
0
{
6987
0
    proto_item * ti = NULL;
6988
0
    proto_tree * c15ch_out_gwe_rv_subs_data_tree = NULL;
6989
0
    proto_tree * sub_ni_tn_tree = NULL;
6990
6991
0
    if (tree)
6992
0
    {
6993
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_rv_subs_data, tvb, 0, 8, ENC_NA);
6994
0
        c15ch_out_gwe_rv_subs_data_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6995
6996
0
        ti = proto_tree_add_item(c15ch_out_gwe_rv_subs_data_tree, hf_c15ch_out_gwe_rv_subs_data_rb_fe_ni_tn,
6997
0
                            tvb, 0, 8, ENC_BIG_ENDIAN);
6998
0
        sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_third_level_out_gwe_sub1);
6999
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_out_gwe_rv_subs_data_rb_fe_ni,
7000
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
7001
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_out_gwe_rv_subs_data_rb_fe_tn,
7002
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
7003
0
    }
7004
7005
0
    return tvb_reported_length(tvb);
7006
0
}
7007
7008
static int dissect_c15ch_out_gwe_sac_notify(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7009
0
{
7010
0
    proto_item * ti = NULL;
7011
0
    proto_tree * c15ch_out_gwe_sac_notify_tree = NULL;
7012
7013
0
    if (tree)
7014
0
    {
7015
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_sac_notify, tvb, 0, 2, ENC_NA);
7016
0
        c15ch_out_gwe_sac_notify_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
7017
0
        proto_tree_add_item(c15ch_out_gwe_sac_notify_tree, hf_c15ch_out_gwe_sac_notify_op_gwe_blf_state,
7018
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
7019
0
        proto_tree_add_item(c15ch_out_gwe_sac_notify_tree, hf_c15ch_out_gwe_sac_notify_op_gwe_subs_state,
7020
0
                            tvb, 1, 1, ENC_BIG_ENDIAN);
7021
0
    }
7022
7023
0
    return tvb_reported_length(tvb);
7024
0
}
7025
7026
7027
static int dissect_c15ch_out_gwe_sac_list_entry(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7028
0
{
7029
0
    proto_item * ti = NULL;
7030
0
    proto_tree * c15ch_out_gwe_sac_list_entry_tree = NULL;
7031
7032
0
    if (tree)
7033
0
    {
7034
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_sac_list_entry, tvb, 0, 72, ENC_NA);
7035
0
        c15ch_out_gwe_sac_list_entry_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
7036
0
        add_string_field( c15ch_out_gwe_sac_list_entry_tree, pinfo, tvb, 0,72,
7037
0
                            hf_c15ch_out_gwe_sac_list_entry_op_gwe_med_uri );
7038
0
    }
7039
7040
0
    return tvb_reported_length(tvb);
7041
0
}
7042
7043
7044
static int dissect_c15ch_out_gwe_sac_sub_valid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7045
0
{
7046
0
    proto_item * ti = NULL;
7047
0
    proto_tree * c15ch_out_gwe_sac_sub_valid_tree = NULL;
7048
7049
0
    if (tree)
7050
0
    {
7051
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_sac_sub_valid, tvb, 0, 5, ENC_NA);
7052
0
        c15ch_out_gwe_sac_sub_valid_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
7053
0
        proto_tree_add_item(c15ch_out_gwe_sac_sub_valid_tree, hf_c15ch_out_gwe_sac_sub_valid_op_gwe_subs_valid,
7054
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
7055
0
        proto_tree_add_item(c15ch_out_gwe_sac_sub_valid_tree, hf_c15ch_out_gwe_sac_sub_valid_op_gwe_num_list_items,
7056
0
                            tvb, 1, 4, ENC_BIG_ENDIAN);
7057
0
    }
7058
7059
0
    return tvb_reported_length(tvb);
7060
0
}
7061
7062
7063
static int dissect_c15ch_out_gwe_sip_info(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7064
0
{
7065
0
    proto_item * ti = NULL;
7066
0
    proto_tree * c15ch_out_gwe_sip_info_tree = NULL;
7067
7068
7069
0
    if (tree)
7070
0
    {
7071
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_sip_info, tvb, 0, 5, ENC_NA);
7072
0
        c15ch_out_gwe_sip_info_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
7073
0
        proto_tree_add_item(c15ch_out_gwe_sip_info_tree, hf_c15ch_out_gwe_sip_info_op_gwe_sip_info_type,
7074
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
7075
0
        proto_tree_add_item(c15ch_out_gwe_sip_info_tree, hf_c15ch_out_gwe_sip_info_op_gwe_sip_info,
7076
0
                            tvb, 1, 4, ENC_BIG_ENDIAN);
7077
0
    }
7078
7079
0
    return tvb_reported_length(tvb);
7080
0
}
7081
7082
static int dissect_c15ch_out_gwe_sip_refer(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7083
0
{
7084
0
    proto_item * ti = NULL;
7085
0
    proto_tree * c15ch_out_gwe_sip_refer_tree = NULL;
7086
7087
0
    if (tree)
7088
0
    {
7089
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_sip_refer, tvb, 0, 4, ENC_NA);
7090
0
        c15ch_out_gwe_sip_refer_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
7091
0
        proto_tree_add_item(c15ch_out_gwe_sip_refer_tree, hf_c15ch_out_gwe_sip_refer_op_gwe_refer_ua_hndl,
7092
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
7093
0
    }
7094
7095
0
    return tvb_reported_length(tvb);
7096
0
}
7097
7098
7099
static int dissect_c15ch_out_gwe_update_ni_tn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7100
0
{
7101
0
    proto_item * ti = NULL;
7102
0
    proto_tree * c15ch_out_gwe_update_ni_tn_tree = NULL;
7103
0
    proto_tree * sub_ni_tn_tree = NULL;
7104
7105
7106
0
    if (tree)
7107
0
    {
7108
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_update_ni_tn, tvb, 0, 8, ENC_NA);
7109
0
        c15ch_out_gwe_update_ni_tn_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
7110
7111
0
        ti = proto_tree_add_item(c15ch_out_gwe_update_ni_tn_tree, hf_c15ch_out_gwe_update_ni_tn_ni_tn,
7112
0
                            tvb, 0, 8, ENC_BIG_ENDIAN);
7113
7114
0
        sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_third_level_out_gwe_sub1);
7115
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_out_gwe_update_ni_tn_ni,
7116
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
7117
0
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_out_gwe_update_ni_tn_tn,
7118
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
7119
0
    }
7120
7121
0
    return tvb_reported_length(tvb);
7122
0
}
7123
7124
static int dissect_c15ch_out_gwe_update_rec_addr(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7125
0
{
7126
0
    proto_item * ti = NULL;
7127
0
    proto_tree * c15ch_out_gwe_update_rec_addr_tree = NULL;
7128
7129
0
    if (tree)
7130
0
    {
7131
0
        ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_update_rec_addr, tvb, 0, 4, ENC_NA);
7132
0
        c15ch_out_gwe_update_rec_addr_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
7133
0
        proto_tree_add_item(c15ch_out_gwe_update_rec_addr_tree, hf_c15ch_out_gwe_update_rec_addr_op_new_rec_addr,
7134
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
7135
0
    }
7136
7137
0
    return tvb_reported_length(tvb);
7138
0
}
7139
7140
/* tone */
7141
7142
static int dissect_c15ch_tone(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7143
0
{
7144
0
    proto_item * ti = NULL;
7145
0
    proto_tree * c15ch_tone_tree = NULL;
7146
7147
0
    uint8_t msg_type;
7148
0
    tvbuff_t * next_tvb;
7149
0
    uint32_t retv = 0;
7150
7151
0
    msg_type = tvb_get_uint8(tvb, 0);
7152
0
    col_clear(pinfo->cinfo, COL_INFO);
7153
0
    col_add_fstr(pinfo->cinfo, COL_INFO, "Type: TONE, Msg Subtype: %s",
7154
0
        val_to_str(pinfo->pool, msg_type, c15_tone_msg_types, "Unknown Msg Subtype: %d") );
7155
0
    if (tree)
7156
0
    {
7157
0
        ti = proto_tree_add_item(tree, hf_c15ch_tone, tvb, 0, 1, ENC_NA);
7158
0
        proto_item_append_text(ti, ", Msg Subtype: %s",
7159
0
            val_to_str(pinfo->pool, msg_type, c15_tone_msg_types, "Unknown Msg Subtype: %d"));
7160
0
        c15ch_tone_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
7161
0
        proto_tree_add_item(c15ch_tone_tree, hf_c15ch_tone_msg_type,
7162
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
7163
0
    }
7164
0
    next_tvb = tvb_new_subset_remaining(tvb, 1);
7165
0
    retv = 1 + dissector_try_uint(c15ch_tone_dissector_table, msg_type, next_tvb, pinfo, tree);
7166
0
    return retv;
7167
0
}
7168
7169
7170
static int dissect_c15ch_tone_cot_control(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7171
0
{
7172
0
    proto_item * ti = NULL;
7173
0
    proto_tree * c15ch_tone_cot_control_tree = NULL;
7174
7175
0
    if (tree)
7176
0
    {
7177
0
        ti = proto_tree_add_item(tree, hf_c15ch_tone_cot_control, tvb, 0, 5, ENC_NA);
7178
0
        c15ch_tone_cot_control_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_tone);
7179
0
        proto_tree_add_item(c15ch_tone_cot_control_tree, hf_c15ch_tone_cot_control_device_id,
7180
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
7181
0
        proto_tree_add_item(c15ch_tone_cot_control_tree, hf_c15ch_tone_cot_control_cot_task,
7182
0
                            tvb, 1, 1, ENC_BIG_ENDIAN);
7183
0
        proto_tree_add_item(c15ch_tone_cot_control_tree, hf_c15ch_tone_cot_control_dest_h248,
7184
0
                            tvb, 2, 1, ENC_BIG_ENDIAN);
7185
0
        proto_tree_add_item(c15ch_tone_cot_control_tree, hf_c15ch_tone_cot_control_srce_h248,
7186
0
                            tvb, 3, 1, ENC_BIG_ENDIAN);
7187
0
        proto_tree_add_item(c15ch_tone_cot_control_tree, hf_c15ch_tone_cot_control_svc_channel,
7188
0
                            tvb, 4, 1, ENC_BIG_ENDIAN);
7189
0
    }
7190
7191
0
    return tvb_reported_length(tvb);
7192
0
}
7193
7194
static int dissect_c15ch_tone_cpm(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7195
0
{
7196
0
    proto_item * ti = NULL;
7197
0
    proto_tree * c15ch_tone_cpm_tree = NULL;
7198
7199
0
    if (tree)
7200
0
    {
7201
0
        ti = proto_tree_add_item(tree, hf_c15ch_tone_cpm, tvb, 0, 3, ENC_NA);
7202
0
        c15ch_tone_cpm_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_tone);
7203
0
        proto_tree_add_item(c15ch_tone_cpm_tree, hf_c15ch_tone_cpm_loop_type,
7204
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
7205
0
        proto_tree_add_item(c15ch_tone_cpm_tree, hf_c15ch_tone_cpm_device_id,
7206
0
                            tvb, 1, 1, ENC_BIG_ENDIAN);
7207
0
        proto_tree_add_item(c15ch_tone_cpm_tree, hf_c15ch_tone_cpm_tone_type,
7208
0
                            tvb, 2, 1, ENC_BIG_ENDIAN);
7209
0
    }
7210
7211
0
    return tvb_reported_length(tvb);
7212
0
}
7213
7214
7215
static int dissect_c15ch_tone_give_tone(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7216
0
{
7217
0
    proto_item * ti = NULL;
7218
0
    proto_tree * c15ch_tone_give_tone_tree = NULL;
7219
7220
0
    if (tree)
7221
0
    {
7222
0
        ti = proto_tree_add_item(tree, hf_c15ch_tone_give_tone, tvb, 0, 2, ENC_NA);
7223
0
        c15ch_tone_give_tone_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_tone);
7224
0
        proto_tree_add_item(c15ch_tone_give_tone_tree, hf_c15ch_tone_give_tone_tone_id,
7225
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
7226
0
        proto_tree_add_item(c15ch_tone_give_tone_tree, hf_c15ch_tone_give_tone_tone_type,
7227
0
                            tvb, 1, 1, ENC_BIG_ENDIAN);
7228
0
    }
7229
7230
0
    return tvb_reported_length(tvb);
7231
0
}
7232
7233
static int dissect_c15ch_tone_madn_ring(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7234
0
{
7235
0
    proto_item * ti = NULL;
7236
0
    proto_tree * c15ch_tone_madn_ring_tree = NULL;
7237
7238
0
    if (tree)
7239
0
    {
7240
0
        ti = proto_tree_add_item(tree, hf_c15ch_tone_madn_ring, tvb, 0, 2, ENC_NA);
7241
0
        c15ch_tone_madn_ring_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_tone);
7242
0
        proto_tree_add_item(c15ch_tone_madn_ring_tree, hf_c15ch_tone_madn_ring_device_id,
7243
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
7244
0
        proto_tree_add_item(c15ch_tone_madn_ring_tree, hf_c15ch_tone_madn_ring_tone_type,
7245
0
                            tvb, 1, 1, ENC_BIG_ENDIAN);
7246
0
    }
7247
7248
0
    return tvb_reported_length(tvb);
7249
0
}
7250
7251
7252
static int dissect_c15ch_tone_opls(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7253
0
{
7254
0
    proto_item * ti = NULL;
7255
0
    proto_tree * c15ch_tone_opls_tree = NULL;
7256
0
    proto_tree * to_ni_tn_tree = NULL;
7257
7258
0
    uint8_t num_digits;
7259
0
    num_digits = tvb_get_uint8(tvb, 12);
7260
7261
0
    if (tree)
7262
0
    {
7263
0
        ti = proto_tree_add_item(tree, hf_c15ch_tone_opls, tvb, 0, 67, ENC_NA);
7264
0
        c15ch_tone_opls_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_tone);
7265
0
        proto_tree_add_item(c15ch_tone_opls_tree, hf_c15ch_tone_opls_svce_from_ni,
7266
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
7267
0
        ti = proto_tree_add_item(c15ch_tone_opls_tree, hf_c15ch_tone_opls_svce_to_ni_tn,
7268
0
                            tvb, 4, 8, ENC_BIG_ENDIAN);
7269
0
        to_ni_tn_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_tone_sub1);
7270
0
        proto_tree_add_item(to_ni_tn_tree, hf_c15ch_tone_opls_svce_to_ni,
7271
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
7272
0
        proto_tree_add_item(to_ni_tn_tree, hf_c15ch_tone_opls_svce_to_tn,
7273
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
7274
        /* digits */
7275
0
        add_digits_string(hf_c15ch_tone_opls_digits, tvb, pinfo, c15ch_tone_opls_tree,
7276
0
                        13, num_digits, 54, 1);
7277
0
    }
7278
7279
0
    return tvb_reported_length(tvb);
7280
0
}
7281
7282
7283
static int dissect_c15ch_tone_rcvr(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7284
0
{
7285
0
    proto_item * ti = NULL;
7286
0
    proto_tree * c15ch_tone_rcvr_tree = NULL;
7287
0
    proto_tree * ni_tn_tree = NULL;
7288
7289
7290
0
    if (tree)
7291
0
    {
7292
0
        ti = proto_tree_add_item(tree, hf_c15ch_tone_rcvr, tvb, 0, 9, ENC_NA);
7293
0
        c15ch_tone_rcvr_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_tone);
7294
0
        proto_tree_add_item(c15ch_tone_rcvr_tree, hf_c15ch_tone_rcvr_rcvr_id,
7295
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
7296
0
        ti = proto_tree_add_item(c15ch_tone_rcvr_tree, hf_c15ch_tone_rcvr_conn_to_ni_tn,
7297
0
                            tvb, 1, 8, ENC_BIG_ENDIAN);
7298
0
        ni_tn_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_tone_sub1);
7299
0
        proto_tree_add_item(ni_tn_tree, hf_c15ch_tone_rcvr_conn_to_ni,
7300
0
                            tvb, 1, 4, ENC_BIG_ENDIAN);
7301
0
        proto_tree_add_item(ni_tn_tree, hf_c15ch_tone_rcvr_conn_to_tn,
7302
0
                            tvb, 5, 4, ENC_BIG_ENDIAN);
7303
0
    }
7304
7305
0
    return tvb_reported_length(tvb);
7306
0
}
7307
7308
7309
static int dissect_c15ch_tone_timeout(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7310
0
{
7311
0
    proto_item * ti = NULL;
7312
0
    proto_tree * c15ch_tone_timeout_tree = NULL;
7313
0
    proto_tree * ni_tn_tree = NULL;
7314
7315
0
    if (tree)
7316
0
    {
7317
0
        ti = proto_tree_add_item(tree, hf_c15ch_tone_timeout, tvb, 0, 15, ENC_NA);
7318
0
        c15ch_tone_timeout_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_tone);
7319
0
        proto_tree_add_item(c15ch_tone_timeout_tree, hf_c15ch_tone_timeout_device_id,
7320
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
7321
0
        proto_tree_add_item(c15ch_tone_timeout_tree, hf_c15ch_tone_timeout_service_pm,
7322
0
                            tvb, 1, 1, ENC_BIG_ENDIAN);
7323
7324
0
        ti = proto_tree_add_item(c15ch_tone_timeout_tree, hf_c15ch_tone_timeout_service_ni_tn,
7325
0
                            tvb, 2, 8, ENC_BIG_ENDIAN);
7326
0
        ni_tn_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_tone_sub1);
7327
0
        proto_tree_add_item(ni_tn_tree, hf_c15ch_tone_timeout_service_ni,
7328
0
                            tvb, 2, 4, ENC_BIG_ENDIAN);
7329
0
        proto_tree_add_item(ni_tn_tree, hf_c15ch_tone_timeout_service_tn,
7330
0
                            tvb, 6, 4, ENC_BIG_ENDIAN);
7331
7332
0
        proto_tree_add_item(c15ch_tone_timeout_tree, hf_c15ch_tone_timeout_gw_provided,
7333
0
                            tvb, 10, 1, ENC_BIG_ENDIAN);
7334
0
        proto_tree_add_item(c15ch_tone_timeout_tree, hf_c15ch_tone_timeout_gw_service_tone_type_or_from_ni,
7335
0
                            tvb, 11, 4, ENC_BIG_ENDIAN);
7336
0
    }
7337
7338
0
    return tvb_reported_length(tvb);
7339
0
}
7340
7341
static int dissect_c15ch_tone_tone_control(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7342
0
{
7343
0
    proto_item * ti = NULL;
7344
0
    proto_tree * c15ch_tone_tone_control_tree = NULL;
7345
7346
0
    if (tree)
7347
0
    {
7348
0
        ti = proto_tree_add_item(tree, hf_c15ch_tone_tone_control, tvb, 0, 2, ENC_NA);
7349
0
        c15ch_tone_tone_control_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_tone);
7350
0
        proto_tree_add_item(c15ch_tone_tone_control_tree, hf_c15ch_tone_tone_control_device_id,
7351
0
                            tvb, 0, 1, ENC_BIG_ENDIAN);
7352
0
        proto_tree_add_item(c15ch_tone_tone_control_tree, hf_c15ch_tone_tone_control_tone_type,
7353
0
                            tvb, 1, 1, ENC_BIG_ENDIAN);
7354
0
    }
7355
7356
0
    return tvb_reported_length(tvb);
7357
0
}
7358
7359
/* Second level for new Generic Messages */
7360
/* Generic Message 1 is for a 1232 character ASCII string */
7361
static int dissect_c15ch_c15_generic_msg_1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7362
0
{
7363
0
    proto_item * ti = NULL;
7364
0
    proto_tree * c15ch_c15_generic_msg_1_tree = NULL;
7365
0
    int length = 0;
7366
7367
0
    length = tvb_reported_length(tvb);
7368
7369
0
    if (length > 0)
7370
0
    {
7371
0
        ti = proto_tree_add_item( tree, hf_c15ch_c15_generic_msg_1, tvb, 0, length, ENC_NA );
7372
0
        col_append_fstr(pinfo->cinfo, COL_INFO, ", Length: %d", length);
7373
0
        c15ch_c15_generic_msg_1_tree = proto_item_add_subtree( ti, ett_c15ch_second_level );
7374
0
        proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_parm_1,
7375
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
7376
0
        proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_parm_2,
7377
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
7378
0
        proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_parm_3,
7379
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
7380
0
        proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_parm_4,
7381
0
                            tvb, 12, 4, ENC_BIG_ENDIAN);
7382
0
        proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_parm_5,
7383
0
                            tvb, 16, 4, ENC_BIG_ENDIAN);
7384
0
        proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_data_len,
7385
0
                            tvb, 20, 4, ENC_BIG_ENDIAN);
7386
0
        proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_cr_ptr_val,
7387
0
                            tvb, 24, 4, ENC_BIG_ENDIAN);
7388
0
        proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_dr_ptr_val,
7389
0
                            tvb, 28, 4, ENC_BIG_ENDIAN);
7390
0
        proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_spr_int_1,
7391
0
                            tvb, 32, 4, ENC_BIG_ENDIAN);
7392
0
        proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_spr_int_2,
7393
0
                            tvb, 36, 4, ENC_BIG_ENDIAN);
7394
0
        proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_spr_uptr_1,
7395
0
                            tvb, 40, 4, ENC_BIG_ENDIAN);
7396
0
        proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_spr_uptr_2,
7397
0
                            tvb, 44, 4, ENC_BIG_ENDIAN);
7398
0
        proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_spr_pptr_1,
7399
0
                            tvb, 48, 4, ENC_BIG_ENDIAN);
7400
0
        proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_spr_pptr_2,
7401
0
                            tvb, 52, 4, ENC_BIG_ENDIAN);
7402
0
        proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_gen_msg_field_1,
7403
0
                            tvb, 56, 4, ENC_BIG_ENDIAN);
7404
0
        proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_gen_msg_field_2,
7405
0
                            tvb, 60, 4, ENC_BIG_ENDIAN);
7406
0
        proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_gen_msg_field_3,
7407
0
                            tvb, 64, 4, ENC_BIG_ENDIAN);
7408
0
        proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_gen_msg_field_4,
7409
0
                            tvb, 68, 4, ENC_BIG_ENDIAN);
7410
0
        proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_gen_msg_field_5,
7411
0
                            tvb, 72, 4, ENC_BIG_ENDIAN);
7412
0
        add_string_field(c15ch_c15_generic_msg_1_tree, pinfo, tvb, 76, 1232,
7413
0
                         hf_c15ch_c15_generic_msg_gen_msg_string);
7414
0
    }
7415
7416
0
    return length;
7417
0
}
7418
7419
/* Generic Message 2 is for a 1232 hex bytes */
7420
static int dissect_c15ch_c15_generic_msg_2(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7421
0
{
7422
0
    proto_item * ti = NULL;
7423
0
    proto_tree * c15ch_c15_generic_msg_2_tree = NULL;
7424
0
    int length = 0;
7425
7426
0
    length = tvb_reported_length(tvb);
7427
7428
0
    if (length > 0)
7429
0
    {
7430
0
        ti = proto_tree_add_item( tree, hf_c15ch_c15_generic_msg_2, tvb, 0, length, ENC_NA );
7431
0
        col_append_fstr(pinfo->cinfo, COL_INFO, ", Length: %d", length);
7432
0
        c15ch_c15_generic_msg_2_tree = proto_item_add_subtree( ti, ett_c15ch_second_level );
7433
0
        proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_parm_1,
7434
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
7435
0
        proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_parm_2,
7436
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
7437
0
        proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_parm_3,
7438
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
7439
0
        proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_parm_4,
7440
0
                            tvb, 12, 4, ENC_BIG_ENDIAN);
7441
0
        proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_parm_5,
7442
0
                            tvb, 16, 4, ENC_BIG_ENDIAN);
7443
0
        proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_data_len,
7444
0
                            tvb, 20, 4, ENC_BIG_ENDIAN);
7445
0
        proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_cr_ptr_val,
7446
0
                            tvb, 24, 4, ENC_BIG_ENDIAN);
7447
0
        proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_dr_ptr_val,
7448
0
                            tvb, 28, 4, ENC_BIG_ENDIAN);
7449
0
        proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_spr_int_1,
7450
0
                            tvb, 32, 4, ENC_BIG_ENDIAN);
7451
0
        proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_spr_int_2,
7452
0
                            tvb, 36, 4, ENC_BIG_ENDIAN);
7453
0
        proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_spr_uptr_1,
7454
0
                            tvb, 40, 4, ENC_BIG_ENDIAN);
7455
0
        proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_spr_uptr_2,
7456
0
                            tvb, 44, 4, ENC_BIG_ENDIAN);
7457
0
        proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_spr_pptr_1,
7458
0
                            tvb, 48, 4, ENC_BIG_ENDIAN);
7459
0
        proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_spr_pptr_2,
7460
0
                            tvb, 52, 4, ENC_BIG_ENDIAN);
7461
0
        proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_gen_msg_field_1,
7462
0
                            tvb, 56, 4, ENC_BIG_ENDIAN);
7463
0
        proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_gen_msg_field_2,
7464
0
                            tvb, 60, 4, ENC_BIG_ENDIAN);
7465
0
        proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_gen_msg_field_3,
7466
0
                            tvb, 64, 4, ENC_BIG_ENDIAN);
7467
0
        proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_gen_msg_field_4,
7468
0
                            tvb, 68, 4, ENC_BIG_ENDIAN);
7469
0
        proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_gen_msg_field_5,
7470
0
                            tvb, 72, 4, ENC_BIG_ENDIAN);
7471
0
        proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_gen_data_large,
7472
0
                            tvb, 76, 1232, ENC_NA);
7473
0
    }
7474
7475
0
    return length;
7476
0
}
7477
7478
/* Generic Message 3 is for a 616 character string - 616 hex bytes  */
7479
static int dissect_c15ch_c15_generic_msg_3(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7480
0
{
7481
0
    proto_item * ti = NULL;
7482
0
    proto_tree * c15ch_c15_generic_msg_3_tree = NULL;
7483
0
    int length = 0;
7484
7485
0
    length = tvb_reported_length(tvb);
7486
7487
0
    if (length > 0)
7488
0
    {
7489
0
        ti = proto_tree_add_item( tree, hf_c15ch_c15_generic_msg_3, tvb, 0, length, ENC_NA );
7490
0
        col_append_fstr(pinfo->cinfo, COL_INFO, ", Length: %d", length);
7491
0
        c15ch_c15_generic_msg_3_tree = proto_item_add_subtree( ti, ett_c15ch_second_level );
7492
0
        proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_parm_1,
7493
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
7494
0
        proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_parm_2,
7495
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
7496
0
        proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_parm_3,
7497
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
7498
0
        proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_parm_4,
7499
0
                            tvb, 12, 4, ENC_BIG_ENDIAN);
7500
0
        proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_parm_5,
7501
0
                            tvb, 16, 4, ENC_BIG_ENDIAN);
7502
0
        proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_data_len,
7503
0
                            tvb, 20, 4, ENC_BIG_ENDIAN);
7504
0
        proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_cr_ptr_val,
7505
0
                            tvb, 24, 4, ENC_BIG_ENDIAN);
7506
0
        proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_dr_ptr_val,
7507
0
                            tvb, 28, 4, ENC_BIG_ENDIAN);
7508
0
        proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_spr_int_1,
7509
0
                            tvb, 32, 4, ENC_BIG_ENDIAN);
7510
0
        proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_spr_int_2,
7511
0
                            tvb, 36, 4, ENC_BIG_ENDIAN);
7512
0
        proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_spr_uptr_1,
7513
0
                            tvb, 40, 4, ENC_BIG_ENDIAN);
7514
0
        proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_spr_uptr_2,
7515
0
                            tvb, 44, 4, ENC_BIG_ENDIAN);
7516
0
        proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_spr_pptr_1,
7517
0
                            tvb, 48, 4, ENC_BIG_ENDIAN);
7518
0
        proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_spr_pptr_2,
7519
0
                            tvb, 52, 4, ENC_BIG_ENDIAN);
7520
0
        proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_gen_msg_field_1,
7521
0
                            tvb, 56, 4, ENC_BIG_ENDIAN);
7522
0
        proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_gen_msg_field_2,
7523
0
                            tvb, 60, 4, ENC_BIG_ENDIAN);
7524
0
        proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_gen_msg_field_3,
7525
0
                            tvb, 64, 4, ENC_BIG_ENDIAN);
7526
0
        proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_gen_msg_field_4,
7527
0
                            tvb, 68, 4, ENC_BIG_ENDIAN);
7528
0
        proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_gen_msg_field_5,
7529
0
                            tvb, 72, 4, ENC_BIG_ENDIAN);
7530
0
        add_string_field(c15ch_c15_generic_msg_3_tree, pinfo, tvb, 76, 616,
7531
0
                         hf_c15ch_c15_generic_msg_gen_msg_string);
7532
0
        proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_gen_data_large,
7533
0
                            tvb, 692, 616, ENC_NA);
7534
0
    }
7535
7536
0
    return length;
7537
0
}
7538
7539
/* Generic Message 4 is for a 924 character string - 308 hex bytes  */
7540
static int dissect_c15ch_c15_generic_msg_4(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7541
0
{
7542
0
    proto_item * ti = NULL;
7543
0
    proto_tree * c15ch_c15_generic_msg_4_tree = NULL;
7544
0
    int length = 0;
7545
7546
0
    length = tvb_reported_length(tvb);
7547
7548
0
    if (length > 0)
7549
0
    {
7550
0
        ti = proto_tree_add_item( tree, hf_c15ch_c15_generic_msg_4, tvb, 0, length, ENC_NA );
7551
0
        col_append_fstr(pinfo->cinfo, COL_INFO, ", Length: %d", length);
7552
0
        c15ch_c15_generic_msg_4_tree = proto_item_add_subtree( ti, ett_c15ch_second_level );
7553
0
        proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_parm_1,
7554
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
7555
0
        proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_parm_2,
7556
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
7557
0
        proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_parm_3,
7558
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
7559
0
        proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_parm_4,
7560
0
                            tvb, 12, 4, ENC_BIG_ENDIAN);
7561
0
        proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_parm_5,
7562
0
                            tvb, 16, 4, ENC_BIG_ENDIAN);
7563
0
        proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_data_len,
7564
0
                            tvb, 20, 4, ENC_BIG_ENDIAN);
7565
0
        proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_cr_ptr_val,
7566
0
                            tvb, 24, 4, ENC_BIG_ENDIAN);
7567
0
        proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_dr_ptr_val,
7568
0
                            tvb, 28, 4, ENC_BIG_ENDIAN);
7569
0
        proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_spr_int_1,
7570
0
                            tvb, 32, 4, ENC_BIG_ENDIAN);
7571
0
        proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_spr_int_2,
7572
0
                            tvb, 36, 4, ENC_BIG_ENDIAN);
7573
0
        proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_spr_uptr_1,
7574
0
                            tvb, 40, 4, ENC_BIG_ENDIAN);
7575
0
        proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_spr_uptr_2,
7576
0
                            tvb, 44, 4, ENC_BIG_ENDIAN);
7577
0
        proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_spr_pptr_1,
7578
0
                            tvb, 48, 4, ENC_BIG_ENDIAN);
7579
0
        proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_spr_pptr_2,
7580
0
                            tvb, 52, 4, ENC_BIG_ENDIAN);
7581
0
        proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_gen_msg_field_1,
7582
0
                            tvb, 56, 4, ENC_BIG_ENDIAN);
7583
0
        proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_gen_msg_field_2,
7584
0
                            tvb, 60, 4, ENC_BIG_ENDIAN);
7585
0
        proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_gen_msg_field_3,
7586
0
                            tvb, 64, 4, ENC_BIG_ENDIAN);
7587
0
        proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_gen_msg_field_4,
7588
0
                            tvb, 68, 4, ENC_BIG_ENDIAN);
7589
0
        proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_gen_msg_field_5,
7590
0
                            tvb, 72, 4, ENC_BIG_ENDIAN);
7591
0
        add_string_field(c15ch_c15_generic_msg_4_tree, pinfo, tvb, 76, 924,
7592
0
                         hf_c15ch_c15_generic_msg_gen_msg_string);
7593
0
        proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_gen_data_large,
7594
0
                            tvb, 1000, 308, ENC_NA);
7595
0
    }
7596
7597
0
    return length;
7598
0
}
7599
7600
/* Generic Message 5 is for a 308 character string - 924 hex bytes  */
7601
static int dissect_c15ch_c15_generic_msg_5(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7602
0
{
7603
0
    proto_item * ti = NULL;
7604
0
    proto_tree * c15ch_c15_generic_msg_5_tree = NULL;
7605
0
    int length = 0;
7606
7607
0
    length = tvb_reported_length(tvb);
7608
7609
0
    if (length > 0)
7610
0
    {
7611
0
        ti = proto_tree_add_item( tree, hf_c15ch_c15_generic_msg_5, tvb, 0, length, ENC_NA );
7612
0
        col_append_fstr(pinfo->cinfo, COL_INFO, ", Length: %d", length);
7613
0
        c15ch_c15_generic_msg_5_tree = proto_item_add_subtree( ti, ett_c15ch_second_level );
7614
0
        proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_parm_1,
7615
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
7616
0
        proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_parm_2,
7617
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
7618
0
        proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_parm_3,
7619
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
7620
0
        proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_parm_4,
7621
0
                            tvb, 12, 4, ENC_BIG_ENDIAN);
7622
0
        proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_parm_5,
7623
0
                            tvb, 16, 4, ENC_BIG_ENDIAN);
7624
0
        proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_data_len,
7625
0
                            tvb, 20, 4, ENC_BIG_ENDIAN);
7626
0
        proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_cr_ptr_val,
7627
0
                            tvb, 24, 4, ENC_BIG_ENDIAN);
7628
0
        proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_dr_ptr_val,
7629
0
                            tvb, 28, 4, ENC_BIG_ENDIAN);
7630
0
        proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_spr_int_1,
7631
0
                            tvb, 32, 4, ENC_BIG_ENDIAN);
7632
0
        proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_spr_int_2,
7633
0
                            tvb, 36, 4, ENC_BIG_ENDIAN);
7634
0
        proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_spr_uptr_1,
7635
0
                            tvb, 40, 4, ENC_BIG_ENDIAN);
7636
0
        proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_spr_uptr_2,
7637
0
                            tvb, 44, 4, ENC_BIG_ENDIAN);
7638
0
        proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_spr_pptr_1,
7639
0
                            tvb, 48, 4, ENC_BIG_ENDIAN);
7640
0
        proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_spr_pptr_2,
7641
0
                            tvb, 52, 4, ENC_BIG_ENDIAN);
7642
0
        proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_gen_msg_field_1,
7643
0
                            tvb, 56, 4, ENC_BIG_ENDIAN);
7644
0
        proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_gen_msg_field_2,
7645
0
                            tvb, 60, 4, ENC_BIG_ENDIAN);
7646
0
        proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_gen_msg_field_3,
7647
0
                            tvb, 64, 4, ENC_BIG_ENDIAN);
7648
0
        proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_gen_msg_field_4,
7649
0
                            tvb, 68, 4, ENC_BIG_ENDIAN);
7650
0
        proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_gen_msg_field_5,
7651
0
                            tvb, 72, 4, ENC_BIG_ENDIAN);
7652
0
        add_string_field(c15ch_c15_generic_msg_5_tree, pinfo, tvb, 76, 308,
7653
0
                         hf_c15ch_c15_generic_msg_gen_msg_string);
7654
0
        proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_gen_data_large,
7655
0
                            tvb, 384, 924, ENC_NA);
7656
0
    }
7657
7658
0
    return length;
7659
0
}
7660
7661
/* CORRELATE MSG */
7662
static int dissect_c15ch_c15_correlate_msg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7663
0
{
7664
0
    proto_item * ti = NULL;
7665
0
    proto_tree * c15ch_c15_correlate_msg_tree = NULL;
7666
0
    int length = 0;
7667
7668
0
    length = tvb_reported_length(tvb);
7669
7670
0
    if (length > 0)
7671
0
    {
7672
0
        ti = proto_tree_add_item( tree, hf_c15ch_c15_correlate_msg, tvb, 0, length, ENC_NA );
7673
0
        col_append_fstr(pinfo->cinfo, COL_INFO, ", Length: %d", length);
7674
0
        c15ch_c15_correlate_msg_tree = proto_item_add_subtree( ti, ett_c15ch_second_level );
7675
0
        proto_tree_add_item(c15ch_c15_correlate_msg_tree, hf_c15ch_call_ref,
7676
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
7677
0
        proto_tree_add_item(c15ch_c15_correlate_msg_tree, hf_c15ch_c15_usage_id,
7678
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
7679
0
        proto_tree_add_item(c15ch_c15_correlate_msg_tree, hf_c15ch_c15_opt_parm_2,
7680
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
7681
0
        proto_tree_add_item(c15ch_c15_correlate_msg_tree, hf_c15ch_c15_opt_parm_3,
7682
0
                            tvb, 12, 4, ENC_BIG_ENDIAN);
7683
0
        proto_tree_add_item(c15ch_c15_correlate_msg_tree, hf_c15ch_c15_opt_parm_4,
7684
0
                            tvb, 16, 4, ENC_BIG_ENDIAN);
7685
0
        proto_tree_add_item(c15ch_c15_correlate_msg_tree, hf_c15ch_c15_opt_parm_5,
7686
0
                            tvb, 20, 4, ENC_BIG_ENDIAN);
7687
0
        proto_tree_add_item(c15ch_c15_correlate_msg_tree, hf_c15ch_c15_opt_parm_6_ptr,
7688
0
                            tvb, 24, 4, ENC_BIG_ENDIAN);
7689
0
        proto_tree_add_item(c15ch_c15_correlate_msg_tree, hf_c15ch_c15_opt_parm_7_ptr,
7690
0
                            tvb, 28, 4, ENC_BIG_ENDIAN);
7691
0
        proto_tree_add_item(c15ch_c15_correlate_msg_tree, hf_c15ch_c15_opt_parm_8_ptr,
7692
0
                            tvb, 32, 4, ENC_BIG_ENDIAN);
7693
0
        proto_tree_add_item(c15ch_c15_correlate_msg_tree, hf_c15ch_c15_opt_parm_9_ptr,
7694
0
                            tvb, 36, 4, ENC_BIG_ENDIAN);
7695
0
        proto_tree_add_item(c15ch_c15_correlate_msg_tree, hf_c15ch_c15_generic_msg_cr_ptr_val,
7696
0
                            tvb, 40, 4, ENC_BIG_ENDIAN);
7697
0
        add_string_field(c15ch_c15_correlate_msg_tree, pinfo, tvb, 44, 129,
7698
0
                   hf_c15ch_c15_opt_string_parm_8);
7699
0
        add_string_field(c15ch_c15_correlate_msg_tree, pinfo, tvb, 173, 129,
7700
0
                   hf_c15ch_c15_opt_string_parm_9);
7701
0
    }
7702
7703
0
    return length;
7704
0
}
7705
7706
/* SIP REG SUBS report */
7707
static int dissect_c15ch_c15_sip_reg_subs_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7708
0
{
7709
0
    proto_item * ti = NULL;
7710
0
    proto_tree * c15ch_c15_sip_reg_subs_report_tree = NULL;
7711
0
    int length = 0;
7712
0
    char * report_type;
7713
0
    int str_start;
7714
0
    unsigned report_type_str_len;
7715
7716
0
    length = tvb_reported_length(tvb);
7717
7718
0
    if (length > 0)
7719
0
    {
7720
0
        ti = proto_tree_add_item( tree, hf_c15ch_c15_sip_reg_subs_report, tvb, 0, length, ENC_NA );
7721
0
        col_append_fstr(pinfo->cinfo, COL_INFO, ", Length: %d", length);
7722
0
        c15ch_c15_sip_reg_subs_report_tree = proto_item_add_subtree( ti, ett_c15ch_second_level );
7723
7724
        /* report type */
7725
0
        str_start = 0;
7726
0
        report_type = (char*)tvb_get_stringz_enc(pinfo->pool, tvb, str_start, &report_type_str_len, ENC_ASCII);
7727
7728
0
        add_string_field(c15ch_c15_sip_reg_subs_report_tree, pinfo, tvb, 0, 12,
7729
0
                   hf_c15ch_c15_sip_report_type);
7730
0
        proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_rate,
7731
0
                            tvb, 12, 4, ENC_BIG_ENDIAN);
7732
0
        proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_hour,
7733
0
                            tvb, 16, 4, ENC_BIG_ENDIAN);
7734
0
        proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_peak_min,
7735
0
                            tvb, 20, 4, ENC_BIG_ENDIAN);
7736
0
        proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_peak_sec,
7737
0
                            tvb, 24, 4, ENC_BIG_ENDIAN);
7738
0
        if ( g_strcmp0( "REGISTER", report_type) == 0 )
7739
0
        {
7740
0
            proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_auth_good,
7741
0
                                tvb, 28, 4, ENC_BIG_ENDIAN);
7742
0
            proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_auth_fail,
7743
0
                                tvb, 32, 4, ENC_BIG_ENDIAN);
7744
0
            proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_ovd084,
7745
0
                                tvb, 36, 4, ENC_BIG_ENDIAN);
7746
0
            proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_ovd086,
7747
0
                                tvb, 40, 4, ENC_BIG_ENDIAN);
7748
0
            proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_ovd088,
7749
0
                                tvb, 44, 4, ENC_BIG_ENDIAN);
7750
0
            proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_sip104,
7751
0
                                tvb, 48, 4, ENC_BIG_ENDIAN);
7752
0
            proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_reg_spare_1,
7753
0
                                tvb, 52, 4, ENC_BIG_ENDIAN);
7754
0
            proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_reg_spare_2,
7755
0
                                tvb, 56, 4, ENC_BIG_ENDIAN);
7756
0
            proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_reg_spare_3,
7757
0
                                tvb, 60, 4, ENC_BIG_ENDIAN);
7758
0
        }
7759
0
        else
7760
0
        {
7761
0
            proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_status_200_cnt,
7762
0
                                tvb, 28, 4, ENC_BIG_ENDIAN);
7763
0
            proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_status_202_cnt,
7764
0
                                tvb, 32, 4, ENC_BIG_ENDIAN);
7765
0
            proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_status_405_cnt,
7766
0
                                tvb, 36, 4, ENC_BIG_ENDIAN);
7767
0
            proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_subs_spare_1,
7768
0
                                tvb, 40, 4, ENC_BIG_ENDIAN);
7769
0
            proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_subs_spare_2,
7770
0
                                tvb, 44, 4, ENC_BIG_ENDIAN);
7771
0
            proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_subs_spare_3,
7772
0
                                tvb, 48, 4, ENC_BIG_ENDIAN);
7773
0
            proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_subs_spare_4,
7774
0
                                tvb, 52, 4, ENC_BIG_ENDIAN);
7775
0
            proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_subs_spare_5,
7776
0
                                tvb, 56, 4, ENC_BIG_ENDIAN);
7777
0
            proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_subs_spare_6,
7778
0
                                tvb, 60, 4, ENC_BIG_ENDIAN);
7779
0
        }
7780
0
    }
7781
7782
0
    return length;
7783
0
}
7784
7785
/* SYS ALARM */
7786
static int dissect_c15ch_c15_sys_alarm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7787
0
{
7788
0
    proto_item * ti = NULL;
7789
0
    proto_tree * c15ch_c15_sys_alarm_tree = NULL;
7790
0
    int length = 0;
7791
7792
0
    length = tvb_reported_length(tvb);
7793
7794
0
    if (length > 0)
7795
0
    {
7796
0
        ti = proto_tree_add_item( tree, hf_c15ch_c15_sys_alarm, tvb, 0, length, ENC_NA );
7797
0
        col_append_fstr(pinfo->cinfo, COL_INFO, ", Length: %d", length);
7798
0
        c15ch_c15_sys_alarm_tree = proto_item_add_subtree( ti, ett_c15ch_second_level );
7799
0
        add_string_field(c15ch_c15_sys_alarm_tree, pinfo, tvb, 0, 7,
7800
0
                         hf_c15ch_c15_omm_tag_code);
7801
0
        add_string_field(c15ch_c15_sys_alarm_tree, pinfo, tvb, 7, 5,
7802
0
                         hf_c15ch_c15_alarm_class);
7803
0
        add_string_field(c15ch_c15_sys_alarm_tree, pinfo, tvb, 12, 4,
7804
0
                         hf_c15ch_c15_alarm_status);
7805
0
        add_string_field(c15ch_c15_sys_alarm_tree, pinfo, tvb, 16, 5,
7806
0
                         hf_c15ch_c15_site_name);
7807
0
        add_string_field(c15ch_c15_sys_alarm_tree, pinfo, tvb, 21, 5,
7808
0
                         hf_c15ch_c15_system);
7809
0
    }
7810
7811
0
    return length;
7812
0
}
7813
7814
/* TTY MSG */
7815
static int dissect_c15ch_c15_tty_msg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7816
0
{
7817
0
    proto_item * ti = NULL;
7818
0
    proto_tree * c15ch_c15_tty_msg_tree = NULL;
7819
0
    int length = 0;
7820
7821
0
    length = tvb_reported_length(tvb);
7822
7823
0
    if (length > 0)
7824
0
    {
7825
0
        ti = proto_tree_add_item( tree, hf_c15ch_c15_tty_msg, tvb, 0, length, ENC_NA );
7826
0
        col_append_fstr(pinfo->cinfo, COL_INFO, ", Length: %d", length);
7827
0
        c15ch_c15_tty_msg_tree = proto_item_add_subtree( ti, ett_c15ch_second_level );
7828
0
        proto_tree_add_item(c15ch_c15_tty_msg_tree, hf_c15ch_c15_tty_int_parm_1,
7829
0
                            tvb, 0, 4, ENC_BIG_ENDIAN);
7830
0
        proto_tree_add_item(c15ch_c15_tty_msg_tree, hf_c15ch_c15_tty_int_parm_2,
7831
0
                            tvb, 4, 4, ENC_BIG_ENDIAN);
7832
0
        proto_tree_add_item(c15ch_c15_tty_msg_tree, hf_c15ch_c15_tty_int_parm_3,
7833
0
                            tvb, 8, 4, ENC_BIG_ENDIAN);
7834
0
        proto_tree_add_item(c15ch_c15_tty_msg_tree, hf_c15ch_c15_tty_int_parm_4,
7835
0
                            tvb, 12, 4, ENC_BIG_ENDIAN);
7836
0
        add_string_field(c15ch_c15_tty_msg_tree, pinfo, tvb, 16, 8,
7837
0
                         hf_c15ch_c15_omm_msg_tag);
7838
0
        add_string_field(c15ch_c15_tty_msg_tree, pinfo, tvb, 24, 40,
7839
0
                         hf_c15ch_c15_text_location);
7840
0
        add_string_field(c15ch_c15_tty_msg_tree, pinfo, tvb, 64, 40,
7841
0
                         hf_c15ch_c15_tty_text_parm_1);
7842
0
        add_string_field(c15ch_c15_tty_msg_tree, pinfo, tvb, 104, 40,
7843
0
                         hf_c15ch_c15_tty_text_parm_2);
7844
0
        add_string_field(c15ch_c15_tty_msg_tree, pinfo, tvb, 144, 40,
7845
0
                         hf_c15ch_c15_tty_text_parm_3);
7846
0
    }
7847
7848
0
    return length;
7849
0
}
7850
7851
/* register functions */
7852
/* fields for c15 heartbeat dissector */
7853
void proto_register_c15ch_hbeat(void)
7854
14
{
7855
14
    static hf_register_info hf[] = {
7856
14
            { &hf_c15ch_hbeat_clli,
7857
14
                {"CLLI", "c15hbeat.clli",
7858
14
                FT_STRINGZ, BASE_NONE,
7859
14
                NULL,
7860
14
                0x0, NULL, HFILL}
7861
14
            },
7862
14
            { &hf_c15ch_hbeat_primary,
7863
14
                {"Primary", "c15hbeat.primary",
7864
14
                FT_UINT8, BASE_DEC,
7865
14
                NULL,
7866
14
                0x0, NULL, HFILL}
7867
14
            },
7868
14
            { &hf_c15ch_hbeat_secondary,
7869
14
                {"Secondary", "c15hbeat.secondary",
7870
14
                FT_UINT8, BASE_DEC,
7871
14
                NULL,
7872
14
                0x0, NULL, HFILL}
7873
14
            },
7874
14
            {  &hf_c15ch_hbeat_interface,
7875
14
                {"Interface", "c15hbeat.interface",
7876
14
                FT_STRINGZ, BASE_NONE,
7877
14
                NULL,
7878
14
                0x0, NULL, HFILL}
7879
14
            }
7880
14
    }; /* close hf[] array declaration */
7881
7882
    /* Protocol subtree array */
7883
14
    static int *ett[] = {
7884
14
        &ett_c15ch_hbeat
7885
14
    };
7886
7887
14
    proto_c15ch_hbeat = proto_register_protocol("C15 Call History Heartbeat Protocol", "C15HBEAT", "c15hbeat");
7888
14
    proto_register_field_array(proto_c15ch_hbeat, hf, array_length(hf));
7889
14
    proto_register_subtree_array(ett, array_length(ett));
7890
7891
14
    c15ch_hbeat_handle = register_dissector("c15hbeat", dissect_c15ch_hbeat, proto_c15ch_hbeat);
7892
14
}
7893
7894
7895
7896
void proto_register_c15ch(void)
7897
14
{
7898
/* fields for C15 header : base c15 dissector for non-heartbeat packets */
7899
/* first level of dissection */
7900
14
 static hf_register_info hf[] = {
7901
14
        { &hf_c15ch_version,
7902
14
            {"Version", "c15.ch.version",
7903
14
            FT_UINT32, BASE_DEC,
7904
14
            NULL,
7905
14
            0x0, NULL, HFILL }
7906
14
        },
7907
14
        { &hf_c15ch_msgtype,
7908
14
            {"Message Type", "c15.ch.msgtype",
7909
14
            FT_UINT32, BASE_DEC|BASE_EXT_STRING,
7910
14
            &c15_msg_types_ext,
7911
14
            0x0, NULL, HFILL }
7912
14
        },
7913
14
        { &hf_c15ch_size,
7914
14
            { "Size", "c15.ch.size",
7915
14
            FT_UINT32, BASE_DEC,
7916
14
            NULL,
7917
14
            0x0, NULL, HFILL }
7918
14
        },
7919
14
        { &hf_c15ch_call_ref,
7920
14
            {"Call Reference", "c15.ch.callref",
7921
14
            FT_UINT32, BASE_HEX,
7922
14
            NULL,
7923
14
            0x0, NULL, HFILL }
7924
14
        },
7925
14
        { &hf_c15ch_srce_ni_tn,
7926
14
            {"Source NI/TN", "c15.ch.srce_ni_tn",
7927
14
            FT_UINT64, BASE_HEX,
7928
14
            NULL,
7929
14
            0x0, NULL, HFILL }
7930
14
        },
7931
14
        { &hf_c15ch_dest_ni_tn,
7932
14
            {"Destination NI/TN", "c15.ch.dest_ni_tn",
7933
14
            FT_UINT64, BASE_HEX,
7934
14
            NULL,
7935
14
            0x0, NULL, HFILL }
7936
14
        },
7937
14
        { &hf_c15ch_srce_ni,
7938
14
            {"Source NI", "c15.ch.srce_ni",
7939
14
            FT_UINT32, BASE_HEX,
7940
14
            NULL,
7941
14
            0x0, NULL, HFILL }
7942
14
        },
7943
14
        { &hf_c15ch_srce_tn,
7944
14
            {"Source TN", "c15.ch.srce_tn",
7945
14
            FT_UINT32, BASE_HEX,
7946
14
            NULL,
7947
14
            0x0, NULL, HFILL }
7948
14
        },
7949
14
        { &hf_c15ch_dest_ni,
7950
14
            {"Destination NI", "c15.ch.dest_ni",
7951
14
            FT_UINT32, BASE_HEX,
7952
14
            NULL,
7953
14
            0x0, NULL, HFILL }
7954
14
        },
7955
14
        { &hf_c15ch_dest_tn,
7956
14
            {"Destination TN", "c15.ch.dest_tn",
7957
14
            FT_UINT32, BASE_HEX,
7958
14
            NULL,
7959
14
            0x0, NULL, HFILL }
7960
14
        },
7961
14
        { &hf_c15ch_realtime,
7962
14
            {"Real Time", "c15.ch.realtime",
7963
14
            FT_UINT32, BASE_DEC,
7964
14
            NULL,
7965
14
            0x0, NULL, HFILL }
7966
14
        }
7967
14
    };
7968
7969
7970
    /* Protocol subtree array */
7971
14
    static int *ett[] = {
7972
14
        &ett_c15ch,
7973
14
        &ett_src_ni_tn,
7974
14
        &ett_dest_ni_tn
7975
14
    };
7976
7977
7978
14
       static hf_register_info hf_second_level[] = {
7979
14
        { &hf_c15ch_ama_call_code,
7980
14
            { "Call Code", "c15.ama.call_code",
7981
14
            FT_UINT8, BASE_DEC,
7982
14
            NULL,
7983
14
            0x0, NULL, HFILL}
7984
14
        },
7985
14
        { &hf_c15ch_ama_orig_digits,
7986
14
            { "Orig Digits", "c15.ama.orig_digits",
7987
14
            FT_STRINGZ, BASE_NONE,
7988
14
            NULL,
7989
14
            0x0, NULL, HFILL}
7990
14
        },
7991
14
        { &hf_c15ch_ama_num_dialed_digits,
7992
14
            { "Number of Dialed Digits", "c15.ama.num_dialed_digits",
7993
14
            FT_UINT8, BASE_DEC,
7994
14
            NULL,
7995
14
            0x0, NULL, HFILL}
7996
14
        },
7997
14
        { &hf_c15ch_ama_br_prefix,
7998
14
            { "BR Prefix", "c15.ama.br_prefix",
7999
14
            FT_UINT8, BASE_DEC,
8000
14
            VALS( ama_br_prefix_types ),
8001
14
            0x0, NULL, HFILL}
8002
14
        },
8003
14
        { &hf_c15ch_ama_dialed_digits,
8004
14
            { "Dialed Digits", "c15.ama.dialed_digits",
8005
14
            FT_STRINGZ, BASE_NONE,
8006
14
            NULL,
8007
14
            0x0, NULL, HFILL}
8008
14
        },
8009
14
        { &hf_c15ch_ama_start_hour,
8010
14
            { "Start Hour", "c15.ama.start_hour",
8011
14
            FT_UINT8, BASE_DEC,
8012
14
            NULL,
8013
14
            0x0, NULL, HFILL}
8014
14
        },
8015
14
        { &hf_c15ch_ama_start_minute,
8016
14
            { "Start Minute", "c15.ama.start_minute",
8017
14
            FT_UINT8, BASE_DEC,
8018
14
            NULL,
8019
14
            0x0, NULL, HFILL}
8020
14
        },
8021
14
        { &hf_c15ch_ama_start_second,
8022
14
            { "Start Second", "c15.ama.start_second",
8023
14
            FT_UINT8, BASE_DEC,
8024
14
            NULL,
8025
14
            0x0, NULL, HFILL}
8026
14
        },
8027
14
        { &hf_c15ch_ama_start_tenth_second,
8028
14
            { "Start Tenth of Second", "c15.ama.start_tenth_second",
8029
14
            FT_UINT8, BASE_DEC,
8030
14
            NULL,
8031
14
            0x0, NULL, HFILL}
8032
14
        },
8033
14
        { &hf_c15ch_ama_start_day,
8034
14
            { "Start Day", "c15.ama.start_day",
8035
14
            FT_UINT8, BASE_DEC,
8036
14
            NULL,
8037
14
            0x0, NULL, HFILL}
8038
14
        },
8039
14
        { &hf_c15ch_ama_start_month,
8040
14
            { "Start Month", "c15.ama.start_month",
8041
14
            FT_UINT8, BASE_DEC,
8042
14
            NULL,
8043
14
            0x0, NULL, HFILL}
8044
14
        },
8045
14
        { &hf_c15ch_ama_start_year,
8046
14
            { "Start Year", "c15.ama.start_year",
8047
14
            FT_UINT8, BASE_DEC,
8048
14
            NULL,
8049
14
            0x0, NULL, HFILL}
8050
14
        },
8051
14
        { &hf_c15ch_ama_answered,
8052
14
            { "Answered", "c15.ama.answered",
8053
14
            FT_BOOLEAN, BASE_NONE,
8054
14
            TFS(&tfs_yes_no),
8055
14
            0x0, NULL, HFILL}
8056
14
        },
8057
14
        { &hf_c15ch_ama_elapsed_time,
8058
14
            { "Elapsed Time (Millisec)", "c15.ama.elapsed_time",
8059
14
            FT_UINT32, BASE_DEC,
8060
14
            NULL,
8061
14
            0x0, NULL, HFILL}
8062
14
        },
8063
14
        { &hf_c15ch_ama_call_type,
8064
14
            { "Call Type", "c15.ama.call_type",
8065
14
            FT_UINT8, BASE_DEC|BASE_EXT_STRING,
8066
14
            &ama_call_types_ext,
8067
14
            0x0, NULL, HFILL}
8068
14
        },
8069
14
           { &hf_c15ch_c15_info_text,
8070
14
            {"C15 Info Text", "c15.info.text",
8071
14
            FT_STRINGZ, BASE_NONE,
8072
14
            NULL,
8073
14
            0x0, NULL, HFILL}
8074
14
        },
8075
8076
14
        { &hf_c15ch_c15_info_code,
8077
14
            {"C15 Info Code", "c15.info.code",
8078
14
            FT_STRINGZ, BASE_NONE,
8079
14
            NULL,
8080
14
            0x0, NULL, HFILL}
8081
14
        },
8082
14
        { &hf_c15ch_c15_info_level,
8083
14
            {"C15 Info Level", "c15.info.level",
8084
14
            FT_UINT8, BASE_DEC,
8085
14
            VALS( c15ch_c15_info_level_types ),
8086
14
            0x0, NULL, HFILL}
8087
14
        },
8088
8089
14
           { &hf_c15ch_clli_clli_string,
8090
14
            {"CLLI", "c15.clli.clli",
8091
14
            FT_STRINGZ, BASE_NONE,
8092
14
            NULL,
8093
14
            0x0, NULL, HFILL}
8094
14
        },
8095
14
        { &hf_c15ch_clli_active_core,
8096
14
            {"Active Core", "c15.clli.active_core",
8097
14
            FT_UINT8, BASE_DEC,
8098
14
            NULL,
8099
14
            0x0, NULL, HFILL}
8100
14
        },
8101
14
        { &hf_c15ch_clli_inactive_core,
8102
14
            {"Inactive Core", "c15.clli.inactive_core",
8103
14
            FT_UINT8, BASE_DEC,
8104
14
            NULL,
8105
14
            0x0, NULL, HFILL}
8106
14
        },
8107
14
        { &hf_c15ch_clli_interface_string,
8108
14
            {"Interface", "c15.clli.interface",
8109
14
            FT_STRINGZ, BASE_NONE,
8110
14
            NULL,
8111
14
            0x0, NULL, HFILL}
8112
14
        },
8113
14
        { &hf_c15ch_clli_seconds,
8114
14
            {"Seconds", "c15.clli.seconds",
8115
14
            FT_UINT32, BASE_DEC,
8116
14
            NULL,
8117
14
            0x0, NULL, HFILL}
8118
14
        },
8119
14
        { &hf_c15ch_clli_microseconds,
8120
14
            {"Microseconds", "c15.clli.microseconds",
8121
14
            FT_UINT32, BASE_DEC,
8122
14
            NULL,
8123
14
            0x0, NULL, HFILL}
8124
14
        },
8125
8126
14
         { &hf_c15ch_conn_connfrom,
8127
14
            { "Conn From", "c15.conn.connfrom",
8128
14
            FT_UINT32, BASE_DEC,
8129
14
            VALS( c15_conn_from_types),
8130
14
            0x0, NULL, HFILL}
8131
14
        },
8132
14
        { &hf_c15ch_conn_conntype,
8133
14
            { "Conn Type", "c15.conn.conntype",
8134
14
            FT_UINT32, BASE_DEC,
8135
14
            NULL,
8136
14
            0x0, NULL, HFILL }
8137
14
        },
8138
14
        { &hf_c15ch_conn_perphtype,
8139
14
            { "Perph Type", "c15.conn.perphtype",
8140
14
            FT_UINT32, BASE_DEC,
8141
14
            NULL,
8142
14
            0x0, NULL, HFILL}
8143
14
        },
8144
14
        { &hf_c15ch_conn_intra,
8145
14
            { "Intra", "c15.conn.intra",
8146
14
            FT_UINT8, BASE_DEC,
8147
14
            NULL,
8148
14
            0x0, NULL, HFILL}
8149
14
        },
8150
14
        { &hf_c15ch_conn_srceni,
8151
14
            { "Source NI", "c15.conn.srceni",
8152
14
            FT_UINT32, BASE_HEX,
8153
14
            NULL,
8154
14
            0x0, NULL, HFILL}
8155
14
        },
8156
14
        { &hf_c15ch_conn_srcetn,
8157
14
            { "Source TN", "c15.conn.srcetn",
8158
14
            FT_UINT32, BASE_HEX,
8159
14
            NULL,
8160
14
            0x0, NULL, HFILL}
8161
14
        },
8162
14
        { &hf_c15ch_conn_srcenitn,
8163
14
            { "Source NI/TN", "c15.conn.srcenitn",
8164
14
            FT_UINT64, BASE_HEX,
8165
14
            NULL,
8166
14
            0x0, NULL, HFILL}
8167
14
        },
8168
14
        { &hf_c15ch_conn_destni,
8169
14
            {"Destination NI", "c15.conn.destni",
8170
14
            FT_UINT32, BASE_HEX,
8171
14
            NULL,
8172
14
            0x0, NULL, HFILL}
8173
14
        },
8174
14
        { &hf_c15ch_conn_desttn,
8175
14
            { "Destination TN", "c15.conn.desttn",
8176
14
            FT_UINT32, BASE_HEX,
8177
14
            NULL,
8178
14
            0x0, NULL, HFILL}
8179
14
        },
8180
14
        { &hf_c15ch_conn_destnitn,
8181
14
            {"Destination NI/TN", "c15.conn.destnitn",
8182
14
            FT_UINT64, BASE_HEX,
8183
14
            NULL,
8184
14
            0x0, NULL, HFILL}
8185
14
        },
8186
14
        { &hf_c15ch_conn_interlinknum,
8187
14
            { "Interlink Number", "c15.conn.interlinknum",
8188
14
            FT_UINT32, BASE_DEC,
8189
14
            NULL,
8190
14
            0x0, NULL, HFILL}
8191
14
        },
8192
14
        { &hf_c15ch_conn_fromport,
8193
14
            { "From Port", "c15.conn.fromport",
8194
14
            FT_UINT32, BASE_DEC,
8195
14
            NULL,
8196
14
            0x0, NULL, HFILL}
8197
14
        },
8198
14
        { &hf_c15ch_conn_fromslot,
8199
14
            { "From Slot", "c15.conn.fromslot",
8200
14
            FT_UINT32, BASE_DEC,
8201
14
            NULL,
8202
14
            0x0, NULL, HFILL}
8203
14
        },
8204
14
        { &hf_c15ch_conn_toport,
8205
14
            { "From Port", "c15.conn.fromport",
8206
14
            FT_UINT32, BASE_DEC,
8207
14
            NULL,
8208
14
            0x0, NULL, HFILL}
8209
14
        },
8210
14
        { &hf_c15ch_conn_toslot,
8211
14
            { "To Slot", "c15.conn.toslot",
8212
14
            FT_UINT32, BASE_DEC,
8213
14
            NULL,
8214
14
            0x0, NULL, HFILL}
8215
14
        },
8216
14
        { &hf_c15ch_conn_hubcallid,
8217
14
            { "Hub Call ID", "c15.conn.hubcallid",
8218
14
            FT_UINT32, BASE_DEC,
8219
14
            NULL,
8220
14
            0x0, NULL, HFILL}
8221
14
        },
8222
8223
14
           { &hf_c15ch_cp_state_ch_oldpm,
8224
14
            {"Old Progress Mark", "c15.cpsc.oldpm",
8225
14
            FT_UINT32, BASE_DEC|BASE_EXT_STRING,
8226
14
            &c15_cp_state_pm_types_ext,
8227
14
            0x0, NULL, HFILL }
8228
14
        },
8229
14
        { &hf_c15ch_cp_state_ch_newpm,
8230
14
            {"New Progress Mark", "c15.cpsc.newpm",
8231
14
            FT_UINT32, BASE_DEC|BASE_EXT_STRING,
8232
14
            &c15_cp_state_pm_types_ext,
8233
14
            0x0, NULL, HFILL }
8234
14
        },
8235
14
        { &hf_c15ch_cp_state_ch_subpm,
8236
14
            {"Sub Progress Mark", "c15.cpsc.subpm",
8237
14
            FT_UINT32, BASE_DEC,
8238
14
            NULL,
8239
14
            0x0, NULL, HFILL }
8240
14
        },
8241
14
        { &hf_c15ch_cp_state_ch_trkpm,
8242
14
            {"Trunk Progress Mark", "c15.cpsc.trkpm",
8243
14
            FT_UINT32, BASE_DEC,
8244
14
            NULL,
8245
14
            0x0, NULL, HFILL }
8246
14
        },
8247
14
        { &hf_c15ch_cp_state_ch_slepm,
8248
14
            {"SLE Progress Mark", "c15.cpsc.slepm",
8249
14
            FT_UINT32, BASE_DEC,
8250
14
            NULL,
8251
14
            0x0, NULL, HFILL }
8252
14
        },
8253
14
        { &hf_c15ch_cp_state_ch_flags,
8254
14
            {"Flags", "c15.cpsc.flags",
8255
14
            FT_UINT32, BASE_HEX,
8256
14
            NULL,
8257
14
            0x0, NULL, HFILL }
8258
14
        },
8259
14
        { &hf_c15ch_cp_state_ch_oldrtetype,
8260
14
            {"Old RTE Type", "c15.cpsc.oldrtetype",
8261
14
            FT_UINT32, BASE_DEC,
8262
14
            NULL,
8263
14
            0x0, NULL, HFILL }
8264
14
        },
8265
14
        { &hf_c15ch_cp_state_ch_oldrteidx,
8266
14
            {"Old RTE Index", "c15.cpsc.oldrteidx",
8267
14
            FT_UINT32, BASE_DEC,
8268
14
            NULL,
8269
14
            0x0, NULL, HFILL }
8270
14
        },
8271
14
        { &hf_c15ch_cp_state_ch_newrtetype,
8272
14
            {"New RTE Type", "c15.cpsc.newrtetype",
8273
14
            FT_UINT32, BASE_DEC,
8274
14
            NULL,
8275
14
            0x0, NULL, HFILL}
8276
14
        },
8277
14
        { &hf_c15ch_cp_state_ch_newrteidx,
8278
14
            {"New RTE Index", "c15.cpsc.newrteidx",
8279
14
            FT_UINT32, BASE_DEC,
8280
14
            NULL,
8281
14
            0x0, NULL, HFILL }
8282
14
        },
8283
8284
14
        { &hf_c15ch_dest_digits_digits,
8285
14
            { "Digits", "c15.dest_digits.digits",
8286
14
            FT_STRINGZ, BASE_NONE,
8287
14
            NULL,
8288
14
            0x0, NULL, HFILL}
8289
14
        },
8290
14
        { &hf_c15ch_echo_cancel_ni,
8291
14
            {"NI", "c15.echo_cancel.ni",
8292
14
            FT_UINT32, BASE_HEX,
8293
14
            NULL,
8294
14
            0x0, NULL, HFILL }
8295
14
        },
8296
8297
14
        { &hf_c15ch_echo_cancel_tn,
8298
14
            {"TN", "c15.echo_cancel.tn",
8299
14
            FT_UINT32, BASE_HEX,
8300
14
            NULL,
8301
14
            0x0, NULL, HFILL }
8302
14
        },
8303
14
        { &hf_c15ch_echo_cancel_ni_tn,
8304
14
            {"NI/TN", "c15.echo_cancel.ni_tn",
8305
14
            FT_UINT64, BASE_HEX,
8306
14
            NULL,
8307
14
            0x0, NULL, HFILL }
8308
14
        },
8309
14
        { &hf_c15ch_echo_cancel_old_l2_mode,
8310
14
            {"Old L2 Mode", "c15.echo_cancel.old_l2_mode",
8311
14
            FT_UINT8, BASE_DEC,
8312
14
            VALS( c15_echo_cancel_l2_mode_types ),
8313
14
            0x0, NULL, HFILL }
8314
14
        },
8315
14
        { &hf_c15ch_echo_cancel_old_channel_mode,
8316
14
            {"Old Channel Mode", "c15.echo_cancel.old_channel_mode",
8317
14
            FT_UINT32, BASE_DEC,
8318
14
            VALS( c15_echo_cancel_channel_mode_types ),
8319
14
            0x0, NULL, HFILL }
8320
14
        },
8321
14
        { &hf_c15ch_echo_cancel_old_ecan_mode,
8322
14
            {"Old Ecan Mode", "c15.echo_cancel.old_ecan_mode",
8323
14
            FT_UINT32, BASE_DEC,
8324
14
            VALS( c15_echo_cancel_ecan_mode_types ),
8325
14
            0x0, NULL, HFILL }
8326
14
        },
8327
14
        { &hf_c15ch_echo_cancel_new_l2_mode,
8328
14
            {"New L2 Mode", "c15.echo_cancel.new_l2_mode",
8329
14
            FT_UINT8, BASE_DEC,
8330
14
            VALS( c15_echo_cancel_l2_mode_types ),
8331
14
            0x0, NULL, HFILL }
8332
14
        },
8333
14
        { &hf_c15ch_echo_cancel_new_channel_mode,
8334
14
            {"New Channel Mode", "c15.echo_cancel.new_channel_mode",
8335
14
            FT_UINT32, BASE_DEC,
8336
14
            VALS( c15_echo_cancel_channel_mode_types ),
8337
14
            0x0, NULL, HFILL }
8338
14
        },
8339
14
        { &hf_c15ch_echo_cancel_new_ecan_mode,
8340
14
            {"New Ecan Mode", "c15.echo_cancel.new_ecan_mode",
8341
14
            FT_UINT32, BASE_DEC,
8342
14
            VALS( c15_echo_cancel_ecan_mode_types ),
8343
14
            0x0, NULL, HFILL }
8344
14
        },
8345
14
        { &hf_c15ch_echo_cancel_tone_id,
8346
14
            {"Tone ID", "c15.echo_cancel.tone_id",
8347
14
            FT_UINT32, BASE_DEC,
8348
14
            NULL,
8349
14
            0x0, NULL, HFILL }
8350
14
        },
8351
14
        { &hf_c15ch_echo_cancel_pm,
8352
14
            {"PM", "c15.echo_cancel.pm",
8353
14
            FT_UINT32, BASE_DEC,
8354
14
            NULL,
8355
14
            0x0, NULL, HFILL }
8356
14
        },
8357
14
        { &hf_c15ch_echo_cancel_pc,
8358
14
            {"PC", "c15.echo_cancel.pc",
8359
14
            FT_UINT32, BASE_DEC,
8360
14
            NULL,
8361
14
            0x0, NULL, HFILL }
8362
14
        },
8363
14
        { &hf_c15ch_echo_cancel_loop,
8364
14
            {"Loop", "c15.echo_cancel.loop",
8365
14
            FT_UINT32, BASE_DEC,
8366
14
            NULL,
8367
14
            0x0, NULL, HFILL }
8368
14
        },
8369
14
        { &hf_c15ch_echo_cancel_slot,
8370
14
            {"Slot", "c15.echo_cancel.slot",
8371
14
            FT_UINT32, BASE_DEC,
8372
14
            NULL,
8373
14
            0x0, NULL, HFILL }
8374
14
        },
8375
14
        { &hf_c15ch_echo_cancel_location,
8376
14
            {"Location", "c15.echo_cancel.location",
8377
14
            FT_STRINGZ, BASE_NONE,
8378
14
            NULL,
8379
14
            0x0, NULL, HFILL }
8380
14
        },
8381
8382
14
        { &hf_c15ch_encap_isup_direction,
8383
14
            {"Direction", "c15.encap_isup.direction",
8384
14
            FT_UINT8, BASE_DEC,
8385
14
            NULL,
8386
14
            0x0, NULL, HFILL }
8387
14
        },
8388
14
        { &hf_c15ch_encap_isup_isup_msg_length,
8389
14
            {"Message Type", "c15.encap_isup.isup_msg_length",
8390
14
            FT_UINT32, BASE_DEC,
8391
14
            NULL,
8392
14
            0x0, NULL, HFILL }
8393
14
        },
8394
8395
14
        { &hf_c15ch_isup_direction,
8396
14
            {"Direction", "c15.isup.direction",
8397
14
            FT_UINT8, BASE_DEC,
8398
14
            VALS( c15ch_direction_types ),
8399
14
            0x0, NULL, HFILL }
8400
14
        },
8401
14
        { &hf_c15ch_isup_msgtype,
8402
14
            {"Message Type", "c15.isup.msgtype",
8403
14
            FT_UINT8, BASE_DEC|BASE_EXT_STRING,
8404
14
            &c15_isup_types_ext,
8405
14
            0x0, NULL, HFILL }
8406
14
        },
8407
14
        { &hf_c15ch_isup_cic,
8408
14
            { "CIC", "c15.isup.cic",
8409
14
            FT_UINT32, BASE_DEC,
8410
14
            NULL,
8411
14
            0x0, NULL, HFILL }
8412
14
        },
8413
14
        { &hf_c15ch_isup_opcmember,
8414
14
            { "OPC Member", "c15.isup.opcmember",
8415
14
            FT_UINT8, BASE_DEC,
8416
14
            NULL,
8417
14
            0x0, NULL, HFILL}
8418
14
        },
8419
14
        { &hf_c15ch_isup_opccluster,
8420
14
            { "OPC Cluster", "c15.isup.opccluster",
8421
14
            FT_UINT8, BASE_DEC,
8422
14
            NULL,
8423
14
            0x0, NULL, HFILL}
8424
14
        },
8425
14
        { &hf_c15ch_isup_opcnetwork,
8426
14
            { "OPC Network", "c15.isup.opcnetwork",
8427
14
            FT_UINT8, BASE_DEC,
8428
14
            NULL,
8429
14
            0x0, NULL, HFILL}
8430
14
        },
8431
14
        { &hf_c15ch_isup_dpcmember,
8432
14
            {"DPC Member", "c15.isup.dpcmember",
8433
14
            FT_UINT8, BASE_DEC,
8434
14
            NULL,
8435
14
            0x0, NULL, HFILL }
8436
14
        },
8437
14
        { &hf_c15ch_isup_dpccluster,
8438
14
            { "DPC Cluster", "c15.isup.dpccluster",
8439
14
            FT_UINT8, BASE_DEC,
8440
14
            NULL,
8441
14
            0x0, NULL, HFILL}
8442
14
        },
8443
14
        { &hf_c15ch_isup_dpcnetwork,
8444
14
            { "DPC Network", "c15.isup.dpcnetwork",
8445
14
            FT_UINT8, BASE_DEC,
8446
14
            NULL,
8447
14
            0x0, NULL, HFILL}
8448
14
        },
8449
14
        { &hf_c15ch_isup_level3index,
8450
14
            { "Level 3 Index", "c15.isup.level3index",
8451
14
            FT_UINT8, BASE_DEC,
8452
14
            NULL,
8453
14
            0x0, NULL, HFILL}
8454
14
        },
8455
14
        { &hf_c15ch_isup_ni,
8456
14
            { "NI", "c15.isup.ni",
8457
14
            FT_UINT32, BASE_HEX,
8458
14
            NULL,
8459
14
            0x0, NULL, HFILL}
8460
14
        },
8461
14
        { &hf_c15ch_isup_tn,
8462
14
            { "TN", "c15.isup.tn",
8463
14
            FT_UINT32, BASE_HEX,
8464
14
            NULL,
8465
14
            0x0, NULL, HFILL}
8466
14
        },
8467
14
        { &hf_c15ch_isup_ni_tn,
8468
14
            {"NI/TN", "c15.isup.ni_tn",
8469
14
            FT_UINT64, BASE_HEX,
8470
14
            NULL,
8471
14
            0x0, NULL, HFILL }
8472
14
        },
8473
14
        { &hf_c15ch_isup_c15hdr,
8474
14
            { "C15 Header", "c15.isup.c15hdr",
8475
14
            FT_BYTES, BASE_NONE,
8476
14
            NULL,
8477
14
            0x0, NULL, HFILL}
8478
14
        },
8479
14
        { &hf_c15ch_isup_layer2hdr,
8480
14
            { "Layer 2 Header", "c15.isup.layer2hdr",
8481
14
            FT_BYTES, BASE_NONE,
8482
14
            NULL,
8483
14
            0x0, NULL, HFILL}
8484
14
        },
8485
14
        { &hf_c15ch_isup_layer3hdr,
8486
14
            { "Layer 3 Header", "c15.isup.layer3hdr",
8487
14
            FT_BYTES, BASE_NONE,
8488
14
            NULL,
8489
14
            0x0, NULL, HFILL}
8490
14
        },
8491
14
        { &hf_c15ch_isup_iptime,
8492
14
            {"IP Time", "c15.isup.iptime",
8493
14
            FT_UINT32, BASE_HEX,
8494
14
            NULL,
8495
14
            0x0, NULL, HFILL}
8496
14
        },
8497
8498
14
        { &hf_c15ch_mkbrk_makebreak,
8499
14
            { "Make Break", "c15.mkbrk.makebreak",
8500
14
            FT_UINT8, BASE_DEC,
8501
14
            NULL,
8502
14
            0x0, NULL, HFILL}
8503
14
        },
8504
14
        { &hf_c15ch_mkbrk_nshlf,
8505
14
            { "Nshlf", "c15.mkbrk.nshlf",
8506
14
            FT_UINT8, BASE_DEC,
8507
14
            NULL,
8508
14
            0x0, NULL, HFILL}
8509
14
        },
8510
14
        { &hf_c15ch_mkbrk_stm,
8511
14
            { "Stm", "c15.mkbrk.stm",
8512
14
            FT_UINT8, BASE_DEC,
8513
14
            NULL,
8514
14
            0x0, NULL, HFILL}
8515
14
        },
8516
14
        { &hf_c15ch_mkbrk_caddr,
8517
14
            { "C Address", "c15.mkbrk.caddr",
8518
14
            FT_UINT32, BASE_DEC,
8519
14
            NULL,
8520
14
            0x0, NULL, HFILL}
8521
14
        },
8522
14
        { &hf_c15ch_mkbrk_cdata,
8523
14
            { "C Data", "c15.mkbrk.cdata",
8524
14
            FT_UINT32, BASE_DEC,
8525
14
            NULL,
8526
14
            0x0, NULL, HFILL}
8527
14
        },
8528
8529
14
        { &hf_c15ch_nitnxlate_ni,
8530
14
            {"NI", "c15.nitnxlate.ni",
8531
14
            FT_UINT32, BASE_HEX,
8532
14
            NULL,
8533
14
            0x0, NULL, HFILL}
8534
14
        },
8535
14
        { &hf_c15ch_nitnxlate_tn,
8536
14
            { "TN", "c15.nitnxlate.tn",
8537
14
            FT_UINT32, BASE_HEX,
8538
14
            NULL,
8539
14
            0x0, NULL, HFILL }
8540
14
        },
8541
14
        { &hf_c15ch_nitnxlate_ni_tn,
8542
14
            {"NI/TN", "c15.nitnxlate.ni_tn",
8543
14
            FT_UINT64, BASE_HEX,
8544
14
            NULL,
8545
14
            0x0, NULL, HFILL }
8546
14
        },
8547
14
        { &hf_c15ch_nitnxlate_equiptype,
8548
14
            { "Equipment Type", "c15.nitnxlate.equiptype",
8549
14
            FT_UINT32, BASE_DEC|BASE_EXT_STRING,
8550
14
            &c15ch_nitnxlate_equip_types_ext,
8551
14
            0x0, NULL, HFILL}
8552
14
        },
8553
14
        { &hf_c15ch_nitnxlate_sitestring,
8554
14
            { "Site String", "c15.nitnxlate.sitestring",
8555
14
            FT_STRINGZ, BASE_NONE,
8556
14
            NULL,
8557
14
            0x0, NULL, HFILL}
8558
14
        },
8559
14
        { &hf_c15ch_nitnxlate_concat_string,
8560
14
            { "ID String", "c15.nitnxlate.id_string",
8561
14
            FT_STRINGZ, BASE_NONE,
8562
14
            NULL,
8563
14
            0x0, NULL, HFILL}
8564
14
        },
8565
14
        { &hf_c15ch_nitnxlate_subsitestring,
8566
14
            { "Subsite String", "c15.nitnxlate.subsitestring",
8567
14
            FT_STRINGZ, BASE_NONE,
8568
14
            NULL,
8569
14
            0x0, NULL, HFILL}
8570
14
        },
8571
14
        { &hf_c15ch_nitnxlate_equipname,
8572
14
            { "Equipment Name", "c15.nitnxlate.equipname",
8573
14
            FT_STRINGZ, BASE_NONE,
8574
14
            NULL,
8575
14
            0x0, NULL, HFILL}
8576
14
        },
8577
14
        { &hf_c15ch_nitnxlate_gw_type,
8578
14
            { "GW Type", "c15.nitnxlate.gw_type",
8579
14
            FT_UINT32, BASE_DEC,
8580
14
            VALS( c15ch_nitnxlate_gwe_types ),
8581
14
            0x0, NULL, HFILL}
8582
14
        },
8583
14
        { &hf_c15ch_nitnxlate_parm_1,
8584
14
            { "Parm 1", "c15.nitnxlate.parm_1",
8585
14
            FT_UINT32, BASE_DEC,
8586
14
            NULL,
8587
14
            0x0, NULL, HFILL}
8588
14
        },
8589
14
        { &hf_c15ch_nitnxlate_parm_2,
8590
14
            { "Parm 2", "c15.nitnxlate.parm_2",
8591
14
            FT_UINT32, BASE_DEC,
8592
14
            NULL,
8593
14
            0x0, NULL, HFILL}
8594
14
        },
8595
14
        { &hf_c15ch_nitnxlate_parm_3,
8596
14
            { "Parm 3", "c15.nitnxlate.parm_3",
8597
14
            FT_UINT32, BASE_DEC,
8598
14
            NULL,
8599
14
            0x0, NULL, HFILL}
8600
14
        },
8601
14
        { &hf_c15ch_nitnxlate_parm_4,
8602
14
            { "Parm 4", "c15.nitnxlate.parm_4",
8603
14
            FT_UINT32, BASE_DEC,
8604
14
            NULL,
8605
14
            0x0, NULL, HFILL}
8606
14
        },
8607
14
        { &hf_c15ch_nitnxlate_key,
8608
14
            { "Key", "c15.nitnxlate.key",
8609
14
            FT_UINT32, BASE_DEC,
8610
14
            NULL,
8611
14
            0x0, NULL, HFILL}
8612
14
        },
8613
14
        { &hf_c15ch_nitnxlate_gateway,
8614
14
            { "Gateway", "c15.nitnxlate.gateway",
8615
14
            FT_UINT32, BASE_DEC,
8616
14
            NULL,
8617
14
            0x0, NULL, HFILL}
8618
14
        },
8619
14
        { &hf_c15ch_nitnxlate_line,
8620
14
            { "Line", "c15.nitnxlate.line",
8621
14
            FT_UINT32, BASE_DEC,
8622
14
            NULL,
8623
14
            0x0, NULL, HFILL}
8624
14
        },
8625
14
        { &hf_c15ch_nitnxlate_bay,
8626
14
            { "Bay", "c15.nitnxlate.bay",
8627
14
            FT_UINT32, BASE_DEC,
8628
14
            NULL,
8629
14
            0x0, NULL, HFILL}
8630
14
        },
8631
14
        { &hf_c15ch_nitnxlate_shelf,
8632
14
            { "Shelf", "c15.nitnxlate.shelf",
8633
14
            FT_UINT32, BASE_DEC,
8634
14
            NULL,
8635
14
            0x0, NULL, HFILL}
8636
14
        },
8637
14
        { &hf_c15ch_nitnxlate_lsg,
8638
14
            { "LSG", "c15.nitnxlate.lsg",
8639
14
            FT_UINT32, BASE_DEC,
8640
14
            NULL,
8641
14
            0x0, NULL, HFILL}
8642
14
        },
8643
14
        { &hf_c15ch_nitnxlate_idt_rdt,
8644
14
            { "IDT/RDT", "c15.nitnxlate.idt_rdt",
8645
14
            FT_UINT32, BASE_DEC,
8646
14
            NULL,
8647
14
            0x0, NULL, HFILL}
8648
14
        },
8649
14
        { &hf_c15ch_nitnxlate_pm,
8650
14
            { "PM", "c15.nitnxlate.pm",
8651
14
            FT_UINT32, BASE_DEC,
8652
14
            NULL,
8653
14
            0x0, NULL, HFILL}
8654
14
        },
8655
14
        { &hf_c15ch_nitnxlate_ptrk,
8656
14
            { "Ptrk", "c15.nitnxlate.ptrk",
8657
14
            FT_UINT32, BASE_DEC,
8658
14
            NULL,
8659
14
            0x0, NULL, HFILL}
8660
14
        },
8661
14
        { &hf_c15ch_nitnxlate_channel,
8662
14
            { "Channel", "c15.nitnxlate.channel",
8663
14
            FT_UINT32, BASE_DEC,
8664
14
            NULL,
8665
14
            0x0, NULL, HFILL}
8666
14
        },
8667
14
        { &hf_c15ch_nitnxlate_pc_sts1,
8668
14
            { "PC or STS1", "c15.nitnxlate.pc_sts1",
8669
14
            FT_UINT32, BASE_DEC,
8670
14
            NULL,
8671
14
            0x0, NULL, HFILL}
8672
14
        },
8673
14
        { &hf_c15ch_nitnxlate_port_vt15,
8674
14
            { "Port or VT15", "c15.nitnxlate.port_vt15",
8675
14
            FT_UINT32, BASE_DEC,
8676
14
            NULL,
8677
14
            0x0, NULL, HFILL}
8678
14
        },
8679
14
        { &hf_c15ch_nitnxlate_user_tid,
8680
14
            { "User TID", "c15.nitnxlate.user_tid",
8681
14
            FT_STRINGZ, BASE_NONE,
8682
14
            NULL,
8683
14
            0x0, NULL, HFILL}
8684
14
        },
8685
14
        { &hf_c15ch_nitnxlate_host,
8686
14
            { "Host", "c15.nitnxlate.host",
8687
14
            FT_STRINGZ, BASE_NONE,
8688
14
            NULL,
8689
14
            0x0, NULL, HFILL}
8690
14
        },
8691
14
        { &hf_c15ch_nitnxlate_sip_call_id_64,
8692
14
            { "SIP Call-ID-64", "c15.nitnxlate.sip_call_id-64", /* Output for SIP Call-ID */
8693
14
            FT_STRINGZ, BASE_NONE,
8694
14
            NULL,
8695
14
            0x0, NULL, HFILL}
8696
14
        },
8697
14
        { &hf_c15ch_nitnxlate_tg_num,
8698
14
            { "Target Group Num", "c15.nitnxlate.tg_num",
8699
14
            FT_UINT32, BASE_DEC,
8700
14
            NULL,
8701
14
            0x0, NULL, HFILL}
8702
14
        },
8703
14
        { &hf_c15ch_nitnxlate_mgcp_line_id,
8704
14
            { "MGCP Line ID", "c15.nitnxlate.mgcp_line_id",
8705
14
            FT_STRINGZ, BASE_NONE,
8706
14
            NULL,
8707
14
            0x0, NULL, HFILL}
8708
14
        },
8709
8710
14
        { &hf_c15ch_ntwk_conn_pathtype,
8711
14
            { "Path Type", "c15.ntwkconn.pathtype",
8712
14
            FT_UINT8, BASE_DEC,
8713
14
            VALS( c15ch_path_types ),
8714
14
            0x0, NULL, HFILL}
8715
14
        },
8716
14
        { &hf_c15ch_ntwk_conn_conntype,
8717
14
            { "Conn Type", "c15.ntwkconn.conntype",
8718
14
            FT_UINT8, BASE_DEC,
8719
14
            VALS( c15ch_ntwk_srcedest_conn_types ),
8720
14
            0x0, NULL, HFILL}
8721
14
        },
8722
14
        { &hf_c15ch_ntwk_conn_fromoptimized,
8723
14
            { "From Optimized", "c15.ntwkconn.fromoptimized",
8724
14
            FT_BOOLEAN, BASE_NONE,
8725
14
            TFS(&tfs_yes_no),
8726
14
            0x0, NULL, HFILL}
8727
14
        },
8728
14
        { &hf_c15ch_ntwk_conn_fromsite,
8729
14
            { "From Site", "c15.ntwkconn.fromsite",
8730
14
            FT_STRINGZ, BASE_NONE,
8731
14
            NULL,
8732
14
            0x0, NULL, HFILL}
8733
14
        },
8734
14
        { &hf_c15ch_ntwk_conn_frompm,
8735
14
            { "From PM", "c15.ntwkconn.frompm",
8736
14
            FT_UINT8, BASE_DEC,
8737
14
            NULL,
8738
14
            0x0, NULL, HFILL}
8739
14
        },
8740
14
        { &hf_c15ch_ntwk_conn_frompc,
8741
14
            { "From PC", "c15.ntwkconn.frompc",
8742
14
            FT_UINT8, BASE_DEC,
8743
14
            NULL,
8744
14
            0x0, NULL, HFILL}
8745
14
        },
8746
14
        { &hf_c15ch_ntwk_conn_fromloop,
8747
14
            { "From Loop", "c15.ntwkconn.fromloop",
8748
14
            FT_UINT8, BASE_DEC,
8749
14
            NULL,
8750
14
            0x0, NULL, HFILL}
8751
14
        },
8752
14
        { &hf_c15ch_ntwk_conn_fromslot,
8753
14
            { "From Slot", "c15.ntwkconn.fromslot",
8754
14
            FT_UINT8, BASE_DEC,
8755
14
            NULL,
8756
14
            0x0, NULL, HFILL}
8757
14
        },
8758
14
        { &hf_c15ch_ntwk_conn_fromlocation,
8759
14
            { "From Location", "c15.ntwkconn.fromlocation",
8760
14
            FT_STRINGZ, BASE_NONE,
8761
14
            NULL,
8762
14
            0x0, NULL, HFILL}
8763
14
        },
8764
14
        { &hf_c15ch_ntwk_conn_fromcnx,
8765
14
            { "From CNX", "c15.ntwkconn.fromcnx",
8766
14
            FT_UINT32, BASE_DEC,
8767
14
            NULL,
8768
14
            0x0, NULL, HFILL}
8769
14
        },
8770
14
        { &hf_c15ch_ntwk_conn_fromntwkni,
8771
14
            { "From Ntwk NI", "c15.ntwkconn.fromntwkni",
8772
14
            FT_UINT32, BASE_HEX,
8773
14
            NULL,
8774
14
            0x0, NULL, HFILL}
8775
14
        },
8776
14
        { &hf_c15ch_ntwk_conn_fromntwktn,
8777
14
            { "From Ntwk TN", "c15.ntwkconn.fromntwktn",
8778
14
            FT_UINT32, BASE_HEX,
8779
14
            NULL,
8780
14
            0x0, NULL, HFILL}
8781
14
        },
8782
14
        { &hf_c15ch_ntwk_conn_fromntwknitn,
8783
14
            { "From Ntwk NI/TN", "c15.ntwkconn.fromntwknitn",
8784
14
            FT_UINT64, BASE_HEX,
8785
14
            NULL,
8786
14
            0x0, NULL, HFILL}
8787
14
        },
8788
14
        { &hf_c15ch_ntwk_conn_mbshold,
8789
14
            { "MBS Hold", "c15.ntwkconn.mbshold",
8790
14
            FT_UINT8, BASE_DEC,
8791
14
            NULL,
8792
14
            0x0, NULL, HFILL}
8793
14
        },
8794
14
        { &hf_c15ch_ntwk_conn_tooptimized,
8795
14
            { "To Optimized", "c15.ntwkconn.tooptimized",
8796
14
            FT_BOOLEAN, BASE_NONE,
8797
14
            TFS(&tfs_yes_no),
8798
14
            0x0, NULL, HFILL}
8799
14
        },
8800
14
        { &hf_c15ch_ntwk_conn_tosite,
8801
14
            { "To Site", "c15.ntwkconn.tosite",
8802
14
            FT_STRINGZ, BASE_NONE,
8803
14
            NULL,
8804
14
            0x0, NULL, HFILL}
8805
14
        },
8806
14
        { &hf_c15ch_ntwk_conn_topm,
8807
14
            { "To PM", "c15.ntwkconn.topm",
8808
14
            FT_UINT8, BASE_DEC,
8809
14
            NULL,
8810
14
            0x0, NULL, HFILL}
8811
14
        },
8812
14
        { &hf_c15ch_ntwk_conn_topc,
8813
14
            { "To PC", "c15.ntwkconn.topc",
8814
14
            FT_UINT8, BASE_DEC,
8815
14
            NULL,
8816
14
            0x0, NULL, HFILL}
8817
14
        },
8818
14
        { &hf_c15ch_ntwk_conn_toloop,
8819
14
            { "To Loop", "c15.ntwkconn.toloop",
8820
14
            FT_UINT8, BASE_DEC,
8821
14
            NULL,
8822
14
            0x0, NULL, HFILL}
8823
14
        },
8824
14
        { &hf_c15ch_ntwk_conn_tolocation,
8825
14
            { "To Location", "c15.ntwkconn.tolocation",
8826
14
            FT_STRINGZ, BASE_NONE,
8827
14
            NULL,
8828
14
            0x0, NULL, HFILL}
8829
14
        },
8830
14
        { &hf_c15ch_ntwk_conn_toslot,
8831
14
            { "To Slot", "c15.ntwkconn.toslot",
8832
14
            FT_UINT8, BASE_DEC,
8833
14
            NULL,
8834
14
            0x0, NULL, HFILL}
8835
14
        },
8836
14
        { &hf_c15ch_ntwk_conn_tocnx,
8837
14
            { "To CNX", "c15.ntwkconn.tocnx",
8838
14
            FT_UINT32, BASE_DEC,
8839
14
            NULL,
8840
14
            0x0, NULL, HFILL}
8841
14
        },
8842
8843
14
        { &hf_c15ch_orig_tnblocktype,
8844
14
            { "TN Block Type", "c15.orig.tnblocktype",
8845
14
            FT_UINT32, BASE_DEC|BASE_EXT_STRING,
8846
14
            &c15ch_orig_block_types_ext,
8847
14
            0x0, NULL, HFILL}
8848
14
        },
8849
14
        { &hf_c15ch_orig_ni,
8850
14
            { "NI", "c15.orig.ni",
8851
14
            FT_UINT32, BASE_HEX,
8852
14
            NULL,
8853
14
            0x0, NULL, HFILL}
8854
14
        },
8855
14
        { &hf_c15ch_orig_tn,
8856
14
            { "TN", "c15.orig.tn",
8857
14
            FT_UINT32, BASE_HEX,
8858
14
            NULL,
8859
14
            0x0, NULL, HFILL}
8860
14
        },
8861
14
        { &hf_c15ch_orig_ni_tn,
8862
14
            {"NI/TN", "c15.orig.ni_tn",
8863
14
            FT_UINT64, BASE_HEX,
8864
14
            NULL,
8865
14
            0x0, NULL, HFILL }
8866
14
        },
8867
14
        { &hf_c15ch_orig_dndigits,
8868
14
            { "DN Digits", "c15.orig.dndigits",
8869
14
            FT_STRINGZ, BASE_NONE,
8870
14
            NULL,
8871
14
            0x0, NULL, HFILL}
8872
14
        },
8873
14
        { &hf_c15ch_orig_nidscrn,
8874
14
            { "Nid Scrn", "c15.orig.nidscrn",
8875
14
            FT_UINT8, BASE_DEC,
8876
14
            NULL,
8877
14
            0x0, NULL, HFILL}
8878
14
        },
8879
14
        { &hf_c15ch_orig_nidaddrtype,
8880
14
            { "Nid Address Type", "c15.orig.nidaddrtype",
8881
14
            FT_UINT8, BASE_DEC,
8882
14
            NULL,
8883
14
            0x0, NULL, HFILL}
8884
14
        },
8885
14
        { &hf_c15ch_orig_nidnmbrplan,
8886
14
            { "Nid Number Plan", "c15.orig.nidnmbrplan",
8887
14
            FT_UINT8, BASE_DEC,
8888
14
            NULL,
8889
14
            0x0, NULL, HFILL}
8890
14
        },
8891
14
        { &hf_c15ch_orig_nidprivind,
8892
14
            { "Nid Priv Ind", "c15.orig.nidprivind",
8893
14
            FT_UINT8, BASE_DEC,
8894
14
            NULL,
8895
14
            0x0, NULL, HFILL}
8896
14
        },
8897
14
        { &hf_c15ch_orig_upnsaved,
8898
14
            { "UPN Saved", "c15.orig.upnsaved",
8899
14
            FT_UINT8, BASE_DEC,
8900
14
            NULL,
8901
14
            0x0, NULL, HFILL}
8902
14
        },
8903
14
        { &hf_c15ch_orig_upndigits,
8904
14
            { "UPN Digits", "c15.orig.upndigits",
8905
14
            FT_STRINGZ, BASE_NONE,
8906
14
            NULL,
8907
14
            0x0, NULL, HFILL}
8908
14
        },
8909
14
        { &hf_c15ch_orig_upnscrn,
8910
14
            { "UPN Scrn", "c15.orig.upnscrn",
8911
14
            FT_UINT8, BASE_DEC,
8912
14
            NULL,
8913
14
            0x0, NULL, HFILL}
8914
14
        },
8915
14
        { &hf_c15ch_orig_upnaddrtype,
8916
14
            { "UPN Address Type", "c15.orig.upnaddrtype",
8917
14
            FT_UINT8, BASE_DEC,
8918
14
            NULL,
8919
14
            0x0, NULL, HFILL}
8920
14
        },
8921
14
        { &hf_c15ch_orig_upnnmbrplan,
8922
14
            { "UPN Nmbr Plan", "c15.orig.upnnmbrplan",
8923
14
            FT_UINT8, BASE_DEC,
8924
14
            NULL,
8925
14
            0x0, NULL, HFILL}
8926
14
        },
8927
14
        { &hf_c15ch_orig_upnprivind,
8928
14
            { "UPN Priv Ind", "c15.orig.upnprivind",
8929
14
            FT_UINT8, BASE_DEC,
8930
14
            NULL,
8931
14
            0x0, NULL, HFILL}
8932
14
        },
8933
14
        { &hf_c15ch_orig_rnpsaved,
8934
14
            { "RNP Saved", "c15.orig.rnpsaved",
8935
14
            FT_UINT8, BASE_DEC,
8936
14
            NULL,
8937
14
            0x0, NULL, HFILL}
8938
14
        },
8939
14
        { &hf_c15ch_orig_rnpdigits,
8940
14
            { "RNP Digits", "c15.orig.rnpdigits",
8941
14
            FT_STRINGZ, BASE_NONE,
8942
14
            NULL,
8943
14
            0x0, NULL, HFILL}
8944
14
        },
8945
14
        { &hf_c15ch_orig_rnpscrn,
8946
14
            { "RNP Scrn", "c15.orig.rnpscrn",
8947
14
            FT_UINT8, BASE_DEC,
8948
14
            NULL,
8949
14
            0x0, NULL, HFILL}
8950
14
        },
8951
14
        { &hf_c15ch_orig_rnpaddrtype,
8952
14
            { "RNP Address Type", "c15.orig.rnpaddrtype",
8953
14
            FT_UINT8, BASE_DEC,
8954
14
            NULL,
8955
14
            0x0, NULL, HFILL}
8956
14
        },
8957
14
        { &hf_c15ch_orig_rnpnmbrplan,
8958
14
            { "RNP Number Plan", "c15.orig.rnpnmbrplan",
8959
14
            FT_UINT8, BASE_DEC,
8960
14
            NULL,
8961
14
            0x0, NULL, HFILL}
8962
14
        },
8963
14
        { &hf_c15ch_orig_rnpprivind,
8964
14
            { "RNP Priv Ind", "c15.orig.rnpprivind",
8965
14
            FT_UINT8, BASE_DEC,
8966
14
            NULL,
8967
14
            0x0, NULL, HFILL}
8968
14
        },
8969
14
        { &hf_c15ch_orig_iptime,
8970
14
            { "IP Time", "c15.orig.iptime",
8971
14
            FT_UINT32, BASE_HEX,
8972
14
            NULL,
8973
14
            0x0, NULL, HFILL}
8974
14
        },
8975
8976
14
        { &hf_c15ch_outgwebc_pbc_conn_ni,
8977
14
        { "PBC Conn NI", "c15.out_gwe_bc.pbc.conn.ni",
8978
14
            FT_UINT32, BASE_HEX,
8979
14
            NULL,
8980
14
            0x0, NULL, HFILL}
8981
14
        },
8982
14
        { &hf_c15ch_outgwebc_pbc_conn_tn,
8983
14
            { "PBC Conn TN", "c15.out_gwe_bc.pbc_conn.tn",
8984
14
            FT_UINT32, BASE_HEX,
8985
14
            NULL,
8986
14
            0x0, NULL, HFILL}
8987
14
        },
8988
14
        { &hf_c15ch_outgwebc_pbc_conn_ni_tn,
8989
14
            {"PBC Conn NI/TN", "c15.out_gwe_bc.pbc_conn.ni_tn",
8990
14
            FT_UINT64, BASE_HEX,
8991
14
            NULL,
8992
14
            0x0, NULL, HFILL }
8993
14
        },
8994
14
        { &hf_c15ch_outgwebc_pbc_conn_num,
8995
14
            { "PBC Conn Num", "c15.out_gwe_bc.pbc_conn.num",
8996
14
            FT_UINT32, BASE_DEC,
8997
14
            NULL,
8998
14
            0x0, NULL, HFILL}
8999
14
        },
9000
14
        { &hf_c15ch_outgwebc_pbc_conn_type,
9001
14
            { "PBC Conn Type", "c15.out_gwe_bc.pbc_conn.type",
9002
14
            FT_UINT8, BASE_DEC,
9003
14
            NULL,
9004
14
            0x0, NULL, HFILL}
9005
14
        },
9006
14
        { &hf_c15ch_outgwebc_bc_msg_type,
9007
14
            { "BC Msg Type", "c15.out_gwe_bc.bc_msg_type",
9008
14
            FT_UINT8, BASE_DEC,
9009
14
            NULL,
9010
14
            0x0, NULL, HFILL}
9011
14
        },
9012
14
        { &hf_c15ch_outgwebc_op_bc_sdp_ip,
9013
14
            { "OP BC SDP IP", "c15.out_gwe_bc.op_bc_sdp.ip",
9014
14
            FT_IPv4, BASE_NONE,
9015
14
            NULL,
9016
14
            0x0, NULL, HFILL}
9017
14
        },
9018
14
        { &hf_c15ch_outgwebc_op_bc_sdp_port,
9019
14
            { "OP BC SDP Port", "c15.out_gwe_bc.op_bc_sdp.port",
9020
14
            FT_UINT32, BASE_DEC,
9021
14
            NULL,
9022
14
            0x0, NULL, HFILL}
9023
14
        },
9024
14
        { &hf_c15ch_outgwebc_pbc_mdrp_mode,
9025
14
            { "PBC MDRP Mode", "c15.out_gwe_bc.pbc.mdrp_mode",
9026
14
            FT_UINT8, BASE_DEC,
9027
14
            NULL,
9028
14
            0x0, NULL, HFILL}
9029
14
        },
9030
14
        { &hf_c15ch_outgwebc_pbc_tst_flags,
9031
14
            { "PBC TST Flags", "c15.out_gwe_bc.pbc.tst_flags",
9032
14
            FT_UINT32, BASE_HEX,
9033
14
            NULL,
9034
14
            0x0, NULL, HFILL}
9035
14
        },
9036
9037
14
        { &hf_c15ch_pathfind_vds30,
9038
14
            {"VDS30", "c15.pathfind.vds30",
9039
14
            FT_UINT8, BASE_DEC,
9040
14
            VALS( c15ch_path_vds30_types),
9041
14
            0x0, NULL, HFILL}
9042
14
        },
9043
14
        { &hf_c15ch_pathfind_fromgweni,
9044
14
            { "From GWE NI", "c15.pathfind.fromgweni",
9045
14
            FT_UINT32, BASE_HEX,
9046
14
            NULL,
9047
14
            0x0, NULL, HFILL}
9048
14
        },
9049
14
        { &hf_c15ch_pathfind_fromgwetn,
9050
14
            { "From GWE TN", "c15.pathfind.fromgwetn",
9051
14
            FT_UINT32, BASE_HEX,
9052
14
            NULL,
9053
14
            0x0, NULL, HFILL}
9054
14
        },
9055
14
        { &hf_c15ch_pathfind_fromgwenitn,
9056
14
            { "From GWE NI/TN", "c15.pathfind.fromgwenitn",
9057
14
            FT_UINT64, BASE_HEX,
9058
14
            NULL,
9059
14
            0x0, NULL, HFILL}
9060
14
        },
9061
14
        { &hf_c15ch_pathfind_fromoptimized,
9062
14
            { "From Optimized", "c15.pathfind.fromoptimized",
9063
14
            FT_UINT8, BASE_DEC,
9064
14
            NULL,
9065
14
            0x0, NULL, HFILL}
9066
14
        },
9067
14
        { &hf_c15ch_pathfind_fromsite,
9068
14
            { "From Site", "c15.pathfind.fromsite",
9069
14
            FT_STRINGZ, BASE_NONE,
9070
14
            NULL,
9071
14
            0x0, NULL, HFILL}
9072
14
        },
9073
14
        { &hf_c15ch_pathfind_frompm,
9074
14
            { "From Port Module", "c15.pathfind.frompm",
9075
14
            FT_UINT8, BASE_DEC,
9076
14
            NULL,
9077
14
            0x0, NULL, HFILL}
9078
14
        },
9079
14
        { &hf_c15ch_pathfind_frompc,
9080
14
            { "From Port Controller", "c15.pathfind.frompc",
9081
14
            FT_UINT8, BASE_DEC,
9082
14
            NULL,
9083
14
            0x0, NULL, HFILL}
9084
14
        },
9085
14
        { &hf_c15ch_pathfind_fromloop,
9086
14
            { "From Loop", "c15.pathfind.fromloop",
9087
14
            FT_UINT32, BASE_DEC,
9088
14
            NULL,
9089
14
            0x0, NULL, HFILL}
9090
14
        },
9091
14
        { &hf_c15ch_pathfind_fromslot,
9092
14
            { "From Slot", "c15.pathfind.fromslot",
9093
14
            FT_UINT32, BASE_DEC,
9094
14
            NULL,
9095
14
            0x0, NULL, HFILL}
9096
14
        },
9097
14
        { &hf_c15ch_pathfind_fromcnx,
9098
14
            { "From CNX", "c15.pathfind.fromcnx",
9099
14
            FT_UINT32, BASE_DEC,
9100
14
            NULL,
9101
14
            0x0, NULL, HFILL}
9102
14
        },
9103
14
        { &hf_c15ch_pathfind_fromni,
9104
14
            { "From NI", "c15.pathfind.fromni",
9105
14
            FT_UINT32, BASE_HEX,
9106
14
            NULL,
9107
14
            0x0, NULL, HFILL}
9108
14
        },
9109
14
        { &hf_c15ch_pathfind_fromtn,
9110
14
            { "From TN", "c15.pathfind.fromtn",
9111
14
            FT_UINT32, BASE_HEX,
9112
14
            NULL,
9113
14
            0x0, NULL, HFILL}
9114
14
        },
9115
14
        { &hf_c15ch_pathfind_fromnitn,
9116
14
            { "From NI/TN", "c15.pathfind.fromnitn",
9117
14
            FT_UINT64, BASE_HEX,
9118
14
            NULL,
9119
14
            0x0, NULL, HFILL}
9120
14
        },
9121
14
        { &hf_c15ch_pathfind_togweni,
9122
14
            { "To GWE NI", "c15.pathfind.togweni",
9123
14
            FT_UINT32, BASE_HEX,
9124
14
            NULL,
9125
14
            0x0, NULL, HFILL}
9126
14
        },
9127
14
        { &hf_c15ch_pathfind_togwetn,
9128
14
            { "To GWE TN", "c15.pathfind.togwetn",
9129
14
            FT_UINT32, BASE_HEX,
9130
14
            NULL,
9131
14
            0x0, NULL, HFILL}
9132
14
        },
9133
14
        { &hf_c15ch_pathfind_togwenitn,
9134
14
            { "To GWE TN", "c15.pathfind.togwenitn",
9135
14
            FT_UINT64, BASE_HEX,
9136
14
            NULL,
9137
14
            0x0, NULL, HFILL}
9138
14
        },
9139
14
        { &hf_c15ch_pathfind_tooptimized,
9140
14
            { "To Optimized", "c15.pathfind.tooptimized",
9141
14
            FT_UINT8, BASE_DEC,
9142
14
            NULL,
9143
14
            0x0, NULL, HFILL}
9144
14
        },
9145
14
        { &hf_c15ch_pathfind_tosite,
9146
14
            { "To Site", "c15.pathfind.tosite",
9147
14
            FT_STRINGZ, BASE_NONE,
9148
14
            NULL,
9149
14
            0x0, NULL, HFILL}
9150
14
        },
9151
14
        { &hf_c15ch_pathfind_topm,
9152
14
            { "To Port Module", "c15.pathfind.topm",
9153
14
            FT_UINT8, BASE_DEC,
9154
14
            NULL,
9155
14
            0x0, NULL, HFILL}
9156
14
        },
9157
14
        { &hf_c15ch_pathfind_topc,
9158
14
            { "To Port Controller", "c15.pathfind.topc",
9159
14
            FT_UINT8, BASE_DEC,
9160
14
            NULL,
9161
14
            0x0, NULL, HFILL}
9162
14
        },
9163
14
        { &hf_c15ch_pathfind_toloop,
9164
14
            { "To Loop", "c15.pathfind.toloop",
9165
14
            FT_UINT32, BASE_DEC,
9166
14
            NULL,
9167
14
            0x0, NULL, HFILL}
9168
14
        },
9169
14
        { &hf_c15ch_pathfind_toslot,
9170
14
            { "To Slot", "c15.pathfind.toslot",
9171
14
            FT_UINT32, BASE_DEC,
9172
14
            NULL,
9173
14
            0x0, NULL, HFILL}
9174
14
        },
9175
14
        { &hf_c15ch_pathfind_tocnx,
9176
14
            { "To CNX", "c15.pathfind.tocnx",
9177
14
            FT_UINT32, BASE_DEC,
9178
14
            NULL,
9179
14
            0x0, NULL, HFILL}
9180
14
        },
9181
14
        { &hf_c15ch_pathfind_toni,
9182
14
            { "To NI", "c15.pathfind.toni",
9183
14
            FT_UINT32, BASE_HEX,
9184
14
            NULL,
9185
14
            0x0, NULL, HFILL}
9186
14
        },
9187
14
        { &hf_c15ch_pathfind_totn,
9188
14
            { "To TN", "c15.pathfind.totn",
9189
14
            FT_UINT32, BASE_HEX,
9190
14
            NULL,
9191
14
            0x0, NULL, HFILL}
9192
14
        },
9193
14
        { &hf_c15ch_pathfind_tonitn,
9194
14
            { "To NI/TN", "c15.pathfind.tonitn",
9195
14
            FT_UINT64, BASE_HEX,
9196
14
            NULL,
9197
14
            0x0, NULL, HFILL}
9198
14
        },
9199
9200
14
        { &hf_c15ch_pathidle_vds30,
9201
14
            {"VDS30", "c15.pathidle.vds30",
9202
14
            FT_UINT8, BASE_DEC,
9203
14
            VALS( c15ch_path_vds30_types ),
9204
14
            0x0, NULL, HFILL}
9205
14
        },
9206
14
        { &hf_c15ch_pathidle_idlecode,
9207
14
            {"Idle Code", "c15.pathidle.idlecode",
9208
14
            FT_UINT8, BASE_DEC,
9209
14
            VALS( c15ch_pathidle_idle_types ),
9210
14
            0x0, NULL, HFILL}
9211
14
        },
9212
14
        { &hf_c15ch_pathidle_pathtype,
9213
14
            { "Path Type", "c15.pathidle.pathtype",
9214
14
            FT_UINT8, BASE_DEC,
9215
14
            VALS( c15ch_path_types ),
9216
14
            0x0, NULL, HFILL}
9217
14
        },
9218
14
        { &hf_c15ch_pathidle_fromgweni,
9219
14
            { "From GWE NI", "c15.pathidle.fromgweni",
9220
14
            FT_UINT32, BASE_HEX,
9221
14
            NULL,
9222
14
            0x0, NULL, HFILL}
9223
14
        },
9224
14
        { &hf_c15ch_pathidle_fromgwetn,
9225
14
            { "From GWE TN", "c15.pathidle.fromgwetn",
9226
14
            FT_UINT32, BASE_HEX,
9227
14
            NULL,
9228
14
            0x0, NULL, HFILL}
9229
14
        },
9230
14
        { &hf_c15ch_pathidle_fromgwenitn,
9231
14
            { "From GWE NI/TN", "c15.pathidle.fromgwenitn",
9232
14
            FT_UINT64, BASE_HEX,
9233
14
            NULL,
9234
14
            0x0, NULL, HFILL}
9235
14
        },
9236
14
        { &hf_c15ch_pathidle_fromsite,
9237
14
            { "From Site", "c15.pathidle.fromsite",
9238
14
            FT_STRINGZ, BASE_NONE,
9239
14
            NULL,
9240
14
            0x0, NULL, HFILL}
9241
14
        },
9242
14
        { &hf_c15ch_pathidle_frompm,
9243
14
            { "From Port Module", "c15.pathidle.frompm",
9244
14
            FT_UINT8, BASE_DEC,
9245
14
            NULL,
9246
14
            0x0, NULL, HFILL}
9247
14
        },
9248
14
        { &hf_c15ch_pathidle_frompc,
9249
14
            { "From Port Controller", "c15.pathidle.frompc",
9250
14
            FT_UINT8, BASE_DEC,
9251
14
            NULL,
9252
14
            0x0, NULL, HFILL}
9253
14
        },
9254
14
        { &hf_c15ch_pathidle_fromloop,
9255
14
            { "From Loop", "c15.pathidle.fromloop",
9256
14
            FT_UINT32, BASE_DEC,
9257
14
            NULL,
9258
14
            0x0, NULL, HFILL}
9259
14
        },
9260
14
        { &hf_c15ch_pathidle_fromslot,
9261
14
            { "From Slot", "c15.pathidle.fromslot",
9262
14
            FT_UINT32, BASE_DEC,
9263
14
            NULL,
9264
14
            0x0, NULL, HFILL}
9265
14
        },
9266
14
        { &hf_c15ch_pathidle_fromcnx,
9267
14
            { "From CNX", "c15.pathidle.fromcnx",
9268
14
            FT_UINT32, BASE_DEC,
9269
14
            NULL,
9270
14
            0x0, NULL, HFILL}
9271
14
        },
9272
14
        { &hf_c15ch_pathidle_fromni,
9273
14
            { "From NI", "c15.pathidle.fromni",
9274
14
            FT_UINT32, BASE_HEX,
9275
14
            NULL,
9276
14
            0x0, NULL, HFILL}
9277
14
        },
9278
14
        { &hf_c15ch_pathidle_fromtn,
9279
14
            { "From TN", "c15.pathidle.fromtn",
9280
14
            FT_UINT32, BASE_HEX,
9281
14
            NULL,
9282
14
            0x0, NULL, HFILL}
9283
14
        },
9284
14
        { &hf_c15ch_pathidle_fromnitn,
9285
14
            { "From NI/TN", "c15.pathidle.fromnitn",
9286
14
            FT_UINT64, BASE_HEX,
9287
14
            NULL,
9288
14
            0x0, NULL, HFILL}
9289
14
        },
9290
14
        { &hf_c15ch_pathidle_togweni,
9291
14
            { "To GWE NI", "c15.pathidle.togweni",
9292
14
            FT_UINT32, BASE_HEX,
9293
14
            NULL,
9294
14
            0x0, NULL, HFILL}
9295
14
        },
9296
14
        { &hf_c15ch_pathidle_togwenitn,
9297
14
            { "To GWE NI/TN", "c15.pathidle.togwenitn",
9298
14
            FT_UINT64, BASE_HEX,
9299
14
            NULL,
9300
14
            0x0, NULL, HFILL}
9301
14
        },
9302
14
        { &hf_c15ch_pathidle_togwetn,
9303
14
            { "To GWE TN", "c15.pathidle.togwetn",
9304
14
            FT_UINT32, BASE_HEX,
9305
14
            NULL,
9306
14
            0x0, NULL, HFILL}
9307
14
        },
9308
14
        { &hf_c15ch_pathidle_tosite,
9309
14
            { "To Site", "c15.pathidle.tosite",
9310
14
            FT_STRINGZ, BASE_NONE,
9311
14
            NULL,
9312
14
            0x0, NULL, HFILL}
9313
14
        },
9314
14
        { &hf_c15ch_pathidle_topm,
9315
14
            { "To Port Module", "c15.pathidle.topm",
9316
14
            FT_UINT8, BASE_DEC,
9317
14
            NULL,
9318
14
            0x0, NULL, HFILL}
9319
14
        },
9320
14
        { &hf_c15ch_pathidle_topc,
9321
14
            { "To Port Controller", "c15.pathidle.topc",
9322
14
            FT_UINT8, BASE_DEC,
9323
14
            NULL,
9324
14
            0x0, NULL, HFILL}
9325
14
        },
9326
14
        { &hf_c15ch_pathidle_toloop,
9327
14
            { "To Loop", "c15.pathidle.toloop",
9328
14
            FT_UINT32, BASE_DEC,
9329
14
            NULL,
9330
14
            0x0, NULL, HFILL}
9331
14
        },
9332
14
        { &hf_c15ch_pathidle_toslot,
9333
14
            { "To Slot", "c15.pathidle.toslot",
9334
14
            FT_UINT32, BASE_DEC,
9335
14
            NULL,
9336
14
            0x0, NULL, HFILL}
9337
14
        },
9338
14
        { &hf_c15ch_pathidle_tocnx,
9339
14
            {"To CNX", "c15.pathidle.tocnx",
9340
14
            FT_UINT32, BASE_DEC,
9341
14
            NULL,
9342
14
            0x0, NULL, HFILL}
9343
14
        },
9344
14
        { &hf_c15ch_pathidle_toni,
9345
14
            { "To NI", "c15.pathidle.toni",
9346
14
            FT_UINT32, BASE_HEX,
9347
14
            NULL,
9348
14
            0x0, NULL, HFILL}
9349
14
        },
9350
14
        { &hf_c15ch_pathidle_totn,
9351
14
            { "From TN", "c15.pathidle.totn",
9352
14
            FT_UINT32, BASE_HEX,
9353
14
            NULL,
9354
14
            0x0, NULL, HFILL}
9355
14
        },
9356
14
        { &hf_c15ch_pathidle_tonitn,
9357
14
            { "To NI/TN", "c15.pathidle.tonitn",
9358
14
            FT_UINT64, BASE_HEX,
9359
14
            NULL,
9360
14
            0x0, NULL, HFILL}
9361
14
        },
9362
9363
14
        { &hf_c15ch_q931_direction,
9364
14
            { "Direction", "c15.q931.direction",
9365
14
            FT_UINT8, BASE_DEC,
9366
14
            VALS( c15ch_direction_types ),
9367
14
            0x0, NULL, HFILL}
9368
14
        },
9369
14
        { &hf_c15ch_q931_ni,
9370
14
            { "NI", "c15.q931.ni",
9371
14
            FT_UINT32, BASE_HEX,
9372
14
            NULL,
9373
14
            0x0, NULL, HFILL}
9374
14
        },
9375
14
        { &hf_c15ch_q931_tn,
9376
14
            { "TN", "c15.q931.tn",
9377
14
            FT_UINT32, BASE_HEX,
9378
14
            NULL,
9379
14
            0x0, NULL, HFILL}
9380
14
        },
9381
14
        { &hf_c15ch_q931_ni_tn,
9382
14
            { "NI/TN", "c15.q931.ni_tn",
9383
14
            FT_UINT64, BASE_HEX,
9384
14
            NULL,
9385
14
            0x0, NULL, HFILL}
9386
14
        },
9387
14
        { &hf_c15ch_q931_msglength,
9388
14
            { "Message Length", "c15.q931.msglength",
9389
14
            FT_UINT32, BASE_DEC,
9390
14
            NULL,
9391
14
            0x0, NULL, HFILL}
9392
14
        },
9393
14
        { &hf_c15ch_q931,
9394
14
            { "C15 Q931", "c15.q931",
9395
14
            FT_PROTOCOL, BASE_NONE,
9396
14
            NULL,
9397
14
            0x0, NULL, HFILL}
9398
14
        },
9399
14
        { &hf_c15ch_qos_ni,
9400
14
            { "NI", "c15.qos.ni",
9401
14
            FT_UINT32, BASE_HEX,
9402
14
            NULL,
9403
14
            0x0, NULL, HFILL}
9404
14
        },
9405
14
        { &hf_c15ch_qos_tn,
9406
14
            { "TN", "c15.qos.tn",
9407
14
            FT_UINT32, BASE_HEX,
9408
14
            NULL,
9409
14
            0x0, NULL, HFILL}
9410
14
        },
9411
14
        { &hf_c15ch_qos_ni_tn,
9412
14
            { "NI/TN", "c15.qos.ni_tn",
9413
14
            FT_UINT64, BASE_HEX,
9414
14
            NULL,
9415
14
            0x0, NULL, HFILL}
9416
14
        },
9417
14
        { &hf_c15ch_qos_rtcp_call_id,
9418
14
            { "RTCP Call ID", "c15.qos.rtcp_call_id",
9419
14
            FT_UINT32, BASE_DEC,
9420
14
            NULL,
9421
14
            0x0, NULL, HFILL}
9422
14
        },
9423
14
        { &hf_c15ch_qos_register_type,
9424
14
            { "Register Type", "c15.qos.register_type",
9425
14
            FT_UINT32, BASE_DEC,
9426
14
            NULL,
9427
14
            0x0, NULL, HFILL}
9428
14
        },
9429
14
        { &hf_c15ch_qos_tg_num,
9430
14
            { "TG Num", "c15.qos.tg_num",
9431
14
            FT_UINT32, BASE_DEC,
9432
14
            NULL,
9433
14
            0x0, NULL, HFILL}
9434
14
        },
9435
14
        { &hf_c15ch_qos_trk_type,
9436
14
            { "Trunk Type", "c15.qos.trk_type",
9437
14
            FT_UINT32, BASE_DEC,
9438
14
            NULL,
9439
14
            0x0, NULL, HFILL}
9440
14
        },
9441
14
        { &hf_c15ch_qos_status,
9442
14
            { "Status", "c15.qos.status",
9443
14
            FT_UINT32, BASE_DEC,
9444
14
            VALS( c15ch_qos_status_types ),
9445
14
            0x0, NULL, HFILL}
9446
14
        },
9447
14
        { &hf_c15ch_qos_codec,
9448
14
            { "Codec", "c15.qos.codec",
9449
14
            FT_UINT32, BASE_DEC,
9450
14
            NULL,
9451
14
            0x0, NULL, HFILL}
9452
14
        },
9453
14
        { &hf_c15ch_qos_given_ip,
9454
14
            { "Given IP", "c15.qos.given_ip",
9455
14
            FT_IPv4, BASE_NONE,
9456
14
            NULL,
9457
14
            0x0, NULL, HFILL}
9458
14
        },
9459
14
        { &hf_c15ch_qos_real_ip,
9460
14
            { "Real IP", "c15.qos.real_ip",
9461
14
            FT_IPv4, BASE_NONE,
9462
14
            NULL,
9463
14
            0x0, NULL, HFILL}
9464
14
        },
9465
14
        { &hf_c15ch_qos_local_ip,
9466
14
            { "Local IP", "c15.qos.local_ip",
9467
14
            FT_IPv4, BASE_NONE,
9468
14
            NULL,
9469
14
            0x0, NULL, HFILL}
9470
14
        },
9471
14
        { &hf_c15ch_qos_tx_pkts,
9472
14
            { "Tx Packets", "c15.qos.tx_pkts",
9473
14
            FT_UINT32, BASE_DEC,
9474
14
            NULL,
9475
14
            0x0, NULL, HFILL}
9476
14
        },
9477
14
        { &hf_c15ch_qos_lost_pkts,
9478
14
            { "Lost Packets", "c15.qos.lost_pkts",
9479
14
            FT_UINT32, BASE_DEC,
9480
14
            NULL,
9481
14
            0x0, NULL, HFILL}
9482
14
        },
9483
14
        { &hf_c15ch_qos_lost_pct,
9484
14
            { "Lost Percent", "c15.qos.lost_pct",
9485
14
            FT_UINT32, BASE_DEC,
9486
14
            NULL,
9487
14
            0x0, NULL, HFILL}
9488
14
        },
9489
14
        { &hf_c15ch_qos_jitter,
9490
14
            { "Jitter", "c15.qos.jitter",
9491
14
            FT_UINT32, BASE_DEC,
9492
14
            NULL,
9493
14
            0x0, NULL, HFILL}
9494
14
        },
9495
14
        { &hf_c15ch_qos_rtt,
9496
14
            { "Round Trip Time", "c15.qos.rtt",
9497
14
            FT_UINT32, BASE_DEC,
9498
14
            NULL,
9499
14
            0x0, NULL, HFILL}
9500
14
        },
9501
14
        { &hf_c15ch_qos_avg_rtt,
9502
14
            { "Average Round Trip Time", "c15.qos.avg_rtt",
9503
14
            FT_UINT32, BASE_DEC,
9504
14
            NULL,
9505
14
            0x0, NULL, HFILL}
9506
14
        },
9507
14
        { &hf_c15ch_qos_duration,
9508
14
            { "Duration", "c15.qos.duration",
9509
14
            FT_UINT32, BASE_DEC,
9510
14
            NULL,
9511
14
            0x0, NULL, HFILL}
9512
14
        },
9513
14
        { &hf_c15ch_qos_mos,
9514
14
            { "MOS", "c15.qos.mos",
9515
14
            FT_FLOAT, BASE_NONE,
9516
14
            NULL,
9517
14
            0x0, NULL, HFILL}
9518
14
        },
9519
14
        { &hf_c15ch_qos_ep_type,
9520
14
            { "EP Type", "c15.qos.ep_type",
9521
14
            FT_UINT32, BASE_DEC,
9522
14
            NULL,
9523
14
            0x0, NULL, HFILL}
9524
14
        },
9525
14
        { &hf_c15ch_qos_dn_or_tg,
9526
14
            { "DN or TG", "c15.qos.dn_or_tg",
9527
14
            FT_STRINGZ, BASE_NONE,
9528
14
            NULL,
9529
14
            0x0, NULL, HFILL}
9530
14
        },
9531
14
        { &hf_c15ch_qos_pm,
9532
14
            { "Port Module", "c15.qos.pm",
9533
14
            FT_UINT8, BASE_DEC,
9534
14
            NULL,
9535
14
            0x0, NULL, HFILL}
9536
14
        },
9537
14
        { &hf_c15ch_qos_pc,
9538
14
            { "Port Controller", "c15.qos.pc",
9539
14
            FT_UINT8, BASE_DEC,
9540
14
            NULL,
9541
14
            0x0, NULL, HFILL}
9542
14
        },
9543
14
        { &hf_c15ch_qos_hour,
9544
14
            { "Hour", "c15.qos.hour",
9545
14
            FT_UINT8, BASE_DEC,
9546
14
            NULL,
9547
14
            0x0, NULL, HFILL}
9548
14
        },
9549
14
        { &hf_c15ch_qos_min,
9550
14
            { "Minutes", "c15.qos.min",
9551
14
            FT_UINT8, BASE_DEC,
9552
14
            NULL,
9553
14
            0x0, NULL, HFILL}
9554
14
        },
9555
14
        { &hf_c15ch_qos_sec,
9556
14
            { "Seconds", "c15.qos.sec",
9557
14
            FT_UINT8, BASE_DEC,
9558
14
            NULL,
9559
14
            0x0, NULL, HFILL}
9560
14
        },
9561
14
        { &hf_c15ch_qos_tenth_sec,
9562
14
            { "Tenths of Seconds", "c15.qos.tenth_sec",
9563
14
            FT_UINT8, BASE_DEC,
9564
14
            NULL,
9565
14
            0x0, NULL, HFILL}
9566
14
        },
9567
14
        { &hf_c15ch_qos_year,
9568
14
            { "Year", "c15.qos.year",
9569
14
            FT_UINT32, BASE_DEC,
9570
14
            NULL,
9571
14
            0x0, NULL, HFILL}
9572
14
        },
9573
14
        { &hf_c15ch_qos_month,
9574
14
            { "Month", "c15.qos.month",
9575
14
            FT_UINT8, BASE_DEC,
9576
14
            NULL,
9577
14
            0x0, NULL, HFILL}
9578
14
        },
9579
14
        { &hf_c15ch_qos_day,
9580
14
            { "Day", "c15.qos.day",
9581
14
            FT_UINT8, BASE_DEC,
9582
14
            NULL,
9583
14
            0x0, NULL, HFILL}
9584
14
        },
9585
14
        { &hf_c15ch_qos_day_of_week,
9586
14
            { "Day of Week", "c15.qos.day_of_week",
9587
14
            FT_UINT8, BASE_DEC,
9588
14
            NULL,
9589
14
            0x0, NULL, HFILL}
9590
14
        },
9591
9592
14
        { &hf_c15ch_route_number,
9593
14
            { "Number", "c15.route.number",
9594
14
            FT_UINT32, BASE_DEC,
9595
14
            NULL,
9596
14
            0x0, NULL, HFILL}
9597
14
        },
9598
14
        { &hf_c15ch_route_type,
9599
14
            { "Type", "c15.route.type",
9600
14
            FT_UINT32, BASE_DEC|BASE_EXT_STRING,
9601
14
            &c15_route_types_ext,
9602
14
            0x0, NULL, HFILL}
9603
14
        },
9604
14
        { &hf_c15ch_route_subpm,
9605
14
            { "Sub Progress Mark", "c15.route.subpm",
9606
14
            FT_UINT32, BASE_DEC,
9607
14
            NULL,
9608
14
            0x0, NULL, HFILL}
9609
14
        },
9610
14
        { &hf_c15ch_route_trkpm,
9611
14
            { "Trk Progress Mark", "c15.route.trkpm",
9612
14
            FT_UINT32, BASE_DEC,
9613
14
            NULL,
9614
14
            0x0, NULL, HFILL}
9615
14
        },
9616
14
        { &hf_c15ch_route_strtaindo,
9617
14
            { "START AIN DO", "c15.route.strtaindo",
9618
14
            FT_UINT8, BASE_DEC,
9619
14
            VALS( c15_route_strt_ain_do_types ),
9620
14
            0x0, NULL, HFILL}
9621
14
        },
9622
14
        { &hf_c15ch_route_cr_rte_adv,
9623
14
            { "CR RTE Adv", "c15.route.cr_rte_adv",
9624
14
            FT_UINT32, BASE_DEC,
9625
14
            NULL,
9626
14
            0x0, NULL, HFILL}
9627
14
        },
9628
14
        { &hf_c15ch_route_cause,
9629
14
            { "Cause", "c15.route.cause",
9630
14
            FT_UINT32, BASE_DEC,
9631
14
            NULL,
9632
14
            0x0, NULL, HFILL}
9633
14
        },
9634
9635
14
        { &hf_c15ch_sccp_direction,
9636
14
            { "Direction", "c15.sccp.direction",
9637
14
            FT_UINT8, BASE_DEC,
9638
14
            VALS( c15ch_direction_types ),
9639
14
            0x0, NULL, HFILL}
9640
14
        },
9641
14
        { &hf_c15ch_sccp_msgtype,
9642
14
            { "Message Type", "c15.sccp.msgtype",
9643
14
            FT_UINT8, BASE_DEC,
9644
14
            VALS( c15ch_sccp_msg_types ),
9645
14
            0x0, NULL, HFILL}
9646
14
        },
9647
14
        { &hf_c15ch_sccp_hopcount,
9648
14
            { "Hop Count", "c15.sccp.hopcount",
9649
14
            FT_UINT8, BASE_DEC,
9650
14
            NULL,
9651
14
            0x0, NULL, HFILL}
9652
14
        },
9653
14
        { &hf_c15ch_sccp_transactionnum,
9654
14
            { "Transaction Number", "c15.sccp.transactionnum",
9655
14
            FT_UINT32, BASE_DEC,
9656
14
            NULL,
9657
14
            0x0, NULL, HFILL}
9658
14
        },
9659
14
        { &hf_c15ch_sccp_opcmember,
9660
14
            { "OPC Member", "c15.sccp.opcmember",
9661
14
            FT_UINT8, BASE_DEC,
9662
14
            NULL,
9663
14
            0x0, NULL, HFILL}
9664
14
        },
9665
14
        { &hf_c15ch_sccp_opccluster,
9666
14
            { "OPC Cluster", "c15.sccp.opccluster",
9667
14
            FT_UINT8, BASE_DEC,
9668
14
            NULL,
9669
14
            0x0, NULL, HFILL}
9670
14
        },
9671
14
        { &hf_c15ch_sccp_opcnetwork,
9672
14
            { "OPC Network", "c15.sccp.opcnetwork",
9673
14
            FT_UINT8, BASE_DEC,
9674
14
            NULL,
9675
14
            0x0, NULL, HFILL}
9676
14
        },
9677
14
        { &hf_c15ch_sccp_dpcmember,
9678
14
            { "DPC Member", "c15.sccp.dpcmember",
9679
14
            FT_UINT8, BASE_DEC,
9680
14
            NULL,
9681
14
            0x0, NULL, HFILL}
9682
14
        },
9683
14
        { &hf_c15ch_sccp_dpccluster,
9684
14
            { "DPC Cluster", "c15.sccp.dpccluster",
9685
14
            FT_UINT8, BASE_DEC,
9686
14
            NULL,
9687
14
            0x0, NULL, HFILL}
9688
14
        },
9689
14
        { &hf_c15ch_sccp_dpcnetwork,
9690
14
            { "DPC Network", "c15.sccp.dpcnetwork",
9691
14
            FT_UINT8, BASE_DEC,
9692
14
            NULL,
9693
14
            0x0, NULL, HFILL}
9694
14
        },
9695
14
        { &hf_c15ch_sccp_level3index,
9696
14
            { "Level 3 Index", "c15.sccp.level3index",
9697
14
            FT_UINT8, BASE_DEC,
9698
14
            NULL,
9699
14
            0x0, NULL, HFILL}
9700
14
        },
9701
14
        { &hf_c15ch_sccp_ni,
9702
14
            { "NI", "c15.sccp.ni",
9703
14
            FT_UINT32, BASE_HEX,
9704
14
            NULL,
9705
14
            0x0, NULL, HFILL}
9706
14
        },
9707
14
        { &hf_c15ch_sccp_tn,
9708
14
            { "TN", "c15.sccp.tn",
9709
14
            FT_UINT32, BASE_HEX,
9710
14
            NULL,
9711
14
            0x0, NULL, HFILL}
9712
14
        },
9713
14
        { &hf_c15ch_sccp_ni_tn,
9714
14
            { "NI/TN", "c15.sccp.ni_tn",
9715
14
            FT_UINT64, BASE_HEX,
9716
14
            NULL,
9717
14
            0x0, NULL, HFILL}
9718
14
        },
9719
14
        { &hf_c15ch_sccp_sls,
9720
14
            { "SLS", "c15.sccp.sls",
9721
14
            FT_UINT8, BASE_DEC,
9722
14
            NULL,
9723
14
            0x0, NULL, HFILL}
9724
14
        },
9725
14
        { &hf_c15ch_sccp_iptime,
9726
14
            { "IP Time", "c15.sccp.iptime",
9727
14
            FT_UINT32, BASE_HEX,
9728
14
            NULL,
9729
14
            0x0, NULL, HFILL}
9730
14
        },
9731
9732
14
        { &hf_c15ch_srcedest_conntype,
9733
14
            { "Connection Type", "c15.srcedest.conntype",
9734
14
            FT_UINT8, BASE_DEC,
9735
14
            VALS( c15ch_ntwk_srcedest_conn_types ),
9736
14
            0x0, NULL, HFILL}
9737
14
        },
9738
14
        { &hf_c15ch_srcedest_pathtype,
9739
14
            { "Path Type", "c15.srcedest.pathtype",
9740
14
            FT_UINT8, BASE_DEC,
9741
14
            VALS( c15ch_path_types ),
9742
14
            0x0, NULL, HFILL}
9743
14
        },
9744
14
        { &hf_c15ch_srcedest_pathdirect,
9745
14
            { "Path Direction", "c15.srcedest.pathdirect",
9746
14
            FT_UINT8, BASE_DEC,
9747
14
            NULL,
9748
14
            0x0, NULL, HFILL}
9749
14
        },
9750
9751
14
        { &hf_c15ch_tcap_direction,
9752
14
            { "Direction", "c15.tcap.direction",
9753
14
            FT_UINT8, BASE_DEC,
9754
14
            VALS( c15ch_tcap_direction_types ),
9755
14
            0x0, NULL, HFILL }
9756
14
        },
9757
14
        { &hf_c15ch_tcap_action,
9758
14
            { "Action", "c15.tcap.action",
9759
14
            FT_UINT8, BASE_DEC,
9760
14
            VALS( c15ch_tcap_action_types ),
9761
14
            0x0, NULL, HFILL }
9762
14
        },
9763
14
        { &hf_c15ch_tcap_package_type,
9764
14
            { "Package Type", "c15.tcap.package_type",
9765
14
            FT_UINT8, BASE_DEC,
9766
14
            VALS( c15ch_tcap_package_types ),
9767
14
            0x0, NULL, HFILL }
9768
14
        },
9769
14
        { &hf_c15ch_tcap_ssn,
9770
14
            { "SSN", "c15.tcap.ssn",
9771
14
            FT_UINT8, BASE_DEC,
9772
14
            NULL,
9773
14
            0x0, NULL, HFILL }
9774
14
        },
9775
14
        { &hf_c15ch_tcap_local_ssn,
9776
14
            { "Local SSN", "c15.tcap.local_ssn",
9777
14
            FT_UINT8, BASE_DEC,
9778
14
            VALS( c15ch_tcap_local_ssn_types ),
9779
14
            0x0, NULL, HFILL }
9780
14
        },
9781
14
        { &hf_c15ch_tcap_result_err_code,
9782
14
            { "Result Error Code", "c15.tcap.result_err_code",
9783
14
            FT_UINT8, BASE_DEC,
9784
14
            VALS( c15ch_tcap_err_code_types ),
9785
14
            0x0, NULL, HFILL }
9786
14
        },
9787
14
        { &hf_c15ch_tcap_return_reason,
9788
14
            { "Return Reason", "c15.tcap.return_reason",
9789
14
            FT_UINT8, BASE_DEC,
9790
14
            VALS( c15ch_tcap_ret_reason_types ),
9791
14
            0x0, NULL, HFILL }
9792
14
        },
9793
14
        { &hf_c15ch_tcap_feat_id,
9794
14
            { "Feat ID", "c15.tcap.feat_id",
9795
14
            FT_UINT8, BASE_DEC,
9796
14
            VALS( c15ch_tcap_feat_id_types ),
9797
14
            0x0, NULL, HFILL }
9798
14
        },
9799
14
        { &hf_c15ch_tcap_feat_req,
9800
14
            { "Feat Req", "c15.tcap.feat_req",
9801
14
            FT_UINT8, BASE_DEC,
9802
14
            VALS( c15ch_tcap_feat_req_types ),
9803
14
            0x0, NULL, HFILL }
9804
14
        },
9805
14
        { &hf_c15ch_tcap_cl_comp_result,
9806
14
            { "CL Comp Result", "c15.tcap.cl_comp_result",
9807
14
            FT_UINT8, BASE_DEC,
9808
14
            NULL,
9809
14
            0x0, NULL, HFILL }
9810
14
        },
9811
14
        { &hf_c15ch_tcap_release_bit,
9812
14
            { "Release Bit", "c15.tcap.release_bit",
9813
14
            FT_UINT8, BASE_DEC,
9814
14
            VALS( c15ch_tcap_rel_bit_types ),
9815
14
            0x0, NULL, HFILL }
9816
14
        },
9817
14
        { &hf_c15ch_tcap_term_cl_request,
9818
14
            { "Term CL Request", "c15.tcap.term_cl_request",
9819
14
            FT_UINT8, BASE_DEC,
9820
14
            NULL,
9821
14
            0x0, NULL, HFILL }
9822
14
        },
9823
14
        { &hf_c15ch_tcap_opc_index,
9824
14
            { "OPC Index", "c15.tcap.opc_index",
9825
14
            FT_UINT8, BASE_DEC,
9826
14
            NULL,
9827
14
            0x0, NULL, HFILL }
9828
14
        },
9829
14
        { &hf_c15ch_tcap_dpc_mem,
9830
14
            { "DPC Mem", "c15.tcap.dpc_mem",
9831
14
            FT_UINT8, BASE_DEC,
9832
14
            NULL,
9833
14
            0x0, NULL, HFILL }
9834
14
        },
9835
14
        { &hf_c15ch_tcap_dpc_clus,
9836
14
            { "DPC Clus", "c15.tcap.dpc_clus",
9837
14
            FT_UINT8, BASE_DEC,
9838
14
            NULL,
9839
14
            0x0, NULL, HFILL }
9840
14
        },
9841
14
        { &hf_c15ch_tcap_dpc_net,
9842
14
            { "DPC Net", "c15.tcap.dpc_net",
9843
14
            FT_UINT8, BASE_DEC,
9844
14
            NULL,
9845
14
            0x0, NULL, HFILL }
9846
14
        },
9847
14
        { &hf_c15ch_tcap_cp_id,
9848
14
            { "CP ID", "c15.tcap.cp_id",
9849
14
            FT_UINT32, BASE_HEX,
9850
14
            NULL,
9851
14
            0x0, NULL, HFILL }
9852
14
        },
9853
9854
14
        { &hf_c15ch_twc_rswch_pm,
9855
14
            { "Progress Mark", "c15.twc_rswch.pm",
9856
14
            FT_UINT32, BASE_DEC,
9857
14
            NULL,
9858
14
            0x0, NULL, HFILL}
9859
14
        },
9860
14
        { &hf_c15ch_twc_rswch_subpm,
9861
14
            { "Sub Progress Mark", "c15.twc_rswch.subpm",
9862
14
            FT_UINT32, BASE_DEC,
9863
14
            NULL,
9864
14
            0x0, NULL, HFILL}
9865
14
        },
9866
14
        { &hf_c15ch_twc_rswch_trkpm,
9867
14
            { "Trunk Progress Mark", "c15.twc_rswch.trkpm",
9868
14
            FT_UINT32, BASE_DEC,
9869
14
            NULL,
9870
14
            0x0, NULL, HFILL}
9871
14
        },
9872
14
        { &hf_c15ch_twc_rswch_devid,
9873
14
            { "Device ID", "c15.twc_rswch.devid",
9874
14
            FT_UINT32, BASE_DEC,
9875
14
            NULL,
9876
14
            0x0, NULL, HFILL}
9877
14
        },
9878
14
        { &hf_c15ch_twc_rswch_event,
9879
14
            { "Event", "c15.twc_rswch.event",
9880
14
            FT_UINT32, BASE_DEC,
9881
14
            NULL,
9882
14
            0x0, NULL, HFILL}
9883
14
        },
9884
14
        { &hf_c15ch_twc_rswch_parm,
9885
14
            { "Parameter", "c15.twc_rswch.parm",
9886
14
            FT_UINT32, BASE_DEC,
9887
14
            NULL,
9888
14
            0x0, NULL, HFILL}
9889
14
        },
9890
14
        { &hf_c15ch_twc_rswch_iptime,
9891
14
            { "IP Time", "c15.twc_rswch.iptime",
9892
14
            FT_UINT32, BASE_DEC,
9893
14
            NULL,
9894
14
            0x0, NULL, HFILL}
9895
14
        },
9896
9897
14
        { &hf_c15ch_cp_event_pm,
9898
14
            { "Progress Mark", "c15.cpe.pm",
9899
14
            FT_UINT32, BASE_DEC|BASE_EXT_STRING,
9900
14
            &c15_pm_types_ext,
9901
14
            0x0, NULL, HFILL}
9902
14
        },
9903
14
        { &hf_c15ch_cp_event_subpm,
9904
14
            { "Sub Progress Mark", "c15.cpe.subpm",
9905
14
            FT_UINT32, BASE_DEC,
9906
14
            NULL,
9907
14
            0x0, NULL, HFILL }
9908
14
        },
9909
14
        { &hf_c15ch_cp_event_subpm_orig,
9910
14
            { "Sub Progress Mark (Orig)", "c15.cpe.subpm_orig",
9911
14
            FT_UINT32, BASE_DEC,
9912
14
            VALS( subpm_orig_types),
9913
14
            0x0, NULL, HFILL }
9914
14
        },
9915
14
        { &hf_c15ch_cp_event_subpm_disc_time,
9916
14
            { "Sub Progress Mark (Disc Time)", "c15.cpe.subpm_disc_time",
9917
14
            FT_UINT32, BASE_DEC,
9918
14
            VALS( subpm_disc_time_types),
9919
14
            0x0, NULL, HFILL }
9920
14
        },
9921
14
        { &hf_c15ch_cp_event_subpm_revert,
9922
14
            { "Sub Progress Mark (Revertive)", "c15.cpe.subpm_revert",
9923
14
            FT_UINT32, BASE_DEC,
9924
14
            VALS( subpm_revert_types),
9925
14
            0x0, NULL, HFILL }
9926
14
        },
9927
14
        { &hf_c15ch_cp_event_subpm_orig_dt,
9928
14
            { "Sub Progress Mark (Orig DT)", "c15.cpe.subpm_orig_dt",
9929
14
            FT_UINT32, BASE_DEC,
9930
14
            VALS( subpm_orig_dt_types),
9931
14
            0x0, NULL, HFILL }
9932
14
        },
9933
14
        { &hf_c15ch_cp_event_subpm_orig_ws,
9934
14
            { "Sub Progress Mark (Orig WS)", "c15.cpe.subpm_orig_ws",
9935
14
            FT_UINT32, BASE_DEC,
9936
14
            VALS( subpm_orig_ws_types),
9937
14
            0x0, NULL, HFILL }
9938
14
        },
9939
14
        { &hf_c15ch_cp_event_subpm_orig_dd,
9940
14
            { "Sub Progress Mark (Orig DD)", "c15.cpe.subpm_orig_dd",
9941
14
            FT_UINT32, BASE_DEC,
9942
14
            VALS( subpm_orig_dd_types),
9943
14
            0x0, NULL, HFILL }
9944
14
        },
9945
14
        { &hf_c15ch_cp_event_subpm_orig_id,
9946
14
            { "Sub Progress Mark (Orig ID)", "c15.cpe.subpm_orig_id",
9947
14
            FT_UINT32, BASE_DEC,
9948
14
            VALS( subpm_orig_id_types),
9949
14
            0x0, NULL, HFILL }
9950
14
        },
9951
14
        { &hf_c15ch_cp_event_subpm_no_test,
9952
14
            { "Sub Progress Mark (No Test)", "c15.cpe.subpm_no_test",
9953
14
            FT_UINT32, BASE_DEC,
9954
14
            VALS( subpm_no_test_types),
9955
14
            0x0, NULL, HFILL }
9956
14
        },
9957
14
        { &hf_c15ch_cp_event_subpm_dialing,
9958
14
            { "Sub Progress Mark (Dialing)", "c15.cpe.subpm_dialing",
9959
14
            FT_UINT32, BASE_DEC,
9960
14
            VALS( subpm_dialing_types),
9961
14
            0x0, NULL, HFILL }
9962
14
        },
9963
14
        { &hf_c15ch_cp_event_subpm_rebuilt,
9964
14
            { "Sub Progress Mark (Rebuilt)", "c15.cpe.subpm_rebuilt",
9965
14
            FT_UINT32, BASE_DEC,
9966
14
            VALS( subpm_rebuilt_types),
9967
14
            0x0, NULL, HFILL }
9968
14
        },
9969
14
        { &hf_c15ch_cp_event_subpm_acfw_reac,
9970
14
            { "Sub Progress Mark (ACFW Reac)", "c15.cpe.subpm_acfw_reac",
9971
14
            FT_UINT32, BASE_DEC,
9972
14
            VALS( subpm_acfw_reac_types),
9973
14
            0x0, NULL, HFILL }
9974
14
        },
9975
14
        { &hf_c15ch_cp_event_subpm_process_route,
9976
14
            { "Sub Progress Mark (Process Route)", "c15.cpe.subpm_process_route",
9977
14
            FT_UINT32, BASE_DEC,
9978
14
            VALS( subpm_process_route_types),
9979
14
            0x0, NULL, HFILL }
9980
14
        },
9981
14
        { &hf_c15ch_cp_event_subpm_rte_line,
9982
14
            { "Sub Progress Mark (Rte Line)", "c15.cpe.subpm_rte_line",
9983
14
            FT_UINT32, BASE_DEC,
9984
14
            VALS( subpm_rte_line_types),
9985
14
            0x0, NULL, HFILL }
9986
14
        },
9987
14
        { &hf_c15ch_cp_event_subpm_mtce,
9988
14
            { "Sub Progress Mark (MTCE)", "c15.cpe.subpm_mtce",
9989
14
            FT_UINT32, BASE_DEC,
9990
14
            VALS( subpm_mtce_types),
9991
14
            0x0, NULL, HFILL }
9992
14
        },
9993
14
        { &hf_c15ch_cp_event_subpm_aux_tone,
9994
14
            { "Sub Progress Mark (AUXT)", "c15.cpe.subpm_aux_tone",
9995
14
            FT_UINT32, BASE_DEC,
9996
14
            VALS( subpm_aux_tone_types),
9997
14
            0x0, NULL, HFILL }
9998
14
        },
9999
14
        { &hf_c15ch_cp_event_subpm_noller,
10000
14
            { "Sub Progress Mark (NOLLER)", "c15.cpe.subpm_noller",
10001
14
            FT_UINT32, BASE_DEC,
10002
14
            VALS( subpm_noller_types),
10003
14
            0x0, NULL, HFILL }
10004
14
        },
10005
14
        { &hf_c15ch_cp_event_subpm_ittk,
10006
14
            { "Sub Progress Mark (ITTK)", "c15.cpe.subpm_ittk",
10007
14
            FT_UINT32, BASE_DEC,
10008
14
            VALS( subpm_ittk_types),
10009
14
            0x0, NULL, HFILL }
10010
14
        },
10011
14
        { &hf_c15ch_cp_event_subpm_alm_send,
10012
14
            { "Sub Progress Mark (Alarm Send)", "c15.cpe.subpm_alm_send",
10013
14
            FT_UINT32, BASE_DEC,
10014
14
            VALS( subpm_alm_send_types),
10015
14
            0x0, NULL, HFILL }
10016
14
        },
10017
14
        { &hf_c15ch_cp_event_subpm_ani_spill,
10018
14
            { "Sub Progress Mark (ANI Spill)", "c15.cpe.subpm_ani_spill",
10019
14
            FT_UINT32, BASE_DEC,
10020
14
            VALS( subpm_ani_spill_types),
10021
14
            0x0, NULL, HFILL }
10022
14
        },
10023
14
        { &hf_c15ch_cp_event_subpm_trunk_term,
10024
14
            { "Sub Progress Mark (Trunk Term)", "c15.cpe.subpm_trunk_term",
10025
14
            FT_UINT32, BASE_DEC,
10026
14
            VALS( subpm_trunk_term_types),
10027
14
            0x0, NULL, HFILL }
10028
14
        },
10029
14
        { &hf_c15ch_cp_event_subpm_line_term,
10030
14
            { "Sub Progress Mark (Line Term)", "c15.cpe.subpm_line_term",
10031
14
            FT_UINT32, BASE_DEC,
10032
14
            VALS( subpm_line_term_types),
10033
14
            0x0, NULL, HFILL }
10034
14
        },
10035
14
        { &hf_c15ch_cp_event_subpm_non_cp,
10036
14
            { "Sub Progress Mark (Non CP)", "c15.cpe.subpm_non_cp",
10037
14
            FT_UINT32, BASE_DEC,
10038
14
            VALS( subpm_non_cp_types),
10039
14
            0x0, NULL, HFILL }
10040
14
        },
10041
14
        { &hf_c15ch_cp_event_subpm_3wc,
10042
14
            { "Sub Progress Mark (3wc)", "c15.cpe.subpm_3wc",
10043
14
            FT_UINT32, BASE_DEC,
10044
14
            VALS( subpm_twc_types),
10045
14
            0x0, NULL, HFILL }
10046
14
        },
10047
14
        { &hf_c15ch_cp_event_subpm_held_3wc,
10048
14
            { "Sub Progress Mark (Held 3WC)", "c15.cpe.subpm_held_3wc",
10049
14
            FT_UINT32, BASE_DEC,
10050
14
            VALS( subpm_held_3wc_types),
10051
14
            0x0, NULL, HFILL }
10052
14
        },
10053
14
        { &hf_c15ch_cp_event_subpm_cwt,
10054
14
            { "Sub Progress Mark (CWT)", "c15.cpe.subpm_cwt",
10055
14
            FT_UINT32, BASE_DEC,
10056
14
            VALS( subpm_cwt_types),
10057
14
            0x0, NULL, HFILL }
10058
14
        },
10059
14
        { &hf_c15ch_cp_event_subpm_held_cwt,
10060
14
            { "Sub Progress Mark (Held CWT)", "c15.cpe.subpm_held_cwt",
10061
14
            FT_UINT32, BASE_DEC,
10062
14
            VALS( subpm_held_cwt_types),
10063
14
            0x0, NULL, HFILL }
10064
14
        },
10065
14
        { &hf_c15ch_cp_event_subpm_update_sc,
10066
14
            { "Sub Progress Mark (Update SC)", "c15.cpe.subpm_update_sc",
10067
14
            FT_UINT32, BASE_DEC,
10068
14
            VALS( subpm_update_sc_types),
10069
14
            0x0, NULL, HFILL }
10070
14
        },
10071
14
        { &hf_c15ch_cp_event_subpm_orig_spdt,
10072
14
            { "Sub Progress Mark (Orig SPDT)", "c15.cpe.subpm_orig_spdt",
10073
14
            FT_UINT32, BASE_DEC,
10074
14
            VALS( subpm_orig_dt_types),
10075
14
            0x0, NULL, HFILL }
10076
14
        },
10077
14
        { &hf_c15ch_cp_event_subpm_acfw_retm,
10078
14
            { "Sub Progress Mark (ACFW RETM)", "c15.cpe.subpm_acfw_retm",
10079
14
            FT_UINT32, BASE_DEC,
10080
14
            VALS( subpm_acfw_retm_types),
10081
14
            0x0, NULL, HFILL }
10082
14
        },
10083
14
        { &hf_c15ch_cp_event_subpm_cfw_busy,
10084
14
            { "Sub Progress Mark (CFW Busy)", "c15.cpe.subpm_cfw_busy",
10085
14
            FT_UINT32, BASE_DEC,
10086
14
            VALS( subpm_cfw_busy_types),
10087
14
            0x0, NULL, HFILL }
10088
14
        },
10089
14
        { &hf_c15ch_cp_event_subpm_cfw,
10090
14
            { "Sub Progress Mark (CFW)", "c15.cpe.subpm_cfw",
10091
14
            FT_UINT32, BASE_DEC,
10092
14
            VALS( subpm_cfw_types),
10093
14
            0x0, NULL, HFILL }
10094
14
        },
10095
14
        { &hf_c15ch_cp_event_subpm_cfw_deact,
10096
14
            { "Sub Progress Mark (CFW Deact)", "c15.cpe.subpm_cfw_deact",
10097
14
            FT_UINT32, BASE_DEC,
10098
14
            VALS( subpm_cfw_deact_types),
10099
14
            0x0, NULL, HFILL }
10100
14
        },
10101
14
        { &hf_c15ch_cp_event_subpm_rcfw,
10102
14
            { "Sub Progress Mark (RCFW)", "c15.cpe.subpm_rcfw",
10103
14
            FT_UINT32, BASE_DEC,
10104
14
            VALS( subpm_rcfw_types),
10105
14
            0x0, NULL, HFILL }
10106
14
        },
10107
14
        { &hf_c15ch_cp_event_subpm_rotl_tp,
10108
14
            { "Sub Progress Mark (ROTL TP)", "c15.cpe.subpm_rotl_tp",
10109
14
            FT_UINT32, BASE_DEC,
10110
14
            VALS( subpm_rotl_tp_types),
10111
14
            0x0, NULL, HFILL }
10112
14
        },
10113
14
        { &hf_c15ch_cp_event_subpm_chdt,
10114
14
            { "Sub Progress Mark (CHD DT)", "c15.cpe.subpm_chdt",
10115
14
            FT_UINT32, BASE_DEC,
10116
14
            VALS( subpm_chdt_types),
10117
14
            0x0, NULL, HFILL }
10118
14
        },
10119
14
        { &hf_c15ch_cp_event_subpm_chd,
10120
14
            { "Sub Progress Mark (Call Hold)", "c15.cpe.subpm_chd",
10121
14
            FT_UINT32, BASE_DEC,
10122
14
            VALS( subpm_chd_types),
10123
14
            0x0, NULL, HFILL }
10124
14
        },
10125
14
        { &hf_c15ch_cp_event_subpm_cheld,
10126
14
            { "Sub Progress Mark (Call Held)", "c15.cpe.subpm_cheld",
10127
14
            FT_UINT32, BASE_DEC,
10128
14
            VALS( subpm_cheld_types),
10129
14
            0x0, NULL, HFILL }
10130
14
        },
10131
14
        { &hf_c15ch_cp_event_subpm_3wch,
10132
14
            { "Sub Progress Mark (3WCH)", "c15.cpe.subpm_3wch",
10133
14
            FT_UINT32, BASE_DEC,
10134
14
            VALS( subpm_twc_types),
10135
14
            0x0, NULL, HFILL }
10136
14
        },
10137
14
        { &hf_c15ch_cp_event_subpm_3wcw,
10138
14
            { "Sub Progress Mark (3WCW)", "c15.cpe.subpm_3wcw",
10139
14
            FT_UINT32, BASE_DEC,
10140
14
            VALS( subpm_twc_types),
10141
14
            0x0, NULL, HFILL }
10142
14
        },
10143
14
        { &hf_c15ch_cp_event_subpm_cslt,
10144
14
            { "Sub Progress Mark (CSLT)", "c15.cpe.subpm_cslt",
10145
14
            FT_UINT32, BASE_DEC,
10146
14
            VALS( subpm_held_3wc_types ),
10147
14
            0x0, NULL, HFILL }
10148
14
        },
10149
14
        { &hf_c15ch_cp_event_subpm_dig_ckt_test,
10150
14
            { "Sub Progress Mark (Dig CKT Test)", "c15.cpe.subpm_dig_ckt",
10151
14
            FT_UINT32, BASE_DEC,
10152
14
            VALS( subpm_dig_ckt_test_types),
10153
14
            0x0, NULL, HFILL }
10154
14
        },
10155
14
        { &hf_c15ch_cp_event_dig_ckt_test_subpm_sp,
10156
14
            { "Sub Progress Mark (Dig CKT Test, Single Party)", "c15.cpe.dig_ckt_test_subpm_sp",
10157
14
            FT_UINT32, BASE_DEC,
10158
14
            VALS( dig_ckt_test_subpm_sp_types),
10159
14
            0x0, NULL, HFILL }
10160
14
        },
10161
14
        { &hf_c15ch_cp_event_dig_ckt_test_subpm_mp,
10162
14
            { "Sub Progress Mark (Dig CKT Test, Multi Party)", "c15.cpe.dig_ckt_test_subpm_mp",
10163
14
            FT_UINT32, BASE_DEC,
10164
14
            VALS( dig_ckt_test_subpm_mp_types),
10165
14
            0x0, NULL, HFILL }
10166
14
        },
10167
14
        { &hf_c15ch_cp_event_dig_ckt_test_subpm_coin,
10168
14
            { "Sub Progress Mark (Dig CKT Test, Coin)", "c15.cpe.dig_ckt_test_subpm_coin",
10169
14
            FT_UINT32, BASE_DEC,
10170
14
            VALS( dig_ckt_test_subpm_coin_types),
10171
14
            0x0, NULL, HFILL }
10172
14
        },
10173
14
        { &hf_c15ch_cp_event_dig_ckt_test_subpm_isdn,
10174
14
            { "Sub Progress Mark (Dig CKT Test, ISDN)", "c15.cpe.dig_ckt_test_subpm_isdn",
10175
14
            FT_UINT32, BASE_DEC,
10176
14
            VALS( dig_ckt_test_subpm_isdn_types),
10177
14
            0x0, NULL, HFILL }
10178
14
        },
10179
14
        { &hf_c15ch_cp_event_dig_ckt_test_subpm_trc,
10180
14
            { "Sub Progress Mark (Dig CKT Test, TRC)", "c15.cpe.dig_ckt_test_subpm_trc",
10181
14
            FT_UINT32, BASE_DEC,
10182
14
            VALS( dig_ckt_test_subpm_trc_types),
10183
14
            0x0, NULL, HFILL }
10184
14
        },
10185
14
        { &hf_c15ch_cp_event_dig_ckt_test_subpm_disc,
10186
14
            { "Sub Progress Mark (Dig CKT Test, Disc)", "c15.cpe.dig_ckt_test_subpm_disc",
10187
14
            FT_UINT32, BASE_DEC,
10188
14
            VALS( dig_ckt_test_subpm_disc_types),
10189
14
            0x0, NULL, HFILL }
10190
14
        },
10191
14
        { &hf_c15ch_cp_event_subpm_nail,
10192
14
            { "Sub Progress Mark (NAIL)", "c15.cpe.subpm_nail",
10193
14
            FT_UINT32, BASE_DEC,
10194
14
            VALS( subpm_nail_types),
10195
14
            0x0, NULL, HFILL }
10196
14
        },
10197
14
        { &hf_c15ch_cp_event_subpm_dcbi,
10198
14
            { "Sub Progress Mark (DCBI)", "c15.cpe.subpm_dcbi",
10199
14
            FT_UINT32, BASE_DEC,
10200
14
            VALS( subpm_dcbi_types),
10201
14
            0x0, NULL, HFILL }
10202
14
        },
10203
14
        { &hf_c15ch_cp_event_subpm_rag_confirm,
10204
14
            { "Sub Progress Mark (RAG Confirm)", "c15.cpe.subpm_rag_confirm",
10205
14
            FT_UINT32, BASE_DEC,
10206
14
            VALS( subpm_rag_confirm_types),
10207
14
            0x0, NULL, HFILL }
10208
14
        },
10209
14
        { &hf_c15ch_cp_event_subpm_rag_process,
10210
14
            { "Sub Progress Mark (RAG Process)", "c15.cpe.subpm_rag_process",
10211
14
            FT_UINT32, BASE_DEC,
10212
14
            VALS( subpm_rag_process_types),
10213
14
            0x0, NULL, HFILL }
10214
14
        },
10215
14
        { &hf_c15ch_cp_event_subpm_e800,
10216
14
            { "Sub Progress Mark (E800 Db)", "c15.cpe.subpm_e800",
10217
14
            FT_UINT32, BASE_DEC,
10218
14
            VALS( subpm_e800_types),
10219
14
            0x0, NULL, HFILL }
10220
14
        },
10221
14
        { &hf_c15ch_cp_event_subpm_cfra,
10222
14
            { "Sub Progress Mark (CFRA)", "c15.cpe.subpm_cfra",
10223
14
            FT_UINT32, BASE_DEC,
10224
14
            VALS( subpm_cfra_types),
10225
14
            0x0, NULL, HFILL }
10226
14
        },
10227
14
        { &hf_c15ch_cp_event_subpm_mwi_deac,
10228
14
            { "Sub Progress Mark (MWI Deac)", "c15.cpe.subpm_mwi_deac",
10229
14
            FT_UINT32, BASE_DEC,
10230
14
            VALS( subpm_mwi_deac_types),
10231
14
            0x0, NULL, HFILL }
10232
14
        },
10233
14
        { &hf_c15ch_cp_event_subpm_acar_cp,
10234
14
            { "Sub Progress Mark (ACAR CP)", "c15.cpe.subpm_acar_cp",
10235
14
            FT_UINT32, BASE_DEC,
10236
14
            VALS( subpm_acar_cp_types),
10237
14
            0x0, NULL, HFILL }
10238
14
        },
10239
14
        { &hf_c15ch_cp_event_subpm_acar_rering,
10240
14
            { "Sub Progress Mark (ACAR Rering)", "c15.cpe.subpm_acar_rering",
10241
14
            FT_UINT32, BASE_DEC,
10242
14
            VALS( subpm_acar_rering_types),
10243
14
            0x0, NULL, HFILL }
10244
14
        },
10245
14
        { &hf_c15ch_cp_event_subpm_acar_ann,
10246
14
            { "Sub Progress Mark (ACAR Ann)", "c15.cpe.subpm_acar_ann",
10247
14
            FT_UINT32, BASE_DEC,
10248
14
            VALS( subpm_acar_ann_types),
10249
14
            0x0, NULL, HFILL }
10250
14
        },
10251
14
        { &hf_c15ch_cp_event_subpm_sle,
10252
14
            { "Sub Progress Mark (CP SLE)", "c15.cpe.subpm_sle",
10253
14
            FT_UINT32, BASE_DEC,
10254
14
            VALS( subpm_sle_types),
10255
14
            0x0, NULL, HFILL }
10256
14
        },
10257
14
        { &hf_c15ch_cp_event_subpm_perform_cot,
10258
14
            { "Sub Progress Mark (Perform COT)", "c15.cpe.subpm_perform_cot",
10259
14
            FT_UINT32, BASE_DEC,
10260
14
            VALS( subpm_perform_cot_types),
10261
14
            0x0, NULL, HFILL }
10262
14
        },
10263
14
        { &hf_c15ch_cp_event_subpm_clid,
10264
14
            { "Sub Progress Mark (CLID)", "c15.cpe.subpm_clid",
10265
14
            FT_UINT32, BASE_DEC,
10266
14
            VALS( subpm_clid_types),
10267
14
            0x0, NULL, HFILL }
10268
14
        },
10269
14
        { &hf_c15ch_cp_event_subpm_xpm,
10270
14
            { "Sub Progress Mark (XPM)", "c15.cpe.subpm_xpm",
10271
14
            FT_UINT32, BASE_DEC,
10272
14
            VALS( subpm_xpm_types),
10273
14
            0x0, NULL, HFILL }
10274
14
        },
10275
14
        { &hf_c15ch_cp_event_subpm_mwil,
10276
14
            { "Sub Progress Mark (MWIL)", "c15.cpe.subpm_mwil",
10277
14
            FT_UINT32, BASE_DEC,
10278
14
            VALS( subpm_mwil_types),
10279
14
            0x0, NULL, HFILL }
10280
14
        },
10281
14
        { &hf_c15ch_cp_event_subpm_ldbs,
10282
14
            { "Sub Progress Mark (LDBS)", "c15.cpe.subpm_ldbs",
10283
14
            FT_UINT32, BASE_DEC,
10284
14
            VALS( subpm_ldbs_types),
10285
14
            0x0, NULL, HFILL }
10286
14
        },
10287
14
        { &hf_c15ch_cp_event_subpm_acr,
10288
14
            { "Sub Progress Mark (ACR)", "c15.cpe.subpm_acr",
10289
14
            FT_UINT32, BASE_DEC,
10290
14
            VALS( subpm_acr_types),
10291
14
            0x0, NULL, HFILL }
10292
14
        },
10293
14
        { &hf_c15ch_cp_event_subpm_call_park,
10294
14
            { "Sub Progress Mark (Call Park)", "c15.cpe.subpm_call_park",
10295
14
            FT_UINT32, BASE_DEC,
10296
14
            VALS( subpm_call_park_types),
10297
14
            0x0, NULL, HFILL }
10298
14
        },
10299
14
        { &hf_c15ch_cp_event_subpm_camp_on_recall,
10300
14
            { "Sub Progress Mark (Camp On Recall)", "c15.cpe.subpm_camp_on_recall",
10301
14
            FT_UINT32, BASE_DEC,
10302
14
            VALS( subpm_camp_on_recall_types),
10303
14
            0x0, NULL, HFILL }
10304
14
        },
10305
14
        { &hf_c15ch_cp_event_subpm_cff,
10306
14
            { "Sub Progress Mark (Call Fwrd Fixed Dest)", "c15.cpe.subpm_cff",
10307
14
            FT_UINT32, BASE_DEC,
10308
14
            VALS( subpm_cff_types),
10309
14
            0x0, NULL, HFILL }
10310
14
        },
10311
14
        { &hf_c15ch_cp_event_subpm_ibert,
10312
14
            { "Sub Progress Mark (IBERT)", "c15.cpe.subpm_ibert",
10313
14
            FT_UINT32, BASE_DEC,
10314
14
            VALS( subpm_ibert_types),
10315
14
            0x0, NULL, HFILL }
10316
14
        },
10317
14
        { &hf_c15ch_cp_event_subpm_ain,
10318
14
            { "Sub Progress Mark (AIN)", "c15.cpe.subpm_ain",
10319
14
            FT_UINT32, BASE_DEC,
10320
14
            VALS( subpm_ain_types),
10321
14
            0x0, NULL, HFILL }
10322
14
        },
10323
14
        { &hf_c15ch_cp_event_subpm_ain_sit,
10324
14
            { "Sub Progress Mark (AIN SIT)", "c15.cpe.subpm_ain_sit",
10325
14
            FT_UINT32, BASE_DEC,
10326
14
            VALS( subpm_ain_sit_types),
10327
14
            0x0, NULL, HFILL }
10328
14
        },
10329
14
        { &hf_c15ch_cp_event_subpm_ain_rtg,
10330
14
            { "Sub Progress Mark (AIN RTG)", "c15.cpe.subpm_ain_rtg",
10331
14
            FT_UINT32, BASE_DEC,
10332
14
            VALS( subpm_ain_rtg_types),
10333
14
            0x0, NULL, HFILL }
10334
14
        },
10335
14
        { &hf_c15ch_cp_event_subpm_nail_bcon,
10336
14
            { "Sub Progress Mark (NAIL BCON)", "c15.cpe.subpm_nail_bcon",
10337
14
            FT_UINT32, BASE_DEC,
10338
14
            VALS( subpm_nail_bcon_dcon_types),
10339
14
            0x0, NULL, HFILL }
10340
14
        },
10341
14
        { &hf_c15ch_cp_event_subpm_nail_dcon,
10342
14
            { "Sub Progress Mark (NAIL DCON)", "c15.cpe.subpm_nail_dcon",
10343
14
            FT_UINT32, BASE_DEC,
10344
14
            VALS( subpm_nail_bcon_dcon_types),
10345
14
            0x0, NULL, HFILL }
10346
14
        },
10347
14
        { &hf_c15ch_cp_event_subpm_qtrn_trvr,
10348
14
            { "Sub Progress Mark (QTRN TRVR)", "c15.cpe.subpm_qtrn_trvr",
10349
14
            FT_UINT32, BASE_DEC,
10350
14
            VALS( subpm_qtrn_trvr_types),
10351
14
            0x0, NULL, HFILL }
10352
14
        },
10353
14
        { &hf_c15ch_cp_event_subpm_ekts,
10354
14
            { "Sub Progress Mark (EKTS)", "c15.cpe.subpm_ekts",
10355
14
            FT_UINT32, BASE_DEC,
10356
14
            VALS( subpm_ekts_types),
10357
14
            0x0, NULL, HFILL }
10358
14
        },
10359
14
        { &hf_c15ch_cp_event_subpm_alt,
10360
14
            { "Sub Progress Mark (ALT)", "c15.cpe.subpm_alt",
10361
14
            FT_UINT32, BASE_DEC,
10362
14
            VALS( subpm_alt_types),
10363
14
            0x0, NULL, HFILL }
10364
14
        },
10365
14
        { &hf_c15ch_cp_event_subpm_calea,
10366
14
            { "Sub Progress Mark (CALEA)", "c15.cpe.subpm_calea",
10367
14
            FT_UINT32, BASE_DEC,
10368
14
            VALS( subpm_calea_types),
10369
14
            0x0, NULL, HFILL }
10370
14
        },
10371
14
        { &hf_c15ch_cp_event_subpm_sim_ring,
10372
14
            { "Sub Progress Mark (Sim Ring)", "c15.cpe.subpm_sim_ring",
10373
14
            FT_UINT32, BASE_DEC,
10374
14
            VALS( subpm_sim_ring_types),
10375
14
            0x0, NULL, HFILL }
10376
14
        },
10377
14
        { &hf_c15ch_cp_event_subpm_lta,
10378
14
            { "Sub Progress Mark (LTA)", "c15.cpe.subpm_lta",
10379
14
            FT_UINT32, BASE_DEC,
10380
14
            VALS( subpm_lta_types),
10381
14
            0x0, NULL, HFILL }
10382
14
        },
10383
14
        { &hf_c15ch_cp_event_subpm_hgq,
10384
14
            { "Sub Progress Mark (HGQ)", "c15.cpe.subpm_hgq",
10385
14
            FT_UINT32, BASE_DEC,
10386
14
            VALS( subpm_hgq_types),
10387
14
            0x0, NULL, HFILL }
10388
14
        },
10389
14
        { &hf_c15ch_cp_event_subpm_idle,
10390
14
            { "Sub Progress Mark (Idle)", "c15.cpe.subpm_idle",
10391
14
            FT_UINT32, BASE_DEC,
10392
14
            VALS( subpm_idle_types),
10393
14
            0x0, NULL, HFILL }
10394
14
        },
10395
14
        { &hf_c15ch_cp_event_subpm_sig,
10396
14
            { "Sub Progress Mark (Sig)", "c15.cpe.subpm_sig",
10397
14
            FT_UINT32, BASE_DEC,
10398
14
            VALS( subpm_sig_types),
10399
14
            0x0, NULL, HFILL }
10400
14
        },
10401
14
        { &hf_c15ch_cp_event_subpm_sig_dest,
10402
14
            { "Sub Progress Mark (Sig Dest)", "c15.cpe.subpm_sig_dest",
10403
14
            FT_UINT32, BASE_DEC,
10404
14
            VALS( subpm_sig_dest_types),
10405
14
            0x0, NULL, HFILL }
10406
14
        },
10407
14
        { &hf_c15ch_cp_event_subpm_agl_splrg,
10408
14
            { "Sub Progress Mark (AGL Splash Ring)", "c15.cpe.subpm_agl_splrg",
10409
14
            FT_UINT32, BASE_DEC,
10410
14
            VALS( subpm_agl_splrg_types),
10411
14
            0x0, NULL, HFILL }
10412
14
        },
10413
14
        { &hf_c15ch_cp_event_trkpm,
10414
14
            { "Trunk Progress Mark", "c15.cpe.trkpm",
10415
14
            FT_UINT32, BASE_DEC,
10416
14
            NULL,
10417
14
            0x0, NULL, HFILL}
10418
14
        },
10419
14
        { &hf_c15ch_cp_event_dig_ckt_test_trkpm,
10420
14
            { "Trunk Progress Mark (Dig CKT Test)", "c15.cpe.dig_ckt_test_trkpm",
10421
14
            FT_UINT32, BASE_DEC,
10422
14
            VALS( trkpm_dig_ckt_test_types),
10423
14
            0x0, NULL, HFILL}
10424
14
        },
10425
14
        { &hf_c15ch_cp_event_devid,
10426
14
            { "Device ID", "c15.cpe.devid",
10427
14
            FT_UINT32, BASE_DEC|BASE_EXT_STRING,
10428
14
            &c15_dev_types_ext,
10429
14
            0x0, NULL, HFILL}
10430
14
        },
10431
14
        { &hf_c15ch_cp_event_event,
10432
14
            { "Event", "c15.cpe.event",
10433
14
            FT_UINT32, BASE_DEC|BASE_EXT_STRING,
10434
14
            &c15_event_types_ext,
10435
14
            0x0, NULL, HFILL}
10436
14
        },
10437
14
        { &hf_c15ch_cp_event_parm,
10438
14
            { "Parm", "c15.cpe.parm",
10439
14
            FT_UINT32, BASE_DEC,
10440
14
            NULL,
10441
14
            0x0, NULL, HFILL}
10442
14
        },
10443
14
        { &hf_c15ch_cp_event_iptime,
10444
14
            { "IP Time", "c15.cpe.iptime",
10445
14
            FT_UINT32, BASE_DEC,
10446
14
            NULL,
10447
14
            0x0, NULL, HFILL}
10448
14
        } ,
10449
14
         { &hf_c15ch_inc_gwe_ni,
10450
14
            { "NI", "c15.inc_gwe.ni",
10451
14
            FT_UINT32, BASE_HEX,
10452
14
            NULL,
10453
14
            0x0, NULL, HFILL}
10454
14
        },
10455
14
        { &hf_c15ch_inc_gwe_tn,
10456
14
            { "TN", "c15.inc_gwe.tn",
10457
14
            FT_UINT32, BASE_HEX,
10458
14
            NULL,
10459
14
            0x0, NULL, HFILL}
10460
14
        },
10461
14
        { &hf_c15ch_inc_gwe_ni_tn,
10462
14
            {"NI/TN", "c15.inc_gwe.ni_tn",
10463
14
            FT_UINT64, BASE_HEX,
10464
14
            NULL,
10465
14
            0x0, NULL, HFILL }
10466
14
        },
10467
14
        { &hf_c15ch_inc_gwe_taskid,
10468
14
            { "Task ID", "c15.inc_gwe.taskid",
10469
14
            FT_UINT8, BASE_DEC,
10470
14
            VALS( c15inc_gwe_task_types ),
10471
14
            0x0, NULL, HFILL}
10472
14
        },
10473
14
        { &hf_c15ch_inc_gwe_fiatid_invalid,
10474
14
            { "Fiat ID (Invalid)", "c15.inc_gwe.fiatid_invalid",
10475
14
            FT_UINT8, BASE_DEC,
10476
14
            NULL,
10477
14
            0x0, NULL, HFILL}
10478
14
        },
10479
14
        { &hf_c15ch_inc_gwe_fiatid_bc,
10480
14
            { "Fiat ID (Bearer Control)", "c15.inc_gwe.fiatid_bc",
10481
14
            FT_UINT8, BASE_DEC,
10482
14
            VALS( c15inc_gwe_bc_fiat_types ),
10483
14
            0x0, NULL, HFILL}
10484
14
        },
10485
14
        { &hf_c15ch_inc_gwe_fiatid_mtce,
10486
14
            { "Fiat ID (MTCE)", "c15.inc_gwe.fiatid_mtce",
10487
14
            FT_UINT8, BASE_DEC,
10488
14
            VALS( c15inc_gwe_mtce_fiat_types ),
10489
14
            0x0, NULL, HFILL}
10490
14
        },
10491
14
        { &hf_c15ch_inc_gwe_fiatid_om,
10492
14
            { "Fiat ID (OM)", "c15.inc_gwe.fiatid_om",
10493
14
            FT_UINT8, BASE_DEC,
10494
14
            VALS( c15inc_gwe_om_fiat_types ),
10495
14
            0x0, NULL, HFILL}
10496
14
        },
10497
14
        { &hf_c15ch_inc_gwe_fiatid_h248,
10498
14
            { "Fiat ID (H248)", "c15.inc_gwe.fiatid_h248",
10499
14
            FT_UINT8, BASE_DEC,
10500
14
            VALS( c15inc_gwe_h248_mgcp_fiat_types ),
10501
14
            0x0, NULL, HFILL}
10502
14
        },
10503
14
        { &hf_c15ch_inc_gwe_fiatid_sua,
10504
14
            { "Fiat ID (SUA)", "c15.inc_gwe.fiatid_sua",
10505
14
            FT_UINT8, BASE_DEC,
10506
14
            VALS( c15inc_gwe_sua_fiat_types ),
10507
14
            0x0, NULL, HFILL}
10508
14
        },
10509
14
        { &hf_c15ch_inc_gwe_fiatid_mgcp,
10510
14
            { "Fiat ID (MGCP)", "c15.inc_gwe.fiatid_mgcp",
10511
14
            FT_UINT8, BASE_DEC,
10512
14
            VALS( c15inc_gwe_h248_mgcp_fiat_types ),
10513
14
            0x0, NULL, HFILL}
10514
14
        },
10515
14
        { &hf_c15ch_inc_gwe_fiatid_sip_notify,
10516
14
            { "Fiat ID (SIP Notify)", "c15.inc_gwe.fiatid_sip_notify",
10517
14
            FT_UINT8, BASE_DEC,
10518
14
            VALS( c15inc_gwe_sip_notify_fiat_types ),
10519
14
            0x0, NULL, HFILL}
10520
14
        },
10521
14
        { &hf_c15ch_inc_gwe_fiatid_admn,
10522
14
            { "Fiat ID (Admn)", "c15.inc_gwe.fiatid_admn",
10523
14
            FT_UINT8, BASE_DEC,
10524
14
            VALS( c15inc_gwe_admn_fiat_types ),
10525
14
            0x0, NULL, HFILL}
10526
14
        },
10527
14
        { &hf_c15ch_inc_gwe_datatype,
10528
14
            { "Datatype", "c15.inc_gwe.datatype",
10529
14
            FT_UINT8, BASE_DEC|BASE_EXT_STRING,
10530
14
            &c15inc_gwe_types_ext,
10531
14
            0x0, NULL, HFILL}
10532
14
        },
10533
10534
14
        { &hf_c15ch_out_gwe_ni,
10535
14
            { "NI", "c15.out_gwe.ni",
10536
14
            FT_UINT32, BASE_HEX,
10537
14
            NULL,
10538
14
            0x0, NULL, HFILL}
10539
14
        },
10540
14
        { &hf_c15ch_out_gwe_tn,
10541
14
            { "TN", "c15.out_gwe.tn",
10542
14
            FT_UINT32, BASE_HEX,
10543
14
            NULL,
10544
14
            0x0, NULL, HFILL}
10545
14
        },
10546
14
        { &hf_c15ch_out_gwe_ni_tn,
10547
14
            {"NI/TN", "c15.out_gwe.ni_tn",
10548
14
            FT_UINT64, BASE_HEX,
10549
14
            NULL,
10550
14
            0x0, NULL, HFILL }
10551
14
        },
10552
14
        { &hf_c15ch_out_gwe_op_gwe_msg_type,
10553
14
            { "OP GWE Msg Type", "c15.out_gwe.op_gwe_msg_type",
10554
14
            FT_UINT8, BASE_DEC|BASE_EXT_STRING,
10555
14
            &c15_out_gwe_msg_types_ext,
10556
14
            0x0, NULL, HFILL}
10557
14
        },
10558
14
        { &hf_c15ch_out_gwe_op_gwe_protocol,
10559
14
            { "OP GWE Protocol", "c15.out_gwe.op_gwe_protocol",
10560
14
            FT_UINT8, BASE_DEC,
10561
14
            VALS( c15_out_gwe_protocol_types ),
10562
14
            0x0, NULL, HFILL}
10563
14
        },
10564
14
        { &hf_c15ch_out_gwe_op_sua_hndl,
10565
14
            { "Sip User Agent Handle", "c15.out_gwe.sua_hndl",
10566
14
            FT_UINT32, BASE_HEX,
10567
14
            NULL,
10568
14
            0x0, NULL, HFILL}
10569
14
        },
10570
14
        { &hf_c15ch_out_gwe_gwe_data_type,
10571
14
            { "GWE Datatype", "c15.out_gwe.gwe_data_type",
10572
14
            FT_UINT8, BASE_DEC|BASE_EXT_STRING,
10573
14
            &c15_out_gwe_data_types_ext,
10574
14
            0x0, NULL, HFILL}
10575
14
        },
10576
10577
14
        { &hf_c15ch_tone_msg_type,
10578
14
            { "Msg Type", "c15.tone.msg_type",
10579
14
            FT_UINT8, BASE_DEC,
10580
14
            VALS( c15_tone_msg_types ),
10581
14
            0x0, NULL, HFILL}
10582
14
        },
10583
14
        { &hf_c15ch_cp_state_ch,
10584
14
            { "C15 CP State Change", "c15.cpsc",
10585
14
            FT_PROTOCOL, BASE_NONE,
10586
14
            NULL,
10587
14
            0x0, NULL, HFILL}
10588
14
        },
10589
14
        { &hf_c15ch_cp_event,
10590
14
            { "C15 CP Event", "c15.cpe",
10591
14
            FT_PROTOCOL, BASE_NONE,
10592
14
            NULL,
10593
14
            0x0, NULL, HFILL}
10594
14
        },
10595
14
        { &hf_c15ch_isup,
10596
14
            { "C15 ISUP", "c15.isup",
10597
14
            FT_PROTOCOL, BASE_NONE,
10598
14
            NULL,
10599
14
            0x0, NULL, HFILL}
10600
14
        },
10601
14
        { &hf_c15ch_nitnxlate,
10602
14
            { "C15 NITN Xlate", "c15.nitnxlate",
10603
14
            FT_PROTOCOL, BASE_NONE,
10604
14
            NULL,
10605
14
            0x0, NULL, HFILL}
10606
14
        },
10607
14
        { &hf_c15ch_sccp,
10608
14
            { "C15 SCCP", "c15.sccp",
10609
14
            FT_PROTOCOL, BASE_NONE,
10610
14
            NULL,
10611
14
            0x0, NULL, HFILL}
10612
14
        },
10613
14
        { &hf_c15ch_orig,
10614
14
            { "C15 CP Orig", "c15.orig",
10615
14
            FT_PROTOCOL, BASE_NONE,
10616
14
            NULL,
10617
14
            0x0, NULL, HFILL}
10618
14
        },
10619
14
        { &hf_c15ch_conn,
10620
14
            { "C15 Conn", "c15.conn",
10621
14
            FT_PROTOCOL, BASE_NONE,
10622
14
            NULL,
10623
14
            0x0, NULL, HFILL}
10624
14
        },
10625
14
        { &hf_c15ch_ntwk_conn,
10626
14
            { "C15 Network Conn", "c15.ntwkconn",
10627
14
            FT_PROTOCOL, BASE_NONE,
10628
14
            NULL,
10629
14
            0x0, NULL, HFILL}
10630
14
        },
10631
14
        { &hf_c15ch_mkbrk,
10632
14
            { "C15 Make Break", "c15.mkbrk",
10633
14
            FT_PROTOCOL, BASE_NONE,
10634
14
            NULL,
10635
14
            0x0, NULL, HFILL}
10636
14
        },
10637
14
        { &hf_c15ch_pathfind,
10638
14
            { "C15 Path Find", "c15.pathfind",
10639
14
            FT_PROTOCOL, BASE_NONE,
10640
14
            NULL,
10641
14
            0x0, NULL, HFILL}
10642
14
        },
10643
14
        { &hf_c15ch_pathidle,
10644
14
            { "C15 Path Idle", "c15.pathidle",
10645
14
            FT_PROTOCOL, BASE_NONE,
10646
14
            NULL,
10647
14
            0x0, NULL, HFILL}
10648
14
        },
10649
14
        { &hf_c15ch_dest_digits,
10650
14
            { "C15 Destination Digits", "c15.dest_digits",
10651
14
            FT_PROTOCOL, BASE_NONE,
10652
14
            NULL,
10653
14
            0x0, NULL, HFILL}
10654
14
        },
10655
14
        { &hf_c15ch_twc_rswch,
10656
14
            { "C15 TWC Rswch", "c15.twc_rswch",
10657
14
            FT_PROTOCOL, BASE_NONE,
10658
14
            NULL,
10659
14
            0x0, NULL, HFILL}
10660
14
        },
10661
14
        { &hf_c15ch_srcedest,
10662
14
            { "C15 Source Destination", "c15.srcedest",
10663
14
            FT_PROTOCOL, BASE_NONE,
10664
14
            NULL,
10665
14
            0x0, NULL, HFILL}
10666
14
        },
10667
14
        { &hf_c15ch_route,
10668
14
            { "C15 Route", "c15.route",
10669
14
            FT_PROTOCOL, BASE_NONE,
10670
14
            NULL,
10671
14
            0x0, NULL, HFILL}
10672
14
        },
10673
14
        { &hf_c15ch_inc_gwe,
10674
14
            { "C15 Incoming GWE", "c15.inc_gwe",
10675
14
            FT_PROTOCOL, BASE_NONE,
10676
14
            NULL,
10677
14
            0x0, NULL, HFILL}
10678
14
        },
10679
14
        { &hf_c15ch_out_gwe,
10680
14
            { "C15 Outgoing GWE", "c15.out_gwe",
10681
14
            FT_PROTOCOL, BASE_NONE,
10682
14
            NULL,
10683
14
            0x0, NULL, HFILL}
10684
14
        },
10685
14
        { &hf_c15ch_outgwebc,
10686
14
            { "C15 Out GWE Bearer Control", "c15.out_gwe_bc",
10687
14
            FT_PROTOCOL, BASE_NONE,
10688
14
            NULL,
10689
14
            0x0, NULL, HFILL}
10690
14
        },
10691
14
        { &hf_c15ch_ama,
10692
14
            { "C15 AMA", "c15.ama",
10693
14
            FT_PROTOCOL, BASE_NONE,
10694
14
            NULL,
10695
14
            0x0, NULL, HFILL}
10696
14
        },
10697
14
        { &hf_c15ch_qos,
10698
14
            { "C15 Quality of Service", "c15.qos",
10699
14
            FT_PROTOCOL, BASE_NONE,
10700
14
            NULL,
10701
14
            0x0, NULL, HFILL}
10702
14
        },
10703
14
        { &hf_c15ch_echo_cancel,
10704
14
            { "C15 Echo Cancel", "c15.echo_cancel",
10705
14
            FT_PROTOCOL, BASE_NONE,
10706
14
            NULL,
10707
14
            0x0, NULL, HFILL}
10708
14
        },
10709
14
        { &hf_c15ch_tone,
10710
14
            { "C15 Tone", "c15.tone",
10711
14
            FT_PROTOCOL, BASE_NONE,
10712
14
            NULL,
10713
14
            0x0, NULL, HFILL}
10714
14
        },
10715
14
        { &hf_c15ch_encap_isup,
10716
14
            { "C15 Encapsulated ISUP", "c15.encap_isup",
10717
14
            FT_PROTOCOL, BASE_NONE,
10718
14
            NULL,
10719
14
            0x0, NULL, HFILL}
10720
14
        },
10721
14
        { &hf_c15ch_tcap,
10722
14
            { "C15 TCAP", "c15.tcap",
10723
14
            FT_PROTOCOL, BASE_NONE,
10724
14
            NULL,
10725
14
            0x0, NULL, HFILL}
10726
14
        },
10727
14
        { &hf_c15ch_clli,
10728
14
            { "C15 CLLI", "c15.clli",
10729
14
            FT_PROTOCOL, BASE_NONE,
10730
14
            NULL,
10731
14
            0x0, NULL, HFILL}
10732
14
        },
10733
14
        { &hf_c15ch_c15_info,
10734
14
            { "C15 Info", "c15.info",
10735
14
            FT_PROTOCOL, BASE_NONE,
10736
14
            NULL,
10737
14
            0x0, NULL, HFILL}
10738
14
        },
10739
        /* new Generic Messages */
10740
14
        { &hf_c15ch_c15_generic_msg_1,
10741
14
            { "C15 Generic Message 1", "c15.generic_msg_1",
10742
14
            FT_PROTOCOL, BASE_NONE,
10743
14
            NULL,
10744
14
            0x0, NULL, HFILL}
10745
14
        },
10746
14
        { &hf_c15ch_c15_generic_msg_2,
10747
14
            { "C15 Generic Message 2", "c15.generic_msg_2",
10748
14
            FT_PROTOCOL, BASE_NONE,
10749
14
            NULL,
10750
14
            0x0, NULL, HFILL}
10751
14
        },
10752
14
        { &hf_c15ch_c15_generic_msg_3,
10753
14
            { "C15 Generic Message 3", "c15.generic_msg_3",
10754
14
            FT_PROTOCOL, BASE_NONE,
10755
14
            NULL,
10756
14
            0x0, NULL, HFILL}
10757
14
        },
10758
14
        { &hf_c15ch_c15_generic_msg_4,
10759
14
            { "C15 Generic Message 4", "c15.generic_msg_4",
10760
14
            FT_PROTOCOL, BASE_NONE,
10761
14
            NULL,
10762
14
            0x0, NULL, HFILL}
10763
14
        },
10764
14
        { &hf_c15ch_c15_generic_msg_5,
10765
14
            { "C15 Generic Message 5", "c15.generic_msg_5",
10766
14
            FT_PROTOCOL, BASE_NONE,
10767
14
            NULL,
10768
14
            0x0, NULL, HFILL}
10769
14
        },
10770
14
        { &hf_c15ch_c15_correlate_msg,
10771
14
            { "C15 Correlate Message", "c15.correlate_msg",
10772
14
            FT_PROTOCOL, BASE_NONE,
10773
14
            NULL,
10774
14
            0x0, NULL, HFILL}
10775
14
        },
10776
14
        { &hf_c15ch_c15_generic_msg_parm_1,
10777
14
            { "Parameter 1", "c15.parm_1",
10778
14
            FT_UINT32, BASE_DEC,
10779
14
            NULL,
10780
14
            0x0, NULL, HFILL}
10781
14
        },
10782
14
        { &hf_c15ch_c15_generic_msg_parm_2,
10783
14
            { "Parameter 2", "c15.parm_2",
10784
14
            FT_UINT32, BASE_DEC,
10785
14
            NULL,
10786
14
            0x0, NULL, HFILL}
10787
14
        },
10788
14
        { &hf_c15ch_c15_generic_msg_parm_3,
10789
14
            { "Parameter 3", "c15.parm_3",
10790
14
            FT_UINT32, BASE_DEC,
10791
14
            NULL,
10792
14
            0x0, NULL, HFILL}
10793
14
        },
10794
14
        { &hf_c15ch_c15_generic_msg_parm_4,
10795
14
            { "Parameter 4", "c15.parm_4",
10796
14
            FT_UINT32, BASE_HEX,
10797
14
            NULL,
10798
14
            0x0, NULL, HFILL}
10799
14
        },
10800
14
        { &hf_c15ch_c15_generic_msg_parm_5,
10801
14
            { "Parameter 5", "c15.parm_5",
10802
14
            FT_UINT32, BASE_HEX,
10803
14
            NULL,
10804
14
            0x0, NULL, HFILL}
10805
14
        },
10806
14
        { &hf_c15ch_c15_generic_msg_data_len,
10807
14
            { "Data Length", "c15.data_len",
10808
14
            FT_UINT32, BASE_DEC,
10809
14
            NULL,
10810
14
            0x0, NULL, HFILL}
10811
14
        },
10812
14
        { &hf_c15ch_c15_generic_msg_cr_ptr_val,
10813
14
            { "CR Pointer Value", "c15.cr_ptr_val",
10814
14
            FT_UINT32, BASE_HEX,
10815
14
            NULL,
10816
14
            0x0, NULL, HFILL }
10817
14
        },
10818
14
        { &hf_c15ch_c15_generic_msg_dr_ptr_val,
10819
14
            { "DR Pointer Value", "c15.dr_ptr_val",
10820
14
            FT_UINT32, BASE_HEX,
10821
14
            NULL,
10822
14
            0x0, NULL, HFILL }
10823
14
        },
10824
14
        { &hf_c15ch_c15_generic_msg_spr_int_1,
10825
14
            { "Optional Integer 1", "c15.spr_int_1",
10826
14
            FT_UINT32, BASE_DEC,
10827
14
            NULL,
10828
14
            0x0, NULL, HFILL }
10829
14
        },
10830
14
        { &hf_c15ch_c15_generic_msg_spr_int_2,
10831
14
            { "Optional Integer 2", "c15.spr_int_2",
10832
14
            FT_UINT32, BASE_DEC,
10833
14
            NULL,
10834
14
            0x0, NULL, HFILL }
10835
14
        },
10836
14
        { &hf_c15ch_c15_generic_msg_spr_uptr_1,
10837
14
            { "Optional Unprotected Pointer 1", "c15.spr_uptr_1",
10838
14
            FT_UINT32, BASE_HEX,
10839
14
            NULL,
10840
14
            0x0, NULL, HFILL }
10841
14
        },
10842
14
        { &hf_c15ch_c15_generic_msg_spr_uptr_2,
10843
14
            { "Optional Unprotected Pointer 2", "c15.spr_uptr_2",
10844
14
            FT_UINT32, BASE_HEX,
10845
14
            NULL,
10846
14
            0x0, NULL, HFILL }
10847
14
        },
10848
14
        { &hf_c15ch_c15_generic_msg_spr_pptr_1,
10849
14
            { "Optional Protected Pointer 1", "c15.spr_pptr_1",
10850
14
            FT_UINT32, BASE_HEX,
10851
14
            NULL,
10852
14
            0x0, NULL, HFILL }
10853
14
        },
10854
14
        { &hf_c15ch_c15_generic_msg_spr_pptr_2,
10855
14
            { "Optional Protected Pointer 2", "c15.spr_pptr_2",
10856
14
            FT_UINT32, BASE_HEX,
10857
14
            NULL,
10858
14
            0x0, NULL, HFILL }
10859
14
        },
10860
14
        { &hf_c15ch_c15_generic_msg_gen_msg_field_1,
10861
14
            { "Generic Message Field 1", "c15.gen_msg_field_1",
10862
14
            FT_UINT32, BASE_DEC,
10863
14
            NULL,
10864
14
            0x0, NULL, HFILL}
10865
14
        },
10866
14
        { &hf_c15ch_c15_generic_msg_gen_msg_field_2,
10867
14
            { "Generic Message Field 2", "c15.gen_msg_field_2",
10868
14
            FT_UINT32, BASE_DEC,
10869
14
            NULL,
10870
14
            0x0, NULL, HFILL}
10871
14
        },
10872
14
        { &hf_c15ch_c15_generic_msg_gen_msg_field_3,
10873
14
            { "Generic Message Field 3", "c15.gen_msg_field_3",
10874
14
            FT_UINT32, BASE_DEC,
10875
14
            NULL,
10876
14
            0x0, NULL, HFILL}
10877
14
        },
10878
14
        { &hf_c15ch_c15_generic_msg_gen_msg_field_4,
10879
14
            { "Generic Message Field 4", "c15.gen_msg_field_4",
10880
14
            FT_UINT32, BASE_DEC,
10881
14
            NULL,
10882
14
            0x0, NULL, HFILL}
10883
14
        },
10884
14
        { &hf_c15ch_c15_generic_msg_gen_msg_field_5,
10885
14
            { "Generic Message Field 5", "c15.gen_msg_field_5",
10886
14
            FT_UINT32, BASE_DEC,
10887
14
            NULL,
10888
14
            0x0, NULL, HFILL}
10889
14
        },
10890
14
        { &hf_c15ch_c15_generic_msg_gen_msg_string,
10891
14
            { "Message", "c15.msg_string",
10892
14
            FT_STRINGZ, BASE_NONE,
10893
14
            NULL,
10894
14
            0x0, NULL, HFILL}
10895
14
        },
10896
14
        { &hf_c15ch_c15_generic_msg_gen_data_large,
10897
14
            { "Hex Message", "c15.data_large",
10898
14
            FT_BYTES, BASE_NONE,
10899
14
            NULL,
10900
14
            0x0, NULL, HFILL }
10901
14
        },
10902
14
        { &hf_c15ch_c15_usage_id,
10903
14
            { "Usage ID", "c15.usage_id",
10904
14
            FT_UINT32, BASE_DEC,
10905
14
            NULL,
10906
14
            0x0, NULL, HFILL}
10907
14
        },
10908
14
        { &hf_c15ch_c15_opt_parm_2,
10909
14
            { "Optional Parameter 2", "c15.opt_parm_2",
10910
14
            FT_UINT32, BASE_DEC,
10911
14
            NULL,
10912
14
            0x0, NULL, HFILL}
10913
14
        },
10914
14
        { &hf_c15ch_c15_opt_parm_3,
10915
14
            { "Optional Parameter 3", "c15.opt_parm_3",
10916
14
            FT_UINT32, BASE_DEC,
10917
14
            NULL,
10918
14
            0x0, NULL, HFILL}
10919
14
        },
10920
14
        { &hf_c15ch_c15_opt_parm_4,
10921
14
            { "Optional Parameter 4", "c15.opt_parm_4",
10922
14
            FT_UINT32, BASE_DEC,
10923
14
            NULL,
10924
14
            0x0, NULL, HFILL}
10925
14
        },
10926
14
        { &hf_c15ch_c15_opt_parm_5,
10927
14
            { "Optional Parameter 5", "c15.opt_parm_5",
10928
14
            FT_UINT32, BASE_DEC,
10929
14
            NULL,
10930
14
            0x0, NULL, HFILL}
10931
14
        },
10932
14
        { &hf_c15ch_c15_opt_parm_6_ptr,
10933
14
            { "Optional Parameter 6 Pointer", "c15.opt_parm_6_ptr",
10934
14
            FT_UINT32, BASE_HEX,
10935
14
            NULL,
10936
14
            0x0, NULL, HFILL}
10937
14
        },
10938
14
        { &hf_c15ch_c15_opt_parm_7_ptr,
10939
14
            { "Optional Parameter 7 Pointer", "c15.opt_parm_7_ptr",
10940
14
            FT_UINT32, BASE_HEX,
10941
14
            NULL,
10942
14
            0x0, NULL, HFILL}
10943
14
        },
10944
14
        { &hf_c15ch_c15_opt_parm_8_ptr,
10945
14
            { "Optional Parameter 8 Pointer", "c15.opt_parm_8_ptr",
10946
14
            FT_UINT32, BASE_HEX,
10947
14
            NULL,
10948
14
            0x0, NULL, HFILL}
10949
14
        },
10950
14
        { &hf_c15ch_c15_opt_parm_9_ptr,
10951
14
            { "Optional Parameter 9 Pointer", "c15.opt_parm_9_ptr",
10952
14
            FT_UINT32, BASE_HEX,
10953
14
            NULL,
10954
14
            0x0, NULL, HFILL}
10955
14
        },
10956
14
        { &hf_c15ch_c15_opt_string_parm_8,
10957
14
            { "String Parameter 8", "c15.opt_string_parm_8",
10958
14
            FT_STRINGZ, BASE_NONE,
10959
14
            NULL,
10960
14
            0x0, NULL, HFILL}
10961
14
        },
10962
14
        { &hf_c15ch_c15_opt_string_parm_9,
10963
14
            { "String Parameter 9", "c15.opt_string_parm_9",
10964
14
            FT_STRINGZ, BASE_NONE,
10965
14
            NULL,
10966
14
            0x0, NULL, HFILL}
10967
14
        },
10968
14
        { &hf_c15ch_c15_sip_reg_subs_report,
10969
14
            { "C15 SIP REG SUBS Report", "c15.sip_reg_subs_report",
10970
14
            FT_PROTOCOL, BASE_NONE,
10971
14
            NULL,
10972
14
            0x0, NULL, HFILL}
10973
14
        },
10974
14
        { &hf_c15ch_c15_sip_report_type,
10975
14
            { "SIP Report Type", "c15.sip_report_type",
10976
14
            FT_STRINGZ, BASE_NONE,
10977
14
            NULL,
10978
14
            0x0, NULL, HFILL}
10979
14
        },
10980
14
        { &hf_c15ch_c15_rate,
10981
14
            { "Rate", "c15.rate",
10982
14
            FT_UINT32, BASE_DEC,
10983
14
            NULL,
10984
14
            0x0, NULL, HFILL}
10985
14
        },
10986
14
        { &hf_c15ch_c15_hour,
10987
14
            { "Hour", "c15.hour",
10988
14
            FT_UINT32, BASE_DEC,
10989
14
            NULL,
10990
14
            0x0, NULL, HFILL}
10991
14
        },
10992
14
        { &hf_c15ch_c15_peak_min,
10993
14
            { "Peak Minute", "c15.peak_min",
10994
14
            FT_UINT32, BASE_DEC,
10995
14
            NULL,
10996
14
            0x0, NULL, HFILL}
10997
14
        },
10998
14
        { &hf_c15ch_c15_peak_sec,
10999
14
            { "Peak Second", "c15.peak_sec",
11000
14
            FT_UINT32, BASE_DEC,
11001
14
            NULL,
11002
14
            0x0, NULL, HFILL}
11003
14
        },
11004
14
        { &hf_c15ch_c15_auth_good,
11005
14
            { "Good Authentications in Last Hour", "c15.auth_good",
11006
14
            FT_UINT32, BASE_DEC,
11007
14
            NULL,
11008
14
            0x0, NULL, HFILL}
11009
14
        },
11010
14
        { &hf_c15ch_c15_auth_fail,
11011
14
            { "Failed Authentications in Last Hour", "c15.auth_fail",
11012
14
            FT_UINT32, BASE_DEC,
11013
14
            NULL,
11014
14
            0x0, NULL, HFILL}
11015
14
        },
11016
14
        { &hf_c15ch_c15_ovd084,
11017
14
            { "OVD084 Occurrences in Last Hour", "c15.ovd084",
11018
14
            FT_UINT32, BASE_DEC,
11019
14
            NULL,
11020
14
            0x0, NULL, HFILL}
11021
14
        },
11022
14
        { &hf_c15ch_c15_ovd086,
11023
14
            { "OVD086 Occurrences in Last Hour", "c15.ovd086",
11024
14
            FT_UINT32, BASE_DEC,
11025
14
            NULL,
11026
14
            0x0, NULL, HFILL}
11027
14
        },
11028
14
        { &hf_c15ch_c15_ovd088,
11029
14
            { "OVD088 Occurrences in Last Hour", "c15.ovd088",
11030
14
            FT_UINT32, BASE_DEC,
11031
14
            NULL,
11032
14
            0x0, NULL, HFILL}
11033
14
        },
11034
14
        { &hf_c15ch_c15_sip104,
11035
14
            { "SIP104 Occurrences in Last Hour", "c15.sip104",
11036
14
            FT_UINT32, BASE_DEC,
11037
14
            NULL,
11038
14
            0x0, NULL, HFILL}
11039
14
        },
11040
14
        { &hf_c15ch_c15_reg_spare_1,
11041
14
            { "REGISTER Optional Parameter 1", "c15.reg_spare_1",
11042
14
            FT_UINT32, BASE_DEC,
11043
14
            NULL,
11044
14
            0x0, NULL, HFILL}
11045
14
        },
11046
14
        { &hf_c15ch_c15_reg_spare_2,
11047
14
            { "REGISTER Optional Parameter 2", "c15.reg_spare_2",
11048
14
            FT_UINT32, BASE_DEC,
11049
14
            NULL,
11050
14
            0x0, NULL, HFILL}
11051
14
        },
11052
14
        { &hf_c15ch_c15_reg_spare_3,
11053
14
            { "REGISTER Optional Parameter 3", "c15.reg_spare_3",
11054
14
            FT_UINT32, BASE_HEX,
11055
14
            NULL,
11056
14
            0x0, NULL, HFILL}
11057
14
        },
11058
14
        { &hf_c15ch_c15_status_200_cnt,
11059
14
            { "Status 200 in Last Hour", "c15.status_200_cnt",
11060
14
            FT_UINT32, BASE_DEC,
11061
14
            NULL,
11062
14
            0x0, NULL, HFILL}
11063
14
        },
11064
14
        { &hf_c15ch_c15_status_202_cnt,
11065
14
            { "Status 202 in Last Hour", "c15.status_202_cnt",
11066
14
            FT_UINT32, BASE_DEC,
11067
14
            NULL,
11068
14
            0x0, NULL, HFILL}
11069
14
        },
11070
14
        { &hf_c15ch_c15_status_405_cnt,
11071
14
            { "Status 405 in Last Hour", "c15.status_405_cnt",
11072
14
            FT_UINT32, BASE_DEC,
11073
14
            NULL,
11074
14
            0x0, NULL, HFILL}
11075
14
        },
11076
14
        { &hf_c15ch_c15_subs_spare_1,
11077
14
            { "SUBSCRIBE Optional Parameter 1", "c15.subs_spare_1",
11078
14
            FT_UINT32, BASE_DEC,
11079
14
            NULL,
11080
14
            0x0, NULL, HFILL}
11081
14
        },
11082
14
        { &hf_c15ch_c15_subs_spare_2,
11083
14
            { "SUBSCRIBE Optional Parameter 2", "c15.subs_spare_2",
11084
14
            FT_UINT32, BASE_DEC,
11085
14
            NULL,
11086
14
            0x0, NULL, HFILL}
11087
14
        },
11088
14
        { &hf_c15ch_c15_subs_spare_3,
11089
14
            { "SUBSCRIBE Optional Parameter 3", "c15.subs_spare_3",
11090
14
            FT_UINT32, BASE_DEC,
11091
14
            NULL,
11092
14
            0x0, NULL, HFILL}
11093
14
        },
11094
14
        { &hf_c15ch_c15_subs_spare_4,
11095
14
            { "SUBSCRIBE Optional Parameter 4", "c15.subs_spare_4",
11096
14
            FT_UINT32, BASE_DEC,
11097
14
            NULL,
11098
14
            0x0, NULL, HFILL}
11099
14
        },
11100
14
        { &hf_c15ch_c15_subs_spare_5,
11101
14
            { "SUBSCRIBE Optional Parameter 5", "c15.subs_spare_5",
11102
14
            FT_UINT32, BASE_HEX,
11103
14
            NULL,
11104
14
            0x0, NULL, HFILL}
11105
14
        },
11106
14
        { &hf_c15ch_c15_subs_spare_6,
11107
14
            { "SUBSCRIBE Optional Parameter 6", "c15.subs_spare_6",
11108
14
            FT_UINT32, BASE_HEX,
11109
14
            NULL,
11110
14
            0x0, NULL, HFILL}
11111
14
        },
11112
14
        { &hf_c15ch_c15_sys_alarm,
11113
14
            { "C15 SYSTEM ALARM", "c15.sys_alarm",
11114
14
            FT_PROTOCOL, BASE_NONE,
11115
14
            NULL,
11116
14
            0x0, NULL, HFILL}
11117
14
        },
11118
14
        { &hf_c15ch_c15_omm_tag_code,
11119
14
            { "C15 ALARM Code", "c15.omm_tag_code",
11120
14
            FT_STRINGZ, BASE_NONE,
11121
14
            NULL,
11122
14
            0x0, NULL, HFILL}
11123
14
        },
11124
14
        { &hf_c15ch_c15_alarm_class,
11125
14
            { "C15 ALARM Class", "c15.alarm_class",
11126
14
            FT_STRINGZ, BASE_NONE,
11127
14
            NULL,
11128
14
            0x0, NULL, HFILL}
11129
14
        },
11130
14
        { &hf_c15ch_c15_alarm_status,
11131
14
            { "C15 ALARM Status", "c15.alarm_status",
11132
14
            FT_STRINGZ, BASE_NONE,
11133
14
            NULL,
11134
14
            0x0, NULL, HFILL}
11135
14
        },
11136
14
        { &hf_c15ch_c15_site_name,
11137
14
            { "C15 Site Name", "c15.site_name",
11138
14
            FT_STRINGZ, BASE_NONE,
11139
14
            NULL,
11140
14
            0x0, NULL, HFILL}
11141
14
        },
11142
14
        { &hf_c15ch_c15_system,
11143
14
            { "C15 System", "c15.system",
11144
14
            FT_STRINGZ, BASE_NONE,
11145
14
            NULL,
11146
14
            0x0, NULL, HFILL}
11147
14
        },
11148
14
        { &hf_c15ch_c15_tty_msg,
11149
14
            { "C15 TTY MESSAGE", "c15.tty_msg",
11150
14
            FT_PROTOCOL, BASE_NONE,
11151
14
            NULL,
11152
14
            0x0, NULL, HFILL}
11153
14
        },
11154
14
        { &hf_c15ch_c15_tty_int_parm_1,
11155
14
            { "TTY Optional Parameter 1", "c15.int_parm_1",
11156
14
            FT_UINT32, BASE_DEC,
11157
14
            NULL,
11158
14
            0x0, NULL, HFILL}
11159
14
        },
11160
14
        { &hf_c15ch_c15_tty_int_parm_2,
11161
14
            { "TTY Optional Parameter 2", "c15.int_parm_2",
11162
14
            FT_UINT32, BASE_DEC,
11163
14
            NULL,
11164
14
            0x0, NULL, HFILL}
11165
14
        },
11166
14
        { &hf_c15ch_c15_tty_int_parm_3,
11167
14
            { "TTY Optional Parameter 3", "c15.int_parm_3",
11168
14
            FT_UINT32, BASE_HEX,
11169
14
            NULL,
11170
14
            0x0, NULL, HFILL}
11171
14
        },
11172
14
        { &hf_c15ch_c15_tty_int_parm_4,
11173
14
            { "TTY Optional Parameter 4", "c15.int_parm_4",
11174
14
            FT_UINT32, BASE_HEX,
11175
14
            NULL,
11176
14
            0x0, NULL, HFILL}
11177
14
        },
11178
14
        { &hf_c15ch_c15_omm_msg_tag,
11179
14
            { "C15 TTY OMM Message Tag", "c15.omm_msg_tag",
11180
14
            FT_STRINGZ, BASE_NONE,
11181
14
            NULL,
11182
14
            0x0, NULL, HFILL}
11183
14
        },
11184
14
        { &hf_c15ch_c15_text_location,
11185
14
            { "C15 TTY Location", "c15.text_location",
11186
14
            FT_STRINGZ, BASE_NONE,
11187
14
            NULL,
11188
14
            0x0, NULL, HFILL}
11189
14
        },
11190
14
        { &hf_c15ch_c15_tty_text_parm_1,
11191
14
            { "C15 TTY Text Parameter 1", "c15.tty_text_parm_1",
11192
14
            FT_STRINGZ, BASE_NONE,
11193
14
            NULL,
11194
14
            0x0, NULL, HFILL}
11195
14
        },
11196
14
        { &hf_c15ch_c15_tty_text_parm_2,
11197
14
            { "C15 TTY Text Parameter 2", "c15.tty_text_parm_2",
11198
14
            FT_STRINGZ, BASE_NONE,
11199
14
            NULL,
11200
14
            0x0, NULL, HFILL}
11201
14
        },
11202
14
        { &hf_c15ch_c15_tty_text_parm_3,
11203
14
            { "C15 TTY Text Parameter 3", "c15.tty_text_parm_3",
11204
14
            FT_STRINGZ, BASE_NONE,
11205
14
            NULL,
11206
14
            0x0, NULL, HFILL}
11207
14
        }
11208
14
    };
11209
14
    static int *ett_second_level[] = {
11210
14
        &ett_c15ch_second_level,
11211
14
        &ett_c15ch_second_level_sub1,
11212
14
        &ett_c15ch_second_level_sub2,
11213
14
        &ett_c15ch_second_level_sub3,
11214
14
        &ett_c15ch_second_level_sub4
11215
14
    };
11216
 /* third level */
11217
 /* tone */
11218
11219
14
     static hf_register_info hf_third_level_tone[] = {
11220
14
        { &hf_c15ch_tone_cot_control_device_id,
11221
14
            { "Device ID", "c15.tone.cot_control.device_id",
11222
14
            FT_UINT8, BASE_DEC,
11223
14
            NULL,
11224
14
            0x0, NULL, HFILL}
11225
14
        },
11226
14
        { &hf_c15ch_tone_cot_control_cot_task,
11227
14
            { "COT Task", "c15.tone.cot_control.cot_task",
11228
14
            FT_UINT8, BASE_DEC,
11229
14
            NULL,
11230
14
            0x0, NULL, HFILL}
11231
14
        },
11232
14
        { &hf_c15ch_tone_cot_control_dest_h248,
11233
14
            { "Destination H248", "c15.tone.cot_control.dest_h248",
11234
14
            FT_UINT8, BASE_DEC,
11235
14
            NULL,
11236
14
            0x0, NULL, HFILL}
11237
14
        },
11238
14
        { &hf_c15ch_tone_cot_control_srce_h248,
11239
14
            { "Source H248", "c15.tone.cot_control.srce_h248",
11240
14
            FT_UINT8, BASE_DEC,
11241
14
            NULL,
11242
14
            0x0, NULL, HFILL}
11243
14
        },
11244
14
        { &hf_c15ch_tone_cot_control_svc_channel,
11245
14
            { "Svc Channel", "c15.tone.cot_control.svc_channel",
11246
14
            FT_UINT8, BASE_DEC,
11247
14
            NULL,
11248
14
            0x0, NULL, HFILL}
11249
14
        },
11250
14
        { &hf_c15ch_tone_give_tone_tone_id,
11251
14
            { "Tone ID", "c15.tone.give_tone.tone_id",
11252
14
            FT_UINT8, BASE_DEC,
11253
14
            NULL,
11254
14
            0x0, NULL, HFILL}
11255
14
        },
11256
14
        { &hf_c15ch_tone_give_tone_tone_type,
11257
14
            { "Tone Type", "c15.tone.give_tone.tone_type",
11258
14
            FT_UINT8, BASE_DEC|BASE_EXT_STRING,
11259
14
            &tone_types_ext,
11260
14
            0x0, NULL, HFILL}
11261
14
        },
11262
11263
14
        { &hf_c15ch_tone_madn_ring_device_id,
11264
14
            { "Device ID", "c15.tone.madn_ring.device_id",
11265
14
            FT_UINT8, BASE_DEC,
11266
14
            NULL,
11267
14
            0x0, NULL, HFILL}
11268
14
        },
11269
14
        { &hf_c15ch_tone_madn_ring_tone_type,
11270
14
            { "Tone Type", "c15.tone.madn_ring.tone_type",
11271
14
            FT_UINT8, BASE_DEC|BASE_EXT_STRING,
11272
14
            &tone_types_ext,
11273
14
            0x0, NULL, HFILL}
11274
14
        },
11275
14
        { &hf_c15ch_tone_opls_svce_from_ni,
11276
14
            { "Svce From NI", "c15.tone.opls.svce_from_ni",
11277
14
            FT_UINT32, BASE_HEX,
11278
14
            NULL,
11279
14
            0x0, NULL, HFILL}
11280
14
        },
11281
14
        { &hf_c15ch_tone_opls_svce_to_ni,
11282
14
            { "Svce To NI", "c15.tone.opls.svce_to_ni",
11283
14
            FT_UINT32, BASE_HEX,
11284
14
            NULL,
11285
14
            0x0, NULL, HFILL}
11286
14
        },
11287
14
        { &hf_c15ch_tone_opls_svce_to_tn,
11288
14
            { "Svce To TN", "c15.tone.opls.svce_to_tn",
11289
14
            FT_UINT32, BASE_HEX,
11290
14
            NULL,
11291
14
            0x0, NULL, HFILL}
11292
14
        },
11293
14
        { &hf_c15ch_tone_opls_svce_to_ni_tn,
11294
14
            { "Svce To NI/TN", "c15.tone.opls.svce_to_ni_tn",
11295
14
            FT_UINT64, BASE_HEX,
11296
14
            NULL,
11297
14
            0x0, NULL, HFILL}
11298
14
        },
11299
14
        { &hf_c15ch_tone_opls_digits,
11300
14
            { "Digits", "c15.tone.opls.digits",
11301
14
            FT_STRINGZ, BASE_NONE,
11302
14
            NULL,
11303
14
            0x0, NULL, HFILL}
11304
14
        },
11305
14
        { &hf_c15ch_tone_rcvr_rcvr_id,
11306
14
            { "Receiver ID", "c15.tone.rcvr.rcvr_id",
11307
14
            FT_UINT8, BASE_DEC,
11308
14
            NULL,
11309
14
            0x0, NULL, HFILL}
11310
14
        },
11311
14
        { &hf_c15ch_tone_rcvr_conn_to_ni,
11312
14
            { "Conn to NI", "c15.tone.rcvr.conn_to_ni",
11313
14
            FT_UINT32, BASE_HEX,
11314
14
            NULL,
11315
14
            0x0, NULL, HFILL}
11316
14
        },
11317
14
        { &hf_c15ch_tone_rcvr_conn_to_tn,
11318
14
            { "Conn to TN", "c15.tone.rcvr.conn_to_tn",
11319
14
            FT_UINT32, BASE_HEX,
11320
14
            NULL,
11321
14
            0x0, NULL, HFILL}
11322
14
        },
11323
14
        { &hf_c15ch_tone_rcvr_conn_to_ni_tn,
11324
14
            { "Conn to NI/TN", "c15.tone.rcvr.conn_to_ni_tn",
11325
14
            FT_UINT64, BASE_HEX,
11326
14
            NULL,
11327
14
            0x0, NULL, HFILL}
11328
14
        },
11329
14
        { &hf_c15ch_tone_timeout_device_id,
11330
14
            { "Device ID", "c15.tone.timeout.device_id",
11331
14
            FT_UINT8, BASE_DEC,
11332
14
            NULL,
11333
14
            0x0, NULL, HFILL}
11334
14
        },
11335
14
        { &hf_c15ch_tone_timeout_service_pm,
11336
14
            { "Service PM", "c15.tone.timeout.service_pm",
11337
14
            FT_UINT8, BASE_DEC,
11338
14
            NULL,
11339
14
            0x0, NULL, HFILL}
11340
14
        },
11341
14
        { &hf_c15ch_tone_timeout_service_ni,
11342
14
            { "Service NI", "c15.tone.timeout.service_ni",
11343
14
            FT_UINT32, BASE_DEC,
11344
14
            NULL,
11345
14
            0x0, NULL, HFILL}
11346
14
        },
11347
14
        { &hf_c15ch_tone_timeout_service_tn,
11348
14
            { "Service TN", "c15.tone.timeout.service_tn",
11349
14
            FT_UINT32, BASE_DEC,
11350
14
            NULL,
11351
14
            0x0, NULL, HFILL}
11352
14
        },
11353
14
        { &hf_c15ch_tone_timeout_service_ni_tn,
11354
14
            { "Service NI/TN", "c15.tone.timeout.service_ni_tn",
11355
14
            FT_UINT64, BASE_HEX,
11356
14
            NULL,
11357
14
            0x0, NULL, HFILL}
11358
14
        },
11359
14
        { &hf_c15ch_tone_timeout_gw_provided,
11360
14
            { "GW Provided", "c15.tone.timeout.gw_provided",
11361
14
            FT_UINT8, BASE_DEC,
11362
14
            NULL,
11363
14
            0x0, NULL, HFILL}
11364
14
        },
11365
14
        { &hf_c15ch_tone_timeout_gw_service_tone_type_or_from_ni,
11366
14
            { "GW Service Tone Type or From NI", "c15.tone.timeout.gw_service_tone_type_or_from_ni",
11367
14
            FT_UINT32, BASE_DEC,
11368
14
            NULL,
11369
14
            0x0, NULL, HFILL}
11370
14
        },
11371
14
        { &hf_c15ch_tone_tone_control_device_id,
11372
14
            { "Device ID", "c15.tone.tone_control.device_id",
11373
14
            FT_UINT8, BASE_DEC,
11374
14
            NULL,
11375
14
            0x0, NULL, HFILL}
11376
14
        },
11377
14
        { &hf_c15ch_tone_tone_control_tone_type,
11378
14
            { "Tone Type", "c15.tone.tone_control.tone_type",
11379
14
            FT_UINT8, BASE_DEC|BASE_EXT_STRING,
11380
14
            &tone_types_ext,
11381
14
            0x0, NULL, HFILL}
11382
14
        },
11383
11384
14
        { &hf_c15ch_tone_cpm_loop_type,
11385
14
            { "Loop Type", "c15.tone.cpm.loop_type",
11386
14
            FT_UINT8, BASE_DEC,
11387
14
            VALS( loop_types ),
11388
14
            0x0, NULL, HFILL}
11389
14
        },
11390
14
        { &hf_c15ch_tone_cpm_device_id,
11391
14
            { "Device ID", "c15.tone.cpm.device_id",
11392
14
            FT_UINT8, BASE_DEC|BASE_EXT_STRING,
11393
14
            &device_types_ext,
11394
14
            0x0, NULL, HFILL}
11395
14
        },
11396
14
        { &hf_c15ch_tone_cpm_tone_type,
11397
14
            { "Tone Type", "c15.tone.cpm.tone_type",
11398
14
            FT_UINT8, BASE_DEC|BASE_EXT_STRING,
11399
14
            &tone_types_ext,
11400
14
            0x0, NULL, HFILL}
11401
14
        },
11402
14
        { &hf_c15ch_tone_tone_control,
11403
14
            { "C15 Tone Control", "c15.tone.tone_control",
11404
14
            FT_PROTOCOL, BASE_NONE,
11405
14
            NULL,
11406
14
            0x0, NULL, HFILL}
11407
14
        },
11408
14
        { &hf_c15ch_tone_give_tone,
11409
14
            { "C15 Give Tone", "c15.tone.give_tone",
11410
14
            FT_PROTOCOL, BASE_NONE,
11411
14
            NULL,
11412
14
            0x0, NULL, HFILL}
11413
14
        },
11414
14
        { &hf_c15ch_tone_opls,
11415
14
            { "C15 Tone OPLS", "c15.tone.opls",
11416
14
            FT_PROTOCOL, BASE_NONE,
11417
14
            NULL,
11418
14
            0x0, NULL, HFILL}
11419
14
        },
11420
14
        { &hf_c15ch_tone_cot_control,
11421
14
            { "C15 Tone COT Control", "c15.tone.cot_control",
11422
14
            FT_PROTOCOL, BASE_NONE,
11423
14
            NULL,
11424
14
            0x0, NULL, HFILL}
11425
14
        },
11426
14
        { &hf_c15ch_tone_cpm,
11427
14
            { "C15 Tone CPM", "c15.tone.cpm",
11428
14
            FT_PROTOCOL, BASE_NONE,
11429
14
            NULL,
11430
14
            0x0, NULL, HFILL}
11431
14
        },
11432
14
        { &hf_c15ch_tone_rcvr,
11433
14
            { "C15 Tone Receiver", "c15.tone.rcvr",
11434
14
            FT_PROTOCOL, BASE_NONE,
11435
14
            NULL,
11436
14
            0x0, NULL, HFILL}
11437
14
        },
11438
14
        { &hf_c15ch_tone_madn_ring,
11439
14
            { "C15 Tone MADN Ring", "c15.tone.madn_ring",
11440
14
            FT_PROTOCOL, BASE_NONE,
11441
14
            NULL,
11442
14
            0x0, NULL, HFILL}
11443
14
        },
11444
14
        { &hf_c15ch_tone_timeout,
11445
14
            { "C15 Tone Timeout", "c15.tone.timeout",
11446
14
            FT_PROTOCOL, BASE_NONE,
11447
14
            NULL,
11448
14
            0x0, NULL, HFILL}
11449
14
        }
11450
14
    };
11451
11452
11453
14
    static int *ett_third_level_tone[] = {
11454
14
        &ett_c15ch_third_level_tone,
11455
14
        &ett_c15ch_third_level_tone_sub1
11456
14
    };
11457
11458
14
       static hf_register_info hf_third_level_inc_gwe[] = {
11459
11460
14
        { &hf_c15ch_inc_gwe_reply_ip_gwe_msg_type,
11461
14
            { "IP GWE Msg Type", "c15.inc_gwe.reply.ip_gwe_msg_type",
11462
14
            FT_UINT32, BASE_DEC,
11463
14
            NULL,
11464
14
            0x0, NULL, HFILL}
11465
14
        },
11466
14
        { &hf_c15ch_inc_gwe_reply_ip_gwe_stat_code,
11467
14
            { "IP GWE Stat Code", "c15.inc_gwe.reply.ip_gwe_stat_code",
11468
14
            FT_UINT32, BASE_DEC,
11469
14
            NULL,
11470
14
            0x0, NULL, HFILL}
11471
14
        },
11472
14
        { &hf_c15ch_inc_gwe_reply_ip_gwe_conn_num,
11473
14
            { "IP GWE Connection Number", "c15.inc_gwe.reply.ip_gwe_conn_num",
11474
14
            FT_UINT32, BASE_DEC,
11475
14
            NULL,
11476
14
            0x0, NULL, HFILL}
11477
14
        },
11478
14
        { &hf_c15ch_inc_gwe_reply_nw_mdcn_lsdp_ip,
11479
14
            { "NW MDCN LSDP IP", "c15.inc_gwe.reply.nw_mdcn_lsdp_ip",
11480
14
            FT_IPv4, BASE_NONE,
11481
14
            NULL,
11482
14
            0x0, NULL, HFILL}
11483
14
        },
11484
14
        { &hf_c15ch_inc_gwe_reply_nw_mdcn_lsdp_port,
11485
14
            { "NW MDCN LSDP Port", "c15.inc_gwe.reply.nw_mdcn_lsdp_port",
11486
14
            FT_UINT32, BASE_DEC,
11487
14
            NULL,
11488
14
            0x0, NULL, HFILL}
11489
14
        },
11490
14
        { &hf_c15ch_inc_gwe_reply_nw_mdcn_rsdp_ip,
11491
14
            { "NW MDCN RSDP IP", "c15.inc_gwe.reply.nw_mdcn_rsdp_ip",
11492
14
            FT_IPv4, BASE_NONE,
11493
14
            NULL,
11494
14
            0x0, NULL, HFILL}
11495
14
        },
11496
14
        { &hf_c15ch_inc_gwe_reply_nw_mdcn_rsdp_port,
11497
14
            { "NW MDCN RSDP Port", "c15.inc_gwe.reply.nw_mdcn_rsdp_port",
11498
14
            FT_UINT32, BASE_DEC,
11499
14
            NULL,
11500
14
            0x0, NULL, HFILL}
11501
14
        },
11502
14
        { &hf_c15ch_inc_gwe_bc_pgi_pbc_conn_num,
11503
14
            { "PBC Connection Number", "c15.inc_gwe.bc_pgi.pbc_conn_num",
11504
14
            FT_UINT32, BASE_DEC,
11505
14
            NULL,
11506
14
            0x0, NULL, HFILL}
11507
14
        },
11508
14
        { &hf_c15ch_inc_gwe_bc_pgi_pbc_conn_type,
11509
14
            { "PBC Connection Type", "c15.inc_gwe.bc_pgi.pbc_conn_type",
11510
14
            FT_UINT8, BASE_DEC,
11511
14
            VALS( c15_inc_gwe_bc_pgi_pbc_conn_types ),
11512
14
            0x0, NULL, HFILL}
11513
14
        },
11514
14
        { &hf_c15ch_inc_gwe_bc_pgi_pbc_msg_type,
11515
14
            { "PBC Message Type", "c15.inc_gwe.bc_pgi.pbc_msg_type",
11516
14
            FT_UINT8, BASE_DEC,
11517
14
            NULL,
11518
14
            0x0, NULL, HFILL}
11519
14
        },
11520
14
        { &hf_c15ch_inc_gwe_bc_pgi_bc_mode,
11521
14
            { "BC Mode", "c15.inc_gwe.bc_pgi.bc_mode",
11522
14
            FT_UINT8, BASE_DEC,
11523
14
            NULL,
11524
14
            0x0, NULL, HFILL}
11525
14
        },
11526
14
        { &hf_c15ch_inc_gwe_bc_pgi_bc_pgi_sdp,
11527
14
            { "BC PGI SDP", "c15.inc_gwe.bc_pgi.bc_pgi_sdp",
11528
14
            FT_IPv4, BASE_NONE,
11529
14
            NULL,
11530
14
            0x0, NULL, HFILL}
11531
14
        },
11532
14
        { &hf_c15ch_inc_gwe_bc_pgi_bc_pgi_m_port,
11533
14
            { "BC PGI M Port", "c15.inc_gwe.bc_pgi.bc_pgi_m_port",
11534
14
            FT_UINT32, BASE_DEC,
11535
14
            NULL,
11536
14
            0x0, NULL, HFILL}
11537
14
        },
11538
14
        { &hf_c15ch_inc_gwe_bc_pgi_pbc_tst_flags,
11539
14
            { "PBC TST Flags", "c15.inc_gwe.bc_pgi.pbc_tst_flags",
11540
14
            FT_UINT32, BASE_HEX,
11541
14
            NULL,
11542
14
            0x0, NULL, HFILL}
11543
14
        },
11544
14
        { &hf_c15ch_inc_gwe_mgcp_dlcx_err_code,
11545
14
            { "Error Code", "c15.inc_gwe.mgcp_dlcx.err_code",
11546
14
            FT_UINT32, BASE_DEC,
11547
14
            NULL,
11548
14
            0x0, NULL, HFILL}
11549
14
        },
11550
14
        { &hf_c15ch_inc_gwe_h248_digit_ip_gwe_digit,
11551
14
            { "IP GWE Digit", "c15.inc_gwe.h248_digit.ip_gwe_digit",
11552
14
            FT_UINT8, BASE_DEC,
11553
14
            NULL,
11554
14
            0x0, NULL, HFILL}
11555
14
        },
11556
14
        { &hf_c15ch_inc_gwe_h248_digit_ip_gwe_digit_method,
11557
14
            { "IP GWE Digit Method", "c15.inc_gwe.h248_digit.ip_gwe_digit_method",
11558
14
            FT_UINT8, BASE_DEC,
11559
14
            NULL,
11560
14
            0x0, NULL, HFILL}
11561
14
        },
11562
14
        { &hf_c15ch_inc_gwe_voip_cot_ip_gwe_pass_code,
11563
14
            { "IP GWE Digit", "c15.inc_gwe.voip_cot.ip_gwe_pass_code",
11564
14
            FT_BOOLEAN, BASE_NONE,
11565
14
            TFS( &c15_inc_gwe_voip_cot_ip_gwe_pass_code_types),
11566
14
            0x0, NULL, HFILL}
11567
14
        },
11568
14
        { &hf_c15ch_inc_gwe_notify_ip_gwe_mwi_stat,
11569
14
            { "IP GWE Message Waiting Indicator Stat", "c15.inc_gwe.notify.ip_gwe_mwi_stat",
11570
14
            FT_UINT32, BASE_DEC,
11571
14
            NULL,
11572
14
            0x0, NULL, HFILL}
11573
14
        },
11574
14
        { &hf_c15ch_inc_gwe_notify_ip_gwe_digits,
11575
14
            { "IP GWE Digits", "c15.inc_gwe.notify.ip_gwe_digits",
11576
14
            FT_STRINGZ, BASE_NONE,
11577
14
            NULL,
11578
14
            0x0, NULL, HFILL}
11579
14
        },
11580
14
        { &hf_c15ch_inc_gwe_admn_updt_ip_gwe_med_ni,
11581
14
            { "IP GWE Med NI", "c15.inc_gwe.admn_updt.ip_gwe_med_ni",
11582
14
            FT_UINT32, BASE_HEX,
11583
14
            NULL,
11584
14
            0x0, NULL, HFILL}
11585
14
        },
11586
14
        { &hf_c15ch_inc_gwe_admn_updt_ip_gwe_med_tn,
11587
14
            { "IP GWE Med TN", "c15.inc_gwe.admn_updt.ip_gwe_med_tn",
11588
14
            FT_UINT32, BASE_HEX,
11589
14
            NULL,
11590
14
            0x0, NULL, HFILL}
11591
14
        },
11592
14
        { &hf_c15ch_inc_gwe_admn_updt_ip_gwe_med_ni_tn,
11593
14
            {"IP GWE Med NI/TN", "c15.inc_gwe.admn_updt.ip_gwe_med_ni_tn",
11594
14
            FT_UINT64, BASE_HEX,
11595
14
            NULL,
11596
14
            0x0, NULL, HFILL }
11597
14
        },
11598
14
        { &hf_c15ch_inc_gwe_admn_updt_ip_ns_iface,
11599
14
            { "IP NS Interface", "c15.inc_gwe.admn_updt.ip_ns_iface",
11600
14
            FT_UINT32, BASE_DEC,
11601
14
            NULL,
11602
14
            0x0, NULL, HFILL}
11603
14
        },
11604
14
        { &hf_c15ch_inc_gwe_admn_updt_ip_ns_terminal,
11605
14
            { "IP NS Terminal", "c15.inc_gwe.admn_updt.ip_ns_terminal",
11606
14
            FT_UINT32, BASE_DEC,
11607
14
            NULL,
11608
14
            0x0, NULL, HFILL}
11609
14
        },
11610
14
        { &hf_c15ch_inc_gwe_admn_updt_ip_gwe_new_rec_addr,
11611
14
            { "IP GWE New Rec Addr", "c15.inc_gwe.admn_updt.ip_gwe_new_rec_addr",
11612
14
            FT_UINT32, BASE_HEX,
11613
14
            NULL,
11614
14
            0x0, NULL, HFILL}
11615
14
        },
11616
14
        { &hf_c15ch_inc_gwe_cl_setup_ip_gwe_sua_hndl,
11617
14
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.cl_setup.ip_gwe_sua_hndl",
11618
14
            FT_UINT32, BASE_HEX,
11619
14
            NULL,
11620
14
            0x0, NULL, HFILL}
11621
14
        },
11622
14
        { &hf_c15ch_inc_gwe_cl_setup_ip_gwe_cled_digits,
11623
14
            { "IP GWE CLED Digits", "c15.inc_gwe.cl_setup.ip_gwe_cled_digits",
11624
14
            FT_STRINGZ, BASE_NONE,
11625
14
            NULL,
11626
14
            0x0, NULL, HFILL}
11627
14
        },
11628
14
        { &hf_c15ch_inc_gwe_cl_setup_ip_cl_setup_lsdp,
11629
14
            { "IP CL Setup LSDP", "c15.inc_gwe.cl_setup.ip_cl_setup_lsdp",
11630
14
            FT_IPv4, BASE_NONE,
11631
14
            NULL,
11632
14
            0x0, NULL, HFILL}
11633
14
        },
11634
14
        { &hf_c15ch_inc_gwe_cl_setup_ip_cl_setup_m_port,
11635
14
            { "IP CL Setup M Port", "c15.inc_gwe.cl_setup.ip_cl_setup_m_port",
11636
14
            FT_UINT32, BASE_DEC,
11637
14
            NULL,
11638
14
            0x0, NULL, HFILL}
11639
14
        },
11640
14
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_sua_hndl,
11641
14
            { "IP GWE SipUserAgent Handle", "c15.iinc_gwe.ptrk_setup.ip_gwe_sua_hndl",
11642
14
            FT_UINT32, BASE_HEX,
11643
14
            NULL,
11644
14
            0x0, NULL, HFILL}
11645
14
        },
11646
14
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_cled_digits,
11647
14
            { "IP GWE CLED Digits", "c15.iinc_gwe.ptrk_setup.ip_gwe_cled_digits",
11648
14
            FT_STRINGZ, BASE_NONE,
11649
14
            NULL,
11650
14
            0x0, NULL, HFILL}
11651
14
        },
11652
14
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_cl_setup_lsdp,
11653
14
            { "IP CL SETUP LSDP", "c15.iinc_gwe.ptrk_setup.ip_cl_setup_lsdp",
11654
14
            FT_IPv4, BASE_NONE,
11655
14
            NULL,
11656
14
            0x0, NULL, HFILL}
11657
14
        },
11658
14
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_cl_setup_m_port,
11659
14
            { "IP CL SETUP M Port", "c15.iinc_gwe.ptrk_setup.ip_cl_setup_m_port",
11660
14
            FT_UINT32, BASE_DEC,
11661
14
            NULL,
11662
14
            0x0, NULL, HFILL}
11663
14
        },
11664
14
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clid_pri,
11665
14
            { "IP GWE CLID PRI", "c15.iinc_gwe.ptrk_setup.ip_gwe_clid_pri",
11666
14
            FT_UINT8, BASE_DEC,
11667
14
            NULL,
11668
14
            0x0, NULL, HFILL}
11669
14
        },
11670
14
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clng_digits,
11671
14
            { "IP GWE CLNG Digits", "c15.iinc_gwe.ptrk_setup.ip_gwe_clng_digits",
11672
14
            FT_STRINGZ, BASE_NONE,
11673
14
            NULL,
11674
14
            0x0, NULL, HFILL}
11675
14
        },
11676
14
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clng_ton,
11677
14
            { "IP GWE CLNG TON", "c15.iinc_gwe.ptrk_setup.ip_gwe_clng_ton",
11678
14
            FT_UINT8, BASE_DEC,
11679
14
            NULL,
11680
14
            0x0, NULL, HFILL}
11681
14
        },
11682
14
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clng_np,
11683
14
            { "IP GWE CLNG NP", "c15.iinc_gwe.ptrk_setup.ip_gwe_clng_np",
11684
14
            FT_UINT8, BASE_DEC,
11685
14
            NULL,
11686
14
            0x0, NULL, HFILL}
11687
14
        },
11688
14
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_alert_info,
11689
14
            { "IP GWE Alert Info", "c15.iinc_gwe.ptrk_setup.ip_gwe_alert_info",
11690
14
            FT_UINT32, BASE_DEC,
11691
14
            NULL,
11692
14
            0x0, NULL, HFILL}
11693
14
        },
11694
14
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_redir_digits,
11695
14
            { "IP GWE REDIR Digits", "c15.iinc_gwe.ptrk_setup.ip_gwe_redir_digits",
11696
14
            FT_STRINGZ, BASE_NONE,
11697
14
            NULL,
11698
14
            0x0, NULL, HFILL}
11699
14
        },
11700
14
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_redir_ton,
11701
14
            { "IP GWE REDIR TON", "c15.iinc_gwe.ptrk_setup.ip_gwe_redir_ton",
11702
14
            FT_UINT8, BASE_DEC,
11703
14
            NULL,
11704
14
            0x0, NULL, HFILL}
11705
14
        },
11706
14
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_redir_np,
11707
14
            { "IP GWE REDIR NP", "c15.iinc_gwe.ptrk_setup.ip_gwe_redir_np",
11708
14
            FT_UINT8, BASE_DEC,
11709
14
            NULL,
11710
14
            0x0, NULL, HFILL}
11711
14
        },
11712
14
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_ocn_digits,
11713
14
            { "IP GWE OCN Digits", "c15.iinc_gwe.ptrk_setup.ip_gwe_ocn_digits",
11714
14
            FT_STRINGZ, BASE_NONE,
11715
14
            NULL,
11716
14
            0x0, NULL, HFILL}
11717
14
        },
11718
14
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_chrg_digits,
11719
14
            { "IP GWE CHRG Digits", "c15.iinc_gwe.ptrk_setup.ip_gwe_chrg_digits",
11720
14
            FT_STRINGZ, BASE_NONE,
11721
14
            NULL,
11722
14
            0x0, NULL, HFILL}
11723
14
        },
11724
14
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_chrg_noa,
11725
14
            { "IP GWE CHRG noa", "c15.iinc_gwe.ptrk_setup.ip_gwe_chrg_noa",
11726
14
            FT_UINT8, BASE_DEC,
11727
14
            NULL,
11728
14
            0x0, NULL, HFILL}
11729
14
        },
11730
14
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_chrg_npi,
11731
14
            { "IP GWE CHRG NPI", "c15.iinc_gwe.ptrk_setup.ip_gwe_chrg_npi",
11732
14
            FT_UINT8, BASE_DEC,
11733
14
            NULL,
11734
14
            0x0, NULL, HFILL}
11735
14
        },
11736
14
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_npdi,
11737
14
            { "IP GWE NPDI", "c15.iinc_gwe.ptrk_setup.ip_gwe_npdi",
11738
14
            FT_UINT8, BASE_DEC,
11739
14
            NULL,
11740
14
            0x0, NULL, HFILL}
11741
14
        },
11742
14
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_rn_digits,
11743
14
            { "IP GWE RN Digits", "c15.iinc_gwe.ptrk_setup.ip_gwe_rn_digits",
11744
14
            FT_STRINGZ, BASE_NONE,
11745
14
            NULL,
11746
14
            0x0, NULL, HFILL}
11747
14
        },
11748
14
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_cic_digits,
11749
14
            { "IP GWE CIC Digits", "c15.iinc_gwe.ptrk_setup.ip_gwe_cic_digits",
11750
14
            FT_STRINGZ, BASE_NONE,
11751
14
            NULL,
11752
14
            0x0, NULL, HFILL}
11753
14
        },
11754
14
        { &hf_c15ch_inc_gwe_ptrk_setup_encap_isup,
11755
14
            { "Encapsulated ISUP", "c15.iinc_gwe.ptrk_setup.encap_isup",
11756
14
            FT_UINT8, BASE_DEC,
11757
14
            NULL,
11758
14
            0x0, NULL, HFILL}
11759
14
        },
11760
14
        { &hf_c15ch_inc_gwe_cl_prog_ip_gwe_sua_hndl,
11761
14
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.cl_prog.ip_gwe_sua_hndl",
11762
14
            FT_UINT32, BASE_HEX,
11763
14
            NULL,
11764
14
            0x0, NULL, HFILL}
11765
14
        },
11766
14
        { &hf_c15ch_inc_gwe_cl_prog_ip_gwe_conn_num,
11767
14
            { "IP GWE Connection Number", "c15.inc_gwe.cl_prog.ip_gwe_conn_num",
11768
14
            FT_UINT8, BASE_DEC,
11769
14
            NULL,
11770
14
            0x0, NULL, HFILL}
11771
14
        },
11772
14
        { &hf_c15ch_inc_gwe_cl_prog_ip_cl_prog_lsdp,
11773
14
            { "IP CL Prog LSDP", "c15.inc_gwe.cl_prog.ip_cl_prog_lsdp",
11774
14
            FT_IPv4, BASE_NONE,
11775
14
            NULL,
11776
14
            0x0, NULL, HFILL}
11777
14
        },
11778
14
        { &hf_c15ch_inc_gwe_cl_prog_ip_cl_prog_m_port,
11779
14
            { "IP CL Prog M Port", "c15.inc_gwe.cl_prog.ip_cl_prog_m_port",
11780
14
            FT_UINT32, BASE_DEC,
11781
14
            NULL,
11782
14
            0x0, NULL, HFILL}
11783
14
        },
11784
14
        { &hf_c15ch_inc_gwe_cl_prog_ip_gwe_stat_code,
11785
14
            { "IP GWE Stat Code", "c15.inc_gwe.cl_prog.ip_gwe_stat_code",
11786
14
            FT_UINT8, BASE_DEC,
11787
14
            NULL,
11788
14
            0x0, NULL, HFILL}
11789
14
        },
11790
14
        { &hf_c15ch_inc_gwe_cl_prog_encap_isup,
11791
14
            { "Encapsulated ISUP", "c15.inc_gwe.cl_prog.encap_isup",
11792
14
            FT_UINT8, BASE_DEC,
11793
14
            NULL,
11794
14
            0x0, NULL, HFILL}
11795
14
        },
11796
14
        { &hf_c15ch_inc_gwe_reply,
11797
14
            { "C15 Incoming GWE Reply", "c15.inc_gwe.reply",
11798
14
            FT_PROTOCOL, BASE_NONE,
11799
14
            NULL,
11800
14
            0x0, NULL, HFILL}
11801
14
        },
11802
14
        { &hf_c15ch_inc_gwe_bc_pgi,
11803
14
            { "C15 Incoming GWE Bearer Control PGI", "c15.inc_gwe.bc_pgi",
11804
14
            FT_PROTOCOL, BASE_NONE,
11805
14
            NULL,
11806
14
            0x0, NULL, HFILL}
11807
14
        },
11808
14
        { &hf_c15ch_inc_gwe_mgcp_dlcx,
11809
14
            { "C15 Incoming GWE MGCP DLCX", "c15.inc_gwe.mgcp_dlcx",
11810
14
            FT_PROTOCOL, BASE_NONE,
11811
14
            NULL,
11812
14
            0x0, NULL, HFILL}
11813
14
        },
11814
14
        { &hf_c15ch_inc_gwe_h248_digit,
11815
14
            { "C15 Incoming GWE H248 Digit", "c15.inc_gwe.h248_digit",
11816
14
            FT_PROTOCOL, BASE_NONE,
11817
14
            NULL,
11818
14
            0x0, NULL, HFILL}
11819
14
        },
11820
14
        { &hf_c15ch_inc_gwe_voip_cot,
11821
14
            { "C15 Incoming GWE VOIP COT", "c15.inc_gwe.voip_cot",
11822
14
            FT_PROTOCOL, BASE_NONE,
11823
14
            NULL,
11824
14
            0x0, NULL, HFILL}
11825
14
        },
11826
14
        { &hf_c15ch_inc_gwe_notify,
11827
14
            { "C15 Incoming GWE Notify", "c15.inc_gwe.notify",
11828
14
            FT_PROTOCOL, BASE_NONE,
11829
14
            NULL,
11830
14
            0x0, NULL, HFILL}
11831
14
        },
11832
14
        { &hf_c15ch_inc_gwe_admn_updt,
11833
14
            { "C15 Incoming GWE Admn Update", "c15.inc_gwe.admn_updt",
11834
14
            FT_PROTOCOL, BASE_NONE,
11835
14
            NULL,
11836
14
            0x0, NULL, HFILL}
11837
14
        },
11838
14
        { &hf_c15ch_inc_gwe_cl_setup,
11839
14
            { "C15 Incoming GWE CL Setup", "c15.inc_gwe.cl_setup",
11840
14
            FT_PROTOCOL, BASE_NONE,
11841
14
            NULL,
11842
14
            0x0, NULL, HFILL}
11843
14
        },
11844
14
        { &hf_c15ch_inc_gwe_ptrk_setup,
11845
14
            { "C15 Incoming GWE Packet Trunk Setup", "c15.inc_gwe.ptrk_setup",
11846
14
            FT_PROTOCOL, BASE_NONE,
11847
14
            NULL,
11848
14
            0x0, NULL, HFILL}
11849
14
        },
11850
14
        { &hf_c15ch_inc_gwe_cl_prog,
11851
14
            { "C15 Incoming GWE CL Prog", "c15.inc_gwe.cl_prog",
11852
14
            FT_PROTOCOL, BASE_NONE,
11853
14
            NULL,
11854
14
            0x0, NULL, HFILL}
11855
14
        },
11856
14
        { &hf_c15ch_inc_gwe_cl_ans_ip_gwe_sua_hndl,
11857
14
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.cl_ans.ip_gwe_sua_hndl",
11858
14
            FT_UINT32, BASE_HEX,
11859
14
            NULL,
11860
14
            0x0, NULL, HFILL}
11861
14
        },
11862
14
        { &hf_c15ch_inc_gwe_cl_ans_ip_gwe_conn_num,
11863
14
            { "IP GWE Connection Number", "c15.inc_gwe.cl_ans.ip_gwe_conn_num",
11864
14
            FT_UINT8, BASE_DEC,
11865
14
            NULL,
11866
14
            0x0, NULL, HFILL}
11867
14
        },
11868
14
        { &hf_c15ch_inc_gwe_cl_ans_ip_cl_ans_lsdp,
11869
14
            { "IP CL Prog LSDP", "c15.inc_gwe.cl_ans.ip_cl_ans_lsdp",
11870
14
            FT_IPv4, BASE_NONE,
11871
14
            NULL,
11872
14
            0x0, NULL, HFILL}
11873
14
        },
11874
14
        { &hf_c15ch_inc_gwe_cl_ans_ip_cl_ans_m_port,
11875
14
            { "IP CL Prog M Port", "c15.inc_gwe.cl_ans.ip_cl_ans_m_port",
11876
14
            FT_UINT32, BASE_DEC,
11877
14
            NULL,
11878
14
            0x0, NULL, HFILL}
11879
14
        },
11880
14
        { &hf_c15ch_inc_gwe_cl_ans_encap_isup,
11881
14
            { "Encapsulated ISUP", "c15.inc_gwe.cl_ans.encap_isup",
11882
14
            FT_UINT8, BASE_DEC,
11883
14
            NULL,
11884
14
            0x0, NULL, HFILL},
11885
14
        },
11886
14
        { &hf_c15ch_inc_gwe_cl_ans,
11887
14
            { "C15 Incoming GWE CL Ans", "c15.inc_gwe.cl_ans",
11888
14
            FT_PROTOCOL, BASE_NONE,
11889
14
            NULL,
11890
14
            0x0, NULL, HFILL},
11891
14
        },
11892
14
        { &hf_c15ch_inc_gwe_cl_rel_ip_gwe_sua_hndl,
11893
14
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.cl_rel.ip_gwe_sua_hndl",
11894
14
            FT_UINT32, BASE_HEX,
11895
14
            NULL,
11896
14
            0x0, NULL, HFILL}
11897
14
        },
11898
14
        { &hf_c15ch_inc_gwe_cl_rel_ip_gwe_conn_num,
11899
14
            { "IP GWE Connection Number", "c15.inc_gwe.cl_rel.ip_gwe_conn_num",
11900
14
            FT_UINT8, BASE_DEC,
11901
14
            NULL,
11902
14
            0x0, NULL, HFILL}
11903
14
        },
11904
14
        { &hf_c15ch_inc_gwe_cl_rel_ip_gwe_stat_code,
11905
14
            { "IP GWE Stat Code", "c15.inc_gwe.cl_rel.ip_gwe_stat_code",
11906
14
            FT_UINT8, BASE_DEC,
11907
14
            NULL,
11908
14
            0x0, NULL, HFILL}
11909
14
        },
11910
14
        { &hf_c15ch_inc_gwe_cl_rel_encap_isup,
11911
14
            { "Encapsulated ISUP", "c15.inc_gwe.cl_rel.encap_isup",
11912
14
            FT_UINT8, BASE_DEC,
11913
14
            NULL,
11914
14
            0x0, NULL, HFILL},
11915
14
        },
11916
14
        { &hf_c15ch_inc_gwe_cl_rel,
11917
14
            { "C15 Incoming GWE CL Release", "c15.inc_gwe.cl_rel",
11918
14
            FT_PROTOCOL, BASE_NONE,
11919
14
            NULL,
11920
14
            0x0, NULL, HFILL},
11921
14
        },
11922
14
        { &hf_c15ch_inc_gwe_ntwk_mod_ip_gwe_sua_hndl,
11923
14
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.ntwk_mod.ip_gwe_sua_hndl",
11924
14
            FT_UINT32, BASE_HEX,
11925
14
            NULL,
11926
14
            0x0, NULL, HFILL}
11927
14
        },
11928
14
        { &hf_c15ch_inc_gwe_ntwk_mod_ip_gwe_conn_num,
11929
14
            { "IP GWE Connection Number", "c15.inc_gwe.ntwk_mod.ip_gwe_conn_num",
11930
14
            FT_UINT8, BASE_DEC,
11931
14
            NULL,
11932
14
            0x0, NULL, HFILL}
11933
14
        },
11934
14
        { &hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_lsdp,
11935
14
            { "IP Network Mod LSDP", "c15.inc_gwe.ntwk_mod.ip_ntwk_mod_lsdp",
11936
14
            FT_IPv4, BASE_NONE,
11937
14
            NULL,
11938
14
            0x0, NULL, HFILL}
11939
14
        },
11940
14
        { &hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_l_m_port,
11941
14
            { "IP Network Mod L M PORT", "c15.inc_gwe.ntwk_mod.ip_ntwk_mod_l_m_port",
11942
14
            FT_UINT32, BASE_DEC,
11943
14
            NULL,
11944
14
            0x0, NULL, HFILL}
11945
14
        },
11946
14
        { &hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_rsdp,
11947
14
            { "IP Network Mod RSDP", "c15.inc_gwe.ntwk_mod.ip_ntwk_mod_rsdp",
11948
14
            FT_IPv4, BASE_NONE,
11949
14
            NULL,
11950
14
            0x0, NULL, HFILL}
11951
14
        },
11952
14
        { &hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_r_m_port,
11953
14
            { "IP Network Mod R M PORT", "c15.inc_gwe.ntwk_mod.ip_ntwk_mod_r_m_port",
11954
14
            FT_UINT32, BASE_DEC,
11955
14
            NULL,
11956
14
            0x0, NULL, HFILL}
11957
14
        },
11958
14
        { &hf_c15ch_inc_gwe_ntwk_mod_ip_gwe_stat_code,
11959
14
            { "IP GWE Stat Code", "c15.inc_gwe.ntwk_mod.ip_gwe_stat_code",
11960
14
            FT_UINT8, BASE_DEC,
11961
14
            NULL,
11962
14
            0x0, NULL, HFILL}
11963
14
        },
11964
14
        { &hf_c15ch_inc_gwe_ntwk_mod,
11965
14
            { "C15 Incoming GWE Network Mod", "c15.inc_gwe.ntwk_mod",
11966
14
            FT_PROTOCOL, BASE_NONE,
11967
14
            NULL,
11968
14
            0x0, NULL, HFILL}
11969
14
        },
11970
14
        { &hf_c15ch_inc_gwe_rv_avail_ip_gwe_sua_hndl,
11971
14
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.rv_avail.ip_gwe_sua_hndl",
11972
14
            FT_UINT32, BASE_HEX,
11973
14
            NULL,
11974
14
            0x0, NULL, HFILL}
11975
14
        },
11976
14
        { &hf_c15ch_inc_gwe_rv_avail_ip_gwe_conn_num,
11977
14
            { "IP GWE Connection Number", "c15.inc_gwe.rv_avail.ip_gwe_conn_num",
11978
14
            FT_UINT32, BASE_DEC,
11979
14
            NULL,
11980
14
            0x0, NULL, HFILL}
11981
14
        },
11982
14
        { &hf_c15ch_inc_gwe_rv_avail_ip_gwe_info_len,
11983
14
            { "IP GWE Info Length", "c15.inc_gwe.rv_avail.ip_gwe_info_len",
11984
14
            FT_UINT32, BASE_DEC,
11985
14
            NULL,
11986
14
            0x0, NULL, HFILL}
11987
14
        },
11988
14
        { &hf_c15ch_inc_gwe_rv_avail,
11989
14
            { "C15 Incoming GWE RV Avail", "c15.inc_gwe.rv_avail",
11990
14
            FT_PROTOCOL, BASE_NONE,
11991
14
            NULL,
11992
14
            0x0, NULL, HFILL}
11993
14
        },
11994
14
        { &hf_c15ch_inc_gwe_cl_redir_ip_gwe_sua_hndl,
11995
14
            { "IP GWE SipUserAgent Handle", "c15.inc_gwe.cl_redir.ip_gwe_sua_hndl",
11996
14
            FT_UINT32, BASE_HEX,
11997
14
            NULL,
11998
14
            0x0, NULL, HFILL}
11999
14
        },
12000
14
        { &hf_c15ch_inc_gwe_cl_redir_ip_gwe_conn_num,
12001
14
            { "IP GWE Connection Number", "c15.inc_gwe.cl_redir.ip_gwe_conn_num",
12002
14
            FT_UINT32, BASE_HEX,
12003
14
            NULL,
12004
14
            0x0, NULL, HFILL}
12005
14
        },
12006
14
        { &hf_c15ch_inc_gwe_cl_redir_ip_gwe_redir_digits,
12007
14
            { "IP GWE Redir Digits", "c15.inc_gwe.cl_redir.ip_gwe_redir_digits",
12008
14
            FT_STRINGZ, BASE_NONE,
12009
14
            NULL,
12010
14
            0x0, NULL, HFILL}
12011
14
        },
12012
14
        { &hf_c15ch_inc_gwe_cl_redir,
12013
14
            { "C15 Incoming GWE CL Redir", "c15.inc_gwe.cl_redir",
12014
14
            FT_PROTOCOL, BASE_NONE,
12015
14
            NULL,
12016
14
            0x0, NULL, HFILL}
12017
14
        },
12018
14
        { &hf_c15ch_inc_gwe_cl_refer_ip_gwe_sua_hndl,
12019
14
            { "IP GWE SipUserAgent Handle", "c15.inc_gwe.cl_refer.ip_gwe_sua_hndl",
12020
14
            FT_UINT32, BASE_HEX,
12021
14
            NULL,
12022
14
            0x0, NULL, HFILL}
12023
14
        },
12024
14
        { &hf_c15ch_inc_gwe_cl_refer_ip_gwe_conn_num,
12025
14
            { "IP GWE Connection Number", "c15.inc_gwe.cl_refer.ip_gwe_conn_num",
12026
14
            FT_UINT32, BASE_DEC,
12027
14
            NULL,
12028
14
            0x0, NULL, HFILL}
12029
14
        },
12030
14
        { &hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_digits,
12031
14
            { "IP GWE TRGT Digits", "c15.inc_gwe.cl_refer.ip_gwe_trgt_digits",
12032
14
            FT_STRINGZ, BASE_NONE,
12033
14
            NULL,
12034
14
            0x0, NULL, HFILL}
12035
14
        },
12036
14
        { &hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_tn,
12037
14
            { "IP GWE TRGT TN", "c15.inc_gwe.cl_refer.ip_gwe_trgt_tn",
12038
14
            FT_UINT32, BASE_HEX,
12039
14
            NULL,
12040
14
            0x0, NULL, HFILL}
12041
14
        },
12042
14
        { &hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_ni,
12043
14
            { "IP GWE TRGT NI", "c15.inc_gwe.cl_refer.ip_gwe_trgt_ni",
12044
14
            FT_UINT32, BASE_HEX,
12045
14
            NULL,
12046
14
            0x0, NULL, HFILL}
12047
14
        },
12048
14
        { &hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_ni_tn,
12049
14
            {"IP GWE TRGT NI/TN", "c15.inc_gwe.cl_refer.ip_gwe_trgt_tn_ni",
12050
14
            FT_UINT64, BASE_HEX,
12051
14
            NULL,
12052
14
            0x0, NULL, HFILL }
12053
14
        },
12054
14
        { &hf_c15ch_inc_gwe_cl_refer,
12055
14
            {"C15 Incoming GWE CL Refer", "c15.inc_gwe.cl_refer",
12056
14
            FT_PROTOCOL, BASE_NONE,
12057
14
            NULL,
12058
14
            0x0, NULL, HFILL }
12059
14
        },
12060
14
        { &hf_c15ch_inc_gwe_chg_hndl_ip_gwe_sua_hndl,
12061
14
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.chg_hndl.ip_gwe_sua_hndl",
12062
14
            FT_UINT32, BASE_HEX,
12063
14
            NULL,
12064
14
            0x0, NULL, HFILL}
12065
14
        },
12066
14
        { &hf_c15ch_inc_gwe_chg_hndl_ip_gwe_new_hndl,
12067
14
            { "IP GWE Message New Sip User Agent Handle", "c15.inc_gwe.chg_hndl.ip_gwe_new_hndl",
12068
14
            FT_UINT32, BASE_HEX,
12069
14
            NULL,
12070
14
            0x0, NULL, HFILL}
12071
14
        },
12072
14
        { &hf_c15ch_inc_gwe_chg_hndl,
12073
14
            { "C15 Incoming GWE Change Handle", "c15.inc_gwe.chg_hndl",
12074
14
            FT_PROTOCOL, BASE_NONE,
12075
14
            NULL,
12076
14
            0x0, NULL, HFILL}
12077
14
        },
12078
14
        { &hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_sua_hndl,
12079
14
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.subs_chg_hndl.ip_gwe_sua_hndl",
12080
14
            FT_UINT32, BASE_HEX,
12081
14
            NULL,
12082
14
            0x0, NULL, HFILL}
12083
14
        },
12084
14
        { &hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_new_hndl,
12085
14
            { "IP GWE Message New Sip User Agent Handle", "c15.inc_gwe.subs_chg_hndl.ip_gwe_new_hndl",
12086
14
            FT_UINT32, BASE_HEX,
12087
14
            NULL,
12088
14
            0x0, NULL, HFILL}
12089
14
        },
12090
14
        { &hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_med_ni,
12091
14
            { "IP GWE Med NI", "c15.inc_gwe.subs_chg_hndl.ip_gwe_med_ni",
12092
14
            FT_UINT32, BASE_HEX,
12093
14
            NULL,
12094
14
            0x0, NULL, HFILL}
12095
14
        },
12096
14
        { &hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_med_tn,
12097
14
            { "IP GWE Med TN", "c15.inc_gwe.subs_chg_hndl.ip_gwe_med_TN",
12098
14
            FT_UINT32, BASE_HEX,
12099
14
            NULL,
12100
14
            0x0, NULL, HFILL}
12101
14
        },
12102
14
        { &hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_med_ni_tn,
12103
14
            {"IP GWE Med NI/TN", "c15.inc_gwe.subs_chg_hndl.ip_gwe_med_ni_tn",
12104
14
            FT_UINT64, BASE_HEX,
12105
14
            NULL,
12106
14
            0x0, NULL, HFILL }
12107
14
        },
12108
14
        { &hf_c15ch_inc_gwe_subs_chg_hndl,
12109
14
            {"C15 Incoming GWE Subscription Change Handle", "c15.inc_gwe.subs_chg_hndl",
12110
14
            FT_PROTOCOL, BASE_NONE,
12111
14
            NULL,
12112
14
            0x0, NULL, HFILL }
12113
14
        },
12114
14
        { &hf_c15ch_inc_gwe_info_ip_gwe_sua_hndl,
12115
14
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.info.ip_gwe_sua_hndl",
12116
14
            FT_UINT32, BASE_HEX,
12117
14
            NULL,
12118
14
            0x0, NULL, HFILL}
12119
14
        },
12120
14
        { &hf_c15ch_inc_gwe_info_ip_gwe_info_type,
12121
14
            { "IP GWE Info Type", "c15.inc_gwe.info.ip_gwe_info_type",
12122
14
            FT_UINT8, BASE_DEC,
12123
14
            NULL,
12124
14
            0x0, NULL, HFILL}
12125
14
        },
12126
14
        { &hf_c15ch_inc_gwe_info_ip_gwe_info_digit,
12127
14
            { "IP GWE Info Digit", "c15.inc_gwe.info.ip_gwe_info_digit",
12128
14
            FT_UINT32, BASE_DEC,
12129
14
            NULL,
12130
14
            0x0, NULL, HFILL}
12131
14
        },
12132
14
        { &hf_c15ch_inc_gwe_info_encap_isup_msg_type,
12133
14
            { "IP GWE Encapsulated ISUP Message Type", "c15.inc_gwe.info.encap_isup_msg_type",
12134
14
            FT_UINT8, BASE_DEC,
12135
14
            VALS( c15ch_inc_gwe_info_encap_isup_msg_types ),
12136
14
            0x0, NULL, HFILL}
12137
14
        },
12138
14
        { &hf_c15ch_inc_gwe_info,
12139
14
            { "C15 Incoming GWE Info", "c15.inc_gwe.info",
12140
14
            FT_PROTOCOL, BASE_NONE,
12141
14
            NULL,
12142
14
            0x0, NULL, HFILL}
12143
14
        },
12144
14
        { &hf_c15ch_inc_gwe_inv_repl_ip_gwe_sua_hndl,
12145
14
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.inv_repl.ip_gwe_sua_hndl",
12146
14
            FT_UINT32, BASE_HEX,
12147
14
            NULL,
12148
14
            0x0, NULL, HFILL}
12149
14
        },
12150
14
        { &hf_c15ch_inc_gwe_inv_repl_ip_gwe_conn_num,
12151
14
            { "IP GWE Connection Number", "c15.inc_gwe.inv_repl.ip_gwe_conn_num",
12152
14
            FT_UINT32, BASE_DEC,
12153
14
            NULL,
12154
14
            0x0, NULL, HFILL}
12155
14
        },
12156
14
        { &hf_c15ch_inc_gwe_inv_repl_ip_inv_repl_rsdp_ip,
12157
14
            { "IP Inv Repl RSDP IP", "c15.inc_gwe.inv_repl.ip_gwe_inv_repl_rsdp_ip",
12158
14
            FT_IPv4, BASE_NONE,
12159
14
            NULL,
12160
14
            0x0, NULL, HFILL}
12161
14
        },
12162
14
        { &hf_c15ch_inc_gwe_inv_repl_ip_inv_repl_rsdp_port,
12163
14
            { "IP Inv Repl RSDP Port", "c15.inc_gwe.inv_repl.ip_gwe_inv_repl_rsdp_port",
12164
14
            FT_UINT32, BASE_DEC,
12165
14
            NULL,
12166
14
            0x0, NULL, HFILL}
12167
14
        },
12168
14
        { &hf_c15ch_inc_gwe_inv_repl,
12169
14
            { "C15 Incoming GWE Inv Repl", "c15.inc_gwe.inv_repl",
12170
14
            FT_PROTOCOL, BASE_NONE,
12171
14
            NULL,
12172
14
            0x0, NULL, HFILL}
12173
14
        },
12174
14
        { &hf_c15ch_inc_gwe_admn_dn_ip_gwe_sua_hndl,
12175
14
            { "IP GWE SipUserAgent Handle", "c15.inc_gwe.admn_dn.ip_gwe_sua_hndl",
12176
14
            FT_UINT32, BASE_HEX,
12177
14
            NULL,
12178
14
            0x0, NULL, HFILL}
12179
14
        },
12180
14
        { &hf_c15ch_inc_gwe_admn_dn_ip_gwe_digits,
12181
14
            { "IP GWE Digits", "c15.inc_gwe.admn_dn.ip_gwe_digits",
12182
14
            FT_STRINGZ, BASE_NONE,
12183
14
            NULL,
12184
14
            0x0, NULL, HFILL}
12185
14
        },
12186
14
        { &hf_c15ch_inc_gwe_admn_dn,
12187
14
            { "C15 Incoming GWE Admn DN", "c15.inc_gwe.admn_dn",
12188
14
            FT_PROTOCOL, BASE_NONE,
12189
14
            NULL,
12190
14
            0x0, NULL, HFILL}
12191
14
        },
12192
14
        { &hf_c15ch_inc_gwe_sua_reply_ip_gwe_sua_hndl,
12193
14
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.sua_reply.ip_gwe_sua_hndl",
12194
14
            FT_UINT32, BASE_HEX,
12195
14
            NULL,
12196
14
            0x0, NULL, HFILL}
12197
14
        },
12198
14
        { &hf_c15ch_inc_gwe_sua_reply_ip_gwe_msg_type,
12199
14
            { "IP GWE Message Type", "c15.inc_gwe.sua_reply.ip_gwe_msg_type",
12200
14
            FT_UINT32, BASE_DEC,
12201
14
            NULL,
12202
14
            0x0, NULL, HFILL}
12203
14
        },
12204
14
        { &hf_c15ch_inc_gwe_sua_reply_ip_gwe_stat_code,
12205
14
            { "IP GWE Stat Code", "c15.inc_gwe.sua_reply.ip_gwe_stat_code",
12206
14
            FT_UINT32, BASE_DEC,
12207
14
            NULL,
12208
14
            0x0, NULL, HFILL}
12209
14
        },
12210
14
        { &hf_c15ch_inc_gwe_sua_reply_ip_gwe_conn_num,
12211
14
            { "IP GWE Connection Number", "c15.inc_gwe.sua_reply.ip_gwe_conn_num",
12212
14
            FT_UINT32, BASE_DEC,
12213
14
            NULL,
12214
14
            0x0, NULL, HFILL}
12215
14
        },
12216
14
        { &hf_c15ch_inc_gwe_sua_reply_nw_mdcn_lsdp_ip,
12217
14
            { "NW MDCN LSDP IP", "c15.inc_gwe.sua_reply.nw_mdcn_lsdp_ip",
12218
14
            FT_IPv4, BASE_NONE,
12219
14
            NULL,
12220
14
            0x0, NULL, HFILL}
12221
14
        },
12222
14
        { &hf_c15ch_inc_gwe_sua_reply_nw_mdcn_lsdp_port,
12223
14
            { "NW MDCN LSDP Port", "c15.inc_gwe.sua_reply.nw_mdcn_lsdp_port",
12224
14
            FT_UINT32, BASE_DEC,
12225
14
            NULL,
12226
14
            0x0, NULL, HFILL}
12227
14
        },
12228
14
        { &hf_c15ch_inc_gwe_sua_reply_nw_mdcn_rsdp_ip,
12229
14
            { "NW MDCN RSDP IP", "c15.inc_gwe.sua_reply.nw_mdcn_rsdp_ip",
12230
14
            FT_IPv4, BASE_NONE,
12231
14
            NULL,
12232
14
            0x0, NULL, HFILL}
12233
14
        },
12234
14
        { &hf_c15ch_inc_gwe_sua_reply_nw_mdcn_rsdp_port,
12235
14
            { "NW MDCN RSDP Port", "c15.inc_gwe.sua_reply.nw_mdcn_rsdp_port",
12236
14
            FT_UINT32, BASE_DEC,
12237
14
            NULL,
12238
14
            0x0, NULL, HFILL}
12239
14
        },
12240
14
        { &hf_c15ch_inc_gwe_sua_reply,
12241
14
            { "C15 Incoming GWE Sip User Agent Reply", "c15.inc_gwe.sua_reply",
12242
14
            FT_PROTOCOL, BASE_NONE,
12243
14
            NULL,
12244
14
            0x0, NULL, HFILL}
12245
14
        },
12246
14
        { &hf_c15ch_inc_gwe_sua_hndl_ip_gwe_sua_hndl,
12247
14
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.sua_hndl.ip_gwe_sua_hndl",
12248
14
            FT_UINT32, BASE_HEX,
12249
14
            NULL,
12250
14
            0x0, NULL, HFILL}
12251
14
        },
12252
14
        { &hf_c15ch_inc_gwe_sua_hndl,
12253
14
            { "C15 Incoming GWE Sip User Agent Handle", "c15.inc_gwe.sua_hndl",
12254
14
            FT_PROTOCOL, BASE_NONE,
12255
14
            NULL,
12256
14
            0x0, NULL, HFILL}
12257
14
        },
12258
14
        { &hf_c15ch_inc_gwe_tgh_stat_ip_gwe_sua_hndl,
12259
14
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.sua_tgh_stat.ip_gwe_sua_hndl",
12260
14
            FT_UINT32, BASE_HEX,
12261
14
            NULL,
12262
14
            0x0, NULL, HFILL}
12263
14
        },
12264
14
        { &hf_c15ch_inc_gwe_tgh_stat_ip_gwe_tgh_state,
12265
14
            { "IP GWE TGH State", "c15.inc_gwe.sua_tgh_stat.ip_gwe_tgh_state",
12266
14
            FT_UINT8, BASE_HEX,
12267
14
            VALS( tgh_state_types ),
12268
14
            0x0, NULL, HFILL}
12269
14
        },
12270
14
        { &hf_c15ch_inc_gwe_tgh_stat,
12271
14
            { "C15 Incoming GWE Sipu User Agent TGH State", "c15.inc_gwe.sua_tgh_stat",
12272
14
            FT_PROTOCOL, BASE_NONE,
12273
14
            NULL,
12274
14
            0x0, NULL, HFILL}
12275
14
        }
12276
14
    };
12277
12278
14
    static int *ett_third_level_inc_gwe[] = {
12279
14
        &ett_c15ch_third_level_inc_gwe,
12280
14
        &ett_c15ch_third_level_inc_gwe_sub1
12281
14
    };
12282
12283
14
    static hf_register_info hf_third_level_out_gwe[] = {
12284
       /* TODO */
12285
14
        { &hf_c15ch_out_gwe_digit_scan_voip_dgmp_override,
12286
14
            { "VOIP DGMP Override", "c15.out_gwe.digit_scan.voip_dgmp_override",
12287
14
            FT_UINT32, BASE_DEC,
12288
14
            NULL,
12289
14
            0x0, NULL, HFILL}
12290
14
        },
12291
14
        { &hf_c15ch_out_gwe_digit_scan_actv_dgmp,
12292
14
            { "Actv DGMP", "c15.out_gwe.digit_scan.actv_dgmp",
12293
14
            FT_STRINGZ, BASE_NONE,
12294
14
            NULL,
12295
14
            0x0, NULL, HFILL}
12296
14
        },
12297
14
        { &hf_c15ch_out_gwe_digit_scan_op_gwe_digit_scan_tone,
12298
14
            { "OP GWE Digit Scan Tone", "c15.out_gwe.digit_scan.op_gwe_digit_scan_tone",
12299
14
            FT_UINT8, BASE_DEC,
12300
14
            NULL,
12301
14
            0x0, NULL, HFILL}
12302
14
        },
12303
14
        { &hf_c15ch_out_gwe_digit_scan_op_gwe_tone_type,
12304
14
            { "OP GWE Digit Tone Type", "c15.out_gwe.digit_scan.op_gwe_digit_tone_type",
12305
14
            FT_UINT8, BASE_DEC,
12306
14
            NULL,
12307
14
            0x0, NULL, HFILL}
12308
14
        },
12309
14
        { &hf_c15ch_out_gwe_digit_scan_op_gwe_tone_to,
12310
14
            { "OP GWE Digit Tone To", "c15.out_gwe.digit_scan.op_gwe_digit_tone_to",
12311
14
            FT_UINT8, BASE_DEC,
12312
14
            NULL,
12313
14
            0x0, NULL, HFILL}
12314
14
        },
12315
14
        { &hf_c15ch_out_gwe_digit_scan_op_gwe_digit_flash,
12316
14
            { "OP GWE Digit Flash", "c15.out_gwe.digit_scan.op_gwe_digit_flash",
12317
14
            FT_UINT8, BASE_DEC,
12318
14
            NULL,
12319
14
            0x0, NULL, HFILL}
12320
14
        },
12321
14
        { &hf_c15ch_out_gwe_digit_scan,
12322
14
            { "C15 Outgoing GWE Digit Scan", "c15.out_gwe.digit_scan",
12323
14
            FT_PROTOCOL, BASE_NONE,
12324
14
            NULL,
12325
14
            0x0, NULL, HFILL}
12326
14
        },
12327
14
        { &hf_c15ch_out_gwe_conn_num_out_gwe_conn_num,
12328
14
            { "Outgoing GWE Connection Number", "c15.out_gwe.conn_num.out_gwe_conn_num",
12329
14
            FT_UINT32, BASE_DEC,
12330
14
            NULL,
12331
14
            0x0, NULL, HFILL}
12332
14
        },
12333
14
        { &hf_c15ch_out_gwe_conn_num,
12334
14
            { "C15 Outgoing GWE Connection Number", "c15.out_gwe.conn_num",
12335
14
            FT_PROTOCOL, BASE_NONE,
12336
14
            NULL,
12337
14
            0x0, NULL, HFILL}
12338
14
        },
12339
14
        { &hf_c15ch_out_gwe_mk_conn_conn_num,
12340
14
            { "Connection Number", "c15.out_gwe.mk_conn.conn_num",
12341
14
            FT_UINT32, BASE_DEC,
12342
14
            NULL,
12343
14
            0x0, NULL, HFILL}
12344
14
        },
12345
14
        { &hf_c15ch_out_gwe_mk_conn_op_mk_conn_rsdp_ip,
12346
14
            { "OP MK Conn RSDP IP", "c15.out_gwe.mk_conn.op_mk_conn_rsdp_ip",
12347
14
            FT_IPv4, BASE_NONE,
12348
14
            NULL,
12349
14
            0x0, NULL, HFILL}
12350
14
        },
12351
14
        { &hf_c15ch_out_gwe_mk_conn_op_mk_conn_rsdp_port,
12352
14
            { "OP MK Conn RSDP Port", "c15.out_gwe.mk_conn.op_mk_conn_rsdp_port",
12353
14
            FT_UINT32, BASE_DEC,
12354
14
            NULL,
12355
14
            0x0, NULL, HFILL}
12356
14
        },
12357
14
        { &hf_c15ch_out_gwe_mk_conn,
12358
14
            { "C15 Outgoing GWE Mk Connection", "c15.out_gwe.mk_conn",
12359
14
            FT_PROTOCOL, BASE_NONE,
12360
14
            NULL,
12361
14
            0x0, NULL, HFILL}
12362
14
        },
12363
14
        { &hf_c15ch_out_gwe_md_conn_conn_num,
12364
14
            { "Connection Number", "c15.out_gwe.md_conn.conn_num",
12365
14
            FT_UINT32, BASE_DEC,
12366
14
            NULL,
12367
14
            0x0, NULL, HFILL}
12368
14
        },
12369
14
        { &hf_c15ch_out_gwe_md_conn_status_code,
12370
14
            { "Status Code", "c15.out_gwe.md_conn.status_code",
12371
14
            FT_UINT8, BASE_DEC,
12372
14
            NULL,
12373
14
            0x0, NULL, HFILL}
12374
14
        },
12375
14
        { &hf_c15ch_out_gwe_md_conn_op_gwe_mode,
12376
14
            { "OP GWE Mode", "c15.out_gwe.md_conn.op_md_conn_op_gwe_mode",
12377
14
            FT_UINT8, BASE_DEC,
12378
14
            NULL,
12379
14
            0x0, NULL, HFILL}
12380
14
        },
12381
14
        { &hf_c15ch_out_gwe_md_conn,
12382
14
            { "C15 Outgoing GWE MD Connection", "c15.out_gwe.md_conn",
12383
14
            FT_PROTOCOL, BASE_NONE,
12384
14
            NULL,
12385
14
            0x0, NULL, HFILL}
12386
14
        },
12387
14
        { &hf_c15ch_out_gwe_call_ans_conn_num,
12388
14
            { "Connection Number", "c15.out_gwe.call_ans.conn_num",
12389
14
            FT_UINT32, BASE_DEC,
12390
14
            NULL,
12391
14
            0x0, NULL, HFILL}
12392
14
        },
12393
14
        { &hf_c15ch_out_gwe_call_ans_op_cl_ans_rsdp_ip,
12394
14
            { "OP Call Answer RSDP IP", "c15.out_gwe.call_ans.op_cl_ans_rsdp_ip",
12395
14
            FT_IPv4, BASE_NONE,
12396
14
            NULL,
12397
14
            0x0, NULL, HFILL}
12398
14
        },
12399
14
        { &hf_c15ch_out_gwe_call_ans_op_cl_ans_rsdp_port,
12400
14
            { "OP Call Answer RSDP Port", "c15.out_gwe.call_ans.op_cl_ans_rsdp_port",
12401
14
            FT_UINT32, BASE_DEC,
12402
14
            NULL,
12403
14
            0x0, NULL, HFILL}
12404
14
        },
12405
14
        { &hf_c15ch_out_gwe_call_ans_encap_isup,
12406
14
            { "Encapsulated ISUP", "c15.out_gwe.call_ans.encap_isup",
12407
14
            FT_UINT8, BASE_DEC,
12408
14
            NULL,
12409
14
            0x0, NULL, HFILL}
12410
14
        },
12411
14
        { &hf_c15ch_out_gwe_call_ans,
12412
14
            { "C15 Outgoing GWE Call Answer", "c15.out_gwe.call_ans",
12413
14
            FT_PROTOCOL, BASE_NONE,
12414
14
            NULL,
12415
14
            0x0, NULL, HFILL}
12416
14
        },
12417
14
        { &hf_c15ch_out_gwe_call_setup_conn_num,
12418
14
            { "Connection Number", "c15.out_gwe.call_setup.conn_num",
12419
14
            FT_UINT32, BASE_HEX,
12420
14
            NULL,
12421
14
            0x0, NULL, HFILL}
12422
14
        },
12423
14
        { &hf_c15ch_out_gwe_call_setup_op_cl_ans_rsdp_ip,
12424
14
            { "OP Cl Ans RSDP IP", "c15.out_gwe.call_setup.op_cl_ans_rsdp_ip",
12425
14
            FT_IPv4, BASE_NONE,
12426
14
            NULL,
12427
14
            0x0, NULL, HFILL}
12428
14
        },
12429
14
        { &hf_c15ch_out_gwe_call_setup_op_cl_ans_rsdp_port,
12430
14
            { "OP Cl Ans RSDP Port", "c15.out_gwe.call_setup.op_cl_ans_rsdp_port",
12431
14
            FT_UINT32, BASE_DEC,
12432
14
            NULL,
12433
14
            0x0, NULL, HFILL}
12434
14
        },
12435
14
        { &hf_c15ch_out_gwe_call_setup_op_gwe_redir_digits,
12436
14
            { "OP GWE Redir Digits", "c15.out_gwe.call_setup.op_gwe_redir_digits",
12437
14
            FT_STRINGZ, BASE_NONE,
12438
14
            NULL,
12439
14
            0x0, NULL, HFILL}
12440
14
        },
12441
14
        { &hf_c15ch_out_gwe_call_setup_op_gwe_rdir_ton,
12442
14
            { "OP GWE Redirect TON", "c15.out_gwe.call_setup.op_gwe_rdir_ton",
12443
14
            FT_UINT8, BASE_DEC,
12444
14
            NULL,
12445
14
            0x0, NULL, HFILL}
12446
14
        },
12447
14
        { &hf_c15ch_out_gwe_call_setup_op_gwe_rdir_np,
12448
14
            { "OP GWE Redirect NP", "c15.out_gwe.call_setup.op_gwe_rdir_np",
12449
14
            FT_UINT8, BASE_DEC,
12450
14
            NULL,
12451
14
            0x0, NULL, HFILL}
12452
14
        },
12453
14
        { &hf_c15ch_out_gwe_call_setup_op_gwe_ocn_digits,
12454
14
            { "OP GWE OCN Digits", "c15.out_gwe.call_setup.op_gwe_ocn_digits",
12455
14
            FT_STRINGZ, BASE_NONE,
12456
14
            NULL,
12457
14
            0x0, NULL, HFILL}
12458
14
        },
12459
14
        { &hf_c15ch_out_gwe_call_setup_op_gwe_chrg_digits,
12460
14
            { "OP GWE CHRG Digits", "c15.out_gwe.call_setup.op_gwe_chrg_digits",
12461
14
            FT_STRINGZ, BASE_NONE,
12462
14
            NULL,
12463
14
            0x0, NULL, HFILL}
12464
14
        },
12465
14
        { &hf_c15ch_out_gwe_call_setup_op_gwe_chrg_noa,
12466
14
            { "OP GWE CHRG NOA", "c15.out_gwe.call_setup.op_gwe_chrg_noa",
12467
14
            FT_UINT8, BASE_DEC,
12468
14
            NULL,
12469
14
            0x0, NULL, HFILL}
12470
14
        },
12471
14
        { &hf_c15ch_out_gwe_call_setup_op_gwe_chrg_npi,
12472
14
            { "OP GWE CHRG NPI", "c15.out_gwe.call_setup.op_gwe_chrg_npi",
12473
14
            FT_UINT8, BASE_DEC,
12474
14
            NULL,
12475
14
            0x0, NULL, HFILL}
12476
14
        },
12477
14
        { &hf_c15ch_out_gwe_call_setup_encap_isup,
12478
14
            { "Encapsulated ISUP", "c15.out_gwe.call_setup.encap_isup",
12479
14
            FT_UINT8, BASE_DEC,
12480
14
            NULL,
12481
14
            0x0, NULL, HFILL}
12482
14
        },
12483
14
        { &hf_c15ch_out_gwe_call_setup,
12484
14
            { "C15 Outgoing GWE Call Setup", "c15.out_gwe.call_setup",
12485
14
            FT_PROTOCOL, BASE_NONE,
12486
14
            NULL,
12487
14
            0x0, NULL, HFILL}
12488
14
        },
12489
14
        { &hf_c15ch_out_gwe_call_prog_conn_num,
12490
14
            { "Connection Number", "c15.out_gwe.call_prog.conn_num",
12491
14
            FT_UINT32, BASE_DEC,
12492
14
            NULL,
12493
14
            0x0, NULL, HFILL}
12494
14
        },
12495
14
        { &hf_c15ch_out_gwe_call_prog_op_gwe_stat_code,
12496
14
            { "OP GWE Stat Code", "c15.out_gwe.call_prog.op_gwe_stat_code",
12497
14
            FT_UINT32, BASE_DEC,
12498
14
            NULL,
12499
14
            0x0, NULL, HFILL}
12500
14
        },
12501
14
        { &hf_c15ch_out_gwe_call_prog_encap_isup,
12502
14
            { "Encapsulated ISUP", "c15.out_gwe.call_prog.encap_isup",
12503
14
            FT_UINT8, BASE_DEC,
12504
14
            NULL,
12505
14
            0x0, NULL, HFILL}
12506
14
        },
12507
14
        { &hf_c15ch_out_gwe_call_prog,
12508
14
            { "C15 Outgoing GWE Call Prog", "c15.out_gwe.call_prog",
12509
14
            FT_PROTOCOL, BASE_NONE,
12510
14
            NULL,
12511
14
            0x0, NULL, HFILL}
12512
14
        },
12513
14
        { &hf_c15ch_out_gwe_call_notify_op_gwe_mwi,
12514
14
            { "OP GWE MWI", "c15.out_gwe.call_notify.op_gwe_mwi",
12515
14
            FT_UINT32, BASE_DEC,
12516
14
            NULL,
12517
14
            0x0, NULL, HFILL}
12518
14
        },
12519
14
        { &hf_c15ch_out_gwe_call_notify_status_code,
12520
14
            { "Status Code", "c15.out_gwe.call_notify.status_code",
12521
14
            FT_UINT32, BASE_DEC,
12522
14
            NULL,
12523
14
            0x0, NULL, HFILL}
12524
14
        },
12525
14
        { &hf_c15ch_out_gwe_call_notify,
12526
14
            { "C15 Outgoing GWE Call Notify", "c15.out_gwe.call_notify",
12527
14
            FT_PROTOCOL, BASE_NONE,
12528
14
            NULL,
12529
14
            0x0, NULL, HFILL}
12530
14
        },
12531
14
        { &hf_c15ch_out_gwe_call_rel_status_code,
12532
14
            { "Status Code", "c15.out_gwe.call_rel.status_code",
12533
14
            FT_UINT32, BASE_DEC,
12534
14
            NULL,
12535
14
            0x0, NULL, HFILL}
12536
14
        },
12537
14
        { &hf_c15ch_out_gwe_call_rel_encap_isup,
12538
14
            { "Encapsulated ISUP", "c15.out_gwe.call_rel.encap_isup",
12539
14
            FT_UINT8, BASE_DEC,
12540
14
            NULL,
12541
14
            0x0, NULL, HFILL}
12542
14
        },
12543
14
        { &hf_c15ch_out_gwe_call_rel,
12544
14
            { "C15 Outgoing GWE Call Release", "c15.out_gwe.call_rel",
12545
14
            FT_PROTOCOL, BASE_NONE,
12546
14
            NULL,
12547
14
            0x0, NULL, HFILL}
12548
14
        },
12549
14
        { &hf_c15ch_out_gwe_update_ni_tn_ni,
12550
14
            { "NI", "c15.out_gwe.update_ni_tn.ni",
12551
14
            FT_UINT32, BASE_HEX,
12552
14
            NULL,
12553
14
            0x0, NULL, HFILL}
12554
14
        },
12555
14
        { &hf_c15ch_out_gwe_update_ni_tn_tn,
12556
14
            { "TN", "c15.out_gwe.update_ni_tn.tn",
12557
14
            FT_UINT32, BASE_HEX,
12558
14
            NULL,
12559
14
            0x0, NULL, HFILL}
12560
14
        },
12561
14
        { &hf_c15ch_out_gwe_update_ni_tn_ni_tn,
12562
14
            { "TN", "c15.out_gwe.update_ni_tn.ni_tn",
12563
14
            FT_UINT64, BASE_HEX,
12564
14
            NULL,
12565
14
            0x0, NULL, HFILL}
12566
14
        },
12567
14
        { &hf_c15ch_out_gwe_update_ni_tn,
12568
14
            { "C15 Outgoing GWE Update NI and TN", "c15.out_gwe.update_ni_tn",
12569
14
            FT_PROTOCOL, BASE_NONE,
12570
14
            NULL,
12571
14
            0x0, NULL, HFILL}
12572
14
        },
12573
14
        { &hf_c15ch_out_gwe_pcm_data_rb_ua_handle_near,
12574
14
            { "RB User Agent Handle (Near)", "c15.out_gwe.pcm_data.rb_ua_handle_near",
12575
14
            FT_UINT32, BASE_HEX,
12576
14
            NULL,
12577
14
            0x0, NULL, HFILL}
12578
14
        },
12579
14
        { &hf_c15ch_out_gwe_pcm_data_rb_ua_handle_far,
12580
14
            { "RB User Agent Handle (Far)", "c15.out_gwe.pcm_data.rb_ua_handle_far",
12581
14
            FT_UINT32, BASE_HEX,
12582
14
            NULL,
12583
14
            0x0, NULL, HFILL}
12584
14
        },
12585
14
        { &hf_c15ch_out_gwe_pcm_data,
12586
14
            { "C15 Outgoing GWE PCM Data", "c15.out_gwe.pcm_data",
12587
14
            FT_PROTOCOL, BASE_NONE,
12588
14
            NULL,
12589
14
            0x0, NULL, HFILL}
12590
14
        },
12591
14
        { &hf_c15ch_out_gwe_blf_data_rb_ua_handle,
12592
14
            { "RB User Agent Handle", "c15.out_gwe.blf_data.rb_ua_handle",
12593
14
            FT_UINT32, BASE_HEX,
12594
14
            NULL,
12595
14
            0x0, NULL, HFILL}
12596
14
        },
12597
14
        { &hf_c15ch_out_gwe_blf_data_rb_type,
12598
14
            { "RB Type", "c15.out_gwe.blf_data.rb_type",
12599
14
            FT_UINT8, BASE_DEC,
12600
14
            NULL,
12601
14
            0x0, NULL, HFILL}
12602
14
        },
12603
14
        { &hf_c15ch_out_gwe_blf_data_med_ni,
12604
14
            { "Med NI", "c15.out_gwe.blf_data.med_ni",
12605
14
            FT_UINT32, BASE_HEX,
12606
14
            NULL,
12607
14
            0x0, NULL, HFILL}
12608
14
        },
12609
14
        { &hf_c15ch_out_gwe_blf_data_med_tn,
12610
14
            { "Med TN", "c15.out_gwe.blf_data.med_tn",
12611
14
            FT_UINT32, BASE_HEX,
12612
14
            NULL,
12613
14
            0x0, NULL, HFILL}
12614
14
        },
12615
14
        { &hf_c15ch_out_gwe_blf_data_med_ni_tn,
12616
14
            {"Med NI/TN", "c15.out_gwe.blf_data.med_ni_tn",
12617
14
            FT_UINT64, BASE_HEX,
12618
14
            NULL,
12619
14
            0x0, NULL, HFILL }
12620
14
        },
12621
14
        { &hf_c15ch_out_gwe_blf_data_rb_ni,
12622
14
            { "RB NI", "c15.out_gwe.blf_data.rb_ni",
12623
14
            FT_UINT32, BASE_HEX,
12624
14
            NULL,
12625
14
            0x0, NULL, HFILL}
12626
14
        },
12627
14
        { &hf_c15ch_out_gwe_blf_data_rb_tn,
12628
14
            { "RB TN", "c15.out_gwe.blf_data.rb_tn",
12629
14
            FT_UINT32, BASE_HEX,
12630
14
            NULL,
12631
14
            0x0, NULL, HFILL}
12632
14
        },
12633
14
        { &hf_c15ch_out_gwe_blf_data_rb_ni_tn,
12634
14
            {"RB NI/TN", "c15.out_gwe.blf_data.rb_ni_tn",
12635
14
            FT_UINT64, BASE_HEX,
12636
14
            NULL,
12637
14
            0x0, NULL, HFILL }
12638
14
        },
12639
14
        { &hf_c15ch_out_gwe_blf_data,
12640
14
            {"C15 Outgoing GWE BLF Data", "c15.out_gwe.blf_data",
12641
14
            FT_PROTOCOL, BASE_NONE,
12642
14
            NULL,
12643
14
            0x0, NULL, HFILL }
12644
14
        },
12645
14
       { &hf_c15ch_out_gwe_out_cot_ni,
12646
14
            { "NI", "c15.out_gwe.out_cot.ni",
12647
14
            FT_UINT32, BASE_HEX,
12648
14
            NULL,
12649
14
            0x0, NULL, HFILL}
12650
14
        },
12651
14
        { &hf_c15ch_out_gwe_out_cot_tn,
12652
14
            { "TN", "c15.out_gwe.out_cot.tn",
12653
14
            FT_UINT32, BASE_HEX,
12654
14
            NULL,
12655
14
            0x0, NULL, HFILL}
12656
14
        },
12657
14
        { &hf_c15ch_out_gwe_out_cot_ni_tn,
12658
14
            {"NI/TN", "c15.out_gwe.out_cot.ni_tn",
12659
14
            FT_UINT64, BASE_HEX,
12660
14
            NULL,
12661
14
            0x0, NULL, HFILL }
12662
14
        },
12663
14
        { &hf_c15ch_out_gwe_out_cot,
12664
14
            {"C15 Outgoing GWE Out COT", "c15.out_gwe.out_cot",
12665
14
            FT_PROTOCOL, BASE_NONE,
12666
14
            NULL,
12667
14
            0x0, NULL, HFILL }
12668
14
        },
12669
14
        { &hf_c15ch_out_gwe_ring_line_op_gwe_display,
12670
14
            { "OP GWE Display", "c15.out_gwe.ring_line.op_gwe_display",
12671
14
            FT_UINT8, BASE_DEC,
12672
14
            NULL,
12673
14
            0x0, NULL, HFILL}
12674
14
        },
12675
14
        { &hf_c15ch_out_gwe_ring_line_op_gwe_display_chars,
12676
14
            { "OP GWE Display Chars", "c15.out_gwe.ring_line.op_gwe_display_chars",
12677
14
            FT_STRINGZ, BASE_NONE,
12678
14
            NULL,
12679
14
            0x0, NULL, HFILL}
12680
14
        },
12681
14
        { &hf_c15ch_out_gwe_ring_line,
12682
14
            { "C15 Outgoing GWE Ring Line", "c15.out_gwe.ring_line",
12683
14
            FT_PROTOCOL, BASE_NONE,
12684
14
            NULL,
12685
14
            0x0, NULL, HFILL}
12686
14
        },
12687
14
        { &hf_c15ch_out_gwe_audit_conn_ni,
12688
14
            { "NI", "c15.out_gwe.audit_conn.ni",
12689
14
            FT_UINT32, BASE_HEX,
12690
14
            NULL,
12691
14
            0x0, NULL, HFILL}
12692
14
        },
12693
14
        { &hf_c15ch_out_gwe_audit_conn_tn,
12694
14
            { "TN", "c15.out_gwe.audit_conn.tn",
12695
14
            FT_UINT32, BASE_HEX,
12696
14
            NULL,
12697
14
            0x0, NULL, HFILL}
12698
14
        },
12699
14
        { &hf_c15ch_out_gwe_audit_conn_ni_tn,
12700
14
            {"NI/TN", "c15.out_gwe.audit_conn.ni_tn",
12701
14
            FT_UINT64, BASE_HEX,
12702
14
            NULL,
12703
14
            0x0, NULL, HFILL }
12704
14
        },
12705
14
        { &hf_c15ch_out_gwe_audit_conn_context,
12706
14
            { "Context", "c15.out_gwe.audit_conn.context",
12707
14
            FT_UINT32, BASE_DEC,
12708
14
            NULL,
12709
14
            0x0, NULL, HFILL}
12710
14
        },
12711
14
        { &hf_c15ch_out_gwe_audit_conn,
12712
14
            { "C15 Outgoing GWE Audit Connection", "c15.out_gwe.audit_conn",
12713
14
            FT_PROTOCOL, BASE_NONE,
12714
14
            NULL,
12715
14
            0x0, NULL, HFILL}
12716
14
        },
12717
14
        { &hf_c15ch_out_gwe_sac_sub_valid_op_gwe_subs_valid,
12718
14
            { "OP GWE Subs Valid", "c15.out_gwe.sac_sub_valid.op_gwe_subs_valid",
12719
14
            FT_UINT8, BASE_DEC,
12720
14
            NULL,
12721
14
            0x0, NULL, HFILL}
12722
14
        },
12723
14
        { &hf_c15ch_out_gwe_sac_sub_valid_op_gwe_num_list_items,
12724
14
            { "OP GWE Num List Items", "c15.out_gwe.sac_sub_valid.op_gwe_num_list_items",
12725
14
            FT_UINT32, BASE_DEC,
12726
14
            NULL,
12727
14
            0x0, NULL, HFILL}
12728
14
        },
12729
14
        { &hf_c15ch_out_gwe_sac_sub_valid,
12730
14
            { "C15 Outgoing GWE SAC Subscription Valid", "c15.out_gwe.sac_sub_valid",
12731
14
            FT_PROTOCOL, BASE_NONE,
12732
14
            NULL,
12733
14
            0x0, NULL, HFILL}
12734
14
        },
12735
14
        { &hf_c15ch_out_gwe_sac_notify_op_gwe_blf_state,
12736
14
            { "OP GWE BLF State", "c15.out_gwe.sac_notify.op_gwe_blf_state",
12737
14
            FT_UINT8, BASE_DEC,
12738
14
            NULL,
12739
14
            0x0, NULL, HFILL}
12740
14
        },
12741
14
        { &hf_c15ch_out_gwe_sac_notify_op_gwe_subs_state,
12742
14
            { "OP GWE Subscription State", "c15.out_gwe.sac_notify.op_gwe_subs_state",
12743
14
            FT_UINT8, BASE_DEC,
12744
14
            NULL,
12745
14
            0x0, NULL, HFILL}
12746
14
        },
12747
14
        { &hf_c15ch_out_gwe_sac_notify,
12748
14
            { "C15 Outgoing GWE SAC Notify", "c15.out_gwe.sac_notify",
12749
14
            FT_PROTOCOL, BASE_NONE,
12750
14
            NULL,
12751
14
            0x0, NULL, HFILL}
12752
14
        },
12753
14
        { &hf_c15ch_out_gwe_sac_list_entry_op_gwe_med_uri,
12754
14
            { "OP GWE Med URI", "c15.out_gwe.sac_list_entry.op_gwe_med_uri",
12755
14
            FT_STRINGZ, BASE_NONE,
12756
14
            NULL,
12757
14
            0x0, NULL, HFILL}
12758
14
        },
12759
14
        { &hf_c15ch_out_gwe_sac_list_entry,
12760
14
            { "C15 Outgoing GWE SAC List Entry", "c15.out_gwe.sac_list_entry",
12761
14
            FT_PROTOCOL, BASE_NONE,
12762
14
            NULL,
12763
14
            0x0, NULL, HFILL}
12764
14
        },
12765
14
        { &hf_c15ch_out_gwe_rv_subs_data_rb_fe_ni,
12766
14
            { "RB Fe NI", "c15.out_gwe.rv_subs_data.rb_fe_ni",
12767
14
            FT_UINT32, BASE_HEX,
12768
14
            NULL,
12769
14
            0x0, NULL, HFILL}
12770
14
        },
12771
14
        { &hf_c15ch_out_gwe_rv_subs_data_rb_fe_tn,
12772
14
            { "RB Fe TN", "c15.out_gwe.rv_subs_data.rb_fe_tn",
12773
14
            FT_UINT32, BASE_HEX,
12774
14
            NULL,
12775
14
            0x0, NULL, HFILL}
12776
14
        },
12777
14
        { &hf_c15ch_out_gwe_rv_subs_data_rb_fe_ni_tn,
12778
14
            {"Rb Fe NI/TN", "c15.out_gwe.rv_subs_data.rb_fe_ni_tn",
12779
14
            FT_UINT64, BASE_HEX,
12780
14
            NULL,
12781
14
            0x0, NULL, HFILL }
12782
14
        },
12783
14
        { &hf_c15ch_out_gwe_rv_subs_data,
12784
14
            {"C15 Outgoing GWE Radvision Subscription Data", "c15.out_gwe.rv_subs_data",
12785
14
            FT_PROTOCOL, BASE_NONE,
12786
14
            NULL,
12787
14
            0x0, NULL, HFILL }
12788
14
        },
12789
14
        { &hf_c15ch_out_gwe_update_rec_addr_op_new_rec_addr,
12790
14
            { "OP New Rec Addr", "c15.out_gwe.update_rec_addr.op_new_rec_addr",
12791
14
            FT_UINT32, BASE_HEX,
12792
14
            NULL,
12793
14
            0x0, NULL, HFILL}
12794
14
        },
12795
14
        { &hf_c15ch_out_gwe_update_rec_addr,
12796
14
            { "C15 Outgoing GWE Update Rec Address", "c15.out_gwe.update_rec_addr",
12797
14
            FT_PROTOCOL, BASE_NONE,
12798
14
            NULL,
12799
14
            0x0, NULL, HFILL}
12800
14
        },
12801
14
        { &hf_c15ch_out_gwe_del_subs_ua_op_sip_ua_hndl,
12802
14
            { "OP SIP UA Handle", "c15.out_gwe.del_subs_ua.op_sip_ua_hndl",
12803
14
            FT_UINT32, BASE_HEX,
12804
14
            NULL,
12805
14
            0x0, NULL, HFILL}
12806
14
        },
12807
14
        { &hf_c15ch_out_gwe_del_subs_ua,
12808
14
            { "C15 Outgoing GWE Delete Subscription User Agent", "c15.out_gwe.del_subs_ua",
12809
14
            FT_PROTOCOL, BASE_NONE,
12810
14
            NULL,
12811
14
            0x0, NULL, HFILL}
12812
14
        },
12813
14
        { &hf_c15ch_out_gwe_line_sprvsn_op_gwe_ofhk_event,
12814
14
            { "OP GWE Off-Hook Event", "c15.out_gwe.line_sprvsn.op_gwe_ofhk_event",
12815
14
            FT_UINT8, BASE_DEC,
12816
14
            NULL,
12817
14
            0x0, NULL, HFILL}
12818
14
        },
12819
14
        { &hf_c15ch_out_gwe_line_sprvsn_op_gwe_onhk_event,
12820
14
            { "OP GWE On-Hook Event", "c15.out_gwe.line_sprvsn.op_gwe_onhk_event",
12821
14
            FT_UINT8, BASE_DEC,
12822
14
            NULL,
12823
14
            0x0, NULL, HFILL}
12824
14
        },
12825
14
        { &hf_c15ch_out_gwe_line_sprvsn_op_gwe_flhk_event,
12826
14
            { "OP GWE Flash-Hook Event", "c15.out_gwe.line_sprvsn.op_gwe_flhk_event",
12827
14
            FT_UINT8, BASE_DEC,
12828
14
            NULL,
12829
14
            0x0, NULL, HFILL}
12830
14
        },
12831
14
        { &hf_c15ch_out_gwe_line_sprvsn,
12832
14
            { "C15 Outgoing GWE Line SPRVSN", "c15.out_gwe.line_sprvsn",
12833
14
            FT_PROTOCOL, BASE_NONE,
12834
14
            NULL,
12835
14
            0x0, NULL, HFILL}
12836
14
        },
12837
14
       { &hf_c15ch_out_gwe_sip_info_op_gwe_sip_info_type,
12838
14
            { "OP GWE SIP Info Type", "c15.out_gwe.sip_info.op_gwe_sip_info_type",
12839
14
            FT_UINT8, BASE_DEC,
12840
14
            NULL,
12841
14
            0x0, NULL, HFILL}
12842
14
        },
12843
14
        { &hf_c15ch_out_gwe_sip_info_op_gwe_sip_info,
12844
14
            { "OP GWE SIP Info", "c15.out_gwe.sip_info.op_gwe_sip_info",
12845
14
            FT_UINT32, BASE_DEC,
12846
14
            NULL,
12847
14
            0x0, NULL, HFILL}
12848
14
        },
12849
14
        { &hf_c15ch_out_gwe_sip_info,
12850
14
            { "C15 Outgoing GWE SIP Info", "c15.out_gwe.sip_info",
12851
14
            FT_PROTOCOL, BASE_NONE,
12852
14
            NULL,
12853
14
            0x0, NULL, HFILL}
12854
14
        },
12855
14
        { &hf_c15ch_out_gwe_sip_refer_op_gwe_refer_ua_hndl,
12856
14
            { "OP GWE Refer User Agent Handle", "c15.out_gwe.sip_refer.op_gwe_refer_ua_hndl",
12857
14
            FT_UINT32, BASE_HEX,
12858
14
            NULL,
12859
14
            0x0, NULL, HFILL}
12860
14
        },
12861
14
        { &hf_c15ch_out_gwe_sip_refer,
12862
14
            { "C15 Outgoing GWE SIP Refer", "c15.out_gwe.sip_refer",
12863
14
            FT_PROTOCOL, BASE_NONE,
12864
14
            NULL,
12865
14
            0x0, NULL, HFILL}
12866
14
        }
12867
14
    };
12868
12869
14
    static int *ett_third_level_out_gwe[] = {
12870
14
        &ett_c15ch_third_level_out_gwe,
12871
14
        &ett_c15ch_third_level_out_gwe_sub1,
12872
14
        &ett_c15ch_third_level_out_gwe_sub2
12873
14
    };
12874
    /* protocols */
12875
12876
    /* first level: Call History Common Header */
12877
14
    proto_c15ch = proto_register_protocol("C15 Call History Common Header Protocol", "C15.ch", "c15.ch");
12878
14
    proto_register_field_array(proto_c15ch, hf, array_length(hf));
12879
14
    proto_register_subtree_array(ett, array_length(ett));
12880
12881
14
    c15ch_handle = register_dissector("c15.ch", dissect_c15ch, proto_c15ch);
12882
12883
    /* second level dissector */
12884
14
    proto_c15ch_second_level = proto_register_protocol("C15 Call History Protocol", "C15", "c15");
12885
14
    proto_register_field_array(proto_c15ch_second_level, hf_second_level, array_length(hf_second_level));
12886
14
    proto_register_subtree_array(ett_second_level, array_length(ett_second_level));
12887
14
    c15ch_dissector_table = register_dissector_table("c15", "C15", proto_c15ch, FT_UINT32, BASE_DEC);
12888
12889
    /* third level */
12890
    /* tone */
12891
14
    proto_c15ch_third_level_tone = proto_register_protocol("C15 Tone", "C15.TONE", "c15.tone");
12892
14
    proto_register_field_array(proto_c15ch_third_level_tone, hf_third_level_tone, array_length(hf_third_level_tone));
12893
14
    proto_register_subtree_array(ett_third_level_tone, array_length(ett_third_level_tone));
12894
14
    c15ch_tone_dissector_table = register_dissector_table("c15.tone", "C15.TONE", proto_c15ch_third_level_tone, FT_UINT32, BASE_DEC);
12895
12896
    /* inc gwe */
12897
14
    proto_c15ch_third_level_inc_gwe = proto_register_protocol("C15 Incoming GWE", "C15.INC_GWE", "c15.inc_gwe");
12898
14
    proto_register_field_array(proto_c15ch_third_level_inc_gwe, hf_third_level_inc_gwe, array_length(hf_third_level_inc_gwe));
12899
14
    proto_register_subtree_array(ett_third_level_inc_gwe, array_length(ett_third_level_inc_gwe));
12900
14
    c15ch_inc_gwe_dissector_table = register_dissector_table("c15.inc_gwe", "C15.INC_GWE", proto_c15ch_third_level_inc_gwe, FT_UINT32, BASE_DEC);
12901
12902
    /* out gwe */
12903
14
    proto_c15ch_third_level_out_gwe = proto_register_protocol("C15 Outgoing GWE", "C15.out_gwe", "c15.out_gwe");
12904
14
    proto_register_field_array(proto_c15ch_third_level_out_gwe, hf_third_level_out_gwe, array_length(hf_third_level_out_gwe));
12905
14
    proto_register_subtree_array(ett_third_level_out_gwe, array_length(ett_third_level_out_gwe));
12906
14
    c15ch_out_gwe_dissector_table = register_dissector_table("c15.out_gwe", "C15.out_gwe", proto_c15ch_third_level_out_gwe, FT_UINT32, BASE_DEC);
12907
14
}
12908
12909
12910
/* handoff */
12911
/* heartbeat dissector */
12912
void proto_reg_handoff_c15ch_hbeat(void)
12913
14
{
12914
14
    dissector_add_uint("ethertype", ETHERTYPE_C15_HBEAT, c15ch_hbeat_handle);
12915
14
}
12916
12917
/* c15 non-heartbeat dissectors : first-level, second-level, and third-level */
12918
void proto_reg_handoff_c15ch(void)
12919
14
{
12920
14
    dissector_handle_t c15ch_second_level_handle;
12921
14
    dissector_handle_t c15ch_third_level_handle;
12922
    /* first level */
12923
14
    dissector_add_uint("ethertype", ETHERTYPE_C15_CH, c15ch_handle);
12924
12925
    /* second_level */
12926
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_cp_state_ch, proto_c15ch_second_level);
12927
14
    dissector_add_uint("c15", C15_CP_STATE_CH, c15ch_second_level_handle);
12928
12929
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_cp_event, proto_c15ch_second_level);
12930
14
    dissector_add_uint("c15", C15_CP_EVENT, c15ch_second_level_handle);
12931
12932
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_isup, proto_c15ch_second_level);
12933
14
    dissector_add_uint("c15", C15_ISUP, c15ch_second_level_handle);
12934
12935
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_nitnxlate, proto_c15ch_second_level);
12936
14
    dissector_add_uint("c15", C15_NITN_XLATE, c15ch_second_level_handle);
12937
12938
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_route, proto_c15ch_second_level);
12939
14
    dissector_add_uint("c15", C15_ROUTE, c15ch_second_level_handle);
12940
12941
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_sccp, proto_c15ch_second_level);
12942
14
    dissector_add_uint("c15", C15_SCCP, c15ch_second_level_handle);
12943
12944
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_orig, proto_c15ch_second_level);
12945
14
    dissector_add_uint("c15", C15_CP_ORIG, c15ch_second_level_handle);
12946
12947
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_conn, proto_c15ch_second_level);
12948
14
    dissector_add_uint("c15", C15_CONN, c15ch_second_level_handle);
12949
12950
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_ntwk_conn, proto_c15ch_second_level);
12951
14
    dissector_add_uint("c15", C15_NTWK_CONN, c15ch_second_level_handle);
12952
12953
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_mkbrk, proto_c15ch_second_level);
12954
14
    dissector_add_uint("c15", C15_MK_BRK, c15ch_second_level_handle);
12955
12956
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_pathfind, proto_c15ch_second_level);
12957
14
    dissector_add_uint("c15", C15_PATH_FIND, c15ch_second_level_handle);
12958
12959
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_pathidle, proto_c15ch_second_level);
12960
14
    dissector_add_uint("c15", C15_PATH_IDLE, c15ch_second_level_handle);
12961
12962
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_dest_digits, proto_c15ch_second_level);
12963
14
    dissector_add_uint("c15", C15_DEST_DIGITS, c15ch_second_level_handle);
12964
12965
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_twc_rswch, proto_c15ch_second_level);
12966
14
    dissector_add_uint("c15", C15_TWC_RSWCH, c15ch_second_level_handle);
12967
12968
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_srcedest, proto_c15ch_second_level);
12969
14
    dissector_add_uint("c15", C15_SRCE_DEST, c15ch_second_level_handle);
12970
12971
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe, proto_c15ch_second_level);
12972
14
    dissector_add_uint("c15", C15_INC_GWE, c15ch_second_level_handle);
12973
12974
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_out_gwe, proto_c15ch_second_level);
12975
14
    dissector_add_uint("c15", C15_OUT_GWE, c15ch_second_level_handle);
12976
12977
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_outgwebc, proto_c15ch_second_level);
12978
14
    dissector_add_uint("c15", C15_OUT_GWE_BC, c15ch_second_level_handle);
12979
12980
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_q931, proto_c15ch_second_level);
12981
14
    dissector_add_uint("c15", C15_Q931, c15ch_second_level_handle);
12982
12983
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_ama, proto_c15ch_second_level);
12984
14
    dissector_add_uint("c15", C15_AMA, c15ch_second_level_handle);
12985
12986
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_qos, proto_c15ch_second_level);
12987
14
    dissector_add_uint("c15", C15_QOS, c15ch_second_level_handle);
12988
12989
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_echo_cancel, proto_c15ch_second_level);
12990
14
    dissector_add_uint("c15", C15_ECHO_CANCEL, c15ch_second_level_handle);
12991
12992
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_tone, proto_c15ch_second_level);
12993
14
    dissector_add_uint("c15", C15_TONE, c15ch_second_level_handle);
12994
12995
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_encap_isup, proto_c15ch_second_level);
12996
14
    dissector_add_uint("c15", C15_ENCAP_ISUP, c15ch_second_level_handle);
12997
12998
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_tcap, proto_c15ch_second_level);
12999
14
    dissector_add_uint("c15", C15_TCAP, c15ch_second_level_handle);
13000
13001
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_clli, proto_c15ch_second_level);
13002
14
    dissector_add_uint("c15", C15_CLLI, c15ch_second_level_handle);
13003
13004
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_info, proto_c15ch_second_level);
13005
14
    dissector_add_uint("c15", C15_INFO, c15ch_second_level_handle);
13006
13007
    /* Second level for new Generic Messages, Correlate Messages, Alarm Messages, and TTY Messages */
13008
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_generic_msg_1, proto_c15ch_second_level);
13009
14
    dissector_add_uint("c15", C15_GENERIC_MSG_1, c15ch_second_level_handle);
13010
13011
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_generic_msg_2, proto_c15ch_second_level);
13012
14
    dissector_add_uint("c15", C15_GENERIC_MSG_2, c15ch_second_level_handle);
13013
13014
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_generic_msg_3, proto_c15ch_second_level);
13015
14
    dissector_add_uint("c15", C15_GENERIC_MSG_3, c15ch_second_level_handle);
13016
13017
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_generic_msg_4, proto_c15ch_second_level);
13018
14
    dissector_add_uint("c15", C15_GENERIC_MSG_4, c15ch_second_level_handle);
13019
13020
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_generic_msg_5, proto_c15ch_second_level);
13021
14
    dissector_add_uint("c15", C15_GENERIC_MSG_5, c15ch_second_level_handle);
13022
13023
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_correlate_msg, proto_c15ch_second_level);
13024
14
    dissector_add_uint("c15", C15_CORRELATE_MSG, c15ch_second_level_handle);
13025
13026
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_sip_reg_subs_report, proto_c15ch_second_level);
13027
14
    dissector_add_uint("c15", C15_SIP_REG_SUBS_REPORT, c15ch_second_level_handle);
13028
13029
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_sys_alarm, proto_c15ch_second_level);
13030
14
    dissector_add_uint("c15", C15_SYS_ALARM, c15ch_second_level_handle);
13031
13032
14
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_tty_msg, proto_c15ch_second_level);
13033
14
    dissector_add_uint("c15", C15_TTY_MSG, c15ch_second_level_handle);
13034
13035
    /* third level */
13036
    /* tone */
13037
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_cot_control, proto_c15ch_third_level_tone);
13038
14
    dissector_add_uint("c15.tone", C15_TONE_COT, c15ch_third_level_handle);
13039
13040
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_cpm, proto_c15ch_third_level_tone);
13041
14
    dissector_add_uint("c15.tone", C15_TONE_CPM, c15ch_third_level_handle);
13042
13043
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_give_tone, proto_c15ch_third_level_tone);
13044
14
    dissector_add_uint("c15.tone", C15_TONE_GIVE_TONE, c15ch_third_level_handle);
13045
13046
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_madn_ring, proto_c15ch_third_level_tone);
13047
14
    dissector_add_uint("c15.tone", C15_TONE_MADN_RING, c15ch_third_level_handle);
13048
13049
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_opls, proto_c15ch_third_level_tone);
13050
14
    dissector_add_uint("c15.tone", C15_TONE_OPLS, c15ch_third_level_handle);
13051
13052
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_rcvr, proto_c15ch_third_level_tone);
13053
14
    dissector_add_uint("c15.tone", C15_TONE_RCVR, c15ch_third_level_handle);
13054
13055
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_timeout, proto_c15ch_third_level_tone);
13056
14
    dissector_add_uint("c15.tone", C15_TONE_TIMEOUT, c15ch_third_level_handle);
13057
13058
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_tone_control, proto_c15ch_third_level_tone);
13059
14
    dissector_add_uint("c15.tone", C15_TONE_TONE_CONTROL, c15ch_third_level_handle);
13060
13061
    /* inc gwe */
13062
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_reply, proto_c15ch_third_level_inc_gwe);
13063
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_REPLY, c15ch_third_level_handle);
13064
13065
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_bc_pgi, proto_c15ch_third_level_inc_gwe);
13066
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_BC_PGI, c15ch_third_level_handle);
13067
13068
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_mgcp_dlcx, proto_c15ch_third_level_inc_gwe);
13069
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_MGCP_DLCX, c15ch_third_level_handle);
13070
13071
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_h248_digit, proto_c15ch_third_level_inc_gwe);
13072
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_H248_DIGIT, c15ch_third_level_handle);
13073
13074
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_voip_cot, proto_c15ch_third_level_inc_gwe);
13075
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_VOIP_COT, c15ch_third_level_handle);
13076
13077
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_notify, proto_c15ch_third_level_inc_gwe);
13078
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_NOTIFY, c15ch_third_level_handle);
13079
13080
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_admn_updt, proto_c15ch_third_level_inc_gwe);
13081
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_ADMN_UPDT_REC, c15ch_third_level_handle);
13082
13083
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_cl_setup, proto_c15ch_third_level_inc_gwe);
13084
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_CL_SETUP, c15ch_third_level_handle);
13085
13086
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_ptrk_setup, proto_c15ch_third_level_inc_gwe);
13087
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_PTRK_SETUP, c15ch_third_level_handle);
13088
13089
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_cl_prog, proto_c15ch_third_level_inc_gwe);
13090
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_CL_PROG, c15ch_third_level_handle);
13091
13092
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_cl_ans, proto_c15ch_third_level_inc_gwe);
13093
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_CL_ANS, c15ch_third_level_handle);
13094
13095
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_cl_rel, proto_c15ch_third_level_inc_gwe);
13096
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_CL_REL, c15ch_third_level_handle);
13097
13098
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_ntwk_mod, proto_c15ch_third_level_inc_gwe);
13099
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_NTWK_MOD, c15ch_third_level_handle);
13100
13101
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_rv_avail, proto_c15ch_third_level_inc_gwe);
13102
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_RV_AVAIL, c15ch_third_level_handle);
13103
13104
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_cl_redir, proto_c15ch_third_level_inc_gwe);
13105
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_CL_REDIR, c15ch_third_level_handle);
13106
13107
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_cl_refer, proto_c15ch_third_level_inc_gwe);
13108
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_CL_REFER, c15ch_third_level_handle);
13109
13110
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_chg_hndl, proto_c15ch_third_level_inc_gwe);
13111
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_CHG_HDL, c15ch_third_level_handle);
13112
13113
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_subs_chg_hndl, proto_c15ch_third_level_inc_gwe);
13114
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_SUBS_CHG_HDL, c15ch_third_level_handle);
13115
13116
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_info, proto_c15ch_third_level_inc_gwe);
13117
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_INFO, c15ch_third_level_handle);
13118
13119
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_inv_repl, proto_c15ch_third_level_inc_gwe);
13120
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_INV_REPL, c15ch_third_level_handle);
13121
13122
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_admn_dn, proto_c15ch_third_level_inc_gwe);
13123
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_ADMN_DN, c15ch_third_level_handle);
13124
13125
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_sua_reply, proto_c15ch_third_level_inc_gwe);
13126
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_SUA_REPLY, c15ch_third_level_handle);
13127
13128
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_sua_hndl, proto_c15ch_third_level_inc_gwe);
13129
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_SUA_HNDL, c15ch_third_level_handle);
13130
13131
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_tgh_stat, proto_c15ch_third_level_inc_gwe);
13132
14
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_SUA_TGH_STAT, c15ch_third_level_handle);
13133
13134
    /* out gwe */
13135
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_digit_scan, proto_c15ch_third_level_out_gwe);
13136
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_DIGIT_SCAN, c15ch_third_level_handle);
13137
13138
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_conn_num, proto_c15ch_third_level_out_gwe);
13139
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_CONN_NUM, c15ch_third_level_handle);
13140
13141
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_mk_conn, proto_c15ch_third_level_out_gwe);
13142
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_MK_CONN, c15ch_third_level_handle);
13143
13144
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_md_conn, proto_c15ch_third_level_out_gwe);
13145
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_MD_CONN, c15ch_third_level_handle);
13146
13147
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_call_ans, proto_c15ch_third_level_out_gwe);
13148
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_CALL_ANS, c15ch_third_level_handle);
13149
13150
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_call_setup, proto_c15ch_third_level_out_gwe);
13151
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_CALL_SETUP, c15ch_third_level_handle);
13152
13153
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_call_prog, proto_c15ch_third_level_out_gwe);
13154
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_CALL_PROG, c15ch_third_level_handle);
13155
13156
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_call_notify, proto_c15ch_third_level_out_gwe);
13157
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_CALL_NOTIFY, c15ch_third_level_handle);
13158
13159
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_call_rel, proto_c15ch_third_level_out_gwe);
13160
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_CALL_REL, c15ch_third_level_handle);
13161
13162
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_update_ni_tn, proto_c15ch_third_level_out_gwe);
13163
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_UPDT_NI_TN, c15ch_third_level_handle);
13164
13165
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_pcm_data, proto_c15ch_third_level_out_gwe);
13166
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_PCM_DATA, c15ch_third_level_handle);
13167
13168
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_blf_data, proto_c15ch_third_level_out_gwe);
13169
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_BLF_DATA, c15ch_third_level_handle);
13170
13171
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_out_cot, proto_c15ch_third_level_out_gwe);
13172
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_COT, c15ch_third_level_handle);
13173
13174
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_ring_line, proto_c15ch_third_level_out_gwe);
13175
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_RING_LINE, c15ch_third_level_handle);
13176
13177
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_audit_conn, proto_c15ch_third_level_out_gwe);
13178
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_AUDIT_CONN, c15ch_third_level_handle);
13179
13180
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_sac_sub_valid, proto_c15ch_third_level_out_gwe);
13181
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_SAC_SUB_VALID, c15ch_third_level_handle);
13182
13183
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_sac_notify, proto_c15ch_third_level_out_gwe);
13184
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_SAC_NOTIFY, c15ch_third_level_handle);
13185
13186
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_sac_list_entry, proto_c15ch_third_level_out_gwe);
13187
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_SAC_LIST_ENTRY, c15ch_third_level_handle);
13188
13189
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_rv_subs_data, proto_c15ch_third_level_out_gwe);
13190
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_RV_SUBS_DATA, c15ch_third_level_handle);
13191
13192
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_update_rec_addr, proto_c15ch_third_level_out_gwe);
13193
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_UPDT_REC_ADDR, c15ch_third_level_handle);
13194
13195
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_del_subs_ua, proto_c15ch_third_level_out_gwe);
13196
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_DEL_SUBS_UA, c15ch_third_level_handle);
13197
13198
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_line_sprvsn, proto_c15ch_third_level_out_gwe);
13199
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_LINE_SPRVSN, c15ch_third_level_handle);
13200
13201
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_sip_info, proto_c15ch_third_level_out_gwe);
13202
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_SIP_INFO, c15ch_third_level_handle);
13203
13204
14
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_sip_refer, proto_c15ch_third_level_out_gwe);
13205
14
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_SIP_REFER, c15ch_third_level_handle);
13206
13207
    /* find external dissectors */
13208
14
    general_isup_handle = find_dissector_add_dependency("isup", proto_c15ch);
13209
14
    general_sccp_handle = find_dissector_add_dependency("sccp", proto_c15ch);
13210
14
    general_q931_handle = find_dissector_add_dependency("q931", proto_c15ch);
13211
13212
14
}
13213
13214
/*
13215
 * Editor modelines  -  https://www.wireshark.org/tools/modelines.html
13216
 *
13217
 * Local variables:
13218
 * c-basic-offset: 4
13219
 * tab-width: 8
13220
 * indent-tabs-mode: nil
13221
 * End:
13222
 *
13223
 * vi: set shiftwidth=4 tabstop=8 expandtab:
13224
 * :indentSize=4:tabSize=8:noTabs=true:
13225
 */