Coverage Report

Created: 2026-07-12 07:10

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
15
#define C15_CP_STATE_CH     1
27
15
#define C15_CP_EVENT        2
28
15
#define C15_ISUP            3
29
15
#define C15_NITN_XLATE      4
30
15
#define C15_SCCP            5
31
15
#define C15_CP_ORIG         6
32
15
#define C15_CONN            7
33
15
#define C15_NTWK_CONN       8
34
15
#define C15_MK_BRK          9
35
15
#define C15_PATH_FIND      10
36
15
#define C15_PATH_IDLE      11
37
15
#define C15_DEST_DIGITS    12
38
15
#define C15_TWC_RSWCH      13
39
15
#define C15_SRCE_DEST      14
40
15
#define C15_ROUTE          15
41
15
#define C15_INC_GWE        16
42
15
#define C15_OUT_GWE        17
43
15
#define C15_OUT_GWE_BC     18
44
15
#define C15_Q931           19
45
15
#define C15_AMA            20
46
15
#define C15_QOS            21
47
15
#define C15_ECHO_CANCEL    22
48
15
#define C15_TONE           23
49
15
#define C15_ENCAP_ISUP     24
50
15
#define C15_TCAP           25
51
15
#define C15_CLLI           26
52
15
#define C15_INFO           27
53
15
#define C15_GENERIC_MSG_1  28
54
15
#define C15_GENERIC_MSG_2  29
55
15
#define C15_GENERIC_MSG_3  30
56
15
#define C15_GENERIC_MSG_4  31
57
15
#define C15_GENERIC_MSG_5  32
58
15
#define C15_CORRELATE_MSG  33
59
15
#define C15_SIP_REG_SUBS_REPORT 34
60
15
#define C15_SYS_ALARM      35
61
15
#define C15_TTY_MSG        36
62
63
250
#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
15
#define C15_INC_GWE_REPLY      1
2897
15
#define C15_INC_GWE_BC_PGI     2
2898
15
#define C15_INC_GWE_MGCP_DLCX  3
2899
15
#define C15_INC_GWE_H248_DIGIT    4
2900
15
#define C15_INC_GWE_VOIP_COT      5
2901
15
#define C15_INC_GWE_NOTIFY        6
2902
15
#define C15_INC_GWE_ADMN_UPDT_REC 7
2903
15
#define C15_INC_GWE_CL_SETUP      8
2904
15
#define C15_INC_GWE_PTRK_SETUP    9
2905
15
#define C15_INC_GWE_CL_PROG      10
2906
15
#define C15_INC_GWE_CL_ANS       11
2907
15
#define C15_INC_GWE_CL_REL       12
2908
15
#define C15_INC_GWE_NTWK_MOD     13
2909
15
#define C15_INC_GWE_RV_AVAIL     14
2910
15
#define C15_INC_GWE_CL_REDIR     15
2911
15
#define C15_INC_GWE_CL_REFER     16
2912
15
#define C15_INC_GWE_CHG_HDL      17
2913
15
#define C15_INC_GWE_SUBS_CHG_HDL 18
2914
15
#define C15_INC_GWE_INFO         19
2915
15
#define C15_INC_GWE_INV_REPL     20
2916
15
#define C15_INC_GWE_ADMN_DN      21
2917
15
#define C15_INC_GWE_SUA_REPLY    22
2918
15
#define C15_INC_GWE_SUA_HNDL     23
2919
15
#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
15
#define C15_OUT_GWE_DIGIT_SCAN 1
3362
15
#define C15_OUT_GWE_CONN_NUM   2
3363
15
#define C15_OUT_GWE_MK_CONN    3
3364
15
#define C15_OUT_GWE_MD_CONN    4
3365
15
#define C15_OUT_GWE_CALL_ANS   5
3366
15
#define C15_OUT_GWE_CALL_SETUP 6
3367
15
#define C15_OUT_GWE_CALL_PROG  7
3368
15
#define C15_OUT_GWE_CALL_NOTIFY 8
3369
15
#define C15_OUT_GWE_CALL_REL    9
3370
15
#define C15_OUT_GWE_UPDT_NI_TN 10
3371
15
#define C15_OUT_GWE_PCM_DATA   11
3372
15
#define C15_OUT_GWE_BLF_DATA   12
3373
15
#define C15_OUT_GWE_COT        13
3374
15
#define C15_OUT_GWE_RING_LINE  14
3375
15
#define C15_OUT_GWE_AUDIT_CONN 15
3376
15
#define C15_OUT_GWE_SAC_SUB_VALID  16
3377
15
#define C15_OUT_GWE_SAC_NOTIFY     17
3378
15
#define C15_OUT_GWE_SAC_LIST_ENTRY 18
3379
15
#define C15_OUT_GWE_RV_SUBS_DATA   19
3380
15
#define C15_OUT_GWE_UPDT_REC_ADDR  20
3381
15
#define C15_OUT_GWE_DEL_SUBS_UA    21
3382
15
#define C15_OUT_GWE_LINE_SPRVSN    22
3383
15
#define C15_OUT_GWE_SIP_INFO       23
3384
15
#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
15
#define C15_TONE_TONE_CONTROL 1
3679
15
#define C15_TONE_GIVE_TONE    2
3680
15
#define C15_TONE_OPLS         3
3681
15
#define C15_TONE_COT          4
3682
15
#define C15_TONE_CPM          5
3683
15
#define C15_TONE_RCVR         6
3684
15
#define C15_TONE_MADN_RING    7
3685
15
#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
99
{
4034
99
    char * ch_buff = NULL;
4035
99
    unsigned curr_offset;
4036
99
    unsigned buff_index;
4037
99
    unsigned curr_digit;
4038
99
    const char ZERO_C = '0';
4039
99
    if (max_num_digits < num_digits)
4040
56
    {
4041
56
        return;
4042
56
    }
4043
4044
43
    if (first_offset < offset_from_digits_to_consume)
4045
0
    {
4046
0
        offset_from_digits_to_consume = 0;
4047
0
    }
4048
43
    ch_buff = (char *) wmem_alloc(pinfo->pool, num_digits + 1); /*include space for terminating null*/
4049
253
    for ( curr_offset = first_offset, buff_index = 0; buff_index < num_digits; curr_offset++, buff_index++ )
4050
210
    {
4051
210
        curr_digit = tvb_get_uint8(tvb, curr_offset);
4052
4053
210
        if ( curr_digit < 10 )
4054
52
        {
4055
            /* decimal digit case */
4056
52
            ch_buff[ buff_index ] = ZERO_C + curr_digit;
4057
52
        }
4058
158
        else
4059
158
            {
4060
158
                switch( curr_digit )
4061
158
                {
4062
28
                    case(10):
4063
28
                        ch_buff[ buff_index ] = 'A';
4064
28
                        break;
4065
1
                    case(11):
4066
1
                        ch_buff[ buff_index ] = '*';
4067
1
                        break;
4068
30
                    case(12):
4069
30
                        ch_buff[ buff_index ] = '#';
4070
30
                        break;
4071
1
                    case(15):
4072
1
                        ch_buff[ buff_index ] = 'D';
4073
1
                        break;
4074
98
                    default: /* includes 13 and 14 */
4075
98
                        ch_buff[ buff_index ] = '?';
4076
158
                }
4077
158
            }
4078
210
    }
4079
43
    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
43
    proto_tree_add_string(tree, hf,
4083
43
                tvb, first_offset - offset_from_digits_to_consume, max_num_digits + 1, ch_buff);
4084
43
}
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
36
{
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
36
    char * ch_buff;
4108
36
    unsigned i;
4109
36
    const char ZERO_C = '0';
4110
4111
36
    tvb_ensure_bytes_exist(tvb, first_offset, num_digits);
4112
36
    ch_buff = (char *) wmem_alloc(pinfo->pool, num_digits + 1); /*include space for terminating null*/
4113
2.45k
    for ( i = 0; i < num_digits; i++ )
4114
2.41k
    {
4115
2.41k
        unsigned curr_digit = tvb_get_uint8(tvb, i + first_offset);
4116
4117
2.41k
        if ( curr_digit < 10 )
4118
767
        {
4119
            /* decimal digit case */
4120
767
            ch_buff[ i ] = ZERO_C + curr_digit;
4121
767
        }
4122
1.64k
        else
4123
1.64k
        {
4124
1.64k
            switch( curr_digit )
4125
1.64k
            {
4126
32
                case(10):
4127
32
                    ch_buff[ i ] = 'A';
4128
32
                    break;
4129
50
                case(11):
4130
50
                    ch_buff[ i ] = '*';
4131
50
                    break;
4132
146
                case(12):
4133
146
                    ch_buff[ i ] = '#';
4134
146
                    break;
4135
54
                case(15):
4136
54
                    ch_buff[ i ] = 'D';
4137
54
                    break;
4138
1.36k
                default: /* includes 13 and 14 */
4139
1.36k
                    ch_buff[ i ] = '?';
4140
1.64k
            }
4141
1.64k
        }
4142
2.41k
    }
4143
36
    ch_buff[ num_digits ] = '\0';
4144
36
    col_append_str(pinfo->cinfo, COL_INFO, ch_buff);
4145
36
}
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
74
{
4169
74
    char *field_stringz;
4170
74
    unsigned len;
4171
4172
74
    if (max_str_len == 0)
4173
0
    {
4174
0
        max_str_len = 1;
4175
0
    }
4176
4177
4178
74
    field_stringz = (char * )tvb_get_stringz_enc(pinfo->pool, tvb, str_start, &len, ENC_ASCII);
4179
74
    if ( len <= 1 )
4180
9
    {
4181
9
        proto_tree_add_string(p_tree, hf_num,
4182
9
            tvb, str_start, max_str_len, " ");
4183
9
    }
4184
65
    else
4185
65
    {
4186
65
        if ( len > max_str_len )
4187
33
        {
4188
33
            ws_utf8_truncate(field_stringz, max_str_len - 1);
4189
33
        }
4190
65
        proto_tree_add_string(p_tree, hf_num,
4191
65
                tvb, str_start, max_str_len, field_stringz);
4192
65
    }
4193
74
}
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
16
{
4199
16
    proto_item * ti = NULL;
4200
16
    proto_tree * c15ch_hbeat_tree = NULL;
4201
16
    col_clear(pinfo->cinfo, COL_INFO);
4202
4203
16
    col_set_str(pinfo->cinfo, COL_PROTOCOL, "C15CH_HBEAT");
4204
4205
16
    if (tree)
4206
16
    {
4207
16
        ti = proto_tree_add_item(tree, proto_c15ch_hbeat, tvb, 0, 62, ENC_NA);
4208
16
        c15ch_hbeat_tree = proto_item_add_subtree(ti, ett_c15ch_hbeat);
4209
16
        add_string_field( c15ch_hbeat_tree, pinfo, tvb, 10, 25, hf_c15ch_hbeat_clli );
4210
16
        proto_tree_add_item(c15ch_hbeat_tree, hf_c15ch_hbeat_primary,  tvb, 35, 1, ENC_BIG_ENDIAN);
4211
16
        proto_tree_add_item(c15ch_hbeat_tree, hf_c15ch_hbeat_secondary,  tvb, 36, 1, ENC_BIG_ENDIAN);
4212
16
        add_string_field( c15ch_hbeat_tree, pinfo, tvb, 37, 25, hf_c15ch_hbeat_interface );
4213
16
    }
4214
4215
    /* Return the amount of data this dissector was able to dissect */
4216
16
    return tvb_reported_length(tvb);
4217
16
}
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
64
{
4223
64
    proto_item * ti = NULL;
4224
64
    proto_tree * c15ch_tree = NULL;
4225
64
    proto_tree * src_ni_tn_tree = NULL;
4226
64
    proto_tree * dest_ni_tn_tree = NULL;
4227
64
    uint32_t msg_type = 0;
4228
64
    uint32_t packet_length = 0;
4229
64
    uint32_t payload_length = 0;
4230
64
    uint32_t retv = 0;
4231
4232
64
    tvbuff_t * next_tvb;
4233
64
    col_clear(pinfo->cinfo, COL_INFO);
4234
4235
64
    msg_type = tvb_get_ntohl(tvb, 4);
4236
64
    packet_length = tvb_get_ntohl(tvb, 8);
4237
64
    if (packet_length < HEADER_SZ)
4238
2
    {
4239
2
        return 0;
4240
2
    }
4241
62
    payload_length = packet_length - HEADER_SZ;
4242
4243
62
    col_set_str(pinfo->cinfo, COL_PROTOCOL, C15_LABEL);
4244
4245
62
    col_add_fstr(pinfo->cinfo, COL_INFO, "Type: %s",
4246
62
        val_to_str_ext(pinfo->pool, msg_type, &c15_msg_types_ext, "Unknown Type: %d") );
4247
4248
62
    if (tree) /* we are being asked for details... */
4249
62
    {
4250
62
        ti = proto_tree_add_item(tree, proto_c15ch, tvb, 0, 36, ENC_NA);
4251
62
        proto_item_append_text(ti, ", Type: %s",
4252
62
            val_to_str_ext(pinfo->pool, msg_type, &c15_msg_types_ext, "Unknown Type: %d"));
4253
62
        c15ch_tree = proto_item_add_subtree(ti, ett_c15ch);
4254
62
        proto_tree_add_item(c15ch_tree, hf_c15ch_version,  tvb, 0, 4, ENC_BIG_ENDIAN);
4255
62
        proto_tree_add_item(c15ch_tree, hf_c15ch_msgtype,  tvb, 4, 4, ENC_BIG_ENDIAN);
4256
62
        proto_tree_add_item(c15ch_tree, hf_c15ch_size,     tvb, 8, 4, ENC_BIG_ENDIAN);
4257
62
        proto_tree_add_item(c15ch_tree, hf_c15ch_call_ref, tvb, 12, 4, ENC_BIG_ENDIAN);
4258
        /* src ni/tn */
4259
62
        ti = proto_tree_add_item(c15ch_tree, hf_c15ch_srce_ni_tn, tvb, 16, 8, ENC_BIG_ENDIAN);
4260
62
        src_ni_tn_tree = proto_item_add_subtree (ti, ett_src_ni_tn);
4261
4262
62
        proto_tree_add_item(src_ni_tn_tree, hf_c15ch_srce_ni, tvb, 16, 4, ENC_BIG_ENDIAN);
4263
62
        proto_tree_add_item(src_ni_tn_tree, hf_c15ch_srce_tn, tvb, 20, 4, ENC_BIG_ENDIAN);
4264
4265
        /* dest ni/tn */
4266
62
        ti = proto_tree_add_item(c15ch_tree, hf_c15ch_dest_ni_tn, tvb, 24, 8, ENC_BIG_ENDIAN);
4267
4268
62
        dest_ni_tn_tree = proto_item_add_subtree (ti, ett_dest_ni_tn);
4269
4270
62
        proto_tree_add_item(dest_ni_tn_tree, hf_c15ch_dest_ni, tvb, 24, 4, ENC_BIG_ENDIAN);
4271
62
        proto_tree_add_item(dest_ni_tn_tree, hf_c15ch_dest_tn, tvb, 28, 4, ENC_BIG_ENDIAN);
4272
4273
62
        proto_tree_add_item(c15ch_tree, hf_c15ch_realtime, tvb, 32, 4, ENC_BIG_ENDIAN);
4274
62
    }
4275
4276
62
    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
62
    retv = HEADER_SZ + dissector_try_uint(c15ch_dissector_table, msg_type, next_tvb, pinfo, tree);
4279
62
    return retv;
4280
64
}
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
1
{
4432
4433
1
    proto_item * ti = NULL;
4434
1
    proto_tree * c15ch_cp_state_ch_tree = NULL;
4435
4436
1
    uint32_t oldpm_value = 0;
4437
1
    uint32_t newpm_value = 0;
4438
1
    col_clear(pinfo->cinfo, COL_INFO);
4439
1
    oldpm_value = tvb_get_ntohl(tvb, 0);
4440
1
    newpm_value = tvb_get_ntohl(tvb, 4);
4441
4442
1
    col_add_fstr(pinfo->cinfo, COL_INFO, "Type: CP_STATE_CH, %s --> ",
4443
1
        val_to_str_ext_const(oldpm_value, &c15_cp_state_pm_types_ext, "Unknown") );
4444
4445
1
    col_append_str(pinfo->cinfo, COL_INFO,
4446
1
        val_to_str_ext_const(newpm_value, &c15_cp_state_pm_types_ext, "Unknown") );
4447
4448
1
    if (tree)
4449
1
    {
4450
1
        ti = proto_tree_add_item(tree, hf_c15ch_cp_state_ch, tvb, 0, 40, ENC_NA);
4451
1
        proto_item_append_text(ti, ", Old PM Type: %s",
4452
1
            val_to_str_ext_const(oldpm_value, &c15_cp_state_pm_types_ext, "Unknown"));
4453
1
        proto_item_append_text(ti, ", New PM Type: %s",
4454
1
            val_to_str_ext_const(newpm_value, &c15_cp_state_pm_types_ext, "Unknown"));
4455
4456
1
        c15ch_cp_state_ch_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
4457
1
        proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_oldpm,
4458
1
                            tvb, 0, 4, ENC_BIG_ENDIAN);
4459
1
        proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_newpm,
4460
1
                            tvb, 4, 4, ENC_BIG_ENDIAN);
4461
1
        proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_subpm,
4462
1
                            tvb, 8, 4, ENC_BIG_ENDIAN);
4463
1
        proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_trkpm,
4464
1
                            tvb, 12, 4, ENC_BIG_ENDIAN);
4465
1
        proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_slepm,
4466
1
                            tvb, 16, 4, ENC_BIG_ENDIAN);
4467
1
        proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_flags,
4468
1
                            tvb, 20, 4, ENC_BIG_ENDIAN);
4469
1
        proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_oldrtetype,
4470
1
                            tvb, 24, 4, ENC_BIG_ENDIAN);
4471
1
        proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_oldrteidx,
4472
1
                            tvb, 28, 4, ENC_BIG_ENDIAN);
4473
1
        proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_newrtetype,
4474
1
                            tvb, 32, 4, ENC_BIG_ENDIAN);
4475
1
        proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_newrteidx,
4476
1
                            tvb, 36, 4, ENC_BIG_ENDIAN);
4477
1
    }
4478
1
    return tvb_reported_length(tvb);
4479
1
}
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
18
{
4755
4756
18
    proto_item * ti = NULL;
4757
18
    proto_tree * c15ch_nitnxlate_tree = NULL;
4758
18
    proto_tree * sub_ni_tn_tree = NULL;
4759
18
    proto_tree * concat_tree = NULL;
4760
18
    unsigned char * site_string;
4761
18
    unsigned char * subsite_string;
4762
18
    char * equipname_string;
4763
18
    wmem_strbuf_t * desc_string = wmem_strbuf_create(pinfo->pool);
4764
18
    int str_start;
4765
18
    unsigned site_str_len, subsite_str_len, equipname_str_len;
4766
18
    uint32_t gwtype_val;
4767
18
    uint32_t frame_val, shelf_val, lsg_val, unit_val;
4768
18
    uint32_t key_val;
4769
18
    uint32_t tgnum_val;
4770
4771
    /* sitestring */
4772
18
    str_start = 12;
4773
18
    site_string = tvb_get_stringz_enc(pinfo->pool, tvb, str_start, &site_str_len, ENC_ASCII);
4774
4775
    /* subsitestring */
4776
18
    str_start = 17;
4777
18
    subsite_string = tvb_get_stringz_enc(pinfo->pool, tvb, str_start, &subsite_str_len, ENC_ASCII);
4778
4779
    /* equipname */
4780
18
    str_start = 22;
4781
18
    equipname_string = (char * )tvb_get_stringz_enc(pinfo->pool, tvb, str_start, &equipname_str_len, ENC_ASCII);
4782
4783
18
    frame_val = tvb_get_ntohl( tvb, 31 );
4784
18
    shelf_val = tvb_get_ntohl( tvb, 35 );
4785
18
    lsg_val = tvb_get_ntohl( tvb, 39 );
4786
18
    unit_val = tvb_get_ntohl( tvb, 43 );
4787
18
    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
18
    if (site_str_len > 0)
4791
17
        wmem_strbuf_append_printf(desc_string, "%s ", site_string);
4792
18
    if (subsite_str_len > 0)
4793
17
        wmem_strbuf_append_printf(desc_string, "%s ", subsite_string);
4794
18
    if (equipname_str_len > 0)
4795
17
        wmem_strbuf_append_printf(desc_string, "%s ", equipname_string);
4796
4797
18
    if ( key_val )
4798
13
    {
4799
13
        wmem_strbuf_append_printf(desc_string, "%d %d %d %d %d",
4800
13
                                    frame_val, shelf_val, lsg_val, unit_val, key_val );
4801
13
    }
4802
5
    else
4803
5
    {
4804
5
        if ( (g_strcmp0( "VLIN", equipname_string) == 0) ||
4805
4
                (g_strcmp0( "PTRK", equipname_string) == 0) )
4806
0
        {
4807
0
            wmem_strbuf_append_printf(desc_string, "%d", frame_val );
4808
0
        }
4809
5
        else if ( (g_strcmp0( "GWE", equipname_string ) == 0) ||
4810
4
                 (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
5
        else
4815
5
        {
4816
5
            wmem_strbuf_append_printf(desc_string, "%d %d %d %d", frame_val, shelf_val, lsg_val, unit_val);
4817
5
        }
4818
5
    }
4819
18
    col_append_fstr(pinfo->cinfo, COL_INFO, ", %s", desc_string->str);
4820
18
    if (tree)
4821
17
    {
4822
17
        ti = proto_tree_add_item(tree, hf_c15ch_nitnxlate, tvb, 0, 190, ENC_NA);
4823
17
        c15ch_nitnxlate_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
4824
4825
17
        ti = proto_tree_add_item(c15ch_nitnxlate_tree, hf_c15ch_nitnxlate_ni_tn, tvb, 0, 8, ENC_BIG_ENDIAN);
4826
17
        sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
4827
17
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_nitnxlate_ni,
4828
17
                            tvb, 0, 4, ENC_BIG_ENDIAN);
4829
17
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_nitnxlate_tn,
4830
17
                            tvb, 4, 4, ENC_BIG_ENDIAN);
4831
        /* equiptype */
4832
17
        proto_tree_add_item(c15ch_nitnxlate_tree, hf_c15ch_nitnxlate_equiptype,
4833
17
                            tvb, 8, 4, ENC_BIG_ENDIAN);
4834
4835
4836
17
        ti = proto_tree_add_string(c15ch_nitnxlate_tree, hf_c15ch_nitnxlate_concat_string, tvb, 12, 40 /*length*/,
4837
17
                                desc_string->str);
4838
17
        concat_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub2);
4839
17
        if ( site_str_len > 1 )
4840
15
        {
4841
15
            str_start = 12;
4842
15
            add_string_field( concat_tree, pinfo, tvb, str_start, 5, hf_c15ch_nitnxlate_sitestring );
4843
15
        }
4844
17
        if ( subsite_str_len > 1 )
4845
10
        {
4846
10
            str_start = 17;
4847
10
            add_string_field( concat_tree, pinfo, tvb, str_start, 5, hf_c15ch_nitnxlate_subsitestring );
4848
10
        }
4849
17
        if ( equipname_str_len > 1 )
4850
12
        {
4851
12
            str_start = 22;
4852
12
            add_string_field( concat_tree, pinfo, tvb, str_start, 5, hf_c15ch_nitnxlate_equipname );
4853
12
        }
4854
17
        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
17
        else
4863
17
            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
17
        else
4872
17
            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
17
        else
4878
17
            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
17
        else
4884
17
            if ( (g_strcmp0( "LCE", equipname_string ) == 0) ||
4885
17
                 (g_strcmp0( "RSE", equipname_string ) == 0) ||
4886
17
                 (g_strcmp0( "RSC", equipname_string ) == 0) ||
4887
17
                 (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
17
        else
4904
17
            if (equipname_str_len <= 1)
4905
5
            {
4906
5
                proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_pm,
4907
5
                            tvb, 31, 4, ENC_BIG_ENDIAN);
4908
5
                proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_pc_sts1,
4909
5
                            tvb, 35, 4, ENC_BIG_ENDIAN); /* either pc or sts1 */
4910
5
                proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_port_vt15,
4911
5
                            tvb, 39, 4, ENC_BIG_ENDIAN); /* either port or vt15 */
4912
5
                proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_channel,
4913
5
                            tvb, 43, 4, ENC_BIG_ENDIAN);
4914
5
            }
4915
12
        else /* default case : label generically as parms  */
4916
12
        {
4917
12
            proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_parm_1,
4918
12
                            tvb, 31, 4, ENC_BIG_ENDIAN);
4919
4920
12
            proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_parm_2,
4921
12
                            tvb, 35, 4, ENC_BIG_ENDIAN);
4922
4923
12
            proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_parm_3,
4924
12
                            tvb, 39, 4, ENC_BIG_ENDIAN);
4925
12
            proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_parm_4,
4926
12
                            tvb, 43, 4, ENC_BIG_ENDIAN);
4927
12
            if ( key_val )
4928
10
            {
4929
10
                proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_key,
4930
10
                            tvb, 47, 4, ENC_BIG_ENDIAN);
4931
10
            }
4932
12
        }
4933
        /* gw type */
4934
17
        proto_tree_add_item(c15ch_nitnxlate_tree, hf_c15ch_nitnxlate_gw_type,
4935
17
                            tvb, 27, 4, ENC_BIG_ENDIAN);
4936
        /* user_tid */
4937
17
        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
17
        str_start = 116;
4944
17
        gwtype_val = tvb_get_ntohl( tvb, 27 );
4945
17
        if (( gwtype_val == 3 ) ||
4946
17
            ( 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
17
        if (( gwtype_val == 2  ) ||   /* Output SIP Call-ID up to 64 characters if SIP_LN or */
4955
17
            ( gwtype_val == 14 ) ||   /* SIP_LTG */
4956
17
            ( 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
17
        tgnum_val = tvb_get_ntohl( tvb, 181 );
4965
17
        if ( tgnum_val )
4966
7
        {
4967
7
            proto_tree_add_item(c15ch_nitnxlate_tree, hf_c15ch_nitnxlate_tg_num,
4968
7
                                tvb, 181, 4, ENC_BIG_ENDIAN);
4969
7
        }
4970
4971
4972
        // add_string_field( c15ch_nitnxlate_tree, tvb, 185, 5, hf_c15ch_nitnxlate_mgcp_line_id);
4973
4974
17
    }
4975
18
    return tvb_reported_length(tvb);
4976
18
}
4977
4978
4979
static int dissect_c15ch_ntwk_conn(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4980
3
{
4981
3
    proto_item * ti = NULL;
4982
3
    proto_tree * c15ch_ntwk_conn_tree = NULL;
4983
3
    proto_tree * sub_ni_tn_tree = NULL;
4984
3
    proto_tree * old_loc_tree = NULL;
4985
3
    proto_tree * new_loc_tree = NULL;
4986
4987
3
    uint8_t from_pm_val, from_pc_val, from_loop_val, from_slot_val;
4988
3
    char * from_loc_string = NULL;
4989
4990
3
    uint8_t to_pm_val, to_pc_val, to_loop_val, to_slot_val;
4991
3
    char * to_loc_string = NULL;
4992
4993
3
    uint8_t path_type_val = 0;
4994
3
    uint8_t conn_type_val = 0;
4995
3
    path_type_val = tvb_get_uint8(tvb, 0);
4996
3
    conn_type_val = tvb_get_uint8(tvb, 1);
4997
3
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Path Type: %s",
4998
3
        val_to_str(pinfo->pool, path_type_val, c15ch_path_types, "Unknown %d") );
4999
3
    col_append_fstr(pinfo->cinfo, COL_INFO, ", Conn Type: %s",
5000
3
        val_to_str(pinfo->pool, conn_type_val, c15ch_ntwk_srcedest_conn_types, "Unknown %d") );
5001
3
    if (tree)
5002
3
    {
5003
3
        int str_start;
5004
3
        int max_str_len;
5005
3
        ti = proto_tree_add_item(tree, hf_c15ch_ntwk_conn, tvb, 0, 39, ENC_NA);
5006
3
        c15ch_ntwk_conn_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5007
5008
        /* misc. fields */
5009
3
        proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_pathtype,
5010
3
                            tvb, 0, 1, ENC_BIG_ENDIAN);
5011
3
        proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_conntype,
5012
3
                            tvb, 1, 1, ENC_BIG_ENDIAN);
5013
3
        proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_fromoptimized,
5014
3
                            tvb, 2, 1, ENC_BIG_ENDIAN);
5015
5016
        /* fromsite */
5017
3
        str_start = 3;
5018
3
        max_str_len = 5;
5019
3
        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
3
        from_pm_val = tvb_get_uint8( tvb, 8 );
5023
3
        from_pc_val = tvb_get_uint8( tvb, 9 );
5024
3
        from_loop_val = tvb_get_uint8( tvb, 10 );
5025
3
        from_slot_val = tvb_get_uint8( tvb, 11 );
5026
3
        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
3
        ti = proto_tree_add_string(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_fromlocation, tvb, 8, (11 - 8) + 1,
5028
3
                                from_loc_string);
5029
3
        old_loc_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
5030
3
        proto_tree_add_item(old_loc_tree, hf_c15ch_ntwk_conn_frompm,
5031
3
                            tvb, 8, 1, ENC_BIG_ENDIAN);
5032
3
        proto_tree_add_item(old_loc_tree, hf_c15ch_ntwk_conn_frompc,
5033
3
                            tvb, 9, 1, ENC_BIG_ENDIAN);
5034
3
        proto_tree_add_item(old_loc_tree, hf_c15ch_ntwk_conn_fromloop,
5035
3
                            tvb, 10, 1, ENC_BIG_ENDIAN);
5036
3
        proto_tree_add_item(old_loc_tree, hf_c15ch_ntwk_conn_fromslot,
5037
3
                            tvb, 11, 1, ENC_BIG_ENDIAN);
5038
5039
        /* misc. fields */
5040
3
        proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_fromcnx,
5041
3
                            tvb, 12, 4, ENC_BIG_ENDIAN);
5042
5043
3
        ti = proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_fromntwknitn,
5044
3
                            tvb, 16, 8, ENC_BIG_ENDIAN);
5045
3
        sub_ni_tn_tree = proto_item_add_subtree (ti,ett_c15ch_second_level_sub2);
5046
3
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_ntwk_conn_fromntwkni,
5047
3
                            tvb, 16, 4, ENC_BIG_ENDIAN);
5048
3
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_ntwk_conn_fromntwktn,
5049
3
                            tvb, 20, 4, ENC_BIG_ENDIAN);
5050
5051
5052
3
        proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_mbshold,
5053
3
                            tvb, 24, 1, ENC_BIG_ENDIAN);
5054
3
        proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_tooptimized,
5055
3
                            tvb, 25, 1, ENC_BIG_ENDIAN);
5056
        /* tosite */
5057
3
        str_start = 26;
5058
3
        max_str_len = 5;
5059
3
        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
3
        to_pm_val = tvb_get_uint8( tvb, 31 );
5063
3
        to_pc_val = tvb_get_uint8( tvb, 32 );
5064
3
        to_loop_val = tvb_get_uint8( tvb, 33 );
5065
3
        to_slot_val = tvb_get_uint8( tvb, 34 );
5066
3
        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
3
        ti = proto_tree_add_string(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_tolocation, tvb, 31, (34 - 31) + 1,
5068
3
                                to_loc_string);
5069
3
        new_loc_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub3);
5070
3
        proto_tree_add_item(new_loc_tree, hf_c15ch_ntwk_conn_topm,
5071
3
                            tvb, 31, 1, ENC_BIG_ENDIAN);
5072
3
        proto_tree_add_item(new_loc_tree, hf_c15ch_ntwk_conn_topc,
5073
3
                            tvb, 32, 1, ENC_BIG_ENDIAN);
5074
3
        proto_tree_add_item(new_loc_tree, hf_c15ch_ntwk_conn_toloop,
5075
3
                            tvb, 33, 1, ENC_BIG_ENDIAN);
5076
3
        proto_tree_add_item(new_loc_tree, hf_c15ch_ntwk_conn_toslot,
5077
3
                            tvb, 34, 1, ENC_BIG_ENDIAN);
5078
3
        proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_tocnx,
5079
3
                            tvb, 35, 4, ENC_BIG_ENDIAN);
5080
3
    }
5081
3
    return tvb_reported_length(tvb);
5082
3
}
5083
5084
5085
static int dissect_c15ch_orig(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5086
36
{
5087
36
    proto_item * ti = NULL;
5088
36
    proto_tree * c15ch_orig_tree = NULL;
5089
36
    proto_tree * sub_ni_tn_tree = NULL;
5090
5091
36
    uint8_t num_dn_digits;
5092
36
    uint8_t num_upn_digits;
5093
36
    uint8_t num_rnp_digits;
5094
5095
36
    num_dn_digits = tvb_get_uint8(tvb, 12);
5096
5097
36
    col_append_str(pinfo->cinfo, COL_INFO, ", DN: ");
5098
36
    add_digits_string_info_col( tvb, 13, num_dn_digits, pinfo);
5099
5100
36
    if (tree)
5101
36
    {
5102
36
        ti = proto_tree_add_item(tree, hf_c15ch_orig, tvb, 0, 73, ENC_NA);
5103
36
        c15ch_orig_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5104
36
        num_upn_digits = tvb_get_uint8(tvb, 28);
5105
36
        num_rnp_digits = tvb_get_uint8(tvb, 49);
5106
36
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_tnblocktype,
5107
36
                            tvb, 0, 4, ENC_BIG_ENDIAN);
5108
5109
36
        ti = proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_ni_tn, tvb, 4, 8, ENC_BIG_ENDIAN);
5110
5111
36
        sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
5112
36
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_orig_ni,
5113
36
                            tvb, 4, 4, ENC_BIG_ENDIAN);
5114
36
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_orig_tn,
5115
36
                            tvb, 8, 4, ENC_BIG_ENDIAN);
5116
5117
36
        add_digits_string(hf_c15ch_orig_dndigits,tvb,pinfo,c15ch_orig_tree, 13, num_dn_digits, 10, 1);
5118
5119
36
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_nidscrn,
5120
36
                            tvb, 23, 1, ENC_BIG_ENDIAN);
5121
36
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_nidaddrtype,
5122
36
                            tvb, 24, 1, ENC_BIG_ENDIAN);
5123
36
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_nidnmbrplan,
5124
36
                            tvb, 25, 1, ENC_BIG_ENDIAN);
5125
36
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_nidprivind,
5126
36
                            tvb, 26, 1, ENC_BIG_ENDIAN);
5127
36
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_upnsaved,
5128
36
                            tvb, 27, 1, ENC_BIG_ENDIAN);
5129
5130
36
        add_digits_string(hf_c15ch_orig_upndigits,tvb,pinfo,c15ch_orig_tree, 29, num_upn_digits, 15, 1);
5131
5132
36
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_upnscrn,
5133
36
                            tvb, 44, 1, ENC_BIG_ENDIAN);
5134
36
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_upnaddrtype,
5135
36
                            tvb, 45, 1, ENC_BIG_ENDIAN);
5136
36
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_upnnmbrplan,
5137
36
                            tvb, 46, 1, ENC_BIG_ENDIAN);
5138
36
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_upnprivind,
5139
36
                            tvb, 47, 1, ENC_BIG_ENDIAN);
5140
36
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_rnpsaved,
5141
36
                            tvb, 48, 1, ENC_BIG_ENDIAN);
5142
5143
36
        add_digits_string(hf_c15ch_orig_rnpdigits,tvb,pinfo,c15ch_orig_tree, 50, num_rnp_digits, 15, 1);
5144
5145
36
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_rnpscrn,
5146
36
                            tvb, 65, 1, ENC_BIG_ENDIAN);
5147
36
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_rnpaddrtype,
5148
36
                            tvb, 66, 1, ENC_BIG_ENDIAN);
5149
36
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_rnpnmbrplan,
5150
36
                            tvb, 67, 1, ENC_BIG_ENDIAN);
5151
36
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_rnpprivind,
5152
36
                            tvb, 68, 1, ENC_BIG_ENDIAN);
5153
36
        proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_iptime,
5154
36
                            tvb, 69, 4, ENC_BIG_ENDIAN);
5155
5156
36
    }
5157
36
    return tvb_reported_length(tvb);
5158
36
}
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
1
{
5854
1
    proto_item * ti = NULL;
5855
1
    proto_tree * c15ch_inc_gwe_tree = NULL;
5856
1
    proto_tree * sub_ni_tn_tree = NULL;
5857
5858
1
    int retv = 0;
5859
1
    uint8_t task_num;
5860
1
    uint8_t type_num;
5861
1
    uint8_t fiat_num;
5862
1
    tvbuff_t * next_tvb;
5863
1
    bool task_in_range = true;
5864
1
    bool fiat_index_in_range = true;
5865
5866
1
    task_num = tvb_get_uint8(tvb,  8);
5867
1
    fiat_num = tvb_get_uint8(tvb,  9);
5868
1
    type_num = tvb_get_uint8(tvb, 10);
5869
5870
1
    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
1
    if ( task_in_range )
5877
1
    {
5878
1
        if ( ( task_num < FIRST_FIAT_NAME_TABLE_INDEX ) || (task_num > LAST_FIAT_NAME_TABLE_INDEX ) )
5879
1
        {
5880
1
            fiat_index_in_range = false; /* this happens for INVALID_TASK_TYPE_VAL */
5881
1
        }
5882
1
    }
5883
5884
1
    col_clear(pinfo->cinfo, COL_INFO);
5885
5886
5887
1
    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
1
    else /* either (task_num == INVALID_TASK_TYPE_VAL) or we have an unknown task */
5894
1
    {
5895
1
            col_add_fstr(pinfo->cinfo, COL_INFO, "Type: INC_GWE, Task: %s",
5896
1
                val_to_str(pinfo->pool,  task_num, c15inc_gwe_task_types, "Unknown Task Type: %d" ));
5897
1
    }
5898
5899
1
    if (tree)
5900
1
    {
5901
1
        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
1
        proto_item_append_text(ti, ", Task: %s",
5905
1
                val_to_str(pinfo->pool,  task_num, c15inc_gwe_task_types, "Unknown Task Type: %d" ) );
5906
5907
5908
1
        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
1
        c15ch_inc_gwe_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5914
5915
1
        ti = proto_tree_add_item(c15ch_inc_gwe_tree, hf_c15ch_inc_gwe_ni_tn,
5916
1
                            tvb, 0, 8, ENC_BIG_ENDIAN);
5917
1
        sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
5918
5919
1
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_inc_gwe_ni,
5920
1
                            tvb, 0, 4, ENC_BIG_ENDIAN);
5921
1
        proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_inc_gwe_tn,
5922
1
                            tvb, 4, 4, ENC_BIG_ENDIAN);
5923
5924
1
        proto_tree_add_item(c15ch_inc_gwe_tree, hf_c15ch_inc_gwe_taskid,
5925
1
                            tvb, 8, 1, ENC_BIG_ENDIAN);
5926
1
        if (task_in_range) /* can be of any defined task type including INVALID */
5927
1
        {
5928
1
            proto_tree_add_item(c15ch_inc_gwe_tree, *(fiatid_table[ task_num ] ),
5929
1
                            tvb, 9, 1, ENC_BIG_ENDIAN);
5930
1
        }
5931
1
        proto_tree_add_item(c15ch_inc_gwe_tree, hf_c15ch_inc_gwe_datatype,
5932
1
                            tvb, 10, 1, ENC_BIG_ENDIAN);
5933
1
    }
5934
1
    next_tvb = tvb_new_subset_remaining(tvb, 11);
5935
    /*third level dissection*/
5936
1
    retv = 11 + dissector_try_uint(c15ch_inc_gwe_dissector_table, type_num, next_tvb, pinfo, tree);
5937
1
    return retv;
5938
1
}
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
15
{
7855
15
    static hf_register_info hf[] = {
7856
15
            { &hf_c15ch_hbeat_clli,
7857
15
                {"CLLI", "c15hbeat.clli",
7858
15
                FT_STRINGZ, BASE_NONE,
7859
15
                NULL,
7860
15
                0x0, NULL, HFILL}
7861
15
            },
7862
15
            { &hf_c15ch_hbeat_primary,
7863
15
                {"Primary", "c15hbeat.primary",
7864
15
                FT_UINT8, BASE_DEC,
7865
15
                NULL,
7866
15
                0x0, NULL, HFILL}
7867
15
            },
7868
15
            { &hf_c15ch_hbeat_secondary,
7869
15
                {"Secondary", "c15hbeat.secondary",
7870
15
                FT_UINT8, BASE_DEC,
7871
15
                NULL,
7872
15
                0x0, NULL, HFILL}
7873
15
            },
7874
15
            {  &hf_c15ch_hbeat_interface,
7875
15
                {"Interface", "c15hbeat.interface",
7876
15
                FT_STRINGZ, BASE_NONE,
7877
15
                NULL,
7878
15
                0x0, NULL, HFILL}
7879
15
            }
7880
15
    }; /* close hf[] array declaration */
7881
7882
    /* Protocol subtree array */
7883
15
    static int *ett[] = {
7884
15
        &ett_c15ch_hbeat
7885
15
    };
7886
7887
15
    proto_c15ch_hbeat = proto_register_protocol("C15 Call History Heartbeat Protocol", "C15HBEAT", "c15hbeat");
7888
15
    proto_register_field_array(proto_c15ch_hbeat, hf, array_length(hf));
7889
15
    proto_register_subtree_array(ett, array_length(ett));
7890
7891
15
    c15ch_hbeat_handle = register_dissector("c15hbeat", dissect_c15ch_hbeat, proto_c15ch_hbeat);
7892
15
}
7893
7894
7895
7896
void proto_register_c15ch(void)
7897
15
{
7898
/* fields for C15 header : base c15 dissector for non-heartbeat packets */
7899
/* first level of dissection */
7900
15
 static hf_register_info hf[] = {
7901
15
        { &hf_c15ch_version,
7902
15
            {"Version", "c15.ch.version",
7903
15
            FT_UINT32, BASE_DEC,
7904
15
            NULL,
7905
15
            0x0, NULL, HFILL }
7906
15
        },
7907
15
        { &hf_c15ch_msgtype,
7908
15
            {"Message Type", "c15.ch.msgtype",
7909
15
            FT_UINT32, BASE_DEC|BASE_EXT_STRING,
7910
15
            &c15_msg_types_ext,
7911
15
            0x0, NULL, HFILL }
7912
15
        },
7913
15
        { &hf_c15ch_size,
7914
15
            { "Size", "c15.ch.size",
7915
15
            FT_UINT32, BASE_DEC,
7916
15
            NULL,
7917
15
            0x0, NULL, HFILL }
7918
15
        },
7919
15
        { &hf_c15ch_call_ref,
7920
15
            {"Call Reference", "c15.ch.callref",
7921
15
            FT_UINT32, BASE_HEX,
7922
15
            NULL,
7923
15
            0x0, NULL, HFILL }
7924
15
        },
7925
15
        { &hf_c15ch_srce_ni_tn,
7926
15
            {"Source NI/TN", "c15.ch.srce_ni_tn",
7927
15
            FT_UINT64, BASE_HEX,
7928
15
            NULL,
7929
15
            0x0, NULL, HFILL }
7930
15
        },
7931
15
        { &hf_c15ch_dest_ni_tn,
7932
15
            {"Destination NI/TN", "c15.ch.dest_ni_tn",
7933
15
            FT_UINT64, BASE_HEX,
7934
15
            NULL,
7935
15
            0x0, NULL, HFILL }
7936
15
        },
7937
15
        { &hf_c15ch_srce_ni,
7938
15
            {"Source NI", "c15.ch.srce_ni",
7939
15
            FT_UINT32, BASE_HEX,
7940
15
            NULL,
7941
15
            0x0, NULL, HFILL }
7942
15
        },
7943
15
        { &hf_c15ch_srce_tn,
7944
15
            {"Source TN", "c15.ch.srce_tn",
7945
15
            FT_UINT32, BASE_HEX,
7946
15
            NULL,
7947
15
            0x0, NULL, HFILL }
7948
15
        },
7949
15
        { &hf_c15ch_dest_ni,
7950
15
            {"Destination NI", "c15.ch.dest_ni",
7951
15
            FT_UINT32, BASE_HEX,
7952
15
            NULL,
7953
15
            0x0, NULL, HFILL }
7954
15
        },
7955
15
        { &hf_c15ch_dest_tn,
7956
15
            {"Destination TN", "c15.ch.dest_tn",
7957
15
            FT_UINT32, BASE_HEX,
7958
15
            NULL,
7959
15
            0x0, NULL, HFILL }
7960
15
        },
7961
15
        { &hf_c15ch_realtime,
7962
15
            {"Real Time", "c15.ch.realtime",
7963
15
            FT_UINT32, BASE_DEC,
7964
15
            NULL,
7965
15
            0x0, NULL, HFILL }
7966
15
        }
7967
15
    };
7968
7969
7970
    /* Protocol subtree array */
7971
15
    static int *ett[] = {
7972
15
        &ett_c15ch,
7973
15
        &ett_src_ni_tn,
7974
15
        &ett_dest_ni_tn
7975
15
    };
7976
7977
7978
15
       static hf_register_info hf_second_level[] = {
7979
15
        { &hf_c15ch_ama_call_code,
7980
15
            { "Call Code", "c15.ama.call_code",
7981
15
            FT_UINT8, BASE_DEC,
7982
15
            NULL,
7983
15
            0x0, NULL, HFILL}
7984
15
        },
7985
15
        { &hf_c15ch_ama_orig_digits,
7986
15
            { "Orig Digits", "c15.ama.orig_digits",
7987
15
            FT_STRINGZ, BASE_NONE,
7988
15
            NULL,
7989
15
            0x0, NULL, HFILL}
7990
15
        },
7991
15
        { &hf_c15ch_ama_num_dialed_digits,
7992
15
            { "Number of Dialed Digits", "c15.ama.num_dialed_digits",
7993
15
            FT_UINT8, BASE_DEC,
7994
15
            NULL,
7995
15
            0x0, NULL, HFILL}
7996
15
        },
7997
15
        { &hf_c15ch_ama_br_prefix,
7998
15
            { "BR Prefix", "c15.ama.br_prefix",
7999
15
            FT_UINT8, BASE_DEC,
8000
15
            VALS( ama_br_prefix_types ),
8001
15
            0x0, NULL, HFILL}
8002
15
        },
8003
15
        { &hf_c15ch_ama_dialed_digits,
8004
15
            { "Dialed Digits", "c15.ama.dialed_digits",
8005
15
            FT_STRINGZ, BASE_NONE,
8006
15
            NULL,
8007
15
            0x0, NULL, HFILL}
8008
15
        },
8009
15
        { &hf_c15ch_ama_start_hour,
8010
15
            { "Start Hour", "c15.ama.start_hour",
8011
15
            FT_UINT8, BASE_DEC,
8012
15
            NULL,
8013
15
            0x0, NULL, HFILL}
8014
15
        },
8015
15
        { &hf_c15ch_ama_start_minute,
8016
15
            { "Start Minute", "c15.ama.start_minute",
8017
15
            FT_UINT8, BASE_DEC,
8018
15
            NULL,
8019
15
            0x0, NULL, HFILL}
8020
15
        },
8021
15
        { &hf_c15ch_ama_start_second,
8022
15
            { "Start Second", "c15.ama.start_second",
8023
15
            FT_UINT8, BASE_DEC,
8024
15
            NULL,
8025
15
            0x0, NULL, HFILL}
8026
15
        },
8027
15
        { &hf_c15ch_ama_start_tenth_second,
8028
15
            { "Start Tenth of Second", "c15.ama.start_tenth_second",
8029
15
            FT_UINT8, BASE_DEC,
8030
15
            NULL,
8031
15
            0x0, NULL, HFILL}
8032
15
        },
8033
15
        { &hf_c15ch_ama_start_day,
8034
15
            { "Start Day", "c15.ama.start_day",
8035
15
            FT_UINT8, BASE_DEC,
8036
15
            NULL,
8037
15
            0x0, NULL, HFILL}
8038
15
        },
8039
15
        { &hf_c15ch_ama_start_month,
8040
15
            { "Start Month", "c15.ama.start_month",
8041
15
            FT_UINT8, BASE_DEC,
8042
15
            NULL,
8043
15
            0x0, NULL, HFILL}
8044
15
        },
8045
15
        { &hf_c15ch_ama_start_year,
8046
15
            { "Start Year", "c15.ama.start_year",
8047
15
            FT_UINT8, BASE_DEC,
8048
15
            NULL,
8049
15
            0x0, NULL, HFILL}
8050
15
        },
8051
15
        { &hf_c15ch_ama_answered,
8052
15
            { "Answered", "c15.ama.answered",
8053
15
            FT_BOOLEAN, BASE_NONE,
8054
15
            TFS(&tfs_yes_no),
8055
15
            0x0, NULL, HFILL}
8056
15
        },
8057
15
        { &hf_c15ch_ama_elapsed_time,
8058
15
            { "Elapsed Time (Millisec)", "c15.ama.elapsed_time",
8059
15
            FT_UINT32, BASE_DEC,
8060
15
            NULL,
8061
15
            0x0, NULL, HFILL}
8062
15
        },
8063
15
        { &hf_c15ch_ama_call_type,
8064
15
            { "Call Type", "c15.ama.call_type",
8065
15
            FT_UINT8, BASE_DEC|BASE_EXT_STRING,
8066
15
            &ama_call_types_ext,
8067
15
            0x0, NULL, HFILL}
8068
15
        },
8069
15
           { &hf_c15ch_c15_info_text,
8070
15
            {"C15 Info Text", "c15.info.text",
8071
15
            FT_STRINGZ, BASE_NONE,
8072
15
            NULL,
8073
15
            0x0, NULL, HFILL}
8074
15
        },
8075
8076
15
        { &hf_c15ch_c15_info_code,
8077
15
            {"C15 Info Code", "c15.info.code",
8078
15
            FT_STRINGZ, BASE_NONE,
8079
15
            NULL,
8080
15
            0x0, NULL, HFILL}
8081
15
        },
8082
15
        { &hf_c15ch_c15_info_level,
8083
15
            {"C15 Info Level", "c15.info.level",
8084
15
            FT_UINT8, BASE_DEC,
8085
15
            VALS( c15ch_c15_info_level_types ),
8086
15
            0x0, NULL, HFILL}
8087
15
        },
8088
8089
15
           { &hf_c15ch_clli_clli_string,
8090
15
            {"CLLI", "c15.clli.clli",
8091
15
            FT_STRINGZ, BASE_NONE,
8092
15
            NULL,
8093
15
            0x0, NULL, HFILL}
8094
15
        },
8095
15
        { &hf_c15ch_clli_active_core,
8096
15
            {"Active Core", "c15.clli.active_core",
8097
15
            FT_UINT8, BASE_DEC,
8098
15
            NULL,
8099
15
            0x0, NULL, HFILL}
8100
15
        },
8101
15
        { &hf_c15ch_clli_inactive_core,
8102
15
            {"Inactive Core", "c15.clli.inactive_core",
8103
15
            FT_UINT8, BASE_DEC,
8104
15
            NULL,
8105
15
            0x0, NULL, HFILL}
8106
15
        },
8107
15
        { &hf_c15ch_clli_interface_string,
8108
15
            {"Interface", "c15.clli.interface",
8109
15
            FT_STRINGZ, BASE_NONE,
8110
15
            NULL,
8111
15
            0x0, NULL, HFILL}
8112
15
        },
8113
15
        { &hf_c15ch_clli_seconds,
8114
15
            {"Seconds", "c15.clli.seconds",
8115
15
            FT_UINT32, BASE_DEC,
8116
15
            NULL,
8117
15
            0x0, NULL, HFILL}
8118
15
        },
8119
15
        { &hf_c15ch_clli_microseconds,
8120
15
            {"Microseconds", "c15.clli.microseconds",
8121
15
            FT_UINT32, BASE_DEC,
8122
15
            NULL,
8123
15
            0x0, NULL, HFILL}
8124
15
        },
8125
8126
15
         { &hf_c15ch_conn_connfrom,
8127
15
            { "Conn From", "c15.conn.connfrom",
8128
15
            FT_UINT32, BASE_DEC,
8129
15
            VALS( c15_conn_from_types),
8130
15
            0x0, NULL, HFILL}
8131
15
        },
8132
15
        { &hf_c15ch_conn_conntype,
8133
15
            { "Conn Type", "c15.conn.conntype",
8134
15
            FT_UINT32, BASE_DEC,
8135
15
            NULL,
8136
15
            0x0, NULL, HFILL }
8137
15
        },
8138
15
        { &hf_c15ch_conn_perphtype,
8139
15
            { "Perph Type", "c15.conn.perphtype",
8140
15
            FT_UINT32, BASE_DEC,
8141
15
            NULL,
8142
15
            0x0, NULL, HFILL}
8143
15
        },
8144
15
        { &hf_c15ch_conn_intra,
8145
15
            { "Intra", "c15.conn.intra",
8146
15
            FT_UINT8, BASE_DEC,
8147
15
            NULL,
8148
15
            0x0, NULL, HFILL}
8149
15
        },
8150
15
        { &hf_c15ch_conn_srceni,
8151
15
            { "Source NI", "c15.conn.srceni",
8152
15
            FT_UINT32, BASE_HEX,
8153
15
            NULL,
8154
15
            0x0, NULL, HFILL}
8155
15
        },
8156
15
        { &hf_c15ch_conn_srcetn,
8157
15
            { "Source TN", "c15.conn.srcetn",
8158
15
            FT_UINT32, BASE_HEX,
8159
15
            NULL,
8160
15
            0x0, NULL, HFILL}
8161
15
        },
8162
15
        { &hf_c15ch_conn_srcenitn,
8163
15
            { "Source NI/TN", "c15.conn.srcenitn",
8164
15
            FT_UINT64, BASE_HEX,
8165
15
            NULL,
8166
15
            0x0, NULL, HFILL}
8167
15
        },
8168
15
        { &hf_c15ch_conn_destni,
8169
15
            {"Destination NI", "c15.conn.destni",
8170
15
            FT_UINT32, BASE_HEX,
8171
15
            NULL,
8172
15
            0x0, NULL, HFILL}
8173
15
        },
8174
15
        { &hf_c15ch_conn_desttn,
8175
15
            { "Destination TN", "c15.conn.desttn",
8176
15
            FT_UINT32, BASE_HEX,
8177
15
            NULL,
8178
15
            0x0, NULL, HFILL}
8179
15
        },
8180
15
        { &hf_c15ch_conn_destnitn,
8181
15
            {"Destination NI/TN", "c15.conn.destnitn",
8182
15
            FT_UINT64, BASE_HEX,
8183
15
            NULL,
8184
15
            0x0, NULL, HFILL}
8185
15
        },
8186
15
        { &hf_c15ch_conn_interlinknum,
8187
15
            { "Interlink Number", "c15.conn.interlinknum",
8188
15
            FT_UINT32, BASE_DEC,
8189
15
            NULL,
8190
15
            0x0, NULL, HFILL}
8191
15
        },
8192
15
        { &hf_c15ch_conn_fromport,
8193
15
            { "From Port", "c15.conn.fromport",
8194
15
            FT_UINT32, BASE_DEC,
8195
15
            NULL,
8196
15
            0x0, NULL, HFILL}
8197
15
        },
8198
15
        { &hf_c15ch_conn_fromslot,
8199
15
            { "From Slot", "c15.conn.fromslot",
8200
15
            FT_UINT32, BASE_DEC,
8201
15
            NULL,
8202
15
            0x0, NULL, HFILL}
8203
15
        },
8204
15
        { &hf_c15ch_conn_toport,
8205
15
            { "From Port", "c15.conn.fromport",
8206
15
            FT_UINT32, BASE_DEC,
8207
15
            NULL,
8208
15
            0x0, NULL, HFILL}
8209
15
        },
8210
15
        { &hf_c15ch_conn_toslot,
8211
15
            { "To Slot", "c15.conn.toslot",
8212
15
            FT_UINT32, BASE_DEC,
8213
15
            NULL,
8214
15
            0x0, NULL, HFILL}
8215
15
        },
8216
15
        { &hf_c15ch_conn_hubcallid,
8217
15
            { "Hub Call ID", "c15.conn.hubcallid",
8218
15
            FT_UINT32, BASE_DEC,
8219
15
            NULL,
8220
15
            0x0, NULL, HFILL}
8221
15
        },
8222
8223
15
           { &hf_c15ch_cp_state_ch_oldpm,
8224
15
            {"Old Progress Mark", "c15.cpsc.oldpm",
8225
15
            FT_UINT32, BASE_DEC|BASE_EXT_STRING,
8226
15
            &c15_cp_state_pm_types_ext,
8227
15
            0x0, NULL, HFILL }
8228
15
        },
8229
15
        { &hf_c15ch_cp_state_ch_newpm,
8230
15
            {"New Progress Mark", "c15.cpsc.newpm",
8231
15
            FT_UINT32, BASE_DEC|BASE_EXT_STRING,
8232
15
            &c15_cp_state_pm_types_ext,
8233
15
            0x0, NULL, HFILL }
8234
15
        },
8235
15
        { &hf_c15ch_cp_state_ch_subpm,
8236
15
            {"Sub Progress Mark", "c15.cpsc.subpm",
8237
15
            FT_UINT32, BASE_DEC,
8238
15
            NULL,
8239
15
            0x0, NULL, HFILL }
8240
15
        },
8241
15
        { &hf_c15ch_cp_state_ch_trkpm,
8242
15
            {"Trunk Progress Mark", "c15.cpsc.trkpm",
8243
15
            FT_UINT32, BASE_DEC,
8244
15
            NULL,
8245
15
            0x0, NULL, HFILL }
8246
15
        },
8247
15
        { &hf_c15ch_cp_state_ch_slepm,
8248
15
            {"SLE Progress Mark", "c15.cpsc.slepm",
8249
15
            FT_UINT32, BASE_DEC,
8250
15
            NULL,
8251
15
            0x0, NULL, HFILL }
8252
15
        },
8253
15
        { &hf_c15ch_cp_state_ch_flags,
8254
15
            {"Flags", "c15.cpsc.flags",
8255
15
            FT_UINT32, BASE_HEX,
8256
15
            NULL,
8257
15
            0x0, NULL, HFILL }
8258
15
        },
8259
15
        { &hf_c15ch_cp_state_ch_oldrtetype,
8260
15
            {"Old RTE Type", "c15.cpsc.oldrtetype",
8261
15
            FT_UINT32, BASE_DEC,
8262
15
            NULL,
8263
15
            0x0, NULL, HFILL }
8264
15
        },
8265
15
        { &hf_c15ch_cp_state_ch_oldrteidx,
8266
15
            {"Old RTE Index", "c15.cpsc.oldrteidx",
8267
15
            FT_UINT32, BASE_DEC,
8268
15
            NULL,
8269
15
            0x0, NULL, HFILL }
8270
15
        },
8271
15
        { &hf_c15ch_cp_state_ch_newrtetype,
8272
15
            {"New RTE Type", "c15.cpsc.newrtetype",
8273
15
            FT_UINT32, BASE_DEC,
8274
15
            NULL,
8275
15
            0x0, NULL, HFILL}
8276
15
        },
8277
15
        { &hf_c15ch_cp_state_ch_newrteidx,
8278
15
            {"New RTE Index", "c15.cpsc.newrteidx",
8279
15
            FT_UINT32, BASE_DEC,
8280
15
            NULL,
8281
15
            0x0, NULL, HFILL }
8282
15
        },
8283
8284
15
        { &hf_c15ch_dest_digits_digits,
8285
15
            { "Digits", "c15.dest_digits.digits",
8286
15
            FT_STRINGZ, BASE_NONE,
8287
15
            NULL,
8288
15
            0x0, NULL, HFILL}
8289
15
        },
8290
15
        { &hf_c15ch_echo_cancel_ni,
8291
15
            {"NI", "c15.echo_cancel.ni",
8292
15
            FT_UINT32, BASE_HEX,
8293
15
            NULL,
8294
15
            0x0, NULL, HFILL }
8295
15
        },
8296
8297
15
        { &hf_c15ch_echo_cancel_tn,
8298
15
            {"TN", "c15.echo_cancel.tn",
8299
15
            FT_UINT32, BASE_HEX,
8300
15
            NULL,
8301
15
            0x0, NULL, HFILL }
8302
15
        },
8303
15
        { &hf_c15ch_echo_cancel_ni_tn,
8304
15
            {"NI/TN", "c15.echo_cancel.ni_tn",
8305
15
            FT_UINT64, BASE_HEX,
8306
15
            NULL,
8307
15
            0x0, NULL, HFILL }
8308
15
        },
8309
15
        { &hf_c15ch_echo_cancel_old_l2_mode,
8310
15
            {"Old L2 Mode", "c15.echo_cancel.old_l2_mode",
8311
15
            FT_UINT8, BASE_DEC,
8312
15
            VALS( c15_echo_cancel_l2_mode_types ),
8313
15
            0x0, NULL, HFILL }
8314
15
        },
8315
15
        { &hf_c15ch_echo_cancel_old_channel_mode,
8316
15
            {"Old Channel Mode", "c15.echo_cancel.old_channel_mode",
8317
15
            FT_UINT32, BASE_DEC,
8318
15
            VALS( c15_echo_cancel_channel_mode_types ),
8319
15
            0x0, NULL, HFILL }
8320
15
        },
8321
15
        { &hf_c15ch_echo_cancel_old_ecan_mode,
8322
15
            {"Old Ecan Mode", "c15.echo_cancel.old_ecan_mode",
8323
15
            FT_UINT32, BASE_DEC,
8324
15
            VALS( c15_echo_cancel_ecan_mode_types ),
8325
15
            0x0, NULL, HFILL }
8326
15
        },
8327
15
        { &hf_c15ch_echo_cancel_new_l2_mode,
8328
15
            {"New L2 Mode", "c15.echo_cancel.new_l2_mode",
8329
15
            FT_UINT8, BASE_DEC,
8330
15
            VALS( c15_echo_cancel_l2_mode_types ),
8331
15
            0x0, NULL, HFILL }
8332
15
        },
8333
15
        { &hf_c15ch_echo_cancel_new_channel_mode,
8334
15
            {"New Channel Mode", "c15.echo_cancel.new_channel_mode",
8335
15
            FT_UINT32, BASE_DEC,
8336
15
            VALS( c15_echo_cancel_channel_mode_types ),
8337
15
            0x0, NULL, HFILL }
8338
15
        },
8339
15
        { &hf_c15ch_echo_cancel_new_ecan_mode,
8340
15
            {"New Ecan Mode", "c15.echo_cancel.new_ecan_mode",
8341
15
            FT_UINT32, BASE_DEC,
8342
15
            VALS( c15_echo_cancel_ecan_mode_types ),
8343
15
            0x0, NULL, HFILL }
8344
15
        },
8345
15
        { &hf_c15ch_echo_cancel_tone_id,
8346
15
            {"Tone ID", "c15.echo_cancel.tone_id",
8347
15
            FT_UINT32, BASE_DEC,
8348
15
            NULL,
8349
15
            0x0, NULL, HFILL }
8350
15
        },
8351
15
        { &hf_c15ch_echo_cancel_pm,
8352
15
            {"PM", "c15.echo_cancel.pm",
8353
15
            FT_UINT32, BASE_DEC,
8354
15
            NULL,
8355
15
            0x0, NULL, HFILL }
8356
15
        },
8357
15
        { &hf_c15ch_echo_cancel_pc,
8358
15
            {"PC", "c15.echo_cancel.pc",
8359
15
            FT_UINT32, BASE_DEC,
8360
15
            NULL,
8361
15
            0x0, NULL, HFILL }
8362
15
        },
8363
15
        { &hf_c15ch_echo_cancel_loop,
8364
15
            {"Loop", "c15.echo_cancel.loop",
8365
15
            FT_UINT32, BASE_DEC,
8366
15
            NULL,
8367
15
            0x0, NULL, HFILL }
8368
15
        },
8369
15
        { &hf_c15ch_echo_cancel_slot,
8370
15
            {"Slot", "c15.echo_cancel.slot",
8371
15
            FT_UINT32, BASE_DEC,
8372
15
            NULL,
8373
15
            0x0, NULL, HFILL }
8374
15
        },
8375
15
        { &hf_c15ch_echo_cancel_location,
8376
15
            {"Location", "c15.echo_cancel.location",
8377
15
            FT_STRINGZ, BASE_NONE,
8378
15
            NULL,
8379
15
            0x0, NULL, HFILL }
8380
15
        },
8381
8382
15
        { &hf_c15ch_encap_isup_direction,
8383
15
            {"Direction", "c15.encap_isup.direction",
8384
15
            FT_UINT8, BASE_DEC,
8385
15
            NULL,
8386
15
            0x0, NULL, HFILL }
8387
15
        },
8388
15
        { &hf_c15ch_encap_isup_isup_msg_length,
8389
15
            {"Message Type", "c15.encap_isup.isup_msg_length",
8390
15
            FT_UINT32, BASE_DEC,
8391
15
            NULL,
8392
15
            0x0, NULL, HFILL }
8393
15
        },
8394
8395
15
        { &hf_c15ch_isup_direction,
8396
15
            {"Direction", "c15.isup.direction",
8397
15
            FT_UINT8, BASE_DEC,
8398
15
            VALS( c15ch_direction_types ),
8399
15
            0x0, NULL, HFILL }
8400
15
        },
8401
15
        { &hf_c15ch_isup_msgtype,
8402
15
            {"Message Type", "c15.isup.msgtype",
8403
15
            FT_UINT8, BASE_DEC|BASE_EXT_STRING,
8404
15
            &c15_isup_types_ext,
8405
15
            0x0, NULL, HFILL }
8406
15
        },
8407
15
        { &hf_c15ch_isup_cic,
8408
15
            { "CIC", "c15.isup.cic",
8409
15
            FT_UINT32, BASE_DEC,
8410
15
            NULL,
8411
15
            0x0, NULL, HFILL }
8412
15
        },
8413
15
        { &hf_c15ch_isup_opcmember,
8414
15
            { "OPC Member", "c15.isup.opcmember",
8415
15
            FT_UINT8, BASE_DEC,
8416
15
            NULL,
8417
15
            0x0, NULL, HFILL}
8418
15
        },
8419
15
        { &hf_c15ch_isup_opccluster,
8420
15
            { "OPC Cluster", "c15.isup.opccluster",
8421
15
            FT_UINT8, BASE_DEC,
8422
15
            NULL,
8423
15
            0x0, NULL, HFILL}
8424
15
        },
8425
15
        { &hf_c15ch_isup_opcnetwork,
8426
15
            { "OPC Network", "c15.isup.opcnetwork",
8427
15
            FT_UINT8, BASE_DEC,
8428
15
            NULL,
8429
15
            0x0, NULL, HFILL}
8430
15
        },
8431
15
        { &hf_c15ch_isup_dpcmember,
8432
15
            {"DPC Member", "c15.isup.dpcmember",
8433
15
            FT_UINT8, BASE_DEC,
8434
15
            NULL,
8435
15
            0x0, NULL, HFILL }
8436
15
        },
8437
15
        { &hf_c15ch_isup_dpccluster,
8438
15
            { "DPC Cluster", "c15.isup.dpccluster",
8439
15
            FT_UINT8, BASE_DEC,
8440
15
            NULL,
8441
15
            0x0, NULL, HFILL}
8442
15
        },
8443
15
        { &hf_c15ch_isup_dpcnetwork,
8444
15
            { "DPC Network", "c15.isup.dpcnetwork",
8445
15
            FT_UINT8, BASE_DEC,
8446
15
            NULL,
8447
15
            0x0, NULL, HFILL}
8448
15
        },
8449
15
        { &hf_c15ch_isup_level3index,
8450
15
            { "Level 3 Index", "c15.isup.level3index",
8451
15
            FT_UINT8, BASE_DEC,
8452
15
            NULL,
8453
15
            0x0, NULL, HFILL}
8454
15
        },
8455
15
        { &hf_c15ch_isup_ni,
8456
15
            { "NI", "c15.isup.ni",
8457
15
            FT_UINT32, BASE_HEX,
8458
15
            NULL,
8459
15
            0x0, NULL, HFILL}
8460
15
        },
8461
15
        { &hf_c15ch_isup_tn,
8462
15
            { "TN", "c15.isup.tn",
8463
15
            FT_UINT32, BASE_HEX,
8464
15
            NULL,
8465
15
            0x0, NULL, HFILL}
8466
15
        },
8467
15
        { &hf_c15ch_isup_ni_tn,
8468
15
            {"NI/TN", "c15.isup.ni_tn",
8469
15
            FT_UINT64, BASE_HEX,
8470
15
            NULL,
8471
15
            0x0, NULL, HFILL }
8472
15
        },
8473
15
        { &hf_c15ch_isup_c15hdr,
8474
15
            { "C15 Header", "c15.isup.c15hdr",
8475
15
            FT_BYTES, BASE_NONE,
8476
15
            NULL,
8477
15
            0x0, NULL, HFILL}
8478
15
        },
8479
15
        { &hf_c15ch_isup_layer2hdr,
8480
15
            { "Layer 2 Header", "c15.isup.layer2hdr",
8481
15
            FT_BYTES, BASE_NONE,
8482
15
            NULL,
8483
15
            0x0, NULL, HFILL}
8484
15
        },
8485
15
        { &hf_c15ch_isup_layer3hdr,
8486
15
            { "Layer 3 Header", "c15.isup.layer3hdr",
8487
15
            FT_BYTES, BASE_NONE,
8488
15
            NULL,
8489
15
            0x0, NULL, HFILL}
8490
15
        },
8491
15
        { &hf_c15ch_isup_iptime,
8492
15
            {"IP Time", "c15.isup.iptime",
8493
15
            FT_UINT32, BASE_HEX,
8494
15
            NULL,
8495
15
            0x0, NULL, HFILL}
8496
15
        },
8497
8498
15
        { &hf_c15ch_mkbrk_makebreak,
8499
15
            { "Make Break", "c15.mkbrk.makebreak",
8500
15
            FT_UINT8, BASE_DEC,
8501
15
            NULL,
8502
15
            0x0, NULL, HFILL}
8503
15
        },
8504
15
        { &hf_c15ch_mkbrk_nshlf,
8505
15
            { "Nshlf", "c15.mkbrk.nshlf",
8506
15
            FT_UINT8, BASE_DEC,
8507
15
            NULL,
8508
15
            0x0, NULL, HFILL}
8509
15
        },
8510
15
        { &hf_c15ch_mkbrk_stm,
8511
15
            { "Stm", "c15.mkbrk.stm",
8512
15
            FT_UINT8, BASE_DEC,
8513
15
            NULL,
8514
15
            0x0, NULL, HFILL}
8515
15
        },
8516
15
        { &hf_c15ch_mkbrk_caddr,
8517
15
            { "C Address", "c15.mkbrk.caddr",
8518
15
            FT_UINT32, BASE_DEC,
8519
15
            NULL,
8520
15
            0x0, NULL, HFILL}
8521
15
        },
8522
15
        { &hf_c15ch_mkbrk_cdata,
8523
15
            { "C Data", "c15.mkbrk.cdata",
8524
15
            FT_UINT32, BASE_DEC,
8525
15
            NULL,
8526
15
            0x0, NULL, HFILL}
8527
15
        },
8528
8529
15
        { &hf_c15ch_nitnxlate_ni,
8530
15
            {"NI", "c15.nitnxlate.ni",
8531
15
            FT_UINT32, BASE_HEX,
8532
15
            NULL,
8533
15
            0x0, NULL, HFILL}
8534
15
        },
8535
15
        { &hf_c15ch_nitnxlate_tn,
8536
15
            { "TN", "c15.nitnxlate.tn",
8537
15
            FT_UINT32, BASE_HEX,
8538
15
            NULL,
8539
15
            0x0, NULL, HFILL }
8540
15
        },
8541
15
        { &hf_c15ch_nitnxlate_ni_tn,
8542
15
            {"NI/TN", "c15.nitnxlate.ni_tn",
8543
15
            FT_UINT64, BASE_HEX,
8544
15
            NULL,
8545
15
            0x0, NULL, HFILL }
8546
15
        },
8547
15
        { &hf_c15ch_nitnxlate_equiptype,
8548
15
            { "Equipment Type", "c15.nitnxlate.equiptype",
8549
15
            FT_UINT32, BASE_DEC|BASE_EXT_STRING,
8550
15
            &c15ch_nitnxlate_equip_types_ext,
8551
15
            0x0, NULL, HFILL}
8552
15
        },
8553
15
        { &hf_c15ch_nitnxlate_sitestring,
8554
15
            { "Site String", "c15.nitnxlate.sitestring",
8555
15
            FT_STRINGZ, BASE_NONE,
8556
15
            NULL,
8557
15
            0x0, NULL, HFILL}
8558
15
        },
8559
15
        { &hf_c15ch_nitnxlate_concat_string,
8560
15
            { "ID String", "c15.nitnxlate.id_string",
8561
15
            FT_STRINGZ, BASE_NONE,
8562
15
            NULL,
8563
15
            0x0, NULL, HFILL}
8564
15
        },
8565
15
        { &hf_c15ch_nitnxlate_subsitestring,
8566
15
            { "Subsite String", "c15.nitnxlate.subsitestring",
8567
15
            FT_STRINGZ, BASE_NONE,
8568
15
            NULL,
8569
15
            0x0, NULL, HFILL}
8570
15
        },
8571
15
        { &hf_c15ch_nitnxlate_equipname,
8572
15
            { "Equipment Name", "c15.nitnxlate.equipname",
8573
15
            FT_STRINGZ, BASE_NONE,
8574
15
            NULL,
8575
15
            0x0, NULL, HFILL}
8576
15
        },
8577
15
        { &hf_c15ch_nitnxlate_gw_type,
8578
15
            { "GW Type", "c15.nitnxlate.gw_type",
8579
15
            FT_UINT32, BASE_DEC,
8580
15
            VALS( c15ch_nitnxlate_gwe_types ),
8581
15
            0x0, NULL, HFILL}
8582
15
        },
8583
15
        { &hf_c15ch_nitnxlate_parm_1,
8584
15
            { "Parm 1", "c15.nitnxlate.parm_1",
8585
15
            FT_UINT32, BASE_DEC,
8586
15
            NULL,
8587
15
            0x0, NULL, HFILL}
8588
15
        },
8589
15
        { &hf_c15ch_nitnxlate_parm_2,
8590
15
            { "Parm 2", "c15.nitnxlate.parm_2",
8591
15
            FT_UINT32, BASE_DEC,
8592
15
            NULL,
8593
15
            0x0, NULL, HFILL}
8594
15
        },
8595
15
        { &hf_c15ch_nitnxlate_parm_3,
8596
15
            { "Parm 3", "c15.nitnxlate.parm_3",
8597
15
            FT_UINT32, BASE_DEC,
8598
15
            NULL,
8599
15
            0x0, NULL, HFILL}
8600
15
        },
8601
15
        { &hf_c15ch_nitnxlate_parm_4,
8602
15
            { "Parm 4", "c15.nitnxlate.parm_4",
8603
15
            FT_UINT32, BASE_DEC,
8604
15
            NULL,
8605
15
            0x0, NULL, HFILL}
8606
15
        },
8607
15
        { &hf_c15ch_nitnxlate_key,
8608
15
            { "Key", "c15.nitnxlate.key",
8609
15
            FT_UINT32, BASE_DEC,
8610
15
            NULL,
8611
15
            0x0, NULL, HFILL}
8612
15
        },
8613
15
        { &hf_c15ch_nitnxlate_gateway,
8614
15
            { "Gateway", "c15.nitnxlate.gateway",
8615
15
            FT_UINT32, BASE_DEC,
8616
15
            NULL,
8617
15
            0x0, NULL, HFILL}
8618
15
        },
8619
15
        { &hf_c15ch_nitnxlate_line,
8620
15
            { "Line", "c15.nitnxlate.line",
8621
15
            FT_UINT32, BASE_DEC,
8622
15
            NULL,
8623
15
            0x0, NULL, HFILL}
8624
15
        },
8625
15
        { &hf_c15ch_nitnxlate_bay,
8626
15
            { "Bay", "c15.nitnxlate.bay",
8627
15
            FT_UINT32, BASE_DEC,
8628
15
            NULL,
8629
15
            0x0, NULL, HFILL}
8630
15
        },
8631
15
        { &hf_c15ch_nitnxlate_shelf,
8632
15
            { "Shelf", "c15.nitnxlate.shelf",
8633
15
            FT_UINT32, BASE_DEC,
8634
15
            NULL,
8635
15
            0x0, NULL, HFILL}
8636
15
        },
8637
15
        { &hf_c15ch_nitnxlate_lsg,
8638
15
            { "LSG", "c15.nitnxlate.lsg",
8639
15
            FT_UINT32, BASE_DEC,
8640
15
            NULL,
8641
15
            0x0, NULL, HFILL}
8642
15
        },
8643
15
        { &hf_c15ch_nitnxlate_idt_rdt,
8644
15
            { "IDT/RDT", "c15.nitnxlate.idt_rdt",
8645
15
            FT_UINT32, BASE_DEC,
8646
15
            NULL,
8647
15
            0x0, NULL, HFILL}
8648
15
        },
8649
15
        { &hf_c15ch_nitnxlate_pm,
8650
15
            { "PM", "c15.nitnxlate.pm",
8651
15
            FT_UINT32, BASE_DEC,
8652
15
            NULL,
8653
15
            0x0, NULL, HFILL}
8654
15
        },
8655
15
        { &hf_c15ch_nitnxlate_ptrk,
8656
15
            { "Ptrk", "c15.nitnxlate.ptrk",
8657
15
            FT_UINT32, BASE_DEC,
8658
15
            NULL,
8659
15
            0x0, NULL, HFILL}
8660
15
        },
8661
15
        { &hf_c15ch_nitnxlate_channel,
8662
15
            { "Channel", "c15.nitnxlate.channel",
8663
15
            FT_UINT32, BASE_DEC,
8664
15
            NULL,
8665
15
            0x0, NULL, HFILL}
8666
15
        },
8667
15
        { &hf_c15ch_nitnxlate_pc_sts1,
8668
15
            { "PC or STS1", "c15.nitnxlate.pc_sts1",
8669
15
            FT_UINT32, BASE_DEC,
8670
15
            NULL,
8671
15
            0x0, NULL, HFILL}
8672
15
        },
8673
15
        { &hf_c15ch_nitnxlate_port_vt15,
8674
15
            { "Port or VT15", "c15.nitnxlate.port_vt15",
8675
15
            FT_UINT32, BASE_DEC,
8676
15
            NULL,
8677
15
            0x0, NULL, HFILL}
8678
15
        },
8679
15
        { &hf_c15ch_nitnxlate_user_tid,
8680
15
            { "User TID", "c15.nitnxlate.user_tid",
8681
15
            FT_STRINGZ, BASE_NONE,
8682
15
            NULL,
8683
15
            0x0, NULL, HFILL}
8684
15
        },
8685
15
        { &hf_c15ch_nitnxlate_host,
8686
15
            { "Host", "c15.nitnxlate.host",
8687
15
            FT_STRINGZ, BASE_NONE,
8688
15
            NULL,
8689
15
            0x0, NULL, HFILL}
8690
15
        },
8691
15
        { &hf_c15ch_nitnxlate_sip_call_id_64,
8692
15
            { "SIP Call-ID-64", "c15.nitnxlate.sip_call_id-64", /* Output for SIP Call-ID */
8693
15
            FT_STRINGZ, BASE_NONE,
8694
15
            NULL,
8695
15
            0x0, NULL, HFILL}
8696
15
        },
8697
15
        { &hf_c15ch_nitnxlate_tg_num,
8698
15
            { "Target Group Num", "c15.nitnxlate.tg_num",
8699
15
            FT_UINT32, BASE_DEC,
8700
15
            NULL,
8701
15
            0x0, NULL, HFILL}
8702
15
        },
8703
15
        { &hf_c15ch_nitnxlate_mgcp_line_id,
8704
15
            { "MGCP Line ID", "c15.nitnxlate.mgcp_line_id",
8705
15
            FT_STRINGZ, BASE_NONE,
8706
15
            NULL,
8707
15
            0x0, NULL, HFILL}
8708
15
        },
8709
8710
15
        { &hf_c15ch_ntwk_conn_pathtype,
8711
15
            { "Path Type", "c15.ntwkconn.pathtype",
8712
15
            FT_UINT8, BASE_DEC,
8713
15
            VALS( c15ch_path_types ),
8714
15
            0x0, NULL, HFILL}
8715
15
        },
8716
15
        { &hf_c15ch_ntwk_conn_conntype,
8717
15
            { "Conn Type", "c15.ntwkconn.conntype",
8718
15
            FT_UINT8, BASE_DEC,
8719
15
            VALS( c15ch_ntwk_srcedest_conn_types ),
8720
15
            0x0, NULL, HFILL}
8721
15
        },
8722
15
        { &hf_c15ch_ntwk_conn_fromoptimized,
8723
15
            { "From Optimized", "c15.ntwkconn.fromoptimized",
8724
15
            FT_BOOLEAN, BASE_NONE,
8725
15
            TFS(&tfs_yes_no),
8726
15
            0x0, NULL, HFILL}
8727
15
        },
8728
15
        { &hf_c15ch_ntwk_conn_fromsite,
8729
15
            { "From Site", "c15.ntwkconn.fromsite",
8730
15
            FT_STRINGZ, BASE_NONE,
8731
15
            NULL,
8732
15
            0x0, NULL, HFILL}
8733
15
        },
8734
15
        { &hf_c15ch_ntwk_conn_frompm,
8735
15
            { "From PM", "c15.ntwkconn.frompm",
8736
15
            FT_UINT8, BASE_DEC,
8737
15
            NULL,
8738
15
            0x0, NULL, HFILL}
8739
15
        },
8740
15
        { &hf_c15ch_ntwk_conn_frompc,
8741
15
            { "From PC", "c15.ntwkconn.frompc",
8742
15
            FT_UINT8, BASE_DEC,
8743
15
            NULL,
8744
15
            0x0, NULL, HFILL}
8745
15
        },
8746
15
        { &hf_c15ch_ntwk_conn_fromloop,
8747
15
            { "From Loop", "c15.ntwkconn.fromloop",
8748
15
            FT_UINT8, BASE_DEC,
8749
15
            NULL,
8750
15
            0x0, NULL, HFILL}
8751
15
        },
8752
15
        { &hf_c15ch_ntwk_conn_fromslot,
8753
15
            { "From Slot", "c15.ntwkconn.fromslot",
8754
15
            FT_UINT8, BASE_DEC,
8755
15
            NULL,
8756
15
            0x0, NULL, HFILL}
8757
15
        },
8758
15
        { &hf_c15ch_ntwk_conn_fromlocation,
8759
15
            { "From Location", "c15.ntwkconn.fromlocation",
8760
15
            FT_STRINGZ, BASE_NONE,
8761
15
            NULL,
8762
15
            0x0, NULL, HFILL}
8763
15
        },
8764
15
        { &hf_c15ch_ntwk_conn_fromcnx,
8765
15
            { "From CNX", "c15.ntwkconn.fromcnx",
8766
15
            FT_UINT32, BASE_DEC,
8767
15
            NULL,
8768
15
            0x0, NULL, HFILL}
8769
15
        },
8770
15
        { &hf_c15ch_ntwk_conn_fromntwkni,
8771
15
            { "From Ntwk NI", "c15.ntwkconn.fromntwkni",
8772
15
            FT_UINT32, BASE_HEX,
8773
15
            NULL,
8774
15
            0x0, NULL, HFILL}
8775
15
        },
8776
15
        { &hf_c15ch_ntwk_conn_fromntwktn,
8777
15
            { "From Ntwk TN", "c15.ntwkconn.fromntwktn",
8778
15
            FT_UINT32, BASE_HEX,
8779
15
            NULL,
8780
15
            0x0, NULL, HFILL}
8781
15
        },
8782
15
        { &hf_c15ch_ntwk_conn_fromntwknitn,
8783
15
            { "From Ntwk NI/TN", "c15.ntwkconn.fromntwknitn",
8784
15
            FT_UINT64, BASE_HEX,
8785
15
            NULL,
8786
15
            0x0, NULL, HFILL}
8787
15
        },
8788
15
        { &hf_c15ch_ntwk_conn_mbshold,
8789
15
            { "MBS Hold", "c15.ntwkconn.mbshold",
8790
15
            FT_UINT8, BASE_DEC,
8791
15
            NULL,
8792
15
            0x0, NULL, HFILL}
8793
15
        },
8794
15
        { &hf_c15ch_ntwk_conn_tooptimized,
8795
15
            { "To Optimized", "c15.ntwkconn.tooptimized",
8796
15
            FT_BOOLEAN, BASE_NONE,
8797
15
            TFS(&tfs_yes_no),
8798
15
            0x0, NULL, HFILL}
8799
15
        },
8800
15
        { &hf_c15ch_ntwk_conn_tosite,
8801
15
            { "To Site", "c15.ntwkconn.tosite",
8802
15
            FT_STRINGZ, BASE_NONE,
8803
15
            NULL,
8804
15
            0x0, NULL, HFILL}
8805
15
        },
8806
15
        { &hf_c15ch_ntwk_conn_topm,
8807
15
            { "To PM", "c15.ntwkconn.topm",
8808
15
            FT_UINT8, BASE_DEC,
8809
15
            NULL,
8810
15
            0x0, NULL, HFILL}
8811
15
        },
8812
15
        { &hf_c15ch_ntwk_conn_topc,
8813
15
            { "To PC", "c15.ntwkconn.topc",
8814
15
            FT_UINT8, BASE_DEC,
8815
15
            NULL,
8816
15
            0x0, NULL, HFILL}
8817
15
        },
8818
15
        { &hf_c15ch_ntwk_conn_toloop,
8819
15
            { "To Loop", "c15.ntwkconn.toloop",
8820
15
            FT_UINT8, BASE_DEC,
8821
15
            NULL,
8822
15
            0x0, NULL, HFILL}
8823
15
        },
8824
15
        { &hf_c15ch_ntwk_conn_tolocation,
8825
15
            { "To Location", "c15.ntwkconn.tolocation",
8826
15
            FT_STRINGZ, BASE_NONE,
8827
15
            NULL,
8828
15
            0x0, NULL, HFILL}
8829
15
        },
8830
15
        { &hf_c15ch_ntwk_conn_toslot,
8831
15
            { "To Slot", "c15.ntwkconn.toslot",
8832
15
            FT_UINT8, BASE_DEC,
8833
15
            NULL,
8834
15
            0x0, NULL, HFILL}
8835
15
        },
8836
15
        { &hf_c15ch_ntwk_conn_tocnx,
8837
15
            { "To CNX", "c15.ntwkconn.tocnx",
8838
15
            FT_UINT32, BASE_DEC,
8839
15
            NULL,
8840
15
            0x0, NULL, HFILL}
8841
15
        },
8842
8843
15
        { &hf_c15ch_orig_tnblocktype,
8844
15
            { "TN Block Type", "c15.orig.tnblocktype",
8845
15
            FT_UINT32, BASE_DEC|BASE_EXT_STRING,
8846
15
            &c15ch_orig_block_types_ext,
8847
15
            0x0, NULL, HFILL}
8848
15
        },
8849
15
        { &hf_c15ch_orig_ni,
8850
15
            { "NI", "c15.orig.ni",
8851
15
            FT_UINT32, BASE_HEX,
8852
15
            NULL,
8853
15
            0x0, NULL, HFILL}
8854
15
        },
8855
15
        { &hf_c15ch_orig_tn,
8856
15
            { "TN", "c15.orig.tn",
8857
15
            FT_UINT32, BASE_HEX,
8858
15
            NULL,
8859
15
            0x0, NULL, HFILL}
8860
15
        },
8861
15
        { &hf_c15ch_orig_ni_tn,
8862
15
            {"NI/TN", "c15.orig.ni_tn",
8863
15
            FT_UINT64, BASE_HEX,
8864
15
            NULL,
8865
15
            0x0, NULL, HFILL }
8866
15
        },
8867
15
        { &hf_c15ch_orig_dndigits,
8868
15
            { "DN Digits", "c15.orig.dndigits",
8869
15
            FT_STRINGZ, BASE_NONE,
8870
15
            NULL,
8871
15
            0x0, NULL, HFILL}
8872
15
        },
8873
15
        { &hf_c15ch_orig_nidscrn,
8874
15
            { "Nid Scrn", "c15.orig.nidscrn",
8875
15
            FT_UINT8, BASE_DEC,
8876
15
            NULL,
8877
15
            0x0, NULL, HFILL}
8878
15
        },
8879
15
        { &hf_c15ch_orig_nidaddrtype,
8880
15
            { "Nid Address Type", "c15.orig.nidaddrtype",
8881
15
            FT_UINT8, BASE_DEC,
8882
15
            NULL,
8883
15
            0x0, NULL, HFILL}
8884
15
        },
8885
15
        { &hf_c15ch_orig_nidnmbrplan,
8886
15
            { "Nid Number Plan", "c15.orig.nidnmbrplan",
8887
15
            FT_UINT8, BASE_DEC,
8888
15
            NULL,
8889
15
            0x0, NULL, HFILL}
8890
15
        },
8891
15
        { &hf_c15ch_orig_nidprivind,
8892
15
            { "Nid Priv Ind", "c15.orig.nidprivind",
8893
15
            FT_UINT8, BASE_DEC,
8894
15
            NULL,
8895
15
            0x0, NULL, HFILL}
8896
15
        },
8897
15
        { &hf_c15ch_orig_upnsaved,
8898
15
            { "UPN Saved", "c15.orig.upnsaved",
8899
15
            FT_UINT8, BASE_DEC,
8900
15
            NULL,
8901
15
            0x0, NULL, HFILL}
8902
15
        },
8903
15
        { &hf_c15ch_orig_upndigits,
8904
15
            { "UPN Digits", "c15.orig.upndigits",
8905
15
            FT_STRINGZ, BASE_NONE,
8906
15
            NULL,
8907
15
            0x0, NULL, HFILL}
8908
15
        },
8909
15
        { &hf_c15ch_orig_upnscrn,
8910
15
            { "UPN Scrn", "c15.orig.upnscrn",
8911
15
            FT_UINT8, BASE_DEC,
8912
15
            NULL,
8913
15
            0x0, NULL, HFILL}
8914
15
        },
8915
15
        { &hf_c15ch_orig_upnaddrtype,
8916
15
            { "UPN Address Type", "c15.orig.upnaddrtype",
8917
15
            FT_UINT8, BASE_DEC,
8918
15
            NULL,
8919
15
            0x0, NULL, HFILL}
8920
15
        },
8921
15
        { &hf_c15ch_orig_upnnmbrplan,
8922
15
            { "UPN Nmbr Plan", "c15.orig.upnnmbrplan",
8923
15
            FT_UINT8, BASE_DEC,
8924
15
            NULL,
8925
15
            0x0, NULL, HFILL}
8926
15
        },
8927
15
        { &hf_c15ch_orig_upnprivind,
8928
15
            { "UPN Priv Ind", "c15.orig.upnprivind",
8929
15
            FT_UINT8, BASE_DEC,
8930
15
            NULL,
8931
15
            0x0, NULL, HFILL}
8932
15
        },
8933
15
        { &hf_c15ch_orig_rnpsaved,
8934
15
            { "RNP Saved", "c15.orig.rnpsaved",
8935
15
            FT_UINT8, BASE_DEC,
8936
15
            NULL,
8937
15
            0x0, NULL, HFILL}
8938
15
        },
8939
15
        { &hf_c15ch_orig_rnpdigits,
8940
15
            { "RNP Digits", "c15.orig.rnpdigits",
8941
15
            FT_STRINGZ, BASE_NONE,
8942
15
            NULL,
8943
15
            0x0, NULL, HFILL}
8944
15
        },
8945
15
        { &hf_c15ch_orig_rnpscrn,
8946
15
            { "RNP Scrn", "c15.orig.rnpscrn",
8947
15
            FT_UINT8, BASE_DEC,
8948
15
            NULL,
8949
15
            0x0, NULL, HFILL}
8950
15
        },
8951
15
        { &hf_c15ch_orig_rnpaddrtype,
8952
15
            { "RNP Address Type", "c15.orig.rnpaddrtype",
8953
15
            FT_UINT8, BASE_DEC,
8954
15
            NULL,
8955
15
            0x0, NULL, HFILL}
8956
15
        },
8957
15
        { &hf_c15ch_orig_rnpnmbrplan,
8958
15
            { "RNP Number Plan", "c15.orig.rnpnmbrplan",
8959
15
            FT_UINT8, BASE_DEC,
8960
15
            NULL,
8961
15
            0x0, NULL, HFILL}
8962
15
        },
8963
15
        { &hf_c15ch_orig_rnpprivind,
8964
15
            { "RNP Priv Ind", "c15.orig.rnpprivind",
8965
15
            FT_UINT8, BASE_DEC,
8966
15
            NULL,
8967
15
            0x0, NULL, HFILL}
8968
15
        },
8969
15
        { &hf_c15ch_orig_iptime,
8970
15
            { "IP Time", "c15.orig.iptime",
8971
15
            FT_UINT32, BASE_HEX,
8972
15
            NULL,
8973
15
            0x0, NULL, HFILL}
8974
15
        },
8975
8976
15
        { &hf_c15ch_outgwebc_pbc_conn_ni,
8977
15
        { "PBC Conn NI", "c15.out_gwe_bc.pbc.conn.ni",
8978
15
            FT_UINT32, BASE_HEX,
8979
15
            NULL,
8980
15
            0x0, NULL, HFILL}
8981
15
        },
8982
15
        { &hf_c15ch_outgwebc_pbc_conn_tn,
8983
15
            { "PBC Conn TN", "c15.out_gwe_bc.pbc_conn.tn",
8984
15
            FT_UINT32, BASE_HEX,
8985
15
            NULL,
8986
15
            0x0, NULL, HFILL}
8987
15
        },
8988
15
        { &hf_c15ch_outgwebc_pbc_conn_ni_tn,
8989
15
            {"PBC Conn NI/TN", "c15.out_gwe_bc.pbc_conn.ni_tn",
8990
15
            FT_UINT64, BASE_HEX,
8991
15
            NULL,
8992
15
            0x0, NULL, HFILL }
8993
15
        },
8994
15
        { &hf_c15ch_outgwebc_pbc_conn_num,
8995
15
            { "PBC Conn Num", "c15.out_gwe_bc.pbc_conn.num",
8996
15
            FT_UINT32, BASE_DEC,
8997
15
            NULL,
8998
15
            0x0, NULL, HFILL}
8999
15
        },
9000
15
        { &hf_c15ch_outgwebc_pbc_conn_type,
9001
15
            { "PBC Conn Type", "c15.out_gwe_bc.pbc_conn.type",
9002
15
            FT_UINT8, BASE_DEC,
9003
15
            NULL,
9004
15
            0x0, NULL, HFILL}
9005
15
        },
9006
15
        { &hf_c15ch_outgwebc_bc_msg_type,
9007
15
            { "BC Msg Type", "c15.out_gwe_bc.bc_msg_type",
9008
15
            FT_UINT8, BASE_DEC,
9009
15
            NULL,
9010
15
            0x0, NULL, HFILL}
9011
15
        },
9012
15
        { &hf_c15ch_outgwebc_op_bc_sdp_ip,
9013
15
            { "OP BC SDP IP", "c15.out_gwe_bc.op_bc_sdp.ip",
9014
15
            FT_IPv4, BASE_NONE,
9015
15
            NULL,
9016
15
            0x0, NULL, HFILL}
9017
15
        },
9018
15
        { &hf_c15ch_outgwebc_op_bc_sdp_port,
9019
15
            { "OP BC SDP Port", "c15.out_gwe_bc.op_bc_sdp.port",
9020
15
            FT_UINT32, BASE_DEC,
9021
15
            NULL,
9022
15
            0x0, NULL, HFILL}
9023
15
        },
9024
15
        { &hf_c15ch_outgwebc_pbc_mdrp_mode,
9025
15
            { "PBC MDRP Mode", "c15.out_gwe_bc.pbc.mdrp_mode",
9026
15
            FT_UINT8, BASE_DEC,
9027
15
            NULL,
9028
15
            0x0, NULL, HFILL}
9029
15
        },
9030
15
        { &hf_c15ch_outgwebc_pbc_tst_flags,
9031
15
            { "PBC TST Flags", "c15.out_gwe_bc.pbc.tst_flags",
9032
15
            FT_UINT32, BASE_HEX,
9033
15
            NULL,
9034
15
            0x0, NULL, HFILL}
9035
15
        },
9036
9037
15
        { &hf_c15ch_pathfind_vds30,
9038
15
            {"VDS30", "c15.pathfind.vds30",
9039
15
            FT_UINT8, BASE_DEC,
9040
15
            VALS( c15ch_path_vds30_types),
9041
15
            0x0, NULL, HFILL}
9042
15
        },
9043
15
        { &hf_c15ch_pathfind_fromgweni,
9044
15
            { "From GWE NI", "c15.pathfind.fromgweni",
9045
15
            FT_UINT32, BASE_HEX,
9046
15
            NULL,
9047
15
            0x0, NULL, HFILL}
9048
15
        },
9049
15
        { &hf_c15ch_pathfind_fromgwetn,
9050
15
            { "From GWE TN", "c15.pathfind.fromgwetn",
9051
15
            FT_UINT32, BASE_HEX,
9052
15
            NULL,
9053
15
            0x0, NULL, HFILL}
9054
15
        },
9055
15
        { &hf_c15ch_pathfind_fromgwenitn,
9056
15
            { "From GWE NI/TN", "c15.pathfind.fromgwenitn",
9057
15
            FT_UINT64, BASE_HEX,
9058
15
            NULL,
9059
15
            0x0, NULL, HFILL}
9060
15
        },
9061
15
        { &hf_c15ch_pathfind_fromoptimized,
9062
15
            { "From Optimized", "c15.pathfind.fromoptimized",
9063
15
            FT_UINT8, BASE_DEC,
9064
15
            NULL,
9065
15
            0x0, NULL, HFILL}
9066
15
        },
9067
15
        { &hf_c15ch_pathfind_fromsite,
9068
15
            { "From Site", "c15.pathfind.fromsite",
9069
15
            FT_STRINGZ, BASE_NONE,
9070
15
            NULL,
9071
15
            0x0, NULL, HFILL}
9072
15
        },
9073
15
        { &hf_c15ch_pathfind_frompm,
9074
15
            { "From Port Module", "c15.pathfind.frompm",
9075
15
            FT_UINT8, BASE_DEC,
9076
15
            NULL,
9077
15
            0x0, NULL, HFILL}
9078
15
        },
9079
15
        { &hf_c15ch_pathfind_frompc,
9080
15
            { "From Port Controller", "c15.pathfind.frompc",
9081
15
            FT_UINT8, BASE_DEC,
9082
15
            NULL,
9083
15
            0x0, NULL, HFILL}
9084
15
        },
9085
15
        { &hf_c15ch_pathfind_fromloop,
9086
15
            { "From Loop", "c15.pathfind.fromloop",
9087
15
            FT_UINT32, BASE_DEC,
9088
15
            NULL,
9089
15
            0x0, NULL, HFILL}
9090
15
        },
9091
15
        { &hf_c15ch_pathfind_fromslot,
9092
15
            { "From Slot", "c15.pathfind.fromslot",
9093
15
            FT_UINT32, BASE_DEC,
9094
15
            NULL,
9095
15
            0x0, NULL, HFILL}
9096
15
        },
9097
15
        { &hf_c15ch_pathfind_fromcnx,
9098
15
            { "From CNX", "c15.pathfind.fromcnx",
9099
15
            FT_UINT32, BASE_DEC,
9100
15
            NULL,
9101
15
            0x0, NULL, HFILL}
9102
15
        },
9103
15
        { &hf_c15ch_pathfind_fromni,
9104
15
            { "From NI", "c15.pathfind.fromni",
9105
15
            FT_UINT32, BASE_HEX,
9106
15
            NULL,
9107
15
            0x0, NULL, HFILL}
9108
15
        },
9109
15
        { &hf_c15ch_pathfind_fromtn,
9110
15
            { "From TN", "c15.pathfind.fromtn",
9111
15
            FT_UINT32, BASE_HEX,
9112
15
            NULL,
9113
15
            0x0, NULL, HFILL}
9114
15
        },
9115
15
        { &hf_c15ch_pathfind_fromnitn,
9116
15
            { "From NI/TN", "c15.pathfind.fromnitn",
9117
15
            FT_UINT64, BASE_HEX,
9118
15
            NULL,
9119
15
            0x0, NULL, HFILL}
9120
15
        },
9121
15
        { &hf_c15ch_pathfind_togweni,
9122
15
            { "To GWE NI", "c15.pathfind.togweni",
9123
15
            FT_UINT32, BASE_HEX,
9124
15
            NULL,
9125
15
            0x0, NULL, HFILL}
9126
15
        },
9127
15
        { &hf_c15ch_pathfind_togwetn,
9128
15
            { "To GWE TN", "c15.pathfind.togwetn",
9129
15
            FT_UINT32, BASE_HEX,
9130
15
            NULL,
9131
15
            0x0, NULL, HFILL}
9132
15
        },
9133
15
        { &hf_c15ch_pathfind_togwenitn,
9134
15
            { "To GWE TN", "c15.pathfind.togwenitn",
9135
15
            FT_UINT64, BASE_HEX,
9136
15
            NULL,
9137
15
            0x0, NULL, HFILL}
9138
15
        },
9139
15
        { &hf_c15ch_pathfind_tooptimized,
9140
15
            { "To Optimized", "c15.pathfind.tooptimized",
9141
15
            FT_UINT8, BASE_DEC,
9142
15
            NULL,
9143
15
            0x0, NULL, HFILL}
9144
15
        },
9145
15
        { &hf_c15ch_pathfind_tosite,
9146
15
            { "To Site", "c15.pathfind.tosite",
9147
15
            FT_STRINGZ, BASE_NONE,
9148
15
            NULL,
9149
15
            0x0, NULL, HFILL}
9150
15
        },
9151
15
        { &hf_c15ch_pathfind_topm,
9152
15
            { "To Port Module", "c15.pathfind.topm",
9153
15
            FT_UINT8, BASE_DEC,
9154
15
            NULL,
9155
15
            0x0, NULL, HFILL}
9156
15
        },
9157
15
        { &hf_c15ch_pathfind_topc,
9158
15
            { "To Port Controller", "c15.pathfind.topc",
9159
15
            FT_UINT8, BASE_DEC,
9160
15
            NULL,
9161
15
            0x0, NULL, HFILL}
9162
15
        },
9163
15
        { &hf_c15ch_pathfind_toloop,
9164
15
            { "To Loop", "c15.pathfind.toloop",
9165
15
            FT_UINT32, BASE_DEC,
9166
15
            NULL,
9167
15
            0x0, NULL, HFILL}
9168
15
        },
9169
15
        { &hf_c15ch_pathfind_toslot,
9170
15
            { "To Slot", "c15.pathfind.toslot",
9171
15
            FT_UINT32, BASE_DEC,
9172
15
            NULL,
9173
15
            0x0, NULL, HFILL}
9174
15
        },
9175
15
        { &hf_c15ch_pathfind_tocnx,
9176
15
            { "To CNX", "c15.pathfind.tocnx",
9177
15
            FT_UINT32, BASE_DEC,
9178
15
            NULL,
9179
15
            0x0, NULL, HFILL}
9180
15
        },
9181
15
        { &hf_c15ch_pathfind_toni,
9182
15
            { "To NI", "c15.pathfind.toni",
9183
15
            FT_UINT32, BASE_HEX,
9184
15
            NULL,
9185
15
            0x0, NULL, HFILL}
9186
15
        },
9187
15
        { &hf_c15ch_pathfind_totn,
9188
15
            { "To TN", "c15.pathfind.totn",
9189
15
            FT_UINT32, BASE_HEX,
9190
15
            NULL,
9191
15
            0x0, NULL, HFILL}
9192
15
        },
9193
15
        { &hf_c15ch_pathfind_tonitn,
9194
15
            { "To NI/TN", "c15.pathfind.tonitn",
9195
15
            FT_UINT64, BASE_HEX,
9196
15
            NULL,
9197
15
            0x0, NULL, HFILL}
9198
15
        },
9199
9200
15
        { &hf_c15ch_pathidle_vds30,
9201
15
            {"VDS30", "c15.pathidle.vds30",
9202
15
            FT_UINT8, BASE_DEC,
9203
15
            VALS( c15ch_path_vds30_types ),
9204
15
            0x0, NULL, HFILL}
9205
15
        },
9206
15
        { &hf_c15ch_pathidle_idlecode,
9207
15
            {"Idle Code", "c15.pathidle.idlecode",
9208
15
            FT_UINT8, BASE_DEC,
9209
15
            VALS( c15ch_pathidle_idle_types ),
9210
15
            0x0, NULL, HFILL}
9211
15
        },
9212
15
        { &hf_c15ch_pathidle_pathtype,
9213
15
            { "Path Type", "c15.pathidle.pathtype",
9214
15
            FT_UINT8, BASE_DEC,
9215
15
            VALS( c15ch_path_types ),
9216
15
            0x0, NULL, HFILL}
9217
15
        },
9218
15
        { &hf_c15ch_pathidle_fromgweni,
9219
15
            { "From GWE NI", "c15.pathidle.fromgweni",
9220
15
            FT_UINT32, BASE_HEX,
9221
15
            NULL,
9222
15
            0x0, NULL, HFILL}
9223
15
        },
9224
15
        { &hf_c15ch_pathidle_fromgwetn,
9225
15
            { "From GWE TN", "c15.pathidle.fromgwetn",
9226
15
            FT_UINT32, BASE_HEX,
9227
15
            NULL,
9228
15
            0x0, NULL, HFILL}
9229
15
        },
9230
15
        { &hf_c15ch_pathidle_fromgwenitn,
9231
15
            { "From GWE NI/TN", "c15.pathidle.fromgwenitn",
9232
15
            FT_UINT64, BASE_HEX,
9233
15
            NULL,
9234
15
            0x0, NULL, HFILL}
9235
15
        },
9236
15
        { &hf_c15ch_pathidle_fromsite,
9237
15
            { "From Site", "c15.pathidle.fromsite",
9238
15
            FT_STRINGZ, BASE_NONE,
9239
15
            NULL,
9240
15
            0x0, NULL, HFILL}
9241
15
        },
9242
15
        { &hf_c15ch_pathidle_frompm,
9243
15
            { "From Port Module", "c15.pathidle.frompm",
9244
15
            FT_UINT8, BASE_DEC,
9245
15
            NULL,
9246
15
            0x0, NULL, HFILL}
9247
15
        },
9248
15
        { &hf_c15ch_pathidle_frompc,
9249
15
            { "From Port Controller", "c15.pathidle.frompc",
9250
15
            FT_UINT8, BASE_DEC,
9251
15
            NULL,
9252
15
            0x0, NULL, HFILL}
9253
15
        },
9254
15
        { &hf_c15ch_pathidle_fromloop,
9255
15
            { "From Loop", "c15.pathidle.fromloop",
9256
15
            FT_UINT32, BASE_DEC,
9257
15
            NULL,
9258
15
            0x0, NULL, HFILL}
9259
15
        },
9260
15
        { &hf_c15ch_pathidle_fromslot,
9261
15
            { "From Slot", "c15.pathidle.fromslot",
9262
15
            FT_UINT32, BASE_DEC,
9263
15
            NULL,
9264
15
            0x0, NULL, HFILL}
9265
15
        },
9266
15
        { &hf_c15ch_pathidle_fromcnx,
9267
15
            { "From CNX", "c15.pathidle.fromcnx",
9268
15
            FT_UINT32, BASE_DEC,
9269
15
            NULL,
9270
15
            0x0, NULL, HFILL}
9271
15
        },
9272
15
        { &hf_c15ch_pathidle_fromni,
9273
15
            { "From NI", "c15.pathidle.fromni",
9274
15
            FT_UINT32, BASE_HEX,
9275
15
            NULL,
9276
15
            0x0, NULL, HFILL}
9277
15
        },
9278
15
        { &hf_c15ch_pathidle_fromtn,
9279
15
            { "From TN", "c15.pathidle.fromtn",
9280
15
            FT_UINT32, BASE_HEX,
9281
15
            NULL,
9282
15
            0x0, NULL, HFILL}
9283
15
        },
9284
15
        { &hf_c15ch_pathidle_fromnitn,
9285
15
            { "From NI/TN", "c15.pathidle.fromnitn",
9286
15
            FT_UINT64, BASE_HEX,
9287
15
            NULL,
9288
15
            0x0, NULL, HFILL}
9289
15
        },
9290
15
        { &hf_c15ch_pathidle_togweni,
9291
15
            { "To GWE NI", "c15.pathidle.togweni",
9292
15
            FT_UINT32, BASE_HEX,
9293
15
            NULL,
9294
15
            0x0, NULL, HFILL}
9295
15
        },
9296
15
        { &hf_c15ch_pathidle_togwenitn,
9297
15
            { "To GWE NI/TN", "c15.pathidle.togwenitn",
9298
15
            FT_UINT64, BASE_HEX,
9299
15
            NULL,
9300
15
            0x0, NULL, HFILL}
9301
15
        },
9302
15
        { &hf_c15ch_pathidle_togwetn,
9303
15
            { "To GWE TN", "c15.pathidle.togwetn",
9304
15
            FT_UINT32, BASE_HEX,
9305
15
            NULL,
9306
15
            0x0, NULL, HFILL}
9307
15
        },
9308
15
        { &hf_c15ch_pathidle_tosite,
9309
15
            { "To Site", "c15.pathidle.tosite",
9310
15
            FT_STRINGZ, BASE_NONE,
9311
15
            NULL,
9312
15
            0x0, NULL, HFILL}
9313
15
        },
9314
15
        { &hf_c15ch_pathidle_topm,
9315
15
            { "To Port Module", "c15.pathidle.topm",
9316
15
            FT_UINT8, BASE_DEC,
9317
15
            NULL,
9318
15
            0x0, NULL, HFILL}
9319
15
        },
9320
15
        { &hf_c15ch_pathidle_topc,
9321
15
            { "To Port Controller", "c15.pathidle.topc",
9322
15
            FT_UINT8, BASE_DEC,
9323
15
            NULL,
9324
15
            0x0, NULL, HFILL}
9325
15
        },
9326
15
        { &hf_c15ch_pathidle_toloop,
9327
15
            { "To Loop", "c15.pathidle.toloop",
9328
15
            FT_UINT32, BASE_DEC,
9329
15
            NULL,
9330
15
            0x0, NULL, HFILL}
9331
15
        },
9332
15
        { &hf_c15ch_pathidle_toslot,
9333
15
            { "To Slot", "c15.pathidle.toslot",
9334
15
            FT_UINT32, BASE_DEC,
9335
15
            NULL,
9336
15
            0x0, NULL, HFILL}
9337
15
        },
9338
15
        { &hf_c15ch_pathidle_tocnx,
9339
15
            {"To CNX", "c15.pathidle.tocnx",
9340
15
            FT_UINT32, BASE_DEC,
9341
15
            NULL,
9342
15
            0x0, NULL, HFILL}
9343
15
        },
9344
15
        { &hf_c15ch_pathidle_toni,
9345
15
            { "To NI", "c15.pathidle.toni",
9346
15
            FT_UINT32, BASE_HEX,
9347
15
            NULL,
9348
15
            0x0, NULL, HFILL}
9349
15
        },
9350
15
        { &hf_c15ch_pathidle_totn,
9351
15
            { "From TN", "c15.pathidle.totn",
9352
15
            FT_UINT32, BASE_HEX,
9353
15
            NULL,
9354
15
            0x0, NULL, HFILL}
9355
15
        },
9356
15
        { &hf_c15ch_pathidle_tonitn,
9357
15
            { "To NI/TN", "c15.pathidle.tonitn",
9358
15
            FT_UINT64, BASE_HEX,
9359
15
            NULL,
9360
15
            0x0, NULL, HFILL}
9361
15
        },
9362
9363
15
        { &hf_c15ch_q931_direction,
9364
15
            { "Direction", "c15.q931.direction",
9365
15
            FT_UINT8, BASE_DEC,
9366
15
            VALS( c15ch_direction_types ),
9367
15
            0x0, NULL, HFILL}
9368
15
        },
9369
15
        { &hf_c15ch_q931_ni,
9370
15
            { "NI", "c15.q931.ni",
9371
15
            FT_UINT32, BASE_HEX,
9372
15
            NULL,
9373
15
            0x0, NULL, HFILL}
9374
15
        },
9375
15
        { &hf_c15ch_q931_tn,
9376
15
            { "TN", "c15.q931.tn",
9377
15
            FT_UINT32, BASE_HEX,
9378
15
            NULL,
9379
15
            0x0, NULL, HFILL}
9380
15
        },
9381
15
        { &hf_c15ch_q931_ni_tn,
9382
15
            { "NI/TN", "c15.q931.ni_tn",
9383
15
            FT_UINT64, BASE_HEX,
9384
15
            NULL,
9385
15
            0x0, NULL, HFILL}
9386
15
        },
9387
15
        { &hf_c15ch_q931_msglength,
9388
15
            { "Message Length", "c15.q931.msglength",
9389
15
            FT_UINT32, BASE_DEC,
9390
15
            NULL,
9391
15
            0x0, NULL, HFILL}
9392
15
        },
9393
15
        { &hf_c15ch_q931,
9394
15
            { "C15 Q931", "c15.q931",
9395
15
            FT_PROTOCOL, BASE_NONE,
9396
15
            NULL,
9397
15
            0x0, NULL, HFILL}
9398
15
        },
9399
15
        { &hf_c15ch_qos_ni,
9400
15
            { "NI", "c15.qos.ni",
9401
15
            FT_UINT32, BASE_HEX,
9402
15
            NULL,
9403
15
            0x0, NULL, HFILL}
9404
15
        },
9405
15
        { &hf_c15ch_qos_tn,
9406
15
            { "TN", "c15.qos.tn",
9407
15
            FT_UINT32, BASE_HEX,
9408
15
            NULL,
9409
15
            0x0, NULL, HFILL}
9410
15
        },
9411
15
        { &hf_c15ch_qos_ni_tn,
9412
15
            { "NI/TN", "c15.qos.ni_tn",
9413
15
            FT_UINT64, BASE_HEX,
9414
15
            NULL,
9415
15
            0x0, NULL, HFILL}
9416
15
        },
9417
15
        { &hf_c15ch_qos_rtcp_call_id,
9418
15
            { "RTCP Call ID", "c15.qos.rtcp_call_id",
9419
15
            FT_UINT32, BASE_DEC,
9420
15
            NULL,
9421
15
            0x0, NULL, HFILL}
9422
15
        },
9423
15
        { &hf_c15ch_qos_register_type,
9424
15
            { "Register Type", "c15.qos.register_type",
9425
15
            FT_UINT32, BASE_DEC,
9426
15
            NULL,
9427
15
            0x0, NULL, HFILL}
9428
15
        },
9429
15
        { &hf_c15ch_qos_tg_num,
9430
15
            { "TG Num", "c15.qos.tg_num",
9431
15
            FT_UINT32, BASE_DEC,
9432
15
            NULL,
9433
15
            0x0, NULL, HFILL}
9434
15
        },
9435
15
        { &hf_c15ch_qos_trk_type,
9436
15
            { "Trunk Type", "c15.qos.trk_type",
9437
15
            FT_UINT32, BASE_DEC,
9438
15
            NULL,
9439
15
            0x0, NULL, HFILL}
9440
15
        },
9441
15
        { &hf_c15ch_qos_status,
9442
15
            { "Status", "c15.qos.status",
9443
15
            FT_UINT32, BASE_DEC,
9444
15
            VALS( c15ch_qos_status_types ),
9445
15
            0x0, NULL, HFILL}
9446
15
        },
9447
15
        { &hf_c15ch_qos_codec,
9448
15
            { "Codec", "c15.qos.codec",
9449
15
            FT_UINT32, BASE_DEC,
9450
15
            NULL,
9451
15
            0x0, NULL, HFILL}
9452
15
        },
9453
15
        { &hf_c15ch_qos_given_ip,
9454
15
            { "Given IP", "c15.qos.given_ip",
9455
15
            FT_IPv4, BASE_NONE,
9456
15
            NULL,
9457
15
            0x0, NULL, HFILL}
9458
15
        },
9459
15
        { &hf_c15ch_qos_real_ip,
9460
15
            { "Real IP", "c15.qos.real_ip",
9461
15
            FT_IPv4, BASE_NONE,
9462
15
            NULL,
9463
15
            0x0, NULL, HFILL}
9464
15
        },
9465
15
        { &hf_c15ch_qos_local_ip,
9466
15
            { "Local IP", "c15.qos.local_ip",
9467
15
            FT_IPv4, BASE_NONE,
9468
15
            NULL,
9469
15
            0x0, NULL, HFILL}
9470
15
        },
9471
15
        { &hf_c15ch_qos_tx_pkts,
9472
15
            { "Tx Packets", "c15.qos.tx_pkts",
9473
15
            FT_UINT32, BASE_DEC,
9474
15
            NULL,
9475
15
            0x0, NULL, HFILL}
9476
15
        },
9477
15
        { &hf_c15ch_qos_lost_pkts,
9478
15
            { "Lost Packets", "c15.qos.lost_pkts",
9479
15
            FT_UINT32, BASE_DEC,
9480
15
            NULL,
9481
15
            0x0, NULL, HFILL}
9482
15
        },
9483
15
        { &hf_c15ch_qos_lost_pct,
9484
15
            { "Lost Percent", "c15.qos.lost_pct",
9485
15
            FT_UINT32, BASE_DEC,
9486
15
            NULL,
9487
15
            0x0, NULL, HFILL}
9488
15
        },
9489
15
        { &hf_c15ch_qos_jitter,
9490
15
            { "Jitter", "c15.qos.jitter",
9491
15
            FT_UINT32, BASE_DEC,
9492
15
            NULL,
9493
15
            0x0, NULL, HFILL}
9494
15
        },
9495
15
        { &hf_c15ch_qos_rtt,
9496
15
            { "Round Trip Time", "c15.qos.rtt",
9497
15
            FT_UINT32, BASE_DEC,
9498
15
            NULL,
9499
15
            0x0, NULL, HFILL}
9500
15
        },
9501
15
        { &hf_c15ch_qos_avg_rtt,
9502
15
            { "Average Round Trip Time", "c15.qos.avg_rtt",
9503
15
            FT_UINT32, BASE_DEC,
9504
15
            NULL,
9505
15
            0x0, NULL, HFILL}
9506
15
        },
9507
15
        { &hf_c15ch_qos_duration,
9508
15
            { "Duration", "c15.qos.duration",
9509
15
            FT_UINT32, BASE_DEC,
9510
15
            NULL,
9511
15
            0x0, NULL, HFILL}
9512
15
        },
9513
15
        { &hf_c15ch_qos_mos,
9514
15
            { "MOS", "c15.qos.mos",
9515
15
            FT_FLOAT, BASE_NONE,
9516
15
            NULL,
9517
15
            0x0, NULL, HFILL}
9518
15
        },
9519
15
        { &hf_c15ch_qos_ep_type,
9520
15
            { "EP Type", "c15.qos.ep_type",
9521
15
            FT_UINT32, BASE_DEC,
9522
15
            NULL,
9523
15
            0x0, NULL, HFILL}
9524
15
        },
9525
15
        { &hf_c15ch_qos_dn_or_tg,
9526
15
            { "DN or TG", "c15.qos.dn_or_tg",
9527
15
            FT_STRINGZ, BASE_NONE,
9528
15
            NULL,
9529
15
            0x0, NULL, HFILL}
9530
15
        },
9531
15
        { &hf_c15ch_qos_pm,
9532
15
            { "Port Module", "c15.qos.pm",
9533
15
            FT_UINT8, BASE_DEC,
9534
15
            NULL,
9535
15
            0x0, NULL, HFILL}
9536
15
        },
9537
15
        { &hf_c15ch_qos_pc,
9538
15
            { "Port Controller", "c15.qos.pc",
9539
15
            FT_UINT8, BASE_DEC,
9540
15
            NULL,
9541
15
            0x0, NULL, HFILL}
9542
15
        },
9543
15
        { &hf_c15ch_qos_hour,
9544
15
            { "Hour", "c15.qos.hour",
9545
15
            FT_UINT8, BASE_DEC,
9546
15
            NULL,
9547
15
            0x0, NULL, HFILL}
9548
15
        },
9549
15
        { &hf_c15ch_qos_min,
9550
15
            { "Minutes", "c15.qos.min",
9551
15
            FT_UINT8, BASE_DEC,
9552
15
            NULL,
9553
15
            0x0, NULL, HFILL}
9554
15
        },
9555
15
        { &hf_c15ch_qos_sec,
9556
15
            { "Seconds", "c15.qos.sec",
9557
15
            FT_UINT8, BASE_DEC,
9558
15
            NULL,
9559
15
            0x0, NULL, HFILL}
9560
15
        },
9561
15
        { &hf_c15ch_qos_tenth_sec,
9562
15
            { "Tenths of Seconds", "c15.qos.tenth_sec",
9563
15
            FT_UINT8, BASE_DEC,
9564
15
            NULL,
9565
15
            0x0, NULL, HFILL}
9566
15
        },
9567
15
        { &hf_c15ch_qos_year,
9568
15
            { "Year", "c15.qos.year",
9569
15
            FT_UINT32, BASE_DEC,
9570
15
            NULL,
9571
15
            0x0, NULL, HFILL}
9572
15
        },
9573
15
        { &hf_c15ch_qos_month,
9574
15
            { "Month", "c15.qos.month",
9575
15
            FT_UINT8, BASE_DEC,
9576
15
            NULL,
9577
15
            0x0, NULL, HFILL}
9578
15
        },
9579
15
        { &hf_c15ch_qos_day,
9580
15
            { "Day", "c15.qos.day",
9581
15
            FT_UINT8, BASE_DEC,
9582
15
            NULL,
9583
15
            0x0, NULL, HFILL}
9584
15
        },
9585
15
        { &hf_c15ch_qos_day_of_week,
9586
15
            { "Day of Week", "c15.qos.day_of_week",
9587
15
            FT_UINT8, BASE_DEC,
9588
15
            NULL,
9589
15
            0x0, NULL, HFILL}
9590
15
        },
9591
9592
15
        { &hf_c15ch_route_number,
9593
15
            { "Number", "c15.route.number",
9594
15
            FT_UINT32, BASE_DEC,
9595
15
            NULL,
9596
15
            0x0, NULL, HFILL}
9597
15
        },
9598
15
        { &hf_c15ch_route_type,
9599
15
            { "Type", "c15.route.type",
9600
15
            FT_UINT32, BASE_DEC|BASE_EXT_STRING,
9601
15
            &c15_route_types_ext,
9602
15
            0x0, NULL, HFILL}
9603
15
        },
9604
15
        { &hf_c15ch_route_subpm,
9605
15
            { "Sub Progress Mark", "c15.route.subpm",
9606
15
            FT_UINT32, BASE_DEC,
9607
15
            NULL,
9608
15
            0x0, NULL, HFILL}
9609
15
        },
9610
15
        { &hf_c15ch_route_trkpm,
9611
15
            { "Trk Progress Mark", "c15.route.trkpm",
9612
15
            FT_UINT32, BASE_DEC,
9613
15
            NULL,
9614
15
            0x0, NULL, HFILL}
9615
15
        },
9616
15
        { &hf_c15ch_route_strtaindo,
9617
15
            { "START AIN DO", "c15.route.strtaindo",
9618
15
            FT_UINT8, BASE_DEC,
9619
15
            VALS( c15_route_strt_ain_do_types ),
9620
15
            0x0, NULL, HFILL}
9621
15
        },
9622
15
        { &hf_c15ch_route_cr_rte_adv,
9623
15
            { "CR RTE Adv", "c15.route.cr_rte_adv",
9624
15
            FT_UINT32, BASE_DEC,
9625
15
            NULL,
9626
15
            0x0, NULL, HFILL}
9627
15
        },
9628
15
        { &hf_c15ch_route_cause,
9629
15
            { "Cause", "c15.route.cause",
9630
15
            FT_UINT32, BASE_DEC,
9631
15
            NULL,
9632
15
            0x0, NULL, HFILL}
9633
15
        },
9634
9635
15
        { &hf_c15ch_sccp_direction,
9636
15
            { "Direction", "c15.sccp.direction",
9637
15
            FT_UINT8, BASE_DEC,
9638
15
            VALS( c15ch_direction_types ),
9639
15
            0x0, NULL, HFILL}
9640
15
        },
9641
15
        { &hf_c15ch_sccp_msgtype,
9642
15
            { "Message Type", "c15.sccp.msgtype",
9643
15
            FT_UINT8, BASE_DEC,
9644
15
            VALS( c15ch_sccp_msg_types ),
9645
15
            0x0, NULL, HFILL}
9646
15
        },
9647
15
        { &hf_c15ch_sccp_hopcount,
9648
15
            { "Hop Count", "c15.sccp.hopcount",
9649
15
            FT_UINT8, BASE_DEC,
9650
15
            NULL,
9651
15
            0x0, NULL, HFILL}
9652
15
        },
9653
15
        { &hf_c15ch_sccp_transactionnum,
9654
15
            { "Transaction Number", "c15.sccp.transactionnum",
9655
15
            FT_UINT32, BASE_DEC,
9656
15
            NULL,
9657
15
            0x0, NULL, HFILL}
9658
15
        },
9659
15
        { &hf_c15ch_sccp_opcmember,
9660
15
            { "OPC Member", "c15.sccp.opcmember",
9661
15
            FT_UINT8, BASE_DEC,
9662
15
            NULL,
9663
15
            0x0, NULL, HFILL}
9664
15
        },
9665
15
        { &hf_c15ch_sccp_opccluster,
9666
15
            { "OPC Cluster", "c15.sccp.opccluster",
9667
15
            FT_UINT8, BASE_DEC,
9668
15
            NULL,
9669
15
            0x0, NULL, HFILL}
9670
15
        },
9671
15
        { &hf_c15ch_sccp_opcnetwork,
9672
15
            { "OPC Network", "c15.sccp.opcnetwork",
9673
15
            FT_UINT8, BASE_DEC,
9674
15
            NULL,
9675
15
            0x0, NULL, HFILL}
9676
15
        },
9677
15
        { &hf_c15ch_sccp_dpcmember,
9678
15
            { "DPC Member", "c15.sccp.dpcmember",
9679
15
            FT_UINT8, BASE_DEC,
9680
15
            NULL,
9681
15
            0x0, NULL, HFILL}
9682
15
        },
9683
15
        { &hf_c15ch_sccp_dpccluster,
9684
15
            { "DPC Cluster", "c15.sccp.dpccluster",
9685
15
            FT_UINT8, BASE_DEC,
9686
15
            NULL,
9687
15
            0x0, NULL, HFILL}
9688
15
        },
9689
15
        { &hf_c15ch_sccp_dpcnetwork,
9690
15
            { "DPC Network", "c15.sccp.dpcnetwork",
9691
15
            FT_UINT8, BASE_DEC,
9692
15
            NULL,
9693
15
            0x0, NULL, HFILL}
9694
15
        },
9695
15
        { &hf_c15ch_sccp_level3index,
9696
15
            { "Level 3 Index", "c15.sccp.level3index",
9697
15
            FT_UINT8, BASE_DEC,
9698
15
            NULL,
9699
15
            0x0, NULL, HFILL}
9700
15
        },
9701
15
        { &hf_c15ch_sccp_ni,
9702
15
            { "NI", "c15.sccp.ni",
9703
15
            FT_UINT32, BASE_HEX,
9704
15
            NULL,
9705
15
            0x0, NULL, HFILL}
9706
15
        },
9707
15
        { &hf_c15ch_sccp_tn,
9708
15
            { "TN", "c15.sccp.tn",
9709
15
            FT_UINT32, BASE_HEX,
9710
15
            NULL,
9711
15
            0x0, NULL, HFILL}
9712
15
        },
9713
15
        { &hf_c15ch_sccp_ni_tn,
9714
15
            { "NI/TN", "c15.sccp.ni_tn",
9715
15
            FT_UINT64, BASE_HEX,
9716
15
            NULL,
9717
15
            0x0, NULL, HFILL}
9718
15
        },
9719
15
        { &hf_c15ch_sccp_sls,
9720
15
            { "SLS", "c15.sccp.sls",
9721
15
            FT_UINT8, BASE_DEC,
9722
15
            NULL,
9723
15
            0x0, NULL, HFILL}
9724
15
        },
9725
15
        { &hf_c15ch_sccp_iptime,
9726
15
            { "IP Time", "c15.sccp.iptime",
9727
15
            FT_UINT32, BASE_HEX,
9728
15
            NULL,
9729
15
            0x0, NULL, HFILL}
9730
15
        },
9731
9732
15
        { &hf_c15ch_srcedest_conntype,
9733
15
            { "Connection Type", "c15.srcedest.conntype",
9734
15
            FT_UINT8, BASE_DEC,
9735
15
            VALS( c15ch_ntwk_srcedest_conn_types ),
9736
15
            0x0, NULL, HFILL}
9737
15
        },
9738
15
        { &hf_c15ch_srcedest_pathtype,
9739
15
            { "Path Type", "c15.srcedest.pathtype",
9740
15
            FT_UINT8, BASE_DEC,
9741
15
            VALS( c15ch_path_types ),
9742
15
            0x0, NULL, HFILL}
9743
15
        },
9744
15
        { &hf_c15ch_srcedest_pathdirect,
9745
15
            { "Path Direction", "c15.srcedest.pathdirect",
9746
15
            FT_UINT8, BASE_DEC,
9747
15
            NULL,
9748
15
            0x0, NULL, HFILL}
9749
15
        },
9750
9751
15
        { &hf_c15ch_tcap_direction,
9752
15
            { "Direction", "c15.tcap.direction",
9753
15
            FT_UINT8, BASE_DEC,
9754
15
            VALS( c15ch_tcap_direction_types ),
9755
15
            0x0, NULL, HFILL }
9756
15
        },
9757
15
        { &hf_c15ch_tcap_action,
9758
15
            { "Action", "c15.tcap.action",
9759
15
            FT_UINT8, BASE_DEC,
9760
15
            VALS( c15ch_tcap_action_types ),
9761
15
            0x0, NULL, HFILL }
9762
15
        },
9763
15
        { &hf_c15ch_tcap_package_type,
9764
15
            { "Package Type", "c15.tcap.package_type",
9765
15
            FT_UINT8, BASE_DEC,
9766
15
            VALS( c15ch_tcap_package_types ),
9767
15
            0x0, NULL, HFILL }
9768
15
        },
9769
15
        { &hf_c15ch_tcap_ssn,
9770
15
            { "SSN", "c15.tcap.ssn",
9771
15
            FT_UINT8, BASE_DEC,
9772
15
            NULL,
9773
15
            0x0, NULL, HFILL }
9774
15
        },
9775
15
        { &hf_c15ch_tcap_local_ssn,
9776
15
            { "Local SSN", "c15.tcap.local_ssn",
9777
15
            FT_UINT8, BASE_DEC,
9778
15
            VALS( c15ch_tcap_local_ssn_types ),
9779
15
            0x0, NULL, HFILL }
9780
15
        },
9781
15
        { &hf_c15ch_tcap_result_err_code,
9782
15
            { "Result Error Code", "c15.tcap.result_err_code",
9783
15
            FT_UINT8, BASE_DEC,
9784
15
            VALS( c15ch_tcap_err_code_types ),
9785
15
            0x0, NULL, HFILL }
9786
15
        },
9787
15
        { &hf_c15ch_tcap_return_reason,
9788
15
            { "Return Reason", "c15.tcap.return_reason",
9789
15
            FT_UINT8, BASE_DEC,
9790
15
            VALS( c15ch_tcap_ret_reason_types ),
9791
15
            0x0, NULL, HFILL }
9792
15
        },
9793
15
        { &hf_c15ch_tcap_feat_id,
9794
15
            { "Feat ID", "c15.tcap.feat_id",
9795
15
            FT_UINT8, BASE_DEC,
9796
15
            VALS( c15ch_tcap_feat_id_types ),
9797
15
            0x0, NULL, HFILL }
9798
15
        },
9799
15
        { &hf_c15ch_tcap_feat_req,
9800
15
            { "Feat Req", "c15.tcap.feat_req",
9801
15
            FT_UINT8, BASE_DEC,
9802
15
            VALS( c15ch_tcap_feat_req_types ),
9803
15
            0x0, NULL, HFILL }
9804
15
        },
9805
15
        { &hf_c15ch_tcap_cl_comp_result,
9806
15
            { "CL Comp Result", "c15.tcap.cl_comp_result",
9807
15
            FT_UINT8, BASE_DEC,
9808
15
            NULL,
9809
15
            0x0, NULL, HFILL }
9810
15
        },
9811
15
        { &hf_c15ch_tcap_release_bit,
9812
15
            { "Release Bit", "c15.tcap.release_bit",
9813
15
            FT_UINT8, BASE_DEC,
9814
15
            VALS( c15ch_tcap_rel_bit_types ),
9815
15
            0x0, NULL, HFILL }
9816
15
        },
9817
15
        { &hf_c15ch_tcap_term_cl_request,
9818
15
            { "Term CL Request", "c15.tcap.term_cl_request",
9819
15
            FT_UINT8, BASE_DEC,
9820
15
            NULL,
9821
15
            0x0, NULL, HFILL }
9822
15
        },
9823
15
        { &hf_c15ch_tcap_opc_index,
9824
15
            { "OPC Index", "c15.tcap.opc_index",
9825
15
            FT_UINT8, BASE_DEC,
9826
15
            NULL,
9827
15
            0x0, NULL, HFILL }
9828
15
        },
9829
15
        { &hf_c15ch_tcap_dpc_mem,
9830
15
            { "DPC Mem", "c15.tcap.dpc_mem",
9831
15
            FT_UINT8, BASE_DEC,
9832
15
            NULL,
9833
15
            0x0, NULL, HFILL }
9834
15
        },
9835
15
        { &hf_c15ch_tcap_dpc_clus,
9836
15
            { "DPC Clus", "c15.tcap.dpc_clus",
9837
15
            FT_UINT8, BASE_DEC,
9838
15
            NULL,
9839
15
            0x0, NULL, HFILL }
9840
15
        },
9841
15
        { &hf_c15ch_tcap_dpc_net,
9842
15
            { "DPC Net", "c15.tcap.dpc_net",
9843
15
            FT_UINT8, BASE_DEC,
9844
15
            NULL,
9845
15
            0x0, NULL, HFILL }
9846
15
        },
9847
15
        { &hf_c15ch_tcap_cp_id,
9848
15
            { "CP ID", "c15.tcap.cp_id",
9849
15
            FT_UINT32, BASE_HEX,
9850
15
            NULL,
9851
15
            0x0, NULL, HFILL }
9852
15
        },
9853
9854
15
        { &hf_c15ch_twc_rswch_pm,
9855
15
            { "Progress Mark", "c15.twc_rswch.pm",
9856
15
            FT_UINT32, BASE_DEC,
9857
15
            NULL,
9858
15
            0x0, NULL, HFILL}
9859
15
        },
9860
15
        { &hf_c15ch_twc_rswch_subpm,
9861
15
            { "Sub Progress Mark", "c15.twc_rswch.subpm",
9862
15
            FT_UINT32, BASE_DEC,
9863
15
            NULL,
9864
15
            0x0, NULL, HFILL}
9865
15
        },
9866
15
        { &hf_c15ch_twc_rswch_trkpm,
9867
15
            { "Trunk Progress Mark", "c15.twc_rswch.trkpm",
9868
15
            FT_UINT32, BASE_DEC,
9869
15
            NULL,
9870
15
            0x0, NULL, HFILL}
9871
15
        },
9872
15
        { &hf_c15ch_twc_rswch_devid,
9873
15
            { "Device ID", "c15.twc_rswch.devid",
9874
15
            FT_UINT32, BASE_DEC,
9875
15
            NULL,
9876
15
            0x0, NULL, HFILL}
9877
15
        },
9878
15
        { &hf_c15ch_twc_rswch_event,
9879
15
            { "Event", "c15.twc_rswch.event",
9880
15
            FT_UINT32, BASE_DEC,
9881
15
            NULL,
9882
15
            0x0, NULL, HFILL}
9883
15
        },
9884
15
        { &hf_c15ch_twc_rswch_parm,
9885
15
            { "Parameter", "c15.twc_rswch.parm",
9886
15
            FT_UINT32, BASE_DEC,
9887
15
            NULL,
9888
15
            0x0, NULL, HFILL}
9889
15
        },
9890
15
        { &hf_c15ch_twc_rswch_iptime,
9891
15
            { "IP Time", "c15.twc_rswch.iptime",
9892
15
            FT_UINT32, BASE_DEC,
9893
15
            NULL,
9894
15
            0x0, NULL, HFILL}
9895
15
        },
9896
9897
15
        { &hf_c15ch_cp_event_pm,
9898
15
            { "Progress Mark", "c15.cpe.pm",
9899
15
            FT_UINT32, BASE_DEC|BASE_EXT_STRING,
9900
15
            &c15_pm_types_ext,
9901
15
            0x0, NULL, HFILL}
9902
15
        },
9903
15
        { &hf_c15ch_cp_event_subpm,
9904
15
            { "Sub Progress Mark", "c15.cpe.subpm",
9905
15
            FT_UINT32, BASE_DEC,
9906
15
            NULL,
9907
15
            0x0, NULL, HFILL }
9908
15
        },
9909
15
        { &hf_c15ch_cp_event_subpm_orig,
9910
15
            { "Sub Progress Mark (Orig)", "c15.cpe.subpm_orig",
9911
15
            FT_UINT32, BASE_DEC,
9912
15
            VALS( subpm_orig_types),
9913
15
            0x0, NULL, HFILL }
9914
15
        },
9915
15
        { &hf_c15ch_cp_event_subpm_disc_time,
9916
15
            { "Sub Progress Mark (Disc Time)", "c15.cpe.subpm_disc_time",
9917
15
            FT_UINT32, BASE_DEC,
9918
15
            VALS( subpm_disc_time_types),
9919
15
            0x0, NULL, HFILL }
9920
15
        },
9921
15
        { &hf_c15ch_cp_event_subpm_revert,
9922
15
            { "Sub Progress Mark (Revertive)", "c15.cpe.subpm_revert",
9923
15
            FT_UINT32, BASE_DEC,
9924
15
            VALS( subpm_revert_types),
9925
15
            0x0, NULL, HFILL }
9926
15
        },
9927
15
        { &hf_c15ch_cp_event_subpm_orig_dt,
9928
15
            { "Sub Progress Mark (Orig DT)", "c15.cpe.subpm_orig_dt",
9929
15
            FT_UINT32, BASE_DEC,
9930
15
            VALS( subpm_orig_dt_types),
9931
15
            0x0, NULL, HFILL }
9932
15
        },
9933
15
        { &hf_c15ch_cp_event_subpm_orig_ws,
9934
15
            { "Sub Progress Mark (Orig WS)", "c15.cpe.subpm_orig_ws",
9935
15
            FT_UINT32, BASE_DEC,
9936
15
            VALS( subpm_orig_ws_types),
9937
15
            0x0, NULL, HFILL }
9938
15
        },
9939
15
        { &hf_c15ch_cp_event_subpm_orig_dd,
9940
15
            { "Sub Progress Mark (Orig DD)", "c15.cpe.subpm_orig_dd",
9941
15
            FT_UINT32, BASE_DEC,
9942
15
            VALS( subpm_orig_dd_types),
9943
15
            0x0, NULL, HFILL }
9944
15
        },
9945
15
        { &hf_c15ch_cp_event_subpm_orig_id,
9946
15
            { "Sub Progress Mark (Orig ID)", "c15.cpe.subpm_orig_id",
9947
15
            FT_UINT32, BASE_DEC,
9948
15
            VALS( subpm_orig_id_types),
9949
15
            0x0, NULL, HFILL }
9950
15
        },
9951
15
        { &hf_c15ch_cp_event_subpm_no_test,
9952
15
            { "Sub Progress Mark (No Test)", "c15.cpe.subpm_no_test",
9953
15
            FT_UINT32, BASE_DEC,
9954
15
            VALS( subpm_no_test_types),
9955
15
            0x0, NULL, HFILL }
9956
15
        },
9957
15
        { &hf_c15ch_cp_event_subpm_dialing,
9958
15
            { "Sub Progress Mark (Dialing)", "c15.cpe.subpm_dialing",
9959
15
            FT_UINT32, BASE_DEC,
9960
15
            VALS( subpm_dialing_types),
9961
15
            0x0, NULL, HFILL }
9962
15
        },
9963
15
        { &hf_c15ch_cp_event_subpm_rebuilt,
9964
15
            { "Sub Progress Mark (Rebuilt)", "c15.cpe.subpm_rebuilt",
9965
15
            FT_UINT32, BASE_DEC,
9966
15
            VALS( subpm_rebuilt_types),
9967
15
            0x0, NULL, HFILL }
9968
15
        },
9969
15
        { &hf_c15ch_cp_event_subpm_acfw_reac,
9970
15
            { "Sub Progress Mark (ACFW Reac)", "c15.cpe.subpm_acfw_reac",
9971
15
            FT_UINT32, BASE_DEC,
9972
15
            VALS( subpm_acfw_reac_types),
9973
15
            0x0, NULL, HFILL }
9974
15
        },
9975
15
        { &hf_c15ch_cp_event_subpm_process_route,
9976
15
            { "Sub Progress Mark (Process Route)", "c15.cpe.subpm_process_route",
9977
15
            FT_UINT32, BASE_DEC,
9978
15
            VALS( subpm_process_route_types),
9979
15
            0x0, NULL, HFILL }
9980
15
        },
9981
15
        { &hf_c15ch_cp_event_subpm_rte_line,
9982
15
            { "Sub Progress Mark (Rte Line)", "c15.cpe.subpm_rte_line",
9983
15
            FT_UINT32, BASE_DEC,
9984
15
            VALS( subpm_rte_line_types),
9985
15
            0x0, NULL, HFILL }
9986
15
        },
9987
15
        { &hf_c15ch_cp_event_subpm_mtce,
9988
15
            { "Sub Progress Mark (MTCE)", "c15.cpe.subpm_mtce",
9989
15
            FT_UINT32, BASE_DEC,
9990
15
            VALS( subpm_mtce_types),
9991
15
            0x0, NULL, HFILL }
9992
15
        },
9993
15
        { &hf_c15ch_cp_event_subpm_aux_tone,
9994
15
            { "Sub Progress Mark (AUXT)", "c15.cpe.subpm_aux_tone",
9995
15
            FT_UINT32, BASE_DEC,
9996
15
            VALS( subpm_aux_tone_types),
9997
15
            0x0, NULL, HFILL }
9998
15
        },
9999
15
        { &hf_c15ch_cp_event_subpm_noller,
10000
15
            { "Sub Progress Mark (NOLLER)", "c15.cpe.subpm_noller",
10001
15
            FT_UINT32, BASE_DEC,
10002
15
            VALS( subpm_noller_types),
10003
15
            0x0, NULL, HFILL }
10004
15
        },
10005
15
        { &hf_c15ch_cp_event_subpm_ittk,
10006
15
            { "Sub Progress Mark (ITTK)", "c15.cpe.subpm_ittk",
10007
15
            FT_UINT32, BASE_DEC,
10008
15
            VALS( subpm_ittk_types),
10009
15
            0x0, NULL, HFILL }
10010
15
        },
10011
15
        { &hf_c15ch_cp_event_subpm_alm_send,
10012
15
            { "Sub Progress Mark (Alarm Send)", "c15.cpe.subpm_alm_send",
10013
15
            FT_UINT32, BASE_DEC,
10014
15
            VALS( subpm_alm_send_types),
10015
15
            0x0, NULL, HFILL }
10016
15
        },
10017
15
        { &hf_c15ch_cp_event_subpm_ani_spill,
10018
15
            { "Sub Progress Mark (ANI Spill)", "c15.cpe.subpm_ani_spill",
10019
15
            FT_UINT32, BASE_DEC,
10020
15
            VALS( subpm_ani_spill_types),
10021
15
            0x0, NULL, HFILL }
10022
15
        },
10023
15
        { &hf_c15ch_cp_event_subpm_trunk_term,
10024
15
            { "Sub Progress Mark (Trunk Term)", "c15.cpe.subpm_trunk_term",
10025
15
            FT_UINT32, BASE_DEC,
10026
15
            VALS( subpm_trunk_term_types),
10027
15
            0x0, NULL, HFILL }
10028
15
        },
10029
15
        { &hf_c15ch_cp_event_subpm_line_term,
10030
15
            { "Sub Progress Mark (Line Term)", "c15.cpe.subpm_line_term",
10031
15
            FT_UINT32, BASE_DEC,
10032
15
            VALS( subpm_line_term_types),
10033
15
            0x0, NULL, HFILL }
10034
15
        },
10035
15
        { &hf_c15ch_cp_event_subpm_non_cp,
10036
15
            { "Sub Progress Mark (Non CP)", "c15.cpe.subpm_non_cp",
10037
15
            FT_UINT32, BASE_DEC,
10038
15
            VALS( subpm_non_cp_types),
10039
15
            0x0, NULL, HFILL }
10040
15
        },
10041
15
        { &hf_c15ch_cp_event_subpm_3wc,
10042
15
            { "Sub Progress Mark (3wc)", "c15.cpe.subpm_3wc",
10043
15
            FT_UINT32, BASE_DEC,
10044
15
            VALS( subpm_twc_types),
10045
15
            0x0, NULL, HFILL }
10046
15
        },
10047
15
        { &hf_c15ch_cp_event_subpm_held_3wc,
10048
15
            { "Sub Progress Mark (Held 3WC)", "c15.cpe.subpm_held_3wc",
10049
15
            FT_UINT32, BASE_DEC,
10050
15
            VALS( subpm_held_3wc_types),
10051
15
            0x0, NULL, HFILL }
10052
15
        },
10053
15
        { &hf_c15ch_cp_event_subpm_cwt,
10054
15
            { "Sub Progress Mark (CWT)", "c15.cpe.subpm_cwt",
10055
15
            FT_UINT32, BASE_DEC,
10056
15
            VALS( subpm_cwt_types),
10057
15
            0x0, NULL, HFILL }
10058
15
        },
10059
15
        { &hf_c15ch_cp_event_subpm_held_cwt,
10060
15
            { "Sub Progress Mark (Held CWT)", "c15.cpe.subpm_held_cwt",
10061
15
            FT_UINT32, BASE_DEC,
10062
15
            VALS( subpm_held_cwt_types),
10063
15
            0x0, NULL, HFILL }
10064
15
        },
10065
15
        { &hf_c15ch_cp_event_subpm_update_sc,
10066
15
            { "Sub Progress Mark (Update SC)", "c15.cpe.subpm_update_sc",
10067
15
            FT_UINT32, BASE_DEC,
10068
15
            VALS( subpm_update_sc_types),
10069
15
            0x0, NULL, HFILL }
10070
15
        },
10071
15
        { &hf_c15ch_cp_event_subpm_orig_spdt,
10072
15
            { "Sub Progress Mark (Orig SPDT)", "c15.cpe.subpm_orig_spdt",
10073
15
            FT_UINT32, BASE_DEC,
10074
15
            VALS( subpm_orig_dt_types),
10075
15
            0x0, NULL, HFILL }
10076
15
        },
10077
15
        { &hf_c15ch_cp_event_subpm_acfw_retm,
10078
15
            { "Sub Progress Mark (ACFW RETM)", "c15.cpe.subpm_acfw_retm",
10079
15
            FT_UINT32, BASE_DEC,
10080
15
            VALS( subpm_acfw_retm_types),
10081
15
            0x0, NULL, HFILL }
10082
15
        },
10083
15
        { &hf_c15ch_cp_event_subpm_cfw_busy,
10084
15
            { "Sub Progress Mark (CFW Busy)", "c15.cpe.subpm_cfw_busy",
10085
15
            FT_UINT32, BASE_DEC,
10086
15
            VALS( subpm_cfw_busy_types),
10087
15
            0x0, NULL, HFILL }
10088
15
        },
10089
15
        { &hf_c15ch_cp_event_subpm_cfw,
10090
15
            { "Sub Progress Mark (CFW)", "c15.cpe.subpm_cfw",
10091
15
            FT_UINT32, BASE_DEC,
10092
15
            VALS( subpm_cfw_types),
10093
15
            0x0, NULL, HFILL }
10094
15
        },
10095
15
        { &hf_c15ch_cp_event_subpm_cfw_deact,
10096
15
            { "Sub Progress Mark (CFW Deact)", "c15.cpe.subpm_cfw_deact",
10097
15
            FT_UINT32, BASE_DEC,
10098
15
            VALS( subpm_cfw_deact_types),
10099
15
            0x0, NULL, HFILL }
10100
15
        },
10101
15
        { &hf_c15ch_cp_event_subpm_rcfw,
10102
15
            { "Sub Progress Mark (RCFW)", "c15.cpe.subpm_rcfw",
10103
15
            FT_UINT32, BASE_DEC,
10104
15
            VALS( subpm_rcfw_types),
10105
15
            0x0, NULL, HFILL }
10106
15
        },
10107
15
        { &hf_c15ch_cp_event_subpm_rotl_tp,
10108
15
            { "Sub Progress Mark (ROTL TP)", "c15.cpe.subpm_rotl_tp",
10109
15
            FT_UINT32, BASE_DEC,
10110
15
            VALS( subpm_rotl_tp_types),
10111
15
            0x0, NULL, HFILL }
10112
15
        },
10113
15
        { &hf_c15ch_cp_event_subpm_chdt,
10114
15
            { "Sub Progress Mark (CHD DT)", "c15.cpe.subpm_chdt",
10115
15
            FT_UINT32, BASE_DEC,
10116
15
            VALS( subpm_chdt_types),
10117
15
            0x0, NULL, HFILL }
10118
15
        },
10119
15
        { &hf_c15ch_cp_event_subpm_chd,
10120
15
            { "Sub Progress Mark (Call Hold)", "c15.cpe.subpm_chd",
10121
15
            FT_UINT32, BASE_DEC,
10122
15
            VALS( subpm_chd_types),
10123
15
            0x0, NULL, HFILL }
10124
15
        },
10125
15
        { &hf_c15ch_cp_event_subpm_cheld,
10126
15
            { "Sub Progress Mark (Call Held)", "c15.cpe.subpm_cheld",
10127
15
            FT_UINT32, BASE_DEC,
10128
15
            VALS( subpm_cheld_types),
10129
15
            0x0, NULL, HFILL }
10130
15
        },
10131
15
        { &hf_c15ch_cp_event_subpm_3wch,
10132
15
            { "Sub Progress Mark (3WCH)", "c15.cpe.subpm_3wch",
10133
15
            FT_UINT32, BASE_DEC,
10134
15
            VALS( subpm_twc_types),
10135
15
            0x0, NULL, HFILL }
10136
15
        },
10137
15
        { &hf_c15ch_cp_event_subpm_3wcw,
10138
15
            { "Sub Progress Mark (3WCW)", "c15.cpe.subpm_3wcw",
10139
15
            FT_UINT32, BASE_DEC,
10140
15
            VALS( subpm_twc_types),
10141
15
            0x0, NULL, HFILL }
10142
15
        },
10143
15
        { &hf_c15ch_cp_event_subpm_cslt,
10144
15
            { "Sub Progress Mark (CSLT)", "c15.cpe.subpm_cslt",
10145
15
            FT_UINT32, BASE_DEC,
10146
15
            VALS( subpm_held_3wc_types ),
10147
15
            0x0, NULL, HFILL }
10148
15
        },
10149
15
        { &hf_c15ch_cp_event_subpm_dig_ckt_test,
10150
15
            { "Sub Progress Mark (Dig CKT Test)", "c15.cpe.subpm_dig_ckt",
10151
15
            FT_UINT32, BASE_DEC,
10152
15
            VALS( subpm_dig_ckt_test_types),
10153
15
            0x0, NULL, HFILL }
10154
15
        },
10155
15
        { &hf_c15ch_cp_event_dig_ckt_test_subpm_sp,
10156
15
            { "Sub Progress Mark (Dig CKT Test, Single Party)", "c15.cpe.dig_ckt_test_subpm_sp",
10157
15
            FT_UINT32, BASE_DEC,
10158
15
            VALS( dig_ckt_test_subpm_sp_types),
10159
15
            0x0, NULL, HFILL }
10160
15
        },
10161
15
        { &hf_c15ch_cp_event_dig_ckt_test_subpm_mp,
10162
15
            { "Sub Progress Mark (Dig CKT Test, Multi Party)", "c15.cpe.dig_ckt_test_subpm_mp",
10163
15
            FT_UINT32, BASE_DEC,
10164
15
            VALS( dig_ckt_test_subpm_mp_types),
10165
15
            0x0, NULL, HFILL }
10166
15
        },
10167
15
        { &hf_c15ch_cp_event_dig_ckt_test_subpm_coin,
10168
15
            { "Sub Progress Mark (Dig CKT Test, Coin)", "c15.cpe.dig_ckt_test_subpm_coin",
10169
15
            FT_UINT32, BASE_DEC,
10170
15
            VALS( dig_ckt_test_subpm_coin_types),
10171
15
            0x0, NULL, HFILL }
10172
15
        },
10173
15
        { &hf_c15ch_cp_event_dig_ckt_test_subpm_isdn,
10174
15
            { "Sub Progress Mark (Dig CKT Test, ISDN)", "c15.cpe.dig_ckt_test_subpm_isdn",
10175
15
            FT_UINT32, BASE_DEC,
10176
15
            VALS( dig_ckt_test_subpm_isdn_types),
10177
15
            0x0, NULL, HFILL }
10178
15
        },
10179
15
        { &hf_c15ch_cp_event_dig_ckt_test_subpm_trc,
10180
15
            { "Sub Progress Mark (Dig CKT Test, TRC)", "c15.cpe.dig_ckt_test_subpm_trc",
10181
15
            FT_UINT32, BASE_DEC,
10182
15
            VALS( dig_ckt_test_subpm_trc_types),
10183
15
            0x0, NULL, HFILL }
10184
15
        },
10185
15
        { &hf_c15ch_cp_event_dig_ckt_test_subpm_disc,
10186
15
            { "Sub Progress Mark (Dig CKT Test, Disc)", "c15.cpe.dig_ckt_test_subpm_disc",
10187
15
            FT_UINT32, BASE_DEC,
10188
15
            VALS( dig_ckt_test_subpm_disc_types),
10189
15
            0x0, NULL, HFILL }
10190
15
        },
10191
15
        { &hf_c15ch_cp_event_subpm_nail,
10192
15
            { "Sub Progress Mark (NAIL)", "c15.cpe.subpm_nail",
10193
15
            FT_UINT32, BASE_DEC,
10194
15
            VALS( subpm_nail_types),
10195
15
            0x0, NULL, HFILL }
10196
15
        },
10197
15
        { &hf_c15ch_cp_event_subpm_dcbi,
10198
15
            { "Sub Progress Mark (DCBI)", "c15.cpe.subpm_dcbi",
10199
15
            FT_UINT32, BASE_DEC,
10200
15
            VALS( subpm_dcbi_types),
10201
15
            0x0, NULL, HFILL }
10202
15
        },
10203
15
        { &hf_c15ch_cp_event_subpm_rag_confirm,
10204
15
            { "Sub Progress Mark (RAG Confirm)", "c15.cpe.subpm_rag_confirm",
10205
15
            FT_UINT32, BASE_DEC,
10206
15
            VALS( subpm_rag_confirm_types),
10207
15
            0x0, NULL, HFILL }
10208
15
        },
10209
15
        { &hf_c15ch_cp_event_subpm_rag_process,
10210
15
            { "Sub Progress Mark (RAG Process)", "c15.cpe.subpm_rag_process",
10211
15
            FT_UINT32, BASE_DEC,
10212
15
            VALS( subpm_rag_process_types),
10213
15
            0x0, NULL, HFILL }
10214
15
        },
10215
15
        { &hf_c15ch_cp_event_subpm_e800,
10216
15
            { "Sub Progress Mark (E800 Db)", "c15.cpe.subpm_e800",
10217
15
            FT_UINT32, BASE_DEC,
10218
15
            VALS( subpm_e800_types),
10219
15
            0x0, NULL, HFILL }
10220
15
        },
10221
15
        { &hf_c15ch_cp_event_subpm_cfra,
10222
15
            { "Sub Progress Mark (CFRA)", "c15.cpe.subpm_cfra",
10223
15
            FT_UINT32, BASE_DEC,
10224
15
            VALS( subpm_cfra_types),
10225
15
            0x0, NULL, HFILL }
10226
15
        },
10227
15
        { &hf_c15ch_cp_event_subpm_mwi_deac,
10228
15
            { "Sub Progress Mark (MWI Deac)", "c15.cpe.subpm_mwi_deac",
10229
15
            FT_UINT32, BASE_DEC,
10230
15
            VALS( subpm_mwi_deac_types),
10231
15
            0x0, NULL, HFILL }
10232
15
        },
10233
15
        { &hf_c15ch_cp_event_subpm_acar_cp,
10234
15
            { "Sub Progress Mark (ACAR CP)", "c15.cpe.subpm_acar_cp",
10235
15
            FT_UINT32, BASE_DEC,
10236
15
            VALS( subpm_acar_cp_types),
10237
15
            0x0, NULL, HFILL }
10238
15
        },
10239
15
        { &hf_c15ch_cp_event_subpm_acar_rering,
10240
15
            { "Sub Progress Mark (ACAR Rering)", "c15.cpe.subpm_acar_rering",
10241
15
            FT_UINT32, BASE_DEC,
10242
15
            VALS( subpm_acar_rering_types),
10243
15
            0x0, NULL, HFILL }
10244
15
        },
10245
15
        { &hf_c15ch_cp_event_subpm_acar_ann,
10246
15
            { "Sub Progress Mark (ACAR Ann)", "c15.cpe.subpm_acar_ann",
10247
15
            FT_UINT32, BASE_DEC,
10248
15
            VALS( subpm_acar_ann_types),
10249
15
            0x0, NULL, HFILL }
10250
15
        },
10251
15
        { &hf_c15ch_cp_event_subpm_sle,
10252
15
            { "Sub Progress Mark (CP SLE)", "c15.cpe.subpm_sle",
10253
15
            FT_UINT32, BASE_DEC,
10254
15
            VALS( subpm_sle_types),
10255
15
            0x0, NULL, HFILL }
10256
15
        },
10257
15
        { &hf_c15ch_cp_event_subpm_perform_cot,
10258
15
            { "Sub Progress Mark (Perform COT)", "c15.cpe.subpm_perform_cot",
10259
15
            FT_UINT32, BASE_DEC,
10260
15
            VALS( subpm_perform_cot_types),
10261
15
            0x0, NULL, HFILL }
10262
15
        },
10263
15
        { &hf_c15ch_cp_event_subpm_clid,
10264
15
            { "Sub Progress Mark (CLID)", "c15.cpe.subpm_clid",
10265
15
            FT_UINT32, BASE_DEC,
10266
15
            VALS( subpm_clid_types),
10267
15
            0x0, NULL, HFILL }
10268
15
        },
10269
15
        { &hf_c15ch_cp_event_subpm_xpm,
10270
15
            { "Sub Progress Mark (XPM)", "c15.cpe.subpm_xpm",
10271
15
            FT_UINT32, BASE_DEC,
10272
15
            VALS( subpm_xpm_types),
10273
15
            0x0, NULL, HFILL }
10274
15
        },
10275
15
        { &hf_c15ch_cp_event_subpm_mwil,
10276
15
            { "Sub Progress Mark (MWIL)", "c15.cpe.subpm_mwil",
10277
15
            FT_UINT32, BASE_DEC,
10278
15
            VALS( subpm_mwil_types),
10279
15
            0x0, NULL, HFILL }
10280
15
        },
10281
15
        { &hf_c15ch_cp_event_subpm_ldbs,
10282
15
            { "Sub Progress Mark (LDBS)", "c15.cpe.subpm_ldbs",
10283
15
            FT_UINT32, BASE_DEC,
10284
15
            VALS( subpm_ldbs_types),
10285
15
            0x0, NULL, HFILL }
10286
15
        },
10287
15
        { &hf_c15ch_cp_event_subpm_acr,
10288
15
            { "Sub Progress Mark (ACR)", "c15.cpe.subpm_acr",
10289
15
            FT_UINT32, BASE_DEC,
10290
15
            VALS( subpm_acr_types),
10291
15
            0x0, NULL, HFILL }
10292
15
        },
10293
15
        { &hf_c15ch_cp_event_subpm_call_park,
10294
15
            { "Sub Progress Mark (Call Park)", "c15.cpe.subpm_call_park",
10295
15
            FT_UINT32, BASE_DEC,
10296
15
            VALS( subpm_call_park_types),
10297
15
            0x0, NULL, HFILL }
10298
15
        },
10299
15
        { &hf_c15ch_cp_event_subpm_camp_on_recall,
10300
15
            { "Sub Progress Mark (Camp On Recall)", "c15.cpe.subpm_camp_on_recall",
10301
15
            FT_UINT32, BASE_DEC,
10302
15
            VALS( subpm_camp_on_recall_types),
10303
15
            0x0, NULL, HFILL }
10304
15
        },
10305
15
        { &hf_c15ch_cp_event_subpm_cff,
10306
15
            { "Sub Progress Mark (Call Fwrd Fixed Dest)", "c15.cpe.subpm_cff",
10307
15
            FT_UINT32, BASE_DEC,
10308
15
            VALS( subpm_cff_types),
10309
15
            0x0, NULL, HFILL }
10310
15
        },
10311
15
        { &hf_c15ch_cp_event_subpm_ibert,
10312
15
            { "Sub Progress Mark (IBERT)", "c15.cpe.subpm_ibert",
10313
15
            FT_UINT32, BASE_DEC,
10314
15
            VALS( subpm_ibert_types),
10315
15
            0x0, NULL, HFILL }
10316
15
        },
10317
15
        { &hf_c15ch_cp_event_subpm_ain,
10318
15
            { "Sub Progress Mark (AIN)", "c15.cpe.subpm_ain",
10319
15
            FT_UINT32, BASE_DEC,
10320
15
            VALS( subpm_ain_types),
10321
15
            0x0, NULL, HFILL }
10322
15
        },
10323
15
        { &hf_c15ch_cp_event_subpm_ain_sit,
10324
15
            { "Sub Progress Mark (AIN SIT)", "c15.cpe.subpm_ain_sit",
10325
15
            FT_UINT32, BASE_DEC,
10326
15
            VALS( subpm_ain_sit_types),
10327
15
            0x0, NULL, HFILL }
10328
15
        },
10329
15
        { &hf_c15ch_cp_event_subpm_ain_rtg,
10330
15
            { "Sub Progress Mark (AIN RTG)", "c15.cpe.subpm_ain_rtg",
10331
15
            FT_UINT32, BASE_DEC,
10332
15
            VALS( subpm_ain_rtg_types),
10333
15
            0x0, NULL, HFILL }
10334
15
        },
10335
15
        { &hf_c15ch_cp_event_subpm_nail_bcon,
10336
15
            { "Sub Progress Mark (NAIL BCON)", "c15.cpe.subpm_nail_bcon",
10337
15
            FT_UINT32, BASE_DEC,
10338
15
            VALS( subpm_nail_bcon_dcon_types),
10339
15
            0x0, NULL, HFILL }
10340
15
        },
10341
15
        { &hf_c15ch_cp_event_subpm_nail_dcon,
10342
15
            { "Sub Progress Mark (NAIL DCON)", "c15.cpe.subpm_nail_dcon",
10343
15
            FT_UINT32, BASE_DEC,
10344
15
            VALS( subpm_nail_bcon_dcon_types),
10345
15
            0x0, NULL, HFILL }
10346
15
        },
10347
15
        { &hf_c15ch_cp_event_subpm_qtrn_trvr,
10348
15
            { "Sub Progress Mark (QTRN TRVR)", "c15.cpe.subpm_qtrn_trvr",
10349
15
            FT_UINT32, BASE_DEC,
10350
15
            VALS( subpm_qtrn_trvr_types),
10351
15
            0x0, NULL, HFILL }
10352
15
        },
10353
15
        { &hf_c15ch_cp_event_subpm_ekts,
10354
15
            { "Sub Progress Mark (EKTS)", "c15.cpe.subpm_ekts",
10355
15
            FT_UINT32, BASE_DEC,
10356
15
            VALS( subpm_ekts_types),
10357
15
            0x0, NULL, HFILL }
10358
15
        },
10359
15
        { &hf_c15ch_cp_event_subpm_alt,
10360
15
            { "Sub Progress Mark (ALT)", "c15.cpe.subpm_alt",
10361
15
            FT_UINT32, BASE_DEC,
10362
15
            VALS( subpm_alt_types),
10363
15
            0x0, NULL, HFILL }
10364
15
        },
10365
15
        { &hf_c15ch_cp_event_subpm_calea,
10366
15
            { "Sub Progress Mark (CALEA)", "c15.cpe.subpm_calea",
10367
15
            FT_UINT32, BASE_DEC,
10368
15
            VALS( subpm_calea_types),
10369
15
            0x0, NULL, HFILL }
10370
15
        },
10371
15
        { &hf_c15ch_cp_event_subpm_sim_ring,
10372
15
            { "Sub Progress Mark (Sim Ring)", "c15.cpe.subpm_sim_ring",
10373
15
            FT_UINT32, BASE_DEC,
10374
15
            VALS( subpm_sim_ring_types),
10375
15
            0x0, NULL, HFILL }
10376
15
        },
10377
15
        { &hf_c15ch_cp_event_subpm_lta,
10378
15
            { "Sub Progress Mark (LTA)", "c15.cpe.subpm_lta",
10379
15
            FT_UINT32, BASE_DEC,
10380
15
            VALS( subpm_lta_types),
10381
15
            0x0, NULL, HFILL }
10382
15
        },
10383
15
        { &hf_c15ch_cp_event_subpm_hgq,
10384
15
            { "Sub Progress Mark (HGQ)", "c15.cpe.subpm_hgq",
10385
15
            FT_UINT32, BASE_DEC,
10386
15
            VALS( subpm_hgq_types),
10387
15
            0x0, NULL, HFILL }
10388
15
        },
10389
15
        { &hf_c15ch_cp_event_subpm_idle,
10390
15
            { "Sub Progress Mark (Idle)", "c15.cpe.subpm_idle",
10391
15
            FT_UINT32, BASE_DEC,
10392
15
            VALS( subpm_idle_types),
10393
15
            0x0, NULL, HFILL }
10394
15
        },
10395
15
        { &hf_c15ch_cp_event_subpm_sig,
10396
15
            { "Sub Progress Mark (Sig)", "c15.cpe.subpm_sig",
10397
15
            FT_UINT32, BASE_DEC,
10398
15
            VALS( subpm_sig_types),
10399
15
            0x0, NULL, HFILL }
10400
15
        },
10401
15
        { &hf_c15ch_cp_event_subpm_sig_dest,
10402
15
            { "Sub Progress Mark (Sig Dest)", "c15.cpe.subpm_sig_dest",
10403
15
            FT_UINT32, BASE_DEC,
10404
15
            VALS( subpm_sig_dest_types),
10405
15
            0x0, NULL, HFILL }
10406
15
        },
10407
15
        { &hf_c15ch_cp_event_subpm_agl_splrg,
10408
15
            { "Sub Progress Mark (AGL Splash Ring)", "c15.cpe.subpm_agl_splrg",
10409
15
            FT_UINT32, BASE_DEC,
10410
15
            VALS( subpm_agl_splrg_types),
10411
15
            0x0, NULL, HFILL }
10412
15
        },
10413
15
        { &hf_c15ch_cp_event_trkpm,
10414
15
            { "Trunk Progress Mark", "c15.cpe.trkpm",
10415
15
            FT_UINT32, BASE_DEC,
10416
15
            NULL,
10417
15
            0x0, NULL, HFILL}
10418
15
        },
10419
15
        { &hf_c15ch_cp_event_dig_ckt_test_trkpm,
10420
15
            { "Trunk Progress Mark (Dig CKT Test)", "c15.cpe.dig_ckt_test_trkpm",
10421
15
            FT_UINT32, BASE_DEC,
10422
15
            VALS( trkpm_dig_ckt_test_types),
10423
15
            0x0, NULL, HFILL}
10424
15
        },
10425
15
        { &hf_c15ch_cp_event_devid,
10426
15
            { "Device ID", "c15.cpe.devid",
10427
15
            FT_UINT32, BASE_DEC|BASE_EXT_STRING,
10428
15
            &c15_dev_types_ext,
10429
15
            0x0, NULL, HFILL}
10430
15
        },
10431
15
        { &hf_c15ch_cp_event_event,
10432
15
            { "Event", "c15.cpe.event",
10433
15
            FT_UINT32, BASE_DEC|BASE_EXT_STRING,
10434
15
            &c15_event_types_ext,
10435
15
            0x0, NULL, HFILL}
10436
15
        },
10437
15
        { &hf_c15ch_cp_event_parm,
10438
15
            { "Parm", "c15.cpe.parm",
10439
15
            FT_UINT32, BASE_DEC,
10440
15
            NULL,
10441
15
            0x0, NULL, HFILL}
10442
15
        },
10443
15
        { &hf_c15ch_cp_event_iptime,
10444
15
            { "IP Time", "c15.cpe.iptime",
10445
15
            FT_UINT32, BASE_DEC,
10446
15
            NULL,
10447
15
            0x0, NULL, HFILL}
10448
15
        } ,
10449
15
         { &hf_c15ch_inc_gwe_ni,
10450
15
            { "NI", "c15.inc_gwe.ni",
10451
15
            FT_UINT32, BASE_HEX,
10452
15
            NULL,
10453
15
            0x0, NULL, HFILL}
10454
15
        },
10455
15
        { &hf_c15ch_inc_gwe_tn,
10456
15
            { "TN", "c15.inc_gwe.tn",
10457
15
            FT_UINT32, BASE_HEX,
10458
15
            NULL,
10459
15
            0x0, NULL, HFILL}
10460
15
        },
10461
15
        { &hf_c15ch_inc_gwe_ni_tn,
10462
15
            {"NI/TN", "c15.inc_gwe.ni_tn",
10463
15
            FT_UINT64, BASE_HEX,
10464
15
            NULL,
10465
15
            0x0, NULL, HFILL }
10466
15
        },
10467
15
        { &hf_c15ch_inc_gwe_taskid,
10468
15
            { "Task ID", "c15.inc_gwe.taskid",
10469
15
            FT_UINT8, BASE_DEC,
10470
15
            VALS( c15inc_gwe_task_types ),
10471
15
            0x0, NULL, HFILL}
10472
15
        },
10473
15
        { &hf_c15ch_inc_gwe_fiatid_invalid,
10474
15
            { "Fiat ID (Invalid)", "c15.inc_gwe.fiatid_invalid",
10475
15
            FT_UINT8, BASE_DEC,
10476
15
            NULL,
10477
15
            0x0, NULL, HFILL}
10478
15
        },
10479
15
        { &hf_c15ch_inc_gwe_fiatid_bc,
10480
15
            { "Fiat ID (Bearer Control)", "c15.inc_gwe.fiatid_bc",
10481
15
            FT_UINT8, BASE_DEC,
10482
15
            VALS( c15inc_gwe_bc_fiat_types ),
10483
15
            0x0, NULL, HFILL}
10484
15
        },
10485
15
        { &hf_c15ch_inc_gwe_fiatid_mtce,
10486
15
            { "Fiat ID (MTCE)", "c15.inc_gwe.fiatid_mtce",
10487
15
            FT_UINT8, BASE_DEC,
10488
15
            VALS( c15inc_gwe_mtce_fiat_types ),
10489
15
            0x0, NULL, HFILL}
10490
15
        },
10491
15
        { &hf_c15ch_inc_gwe_fiatid_om,
10492
15
            { "Fiat ID (OM)", "c15.inc_gwe.fiatid_om",
10493
15
            FT_UINT8, BASE_DEC,
10494
15
            VALS( c15inc_gwe_om_fiat_types ),
10495
15
            0x0, NULL, HFILL}
10496
15
        },
10497
15
        { &hf_c15ch_inc_gwe_fiatid_h248,
10498
15
            { "Fiat ID (H248)", "c15.inc_gwe.fiatid_h248",
10499
15
            FT_UINT8, BASE_DEC,
10500
15
            VALS( c15inc_gwe_h248_mgcp_fiat_types ),
10501
15
            0x0, NULL, HFILL}
10502
15
        },
10503
15
        { &hf_c15ch_inc_gwe_fiatid_sua,
10504
15
            { "Fiat ID (SUA)", "c15.inc_gwe.fiatid_sua",
10505
15
            FT_UINT8, BASE_DEC,
10506
15
            VALS( c15inc_gwe_sua_fiat_types ),
10507
15
            0x0, NULL, HFILL}
10508
15
        },
10509
15
        { &hf_c15ch_inc_gwe_fiatid_mgcp,
10510
15
            { "Fiat ID (MGCP)", "c15.inc_gwe.fiatid_mgcp",
10511
15
            FT_UINT8, BASE_DEC,
10512
15
            VALS( c15inc_gwe_h248_mgcp_fiat_types ),
10513
15
            0x0, NULL, HFILL}
10514
15
        },
10515
15
        { &hf_c15ch_inc_gwe_fiatid_sip_notify,
10516
15
            { "Fiat ID (SIP Notify)", "c15.inc_gwe.fiatid_sip_notify",
10517
15
            FT_UINT8, BASE_DEC,
10518
15
            VALS( c15inc_gwe_sip_notify_fiat_types ),
10519
15
            0x0, NULL, HFILL}
10520
15
        },
10521
15
        { &hf_c15ch_inc_gwe_fiatid_admn,
10522
15
            { "Fiat ID (Admn)", "c15.inc_gwe.fiatid_admn",
10523
15
            FT_UINT8, BASE_DEC,
10524
15
            VALS( c15inc_gwe_admn_fiat_types ),
10525
15
            0x0, NULL, HFILL}
10526
15
        },
10527
15
        { &hf_c15ch_inc_gwe_datatype,
10528
15
            { "Datatype", "c15.inc_gwe.datatype",
10529
15
            FT_UINT8, BASE_DEC|BASE_EXT_STRING,
10530
15
            &c15inc_gwe_types_ext,
10531
15
            0x0, NULL, HFILL}
10532
15
        },
10533
10534
15
        { &hf_c15ch_out_gwe_ni,
10535
15
            { "NI", "c15.out_gwe.ni",
10536
15
            FT_UINT32, BASE_HEX,
10537
15
            NULL,
10538
15
            0x0, NULL, HFILL}
10539
15
        },
10540
15
        { &hf_c15ch_out_gwe_tn,
10541
15
            { "TN", "c15.out_gwe.tn",
10542
15
            FT_UINT32, BASE_HEX,
10543
15
            NULL,
10544
15
            0x0, NULL, HFILL}
10545
15
        },
10546
15
        { &hf_c15ch_out_gwe_ni_tn,
10547
15
            {"NI/TN", "c15.out_gwe.ni_tn",
10548
15
            FT_UINT64, BASE_HEX,
10549
15
            NULL,
10550
15
            0x0, NULL, HFILL }
10551
15
        },
10552
15
        { &hf_c15ch_out_gwe_op_gwe_msg_type,
10553
15
            { "OP GWE Msg Type", "c15.out_gwe.op_gwe_msg_type",
10554
15
            FT_UINT8, BASE_DEC|BASE_EXT_STRING,
10555
15
            &c15_out_gwe_msg_types_ext,
10556
15
            0x0, NULL, HFILL}
10557
15
        },
10558
15
        { &hf_c15ch_out_gwe_op_gwe_protocol,
10559
15
            { "OP GWE Protocol", "c15.out_gwe.op_gwe_protocol",
10560
15
            FT_UINT8, BASE_DEC,
10561
15
            VALS( c15_out_gwe_protocol_types ),
10562
15
            0x0, NULL, HFILL}
10563
15
        },
10564
15
        { &hf_c15ch_out_gwe_op_sua_hndl,
10565
15
            { "Sip User Agent Handle", "c15.out_gwe.sua_hndl",
10566
15
            FT_UINT32, BASE_HEX,
10567
15
            NULL,
10568
15
            0x0, NULL, HFILL}
10569
15
        },
10570
15
        { &hf_c15ch_out_gwe_gwe_data_type,
10571
15
            { "GWE Datatype", "c15.out_gwe.gwe_data_type",
10572
15
            FT_UINT8, BASE_DEC|BASE_EXT_STRING,
10573
15
            &c15_out_gwe_data_types_ext,
10574
15
            0x0, NULL, HFILL}
10575
15
        },
10576
10577
15
        { &hf_c15ch_tone_msg_type,
10578
15
            { "Msg Type", "c15.tone.msg_type",
10579
15
            FT_UINT8, BASE_DEC,
10580
15
            VALS( c15_tone_msg_types ),
10581
15
            0x0, NULL, HFILL}
10582
15
        },
10583
15
        { &hf_c15ch_cp_state_ch,
10584
15
            { "C15 CP State Change", "c15.cpsc",
10585
15
            FT_PROTOCOL, BASE_NONE,
10586
15
            NULL,
10587
15
            0x0, NULL, HFILL}
10588
15
        },
10589
15
        { &hf_c15ch_cp_event,
10590
15
            { "C15 CP Event", "c15.cpe",
10591
15
            FT_PROTOCOL, BASE_NONE,
10592
15
            NULL,
10593
15
            0x0, NULL, HFILL}
10594
15
        },
10595
15
        { &hf_c15ch_isup,
10596
15
            { "C15 ISUP", "c15.isup",
10597
15
            FT_PROTOCOL, BASE_NONE,
10598
15
            NULL,
10599
15
            0x0, NULL, HFILL}
10600
15
        },
10601
15
        { &hf_c15ch_nitnxlate,
10602
15
            { "C15 NITN Xlate", "c15.nitnxlate",
10603
15
            FT_PROTOCOL, BASE_NONE,
10604
15
            NULL,
10605
15
            0x0, NULL, HFILL}
10606
15
        },
10607
15
        { &hf_c15ch_sccp,
10608
15
            { "C15 SCCP", "c15.sccp",
10609
15
            FT_PROTOCOL, BASE_NONE,
10610
15
            NULL,
10611
15
            0x0, NULL, HFILL}
10612
15
        },
10613
15
        { &hf_c15ch_orig,
10614
15
            { "C15 CP Orig", "c15.orig",
10615
15
            FT_PROTOCOL, BASE_NONE,
10616
15
            NULL,
10617
15
            0x0, NULL, HFILL}
10618
15
        },
10619
15
        { &hf_c15ch_conn,
10620
15
            { "C15 Conn", "c15.conn",
10621
15
            FT_PROTOCOL, BASE_NONE,
10622
15
            NULL,
10623
15
            0x0, NULL, HFILL}
10624
15
        },
10625
15
        { &hf_c15ch_ntwk_conn,
10626
15
            { "C15 Network Conn", "c15.ntwkconn",
10627
15
            FT_PROTOCOL, BASE_NONE,
10628
15
            NULL,
10629
15
            0x0, NULL, HFILL}
10630
15
        },
10631
15
        { &hf_c15ch_mkbrk,
10632
15
            { "C15 Make Break", "c15.mkbrk",
10633
15
            FT_PROTOCOL, BASE_NONE,
10634
15
            NULL,
10635
15
            0x0, NULL, HFILL}
10636
15
        },
10637
15
        { &hf_c15ch_pathfind,
10638
15
            { "C15 Path Find", "c15.pathfind",
10639
15
            FT_PROTOCOL, BASE_NONE,
10640
15
            NULL,
10641
15
            0x0, NULL, HFILL}
10642
15
        },
10643
15
        { &hf_c15ch_pathidle,
10644
15
            { "C15 Path Idle", "c15.pathidle",
10645
15
            FT_PROTOCOL, BASE_NONE,
10646
15
            NULL,
10647
15
            0x0, NULL, HFILL}
10648
15
        },
10649
15
        { &hf_c15ch_dest_digits,
10650
15
            { "C15 Destination Digits", "c15.dest_digits",
10651
15
            FT_PROTOCOL, BASE_NONE,
10652
15
            NULL,
10653
15
            0x0, NULL, HFILL}
10654
15
        },
10655
15
        { &hf_c15ch_twc_rswch,
10656
15
            { "C15 TWC Rswch", "c15.twc_rswch",
10657
15
            FT_PROTOCOL, BASE_NONE,
10658
15
            NULL,
10659
15
            0x0, NULL, HFILL}
10660
15
        },
10661
15
        { &hf_c15ch_srcedest,
10662
15
            { "C15 Source Destination", "c15.srcedest",
10663
15
            FT_PROTOCOL, BASE_NONE,
10664
15
            NULL,
10665
15
            0x0, NULL, HFILL}
10666
15
        },
10667
15
        { &hf_c15ch_route,
10668
15
            { "C15 Route", "c15.route",
10669
15
            FT_PROTOCOL, BASE_NONE,
10670
15
            NULL,
10671
15
            0x0, NULL, HFILL}
10672
15
        },
10673
15
        { &hf_c15ch_inc_gwe,
10674
15
            { "C15 Incoming GWE", "c15.inc_gwe",
10675
15
            FT_PROTOCOL, BASE_NONE,
10676
15
            NULL,
10677
15
            0x0, NULL, HFILL}
10678
15
        },
10679
15
        { &hf_c15ch_out_gwe,
10680
15
            { "C15 Outgoing GWE", "c15.out_gwe",
10681
15
            FT_PROTOCOL, BASE_NONE,
10682
15
            NULL,
10683
15
            0x0, NULL, HFILL}
10684
15
        },
10685
15
        { &hf_c15ch_outgwebc,
10686
15
            { "C15 Out GWE Bearer Control", "c15.out_gwe_bc",
10687
15
            FT_PROTOCOL, BASE_NONE,
10688
15
            NULL,
10689
15
            0x0, NULL, HFILL}
10690
15
        },
10691
15
        { &hf_c15ch_ama,
10692
15
            { "C15 AMA", "c15.ama",
10693
15
            FT_PROTOCOL, BASE_NONE,
10694
15
            NULL,
10695
15
            0x0, NULL, HFILL}
10696
15
        },
10697
15
        { &hf_c15ch_qos,
10698
15
            { "C15 Quality of Service", "c15.qos",
10699
15
            FT_PROTOCOL, BASE_NONE,
10700
15
            NULL,
10701
15
            0x0, NULL, HFILL}
10702
15
        },
10703
15
        { &hf_c15ch_echo_cancel,
10704
15
            { "C15 Echo Cancel", "c15.echo_cancel",
10705
15
            FT_PROTOCOL, BASE_NONE,
10706
15
            NULL,
10707
15
            0x0, NULL, HFILL}
10708
15
        },
10709
15
        { &hf_c15ch_tone,
10710
15
            { "C15 Tone", "c15.tone",
10711
15
            FT_PROTOCOL, BASE_NONE,
10712
15
            NULL,
10713
15
            0x0, NULL, HFILL}
10714
15
        },
10715
15
        { &hf_c15ch_encap_isup,
10716
15
            { "C15 Encapsulated ISUP", "c15.encap_isup",
10717
15
            FT_PROTOCOL, BASE_NONE,
10718
15
            NULL,
10719
15
            0x0, NULL, HFILL}
10720
15
        },
10721
15
        { &hf_c15ch_tcap,
10722
15
            { "C15 TCAP", "c15.tcap",
10723
15
            FT_PROTOCOL, BASE_NONE,
10724
15
            NULL,
10725
15
            0x0, NULL, HFILL}
10726
15
        },
10727
15
        { &hf_c15ch_clli,
10728
15
            { "C15 CLLI", "c15.clli",
10729
15
            FT_PROTOCOL, BASE_NONE,
10730
15
            NULL,
10731
15
            0x0, NULL, HFILL}
10732
15
        },
10733
15
        { &hf_c15ch_c15_info,
10734
15
            { "C15 Info", "c15.info",
10735
15
            FT_PROTOCOL, BASE_NONE,
10736
15
            NULL,
10737
15
            0x0, NULL, HFILL}
10738
15
        },
10739
        /* new Generic Messages */
10740
15
        { &hf_c15ch_c15_generic_msg_1,
10741
15
            { "C15 Generic Message 1", "c15.generic_msg_1",
10742
15
            FT_PROTOCOL, BASE_NONE,
10743
15
            NULL,
10744
15
            0x0, NULL, HFILL}
10745
15
        },
10746
15
        { &hf_c15ch_c15_generic_msg_2,
10747
15
            { "C15 Generic Message 2", "c15.generic_msg_2",
10748
15
            FT_PROTOCOL, BASE_NONE,
10749
15
            NULL,
10750
15
            0x0, NULL, HFILL}
10751
15
        },
10752
15
        { &hf_c15ch_c15_generic_msg_3,
10753
15
            { "C15 Generic Message 3", "c15.generic_msg_3",
10754
15
            FT_PROTOCOL, BASE_NONE,
10755
15
            NULL,
10756
15
            0x0, NULL, HFILL}
10757
15
        },
10758
15
        { &hf_c15ch_c15_generic_msg_4,
10759
15
            { "C15 Generic Message 4", "c15.generic_msg_4",
10760
15
            FT_PROTOCOL, BASE_NONE,
10761
15
            NULL,
10762
15
            0x0, NULL, HFILL}
10763
15
        },
10764
15
        { &hf_c15ch_c15_generic_msg_5,
10765
15
            { "C15 Generic Message 5", "c15.generic_msg_5",
10766
15
            FT_PROTOCOL, BASE_NONE,
10767
15
            NULL,
10768
15
            0x0, NULL, HFILL}
10769
15
        },
10770
15
        { &hf_c15ch_c15_correlate_msg,
10771
15
            { "C15 Correlate Message", "c15.correlate_msg",
10772
15
            FT_PROTOCOL, BASE_NONE,
10773
15
            NULL,
10774
15
            0x0, NULL, HFILL}
10775
15
        },
10776
15
        { &hf_c15ch_c15_generic_msg_parm_1,
10777
15
            { "Parameter 1", "c15.parm_1",
10778
15
            FT_UINT32, BASE_DEC,
10779
15
            NULL,
10780
15
            0x0, NULL, HFILL}
10781
15
        },
10782
15
        { &hf_c15ch_c15_generic_msg_parm_2,
10783
15
            { "Parameter 2", "c15.parm_2",
10784
15
            FT_UINT32, BASE_DEC,
10785
15
            NULL,
10786
15
            0x0, NULL, HFILL}
10787
15
        },
10788
15
        { &hf_c15ch_c15_generic_msg_parm_3,
10789
15
            { "Parameter 3", "c15.parm_3",
10790
15
            FT_UINT32, BASE_DEC,
10791
15
            NULL,
10792
15
            0x0, NULL, HFILL}
10793
15
        },
10794
15
        { &hf_c15ch_c15_generic_msg_parm_4,
10795
15
            { "Parameter 4", "c15.parm_4",
10796
15
            FT_UINT32, BASE_HEX,
10797
15
            NULL,
10798
15
            0x0, NULL, HFILL}
10799
15
        },
10800
15
        { &hf_c15ch_c15_generic_msg_parm_5,
10801
15
            { "Parameter 5", "c15.parm_5",
10802
15
            FT_UINT32, BASE_HEX,
10803
15
            NULL,
10804
15
            0x0, NULL, HFILL}
10805
15
        },
10806
15
        { &hf_c15ch_c15_generic_msg_data_len,
10807
15
            { "Data Length", "c15.data_len",
10808
15
            FT_UINT32, BASE_DEC,
10809
15
            NULL,
10810
15
            0x0, NULL, HFILL}
10811
15
        },
10812
15
        { &hf_c15ch_c15_generic_msg_cr_ptr_val,
10813
15
            { "CR Pointer Value", "c15.cr_ptr_val",
10814
15
            FT_UINT32, BASE_HEX,
10815
15
            NULL,
10816
15
            0x0, NULL, HFILL }
10817
15
        },
10818
15
        { &hf_c15ch_c15_generic_msg_dr_ptr_val,
10819
15
            { "DR Pointer Value", "c15.dr_ptr_val",
10820
15
            FT_UINT32, BASE_HEX,
10821
15
            NULL,
10822
15
            0x0, NULL, HFILL }
10823
15
        },
10824
15
        { &hf_c15ch_c15_generic_msg_spr_int_1,
10825
15
            { "Optional Integer 1", "c15.spr_int_1",
10826
15
            FT_UINT32, BASE_DEC,
10827
15
            NULL,
10828
15
            0x0, NULL, HFILL }
10829
15
        },
10830
15
        { &hf_c15ch_c15_generic_msg_spr_int_2,
10831
15
            { "Optional Integer 2", "c15.spr_int_2",
10832
15
            FT_UINT32, BASE_DEC,
10833
15
            NULL,
10834
15
            0x0, NULL, HFILL }
10835
15
        },
10836
15
        { &hf_c15ch_c15_generic_msg_spr_uptr_1,
10837
15
            { "Optional Unprotected Pointer 1", "c15.spr_uptr_1",
10838
15
            FT_UINT32, BASE_HEX,
10839
15
            NULL,
10840
15
            0x0, NULL, HFILL }
10841
15
        },
10842
15
        { &hf_c15ch_c15_generic_msg_spr_uptr_2,
10843
15
            { "Optional Unprotected Pointer 2", "c15.spr_uptr_2",
10844
15
            FT_UINT32, BASE_HEX,
10845
15
            NULL,
10846
15
            0x0, NULL, HFILL }
10847
15
        },
10848
15
        { &hf_c15ch_c15_generic_msg_spr_pptr_1,
10849
15
            { "Optional Protected Pointer 1", "c15.spr_pptr_1",
10850
15
            FT_UINT32, BASE_HEX,
10851
15
            NULL,
10852
15
            0x0, NULL, HFILL }
10853
15
        },
10854
15
        { &hf_c15ch_c15_generic_msg_spr_pptr_2,
10855
15
            { "Optional Protected Pointer 2", "c15.spr_pptr_2",
10856
15
            FT_UINT32, BASE_HEX,
10857
15
            NULL,
10858
15
            0x0, NULL, HFILL }
10859
15
        },
10860
15
        { &hf_c15ch_c15_generic_msg_gen_msg_field_1,
10861
15
            { "Generic Message Field 1", "c15.gen_msg_field_1",
10862
15
            FT_UINT32, BASE_DEC,
10863
15
            NULL,
10864
15
            0x0, NULL, HFILL}
10865
15
        },
10866
15
        { &hf_c15ch_c15_generic_msg_gen_msg_field_2,
10867
15
            { "Generic Message Field 2", "c15.gen_msg_field_2",
10868
15
            FT_UINT32, BASE_DEC,
10869
15
            NULL,
10870
15
            0x0, NULL, HFILL}
10871
15
        },
10872
15
        { &hf_c15ch_c15_generic_msg_gen_msg_field_3,
10873
15
            { "Generic Message Field 3", "c15.gen_msg_field_3",
10874
15
            FT_UINT32, BASE_DEC,
10875
15
            NULL,
10876
15
            0x0, NULL, HFILL}
10877
15
        },
10878
15
        { &hf_c15ch_c15_generic_msg_gen_msg_field_4,
10879
15
            { "Generic Message Field 4", "c15.gen_msg_field_4",
10880
15
            FT_UINT32, BASE_DEC,
10881
15
            NULL,
10882
15
            0x0, NULL, HFILL}
10883
15
        },
10884
15
        { &hf_c15ch_c15_generic_msg_gen_msg_field_5,
10885
15
            { "Generic Message Field 5", "c15.gen_msg_field_5",
10886
15
            FT_UINT32, BASE_DEC,
10887
15
            NULL,
10888
15
            0x0, NULL, HFILL}
10889
15
        },
10890
15
        { &hf_c15ch_c15_generic_msg_gen_msg_string,
10891
15
            { "Message", "c15.msg_string",
10892
15
            FT_STRINGZ, BASE_NONE,
10893
15
            NULL,
10894
15
            0x0, NULL, HFILL}
10895
15
        },
10896
15
        { &hf_c15ch_c15_generic_msg_gen_data_large,
10897
15
            { "Hex Message", "c15.data_large",
10898
15
            FT_BYTES, BASE_NONE,
10899
15
            NULL,
10900
15
            0x0, NULL, HFILL }
10901
15
        },
10902
15
        { &hf_c15ch_c15_usage_id,
10903
15
            { "Usage ID", "c15.usage_id",
10904
15
            FT_UINT32, BASE_DEC,
10905
15
            NULL,
10906
15
            0x0, NULL, HFILL}
10907
15
        },
10908
15
        { &hf_c15ch_c15_opt_parm_2,
10909
15
            { "Optional Parameter 2", "c15.opt_parm_2",
10910
15
            FT_UINT32, BASE_DEC,
10911
15
            NULL,
10912
15
            0x0, NULL, HFILL}
10913
15
        },
10914
15
        { &hf_c15ch_c15_opt_parm_3,
10915
15
            { "Optional Parameter 3", "c15.opt_parm_3",
10916
15
            FT_UINT32, BASE_DEC,
10917
15
            NULL,
10918
15
            0x0, NULL, HFILL}
10919
15
        },
10920
15
        { &hf_c15ch_c15_opt_parm_4,
10921
15
            { "Optional Parameter 4", "c15.opt_parm_4",
10922
15
            FT_UINT32, BASE_DEC,
10923
15
            NULL,
10924
15
            0x0, NULL, HFILL}
10925
15
        },
10926
15
        { &hf_c15ch_c15_opt_parm_5,
10927
15
            { "Optional Parameter 5", "c15.opt_parm_5",
10928
15
            FT_UINT32, BASE_DEC,
10929
15
            NULL,
10930
15
            0x0, NULL, HFILL}
10931
15
        },
10932
15
        { &hf_c15ch_c15_opt_parm_6_ptr,
10933
15
            { "Optional Parameter 6 Pointer", "c15.opt_parm_6_ptr",
10934
15
            FT_UINT32, BASE_HEX,
10935
15
            NULL,
10936
15
            0x0, NULL, HFILL}
10937
15
        },
10938
15
        { &hf_c15ch_c15_opt_parm_7_ptr,
10939
15
            { "Optional Parameter 7 Pointer", "c15.opt_parm_7_ptr",
10940
15
            FT_UINT32, BASE_HEX,
10941
15
            NULL,
10942
15
            0x0, NULL, HFILL}
10943
15
        },
10944
15
        { &hf_c15ch_c15_opt_parm_8_ptr,
10945
15
            { "Optional Parameter 8 Pointer", "c15.opt_parm_8_ptr",
10946
15
            FT_UINT32, BASE_HEX,
10947
15
            NULL,
10948
15
            0x0, NULL, HFILL}
10949
15
        },
10950
15
        { &hf_c15ch_c15_opt_parm_9_ptr,
10951
15
            { "Optional Parameter 9 Pointer", "c15.opt_parm_9_ptr",
10952
15
            FT_UINT32, BASE_HEX,
10953
15
            NULL,
10954
15
            0x0, NULL, HFILL}
10955
15
        },
10956
15
        { &hf_c15ch_c15_opt_string_parm_8,
10957
15
            { "String Parameter 8", "c15.opt_string_parm_8",
10958
15
            FT_STRINGZ, BASE_NONE,
10959
15
            NULL,
10960
15
            0x0, NULL, HFILL}
10961
15
        },
10962
15
        { &hf_c15ch_c15_opt_string_parm_9,
10963
15
            { "String Parameter 9", "c15.opt_string_parm_9",
10964
15
            FT_STRINGZ, BASE_NONE,
10965
15
            NULL,
10966
15
            0x0, NULL, HFILL}
10967
15
        },
10968
15
        { &hf_c15ch_c15_sip_reg_subs_report,
10969
15
            { "C15 SIP REG SUBS Report", "c15.sip_reg_subs_report",
10970
15
            FT_PROTOCOL, BASE_NONE,
10971
15
            NULL,
10972
15
            0x0, NULL, HFILL}
10973
15
        },
10974
15
        { &hf_c15ch_c15_sip_report_type,
10975
15
            { "SIP Report Type", "c15.sip_report_type",
10976
15
            FT_STRINGZ, BASE_NONE,
10977
15
            NULL,
10978
15
            0x0, NULL, HFILL}
10979
15
        },
10980
15
        { &hf_c15ch_c15_rate,
10981
15
            { "Rate", "c15.rate",
10982
15
            FT_UINT32, BASE_DEC,
10983
15
            NULL,
10984
15
            0x0, NULL, HFILL}
10985
15
        },
10986
15
        { &hf_c15ch_c15_hour,
10987
15
            { "Hour", "c15.hour",
10988
15
            FT_UINT32, BASE_DEC,
10989
15
            NULL,
10990
15
            0x0, NULL, HFILL}
10991
15
        },
10992
15
        { &hf_c15ch_c15_peak_min,
10993
15
            { "Peak Minute", "c15.peak_min",
10994
15
            FT_UINT32, BASE_DEC,
10995
15
            NULL,
10996
15
            0x0, NULL, HFILL}
10997
15
        },
10998
15
        { &hf_c15ch_c15_peak_sec,
10999
15
            { "Peak Second", "c15.peak_sec",
11000
15
            FT_UINT32, BASE_DEC,
11001
15
            NULL,
11002
15
            0x0, NULL, HFILL}
11003
15
        },
11004
15
        { &hf_c15ch_c15_auth_good,
11005
15
            { "Good Authentications in Last Hour", "c15.auth_good",
11006
15
            FT_UINT32, BASE_DEC,
11007
15
            NULL,
11008
15
            0x0, NULL, HFILL}
11009
15
        },
11010
15
        { &hf_c15ch_c15_auth_fail,
11011
15
            { "Failed Authentications in Last Hour", "c15.auth_fail",
11012
15
            FT_UINT32, BASE_DEC,
11013
15
            NULL,
11014
15
            0x0, NULL, HFILL}
11015
15
        },
11016
15
        { &hf_c15ch_c15_ovd084,
11017
15
            { "OVD084 Occurrences in Last Hour", "c15.ovd084",
11018
15
            FT_UINT32, BASE_DEC,
11019
15
            NULL,
11020
15
            0x0, NULL, HFILL}
11021
15
        },
11022
15
        { &hf_c15ch_c15_ovd086,
11023
15
            { "OVD086 Occurrences in Last Hour", "c15.ovd086",
11024
15
            FT_UINT32, BASE_DEC,
11025
15
            NULL,
11026
15
            0x0, NULL, HFILL}
11027
15
        },
11028
15
        { &hf_c15ch_c15_ovd088,
11029
15
            { "OVD088 Occurrences in Last Hour", "c15.ovd088",
11030
15
            FT_UINT32, BASE_DEC,
11031
15
            NULL,
11032
15
            0x0, NULL, HFILL}
11033
15
        },
11034
15
        { &hf_c15ch_c15_sip104,
11035
15
            { "SIP104 Occurrences in Last Hour", "c15.sip104",
11036
15
            FT_UINT32, BASE_DEC,
11037
15
            NULL,
11038
15
            0x0, NULL, HFILL}
11039
15
        },
11040
15
        { &hf_c15ch_c15_reg_spare_1,
11041
15
            { "REGISTER Optional Parameter 1", "c15.reg_spare_1",
11042
15
            FT_UINT32, BASE_DEC,
11043
15
            NULL,
11044
15
            0x0, NULL, HFILL}
11045
15
        },
11046
15
        { &hf_c15ch_c15_reg_spare_2,
11047
15
            { "REGISTER Optional Parameter 2", "c15.reg_spare_2",
11048
15
            FT_UINT32, BASE_DEC,
11049
15
            NULL,
11050
15
            0x0, NULL, HFILL}
11051
15
        },
11052
15
        { &hf_c15ch_c15_reg_spare_3,
11053
15
            { "REGISTER Optional Parameter 3", "c15.reg_spare_3",
11054
15
            FT_UINT32, BASE_HEX,
11055
15
            NULL,
11056
15
            0x0, NULL, HFILL}
11057
15
        },
11058
15
        { &hf_c15ch_c15_status_200_cnt,
11059
15
            { "Status 200 in Last Hour", "c15.status_200_cnt",
11060
15
            FT_UINT32, BASE_DEC,
11061
15
            NULL,
11062
15
            0x0, NULL, HFILL}
11063
15
        },
11064
15
        { &hf_c15ch_c15_status_202_cnt,
11065
15
            { "Status 202 in Last Hour", "c15.status_202_cnt",
11066
15
            FT_UINT32, BASE_DEC,
11067
15
            NULL,
11068
15
            0x0, NULL, HFILL}
11069
15
        },
11070
15
        { &hf_c15ch_c15_status_405_cnt,
11071
15
            { "Status 405 in Last Hour", "c15.status_405_cnt",
11072
15
            FT_UINT32, BASE_DEC,
11073
15
            NULL,
11074
15
            0x0, NULL, HFILL}
11075
15
        },
11076
15
        { &hf_c15ch_c15_subs_spare_1,
11077
15
            { "SUBSCRIBE Optional Parameter 1", "c15.subs_spare_1",
11078
15
            FT_UINT32, BASE_DEC,
11079
15
            NULL,
11080
15
            0x0, NULL, HFILL}
11081
15
        },
11082
15
        { &hf_c15ch_c15_subs_spare_2,
11083
15
            { "SUBSCRIBE Optional Parameter 2", "c15.subs_spare_2",
11084
15
            FT_UINT32, BASE_DEC,
11085
15
            NULL,
11086
15
            0x0, NULL, HFILL}
11087
15
        },
11088
15
        { &hf_c15ch_c15_subs_spare_3,
11089
15
            { "SUBSCRIBE Optional Parameter 3", "c15.subs_spare_3",
11090
15
            FT_UINT32, BASE_DEC,
11091
15
            NULL,
11092
15
            0x0, NULL, HFILL}
11093
15
        },
11094
15
        { &hf_c15ch_c15_subs_spare_4,
11095
15
            { "SUBSCRIBE Optional Parameter 4", "c15.subs_spare_4",
11096
15
            FT_UINT32, BASE_DEC,
11097
15
            NULL,
11098
15
            0x0, NULL, HFILL}
11099
15
        },
11100
15
        { &hf_c15ch_c15_subs_spare_5,
11101
15
            { "SUBSCRIBE Optional Parameter 5", "c15.subs_spare_5",
11102
15
            FT_UINT32, BASE_HEX,
11103
15
            NULL,
11104
15
            0x0, NULL, HFILL}
11105
15
        },
11106
15
        { &hf_c15ch_c15_subs_spare_6,
11107
15
            { "SUBSCRIBE Optional Parameter 6", "c15.subs_spare_6",
11108
15
            FT_UINT32, BASE_HEX,
11109
15
            NULL,
11110
15
            0x0, NULL, HFILL}
11111
15
        },
11112
15
        { &hf_c15ch_c15_sys_alarm,
11113
15
            { "C15 SYSTEM ALARM", "c15.sys_alarm",
11114
15
            FT_PROTOCOL, BASE_NONE,
11115
15
            NULL,
11116
15
            0x0, NULL, HFILL}
11117
15
        },
11118
15
        { &hf_c15ch_c15_omm_tag_code,
11119
15
            { "C15 ALARM Code", "c15.omm_tag_code",
11120
15
            FT_STRINGZ, BASE_NONE,
11121
15
            NULL,
11122
15
            0x0, NULL, HFILL}
11123
15
        },
11124
15
        { &hf_c15ch_c15_alarm_class,
11125
15
            { "C15 ALARM Class", "c15.alarm_class",
11126
15
            FT_STRINGZ, BASE_NONE,
11127
15
            NULL,
11128
15
            0x0, NULL, HFILL}
11129
15
        },
11130
15
        { &hf_c15ch_c15_alarm_status,
11131
15
            { "C15 ALARM Status", "c15.alarm_status",
11132
15
            FT_STRINGZ, BASE_NONE,
11133
15
            NULL,
11134
15
            0x0, NULL, HFILL}
11135
15
        },
11136
15
        { &hf_c15ch_c15_site_name,
11137
15
            { "C15 Site Name", "c15.site_name",
11138
15
            FT_STRINGZ, BASE_NONE,
11139
15
            NULL,
11140
15
            0x0, NULL, HFILL}
11141
15
        },
11142
15
        { &hf_c15ch_c15_system,
11143
15
            { "C15 System", "c15.system",
11144
15
            FT_STRINGZ, BASE_NONE,
11145
15
            NULL,
11146
15
            0x0, NULL, HFILL}
11147
15
        },
11148
15
        { &hf_c15ch_c15_tty_msg,
11149
15
            { "C15 TTY MESSAGE", "c15.tty_msg",
11150
15
            FT_PROTOCOL, BASE_NONE,
11151
15
            NULL,
11152
15
            0x0, NULL, HFILL}
11153
15
        },
11154
15
        { &hf_c15ch_c15_tty_int_parm_1,
11155
15
            { "TTY Optional Parameter 1", "c15.int_parm_1",
11156
15
            FT_UINT32, BASE_DEC,
11157
15
            NULL,
11158
15
            0x0, NULL, HFILL}
11159
15
        },
11160
15
        { &hf_c15ch_c15_tty_int_parm_2,
11161
15
            { "TTY Optional Parameter 2", "c15.int_parm_2",
11162
15
            FT_UINT32, BASE_DEC,
11163
15
            NULL,
11164
15
            0x0, NULL, HFILL}
11165
15
        },
11166
15
        { &hf_c15ch_c15_tty_int_parm_3,
11167
15
            { "TTY Optional Parameter 3", "c15.int_parm_3",
11168
15
            FT_UINT32, BASE_HEX,
11169
15
            NULL,
11170
15
            0x0, NULL, HFILL}
11171
15
        },
11172
15
        { &hf_c15ch_c15_tty_int_parm_4,
11173
15
            { "TTY Optional Parameter 4", "c15.int_parm_4",
11174
15
            FT_UINT32, BASE_HEX,
11175
15
            NULL,
11176
15
            0x0, NULL, HFILL}
11177
15
        },
11178
15
        { &hf_c15ch_c15_omm_msg_tag,
11179
15
            { "C15 TTY OMM Message Tag", "c15.omm_msg_tag",
11180
15
            FT_STRINGZ, BASE_NONE,
11181
15
            NULL,
11182
15
            0x0, NULL, HFILL}
11183
15
        },
11184
15
        { &hf_c15ch_c15_text_location,
11185
15
            { "C15 TTY Location", "c15.text_location",
11186
15
            FT_STRINGZ, BASE_NONE,
11187
15
            NULL,
11188
15
            0x0, NULL, HFILL}
11189
15
        },
11190
15
        { &hf_c15ch_c15_tty_text_parm_1,
11191
15
            { "C15 TTY Text Parameter 1", "c15.tty_text_parm_1",
11192
15
            FT_STRINGZ, BASE_NONE,
11193
15
            NULL,
11194
15
            0x0, NULL, HFILL}
11195
15
        },
11196
15
        { &hf_c15ch_c15_tty_text_parm_2,
11197
15
            { "C15 TTY Text Parameter 2", "c15.tty_text_parm_2",
11198
15
            FT_STRINGZ, BASE_NONE,
11199
15
            NULL,
11200
15
            0x0, NULL, HFILL}
11201
15
        },
11202
15
        { &hf_c15ch_c15_tty_text_parm_3,
11203
15
            { "C15 TTY Text Parameter 3", "c15.tty_text_parm_3",
11204
15
            FT_STRINGZ, BASE_NONE,
11205
15
            NULL,
11206
15
            0x0, NULL, HFILL}
11207
15
        }
11208
15
    };
11209
15
    static int *ett_second_level[] = {
11210
15
        &ett_c15ch_second_level,
11211
15
        &ett_c15ch_second_level_sub1,
11212
15
        &ett_c15ch_second_level_sub2,
11213
15
        &ett_c15ch_second_level_sub3,
11214
15
        &ett_c15ch_second_level_sub4
11215
15
    };
11216
 /* third level */
11217
 /* tone */
11218
11219
15
     static hf_register_info hf_third_level_tone[] = {
11220
15
        { &hf_c15ch_tone_cot_control_device_id,
11221
15
            { "Device ID", "c15.tone.cot_control.device_id",
11222
15
            FT_UINT8, BASE_DEC,
11223
15
            NULL,
11224
15
            0x0, NULL, HFILL}
11225
15
        },
11226
15
        { &hf_c15ch_tone_cot_control_cot_task,
11227
15
            { "COT Task", "c15.tone.cot_control.cot_task",
11228
15
            FT_UINT8, BASE_DEC,
11229
15
            NULL,
11230
15
            0x0, NULL, HFILL}
11231
15
        },
11232
15
        { &hf_c15ch_tone_cot_control_dest_h248,
11233
15
            { "Destination H248", "c15.tone.cot_control.dest_h248",
11234
15
            FT_UINT8, BASE_DEC,
11235
15
            NULL,
11236
15
            0x0, NULL, HFILL}
11237
15
        },
11238
15
        { &hf_c15ch_tone_cot_control_srce_h248,
11239
15
            { "Source H248", "c15.tone.cot_control.srce_h248",
11240
15
            FT_UINT8, BASE_DEC,
11241
15
            NULL,
11242
15
            0x0, NULL, HFILL}
11243
15
        },
11244
15
        { &hf_c15ch_tone_cot_control_svc_channel,
11245
15
            { "Svc Channel", "c15.tone.cot_control.svc_channel",
11246
15
            FT_UINT8, BASE_DEC,
11247
15
            NULL,
11248
15
            0x0, NULL, HFILL}
11249
15
        },
11250
15
        { &hf_c15ch_tone_give_tone_tone_id,
11251
15
            { "Tone ID", "c15.tone.give_tone.tone_id",
11252
15
            FT_UINT8, BASE_DEC,
11253
15
            NULL,
11254
15
            0x0, NULL, HFILL}
11255
15
        },
11256
15
        { &hf_c15ch_tone_give_tone_tone_type,
11257
15
            { "Tone Type", "c15.tone.give_tone.tone_type",
11258
15
            FT_UINT8, BASE_DEC|BASE_EXT_STRING,
11259
15
            &tone_types_ext,
11260
15
            0x0, NULL, HFILL}
11261
15
        },
11262
11263
15
        { &hf_c15ch_tone_madn_ring_device_id,
11264
15
            { "Device ID", "c15.tone.madn_ring.device_id",
11265
15
            FT_UINT8, BASE_DEC,
11266
15
            NULL,
11267
15
            0x0, NULL, HFILL}
11268
15
        },
11269
15
        { &hf_c15ch_tone_madn_ring_tone_type,
11270
15
            { "Tone Type", "c15.tone.madn_ring.tone_type",
11271
15
            FT_UINT8, BASE_DEC|BASE_EXT_STRING,
11272
15
            &tone_types_ext,
11273
15
            0x0, NULL, HFILL}
11274
15
        },
11275
15
        { &hf_c15ch_tone_opls_svce_from_ni,
11276
15
            { "Svce From NI", "c15.tone.opls.svce_from_ni",
11277
15
            FT_UINT32, BASE_HEX,
11278
15
            NULL,
11279
15
            0x0, NULL, HFILL}
11280
15
        },
11281
15
        { &hf_c15ch_tone_opls_svce_to_ni,
11282
15
            { "Svce To NI", "c15.tone.opls.svce_to_ni",
11283
15
            FT_UINT32, BASE_HEX,
11284
15
            NULL,
11285
15
            0x0, NULL, HFILL}
11286
15
        },
11287
15
        { &hf_c15ch_tone_opls_svce_to_tn,
11288
15
            { "Svce To TN", "c15.tone.opls.svce_to_tn",
11289
15
            FT_UINT32, BASE_HEX,
11290
15
            NULL,
11291
15
            0x0, NULL, HFILL}
11292
15
        },
11293
15
        { &hf_c15ch_tone_opls_svce_to_ni_tn,
11294
15
            { "Svce To NI/TN", "c15.tone.opls.svce_to_ni_tn",
11295
15
            FT_UINT64, BASE_HEX,
11296
15
            NULL,
11297
15
            0x0, NULL, HFILL}
11298
15
        },
11299
15
        { &hf_c15ch_tone_opls_digits,
11300
15
            { "Digits", "c15.tone.opls.digits",
11301
15
            FT_STRINGZ, BASE_NONE,
11302
15
            NULL,
11303
15
            0x0, NULL, HFILL}
11304
15
        },
11305
15
        { &hf_c15ch_tone_rcvr_rcvr_id,
11306
15
            { "Receiver ID", "c15.tone.rcvr.rcvr_id",
11307
15
            FT_UINT8, BASE_DEC,
11308
15
            NULL,
11309
15
            0x0, NULL, HFILL}
11310
15
        },
11311
15
        { &hf_c15ch_tone_rcvr_conn_to_ni,
11312
15
            { "Conn to NI", "c15.tone.rcvr.conn_to_ni",
11313
15
            FT_UINT32, BASE_HEX,
11314
15
            NULL,
11315
15
            0x0, NULL, HFILL}
11316
15
        },
11317
15
        { &hf_c15ch_tone_rcvr_conn_to_tn,
11318
15
            { "Conn to TN", "c15.tone.rcvr.conn_to_tn",
11319
15
            FT_UINT32, BASE_HEX,
11320
15
            NULL,
11321
15
            0x0, NULL, HFILL}
11322
15
        },
11323
15
        { &hf_c15ch_tone_rcvr_conn_to_ni_tn,
11324
15
            { "Conn to NI/TN", "c15.tone.rcvr.conn_to_ni_tn",
11325
15
            FT_UINT64, BASE_HEX,
11326
15
            NULL,
11327
15
            0x0, NULL, HFILL}
11328
15
        },
11329
15
        { &hf_c15ch_tone_timeout_device_id,
11330
15
            { "Device ID", "c15.tone.timeout.device_id",
11331
15
            FT_UINT8, BASE_DEC,
11332
15
            NULL,
11333
15
            0x0, NULL, HFILL}
11334
15
        },
11335
15
        { &hf_c15ch_tone_timeout_service_pm,
11336
15
            { "Service PM", "c15.tone.timeout.service_pm",
11337
15
            FT_UINT8, BASE_DEC,
11338
15
            NULL,
11339
15
            0x0, NULL, HFILL}
11340
15
        },
11341
15
        { &hf_c15ch_tone_timeout_service_ni,
11342
15
            { "Service NI", "c15.tone.timeout.service_ni",
11343
15
            FT_UINT32, BASE_DEC,
11344
15
            NULL,
11345
15
            0x0, NULL, HFILL}
11346
15
        },
11347
15
        { &hf_c15ch_tone_timeout_service_tn,
11348
15
            { "Service TN", "c15.tone.timeout.service_tn",
11349
15
            FT_UINT32, BASE_DEC,
11350
15
            NULL,
11351
15
            0x0, NULL, HFILL}
11352
15
        },
11353
15
        { &hf_c15ch_tone_timeout_service_ni_tn,
11354
15
            { "Service NI/TN", "c15.tone.timeout.service_ni_tn",
11355
15
            FT_UINT64, BASE_HEX,
11356
15
            NULL,
11357
15
            0x0, NULL, HFILL}
11358
15
        },
11359
15
        { &hf_c15ch_tone_timeout_gw_provided,
11360
15
            { "GW Provided", "c15.tone.timeout.gw_provided",
11361
15
            FT_UINT8, BASE_DEC,
11362
15
            NULL,
11363
15
            0x0, NULL, HFILL}
11364
15
        },
11365
15
        { &hf_c15ch_tone_timeout_gw_service_tone_type_or_from_ni,
11366
15
            { "GW Service Tone Type or From NI", "c15.tone.timeout.gw_service_tone_type_or_from_ni",
11367
15
            FT_UINT32, BASE_DEC,
11368
15
            NULL,
11369
15
            0x0, NULL, HFILL}
11370
15
        },
11371
15
        { &hf_c15ch_tone_tone_control_device_id,
11372
15
            { "Device ID", "c15.tone.tone_control.device_id",
11373
15
            FT_UINT8, BASE_DEC,
11374
15
            NULL,
11375
15
            0x0, NULL, HFILL}
11376
15
        },
11377
15
        { &hf_c15ch_tone_tone_control_tone_type,
11378
15
            { "Tone Type", "c15.tone.tone_control.tone_type",
11379
15
            FT_UINT8, BASE_DEC|BASE_EXT_STRING,
11380
15
            &tone_types_ext,
11381
15
            0x0, NULL, HFILL}
11382
15
        },
11383
11384
15
        { &hf_c15ch_tone_cpm_loop_type,
11385
15
            { "Loop Type", "c15.tone.cpm.loop_type",
11386
15
            FT_UINT8, BASE_DEC,
11387
15
            VALS( loop_types ),
11388
15
            0x0, NULL, HFILL}
11389
15
        },
11390
15
        { &hf_c15ch_tone_cpm_device_id,
11391
15
            { "Device ID", "c15.tone.cpm.device_id",
11392
15
            FT_UINT8, BASE_DEC|BASE_EXT_STRING,
11393
15
            &device_types_ext,
11394
15
            0x0, NULL, HFILL}
11395
15
        },
11396
15
        { &hf_c15ch_tone_cpm_tone_type,
11397
15
            { "Tone Type", "c15.tone.cpm.tone_type",
11398
15
            FT_UINT8, BASE_DEC|BASE_EXT_STRING,
11399
15
            &tone_types_ext,
11400
15
            0x0, NULL, HFILL}
11401
15
        },
11402
15
        { &hf_c15ch_tone_tone_control,
11403
15
            { "C15 Tone Control", "c15.tone.tone_control",
11404
15
            FT_PROTOCOL, BASE_NONE,
11405
15
            NULL,
11406
15
            0x0, NULL, HFILL}
11407
15
        },
11408
15
        { &hf_c15ch_tone_give_tone,
11409
15
            { "C15 Give Tone", "c15.tone.give_tone",
11410
15
            FT_PROTOCOL, BASE_NONE,
11411
15
            NULL,
11412
15
            0x0, NULL, HFILL}
11413
15
        },
11414
15
        { &hf_c15ch_tone_opls,
11415
15
            { "C15 Tone OPLS", "c15.tone.opls",
11416
15
            FT_PROTOCOL, BASE_NONE,
11417
15
            NULL,
11418
15
            0x0, NULL, HFILL}
11419
15
        },
11420
15
        { &hf_c15ch_tone_cot_control,
11421
15
            { "C15 Tone COT Control", "c15.tone.cot_control",
11422
15
            FT_PROTOCOL, BASE_NONE,
11423
15
            NULL,
11424
15
            0x0, NULL, HFILL}
11425
15
        },
11426
15
        { &hf_c15ch_tone_cpm,
11427
15
            { "C15 Tone CPM", "c15.tone.cpm",
11428
15
            FT_PROTOCOL, BASE_NONE,
11429
15
            NULL,
11430
15
            0x0, NULL, HFILL}
11431
15
        },
11432
15
        { &hf_c15ch_tone_rcvr,
11433
15
            { "C15 Tone Receiver", "c15.tone.rcvr",
11434
15
            FT_PROTOCOL, BASE_NONE,
11435
15
            NULL,
11436
15
            0x0, NULL, HFILL}
11437
15
        },
11438
15
        { &hf_c15ch_tone_madn_ring,
11439
15
            { "C15 Tone MADN Ring", "c15.tone.madn_ring",
11440
15
            FT_PROTOCOL, BASE_NONE,
11441
15
            NULL,
11442
15
            0x0, NULL, HFILL}
11443
15
        },
11444
15
        { &hf_c15ch_tone_timeout,
11445
15
            { "C15 Tone Timeout", "c15.tone.timeout",
11446
15
            FT_PROTOCOL, BASE_NONE,
11447
15
            NULL,
11448
15
            0x0, NULL, HFILL}
11449
15
        }
11450
15
    };
11451
11452
11453
15
    static int *ett_third_level_tone[] = {
11454
15
        &ett_c15ch_third_level_tone,
11455
15
        &ett_c15ch_third_level_tone_sub1
11456
15
    };
11457
11458
15
       static hf_register_info hf_third_level_inc_gwe[] = {
11459
11460
15
        { &hf_c15ch_inc_gwe_reply_ip_gwe_msg_type,
11461
15
            { "IP GWE Msg Type", "c15.inc_gwe.reply.ip_gwe_msg_type",
11462
15
            FT_UINT32, BASE_DEC,
11463
15
            NULL,
11464
15
            0x0, NULL, HFILL}
11465
15
        },
11466
15
        { &hf_c15ch_inc_gwe_reply_ip_gwe_stat_code,
11467
15
            { "IP GWE Stat Code", "c15.inc_gwe.reply.ip_gwe_stat_code",
11468
15
            FT_UINT32, BASE_DEC,
11469
15
            NULL,
11470
15
            0x0, NULL, HFILL}
11471
15
        },
11472
15
        { &hf_c15ch_inc_gwe_reply_ip_gwe_conn_num,
11473
15
            { "IP GWE Connection Number", "c15.inc_gwe.reply.ip_gwe_conn_num",
11474
15
            FT_UINT32, BASE_DEC,
11475
15
            NULL,
11476
15
            0x0, NULL, HFILL}
11477
15
        },
11478
15
        { &hf_c15ch_inc_gwe_reply_nw_mdcn_lsdp_ip,
11479
15
            { "NW MDCN LSDP IP", "c15.inc_gwe.reply.nw_mdcn_lsdp_ip",
11480
15
            FT_IPv4, BASE_NONE,
11481
15
            NULL,
11482
15
            0x0, NULL, HFILL}
11483
15
        },
11484
15
        { &hf_c15ch_inc_gwe_reply_nw_mdcn_lsdp_port,
11485
15
            { "NW MDCN LSDP Port", "c15.inc_gwe.reply.nw_mdcn_lsdp_port",
11486
15
            FT_UINT32, BASE_DEC,
11487
15
            NULL,
11488
15
            0x0, NULL, HFILL}
11489
15
        },
11490
15
        { &hf_c15ch_inc_gwe_reply_nw_mdcn_rsdp_ip,
11491
15
            { "NW MDCN RSDP IP", "c15.inc_gwe.reply.nw_mdcn_rsdp_ip",
11492
15
            FT_IPv4, BASE_NONE,
11493
15
            NULL,
11494
15
            0x0, NULL, HFILL}
11495
15
        },
11496
15
        { &hf_c15ch_inc_gwe_reply_nw_mdcn_rsdp_port,
11497
15
            { "NW MDCN RSDP Port", "c15.inc_gwe.reply.nw_mdcn_rsdp_port",
11498
15
            FT_UINT32, BASE_DEC,
11499
15
            NULL,
11500
15
            0x0, NULL, HFILL}
11501
15
        },
11502
15
        { &hf_c15ch_inc_gwe_bc_pgi_pbc_conn_num,
11503
15
            { "PBC Connection Number", "c15.inc_gwe.bc_pgi.pbc_conn_num",
11504
15
            FT_UINT32, BASE_DEC,
11505
15
            NULL,
11506
15
            0x0, NULL, HFILL}
11507
15
        },
11508
15
        { &hf_c15ch_inc_gwe_bc_pgi_pbc_conn_type,
11509
15
            { "PBC Connection Type", "c15.inc_gwe.bc_pgi.pbc_conn_type",
11510
15
            FT_UINT8, BASE_DEC,
11511
15
            VALS( c15_inc_gwe_bc_pgi_pbc_conn_types ),
11512
15
            0x0, NULL, HFILL}
11513
15
        },
11514
15
        { &hf_c15ch_inc_gwe_bc_pgi_pbc_msg_type,
11515
15
            { "PBC Message Type", "c15.inc_gwe.bc_pgi.pbc_msg_type",
11516
15
            FT_UINT8, BASE_DEC,
11517
15
            NULL,
11518
15
            0x0, NULL, HFILL}
11519
15
        },
11520
15
        { &hf_c15ch_inc_gwe_bc_pgi_bc_mode,
11521
15
            { "BC Mode", "c15.inc_gwe.bc_pgi.bc_mode",
11522
15
            FT_UINT8, BASE_DEC,
11523
15
            NULL,
11524
15
            0x0, NULL, HFILL}
11525
15
        },
11526
15
        { &hf_c15ch_inc_gwe_bc_pgi_bc_pgi_sdp,
11527
15
            { "BC PGI SDP", "c15.inc_gwe.bc_pgi.bc_pgi_sdp",
11528
15
            FT_IPv4, BASE_NONE,
11529
15
            NULL,
11530
15
            0x0, NULL, HFILL}
11531
15
        },
11532
15
        { &hf_c15ch_inc_gwe_bc_pgi_bc_pgi_m_port,
11533
15
            { "BC PGI M Port", "c15.inc_gwe.bc_pgi.bc_pgi_m_port",
11534
15
            FT_UINT32, BASE_DEC,
11535
15
            NULL,
11536
15
            0x0, NULL, HFILL}
11537
15
        },
11538
15
        { &hf_c15ch_inc_gwe_bc_pgi_pbc_tst_flags,
11539
15
            { "PBC TST Flags", "c15.inc_gwe.bc_pgi.pbc_tst_flags",
11540
15
            FT_UINT32, BASE_HEX,
11541
15
            NULL,
11542
15
            0x0, NULL, HFILL}
11543
15
        },
11544
15
        { &hf_c15ch_inc_gwe_mgcp_dlcx_err_code,
11545
15
            { "Error Code", "c15.inc_gwe.mgcp_dlcx.err_code",
11546
15
            FT_UINT32, BASE_DEC,
11547
15
            NULL,
11548
15
            0x0, NULL, HFILL}
11549
15
        },
11550
15
        { &hf_c15ch_inc_gwe_h248_digit_ip_gwe_digit,
11551
15
            { "IP GWE Digit", "c15.inc_gwe.h248_digit.ip_gwe_digit",
11552
15
            FT_UINT8, BASE_DEC,
11553
15
            NULL,
11554
15
            0x0, NULL, HFILL}
11555
15
        },
11556
15
        { &hf_c15ch_inc_gwe_h248_digit_ip_gwe_digit_method,
11557
15
            { "IP GWE Digit Method", "c15.inc_gwe.h248_digit.ip_gwe_digit_method",
11558
15
            FT_UINT8, BASE_DEC,
11559
15
            NULL,
11560
15
            0x0, NULL, HFILL}
11561
15
        },
11562
15
        { &hf_c15ch_inc_gwe_voip_cot_ip_gwe_pass_code,
11563
15
            { "IP GWE Digit", "c15.inc_gwe.voip_cot.ip_gwe_pass_code",
11564
15
            FT_BOOLEAN, BASE_NONE,
11565
15
            TFS( &c15_inc_gwe_voip_cot_ip_gwe_pass_code_types),
11566
15
            0x0, NULL, HFILL}
11567
15
        },
11568
15
        { &hf_c15ch_inc_gwe_notify_ip_gwe_mwi_stat,
11569
15
            { "IP GWE Message Waiting Indicator Stat", "c15.inc_gwe.notify.ip_gwe_mwi_stat",
11570
15
            FT_UINT32, BASE_DEC,
11571
15
            NULL,
11572
15
            0x0, NULL, HFILL}
11573
15
        },
11574
15
        { &hf_c15ch_inc_gwe_notify_ip_gwe_digits,
11575
15
            { "IP GWE Digits", "c15.inc_gwe.notify.ip_gwe_digits",
11576
15
            FT_STRINGZ, BASE_NONE,
11577
15
            NULL,
11578
15
            0x0, NULL, HFILL}
11579
15
        },
11580
15
        { &hf_c15ch_inc_gwe_admn_updt_ip_gwe_med_ni,
11581
15
            { "IP GWE Med NI", "c15.inc_gwe.admn_updt.ip_gwe_med_ni",
11582
15
            FT_UINT32, BASE_HEX,
11583
15
            NULL,
11584
15
            0x0, NULL, HFILL}
11585
15
        },
11586
15
        { &hf_c15ch_inc_gwe_admn_updt_ip_gwe_med_tn,
11587
15
            { "IP GWE Med TN", "c15.inc_gwe.admn_updt.ip_gwe_med_tn",
11588
15
            FT_UINT32, BASE_HEX,
11589
15
            NULL,
11590
15
            0x0, NULL, HFILL}
11591
15
        },
11592
15
        { &hf_c15ch_inc_gwe_admn_updt_ip_gwe_med_ni_tn,
11593
15
            {"IP GWE Med NI/TN", "c15.inc_gwe.admn_updt.ip_gwe_med_ni_tn",
11594
15
            FT_UINT64, BASE_HEX,
11595
15
            NULL,
11596
15
            0x0, NULL, HFILL }
11597
15
        },
11598
15
        { &hf_c15ch_inc_gwe_admn_updt_ip_ns_iface,
11599
15
            { "IP NS Interface", "c15.inc_gwe.admn_updt.ip_ns_iface",
11600
15
            FT_UINT32, BASE_DEC,
11601
15
            NULL,
11602
15
            0x0, NULL, HFILL}
11603
15
        },
11604
15
        { &hf_c15ch_inc_gwe_admn_updt_ip_ns_terminal,
11605
15
            { "IP NS Terminal", "c15.inc_gwe.admn_updt.ip_ns_terminal",
11606
15
            FT_UINT32, BASE_DEC,
11607
15
            NULL,
11608
15
            0x0, NULL, HFILL}
11609
15
        },
11610
15
        { &hf_c15ch_inc_gwe_admn_updt_ip_gwe_new_rec_addr,
11611
15
            { "IP GWE New Rec Addr", "c15.inc_gwe.admn_updt.ip_gwe_new_rec_addr",
11612
15
            FT_UINT32, BASE_HEX,
11613
15
            NULL,
11614
15
            0x0, NULL, HFILL}
11615
15
        },
11616
15
        { &hf_c15ch_inc_gwe_cl_setup_ip_gwe_sua_hndl,
11617
15
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.cl_setup.ip_gwe_sua_hndl",
11618
15
            FT_UINT32, BASE_HEX,
11619
15
            NULL,
11620
15
            0x0, NULL, HFILL}
11621
15
        },
11622
15
        { &hf_c15ch_inc_gwe_cl_setup_ip_gwe_cled_digits,
11623
15
            { "IP GWE CLED Digits", "c15.inc_gwe.cl_setup.ip_gwe_cled_digits",
11624
15
            FT_STRINGZ, BASE_NONE,
11625
15
            NULL,
11626
15
            0x0, NULL, HFILL}
11627
15
        },
11628
15
        { &hf_c15ch_inc_gwe_cl_setup_ip_cl_setup_lsdp,
11629
15
            { "IP CL Setup LSDP", "c15.inc_gwe.cl_setup.ip_cl_setup_lsdp",
11630
15
            FT_IPv4, BASE_NONE,
11631
15
            NULL,
11632
15
            0x0, NULL, HFILL}
11633
15
        },
11634
15
        { &hf_c15ch_inc_gwe_cl_setup_ip_cl_setup_m_port,
11635
15
            { "IP CL Setup M Port", "c15.inc_gwe.cl_setup.ip_cl_setup_m_port",
11636
15
            FT_UINT32, BASE_DEC,
11637
15
            NULL,
11638
15
            0x0, NULL, HFILL}
11639
15
        },
11640
15
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_sua_hndl,
11641
15
            { "IP GWE SipUserAgent Handle", "c15.iinc_gwe.ptrk_setup.ip_gwe_sua_hndl",
11642
15
            FT_UINT32, BASE_HEX,
11643
15
            NULL,
11644
15
            0x0, NULL, HFILL}
11645
15
        },
11646
15
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_cled_digits,
11647
15
            { "IP GWE CLED Digits", "c15.iinc_gwe.ptrk_setup.ip_gwe_cled_digits",
11648
15
            FT_STRINGZ, BASE_NONE,
11649
15
            NULL,
11650
15
            0x0, NULL, HFILL}
11651
15
        },
11652
15
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_cl_setup_lsdp,
11653
15
            { "IP CL SETUP LSDP", "c15.iinc_gwe.ptrk_setup.ip_cl_setup_lsdp",
11654
15
            FT_IPv4, BASE_NONE,
11655
15
            NULL,
11656
15
            0x0, NULL, HFILL}
11657
15
        },
11658
15
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_cl_setup_m_port,
11659
15
            { "IP CL SETUP M Port", "c15.iinc_gwe.ptrk_setup.ip_cl_setup_m_port",
11660
15
            FT_UINT32, BASE_DEC,
11661
15
            NULL,
11662
15
            0x0, NULL, HFILL}
11663
15
        },
11664
15
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clid_pri,
11665
15
            { "IP GWE CLID PRI", "c15.iinc_gwe.ptrk_setup.ip_gwe_clid_pri",
11666
15
            FT_UINT8, BASE_DEC,
11667
15
            NULL,
11668
15
            0x0, NULL, HFILL}
11669
15
        },
11670
15
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clng_digits,
11671
15
            { "IP GWE CLNG Digits", "c15.iinc_gwe.ptrk_setup.ip_gwe_clng_digits",
11672
15
            FT_STRINGZ, BASE_NONE,
11673
15
            NULL,
11674
15
            0x0, NULL, HFILL}
11675
15
        },
11676
15
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clng_ton,
11677
15
            { "IP GWE CLNG TON", "c15.iinc_gwe.ptrk_setup.ip_gwe_clng_ton",
11678
15
            FT_UINT8, BASE_DEC,
11679
15
            NULL,
11680
15
            0x0, NULL, HFILL}
11681
15
        },
11682
15
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clng_np,
11683
15
            { "IP GWE CLNG NP", "c15.iinc_gwe.ptrk_setup.ip_gwe_clng_np",
11684
15
            FT_UINT8, BASE_DEC,
11685
15
            NULL,
11686
15
            0x0, NULL, HFILL}
11687
15
        },
11688
15
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_alert_info,
11689
15
            { "IP GWE Alert Info", "c15.iinc_gwe.ptrk_setup.ip_gwe_alert_info",
11690
15
            FT_UINT32, BASE_DEC,
11691
15
            NULL,
11692
15
            0x0, NULL, HFILL}
11693
15
        },
11694
15
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_redir_digits,
11695
15
            { "IP GWE REDIR Digits", "c15.iinc_gwe.ptrk_setup.ip_gwe_redir_digits",
11696
15
            FT_STRINGZ, BASE_NONE,
11697
15
            NULL,
11698
15
            0x0, NULL, HFILL}
11699
15
        },
11700
15
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_redir_ton,
11701
15
            { "IP GWE REDIR TON", "c15.iinc_gwe.ptrk_setup.ip_gwe_redir_ton",
11702
15
            FT_UINT8, BASE_DEC,
11703
15
            NULL,
11704
15
            0x0, NULL, HFILL}
11705
15
        },
11706
15
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_redir_np,
11707
15
            { "IP GWE REDIR NP", "c15.iinc_gwe.ptrk_setup.ip_gwe_redir_np",
11708
15
            FT_UINT8, BASE_DEC,
11709
15
            NULL,
11710
15
            0x0, NULL, HFILL}
11711
15
        },
11712
15
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_ocn_digits,
11713
15
            { "IP GWE OCN Digits", "c15.iinc_gwe.ptrk_setup.ip_gwe_ocn_digits",
11714
15
            FT_STRINGZ, BASE_NONE,
11715
15
            NULL,
11716
15
            0x0, NULL, HFILL}
11717
15
        },
11718
15
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_chrg_digits,
11719
15
            { "IP GWE CHRG Digits", "c15.iinc_gwe.ptrk_setup.ip_gwe_chrg_digits",
11720
15
            FT_STRINGZ, BASE_NONE,
11721
15
            NULL,
11722
15
            0x0, NULL, HFILL}
11723
15
        },
11724
15
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_chrg_noa,
11725
15
            { "IP GWE CHRG noa", "c15.iinc_gwe.ptrk_setup.ip_gwe_chrg_noa",
11726
15
            FT_UINT8, BASE_DEC,
11727
15
            NULL,
11728
15
            0x0, NULL, HFILL}
11729
15
        },
11730
15
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_chrg_npi,
11731
15
            { "IP GWE CHRG NPI", "c15.iinc_gwe.ptrk_setup.ip_gwe_chrg_npi",
11732
15
            FT_UINT8, BASE_DEC,
11733
15
            NULL,
11734
15
            0x0, NULL, HFILL}
11735
15
        },
11736
15
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_npdi,
11737
15
            { "IP GWE NPDI", "c15.iinc_gwe.ptrk_setup.ip_gwe_npdi",
11738
15
            FT_UINT8, BASE_DEC,
11739
15
            NULL,
11740
15
            0x0, NULL, HFILL}
11741
15
        },
11742
15
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_rn_digits,
11743
15
            { "IP GWE RN Digits", "c15.iinc_gwe.ptrk_setup.ip_gwe_rn_digits",
11744
15
            FT_STRINGZ, BASE_NONE,
11745
15
            NULL,
11746
15
            0x0, NULL, HFILL}
11747
15
        },
11748
15
        { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_cic_digits,
11749
15
            { "IP GWE CIC Digits", "c15.iinc_gwe.ptrk_setup.ip_gwe_cic_digits",
11750
15
            FT_STRINGZ, BASE_NONE,
11751
15
            NULL,
11752
15
            0x0, NULL, HFILL}
11753
15
        },
11754
15
        { &hf_c15ch_inc_gwe_ptrk_setup_encap_isup,
11755
15
            { "Encapsulated ISUP", "c15.iinc_gwe.ptrk_setup.encap_isup",
11756
15
            FT_UINT8, BASE_DEC,
11757
15
            NULL,
11758
15
            0x0, NULL, HFILL}
11759
15
        },
11760
15
        { &hf_c15ch_inc_gwe_cl_prog_ip_gwe_sua_hndl,
11761
15
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.cl_prog.ip_gwe_sua_hndl",
11762
15
            FT_UINT32, BASE_HEX,
11763
15
            NULL,
11764
15
            0x0, NULL, HFILL}
11765
15
        },
11766
15
        { &hf_c15ch_inc_gwe_cl_prog_ip_gwe_conn_num,
11767
15
            { "IP GWE Connection Number", "c15.inc_gwe.cl_prog.ip_gwe_conn_num",
11768
15
            FT_UINT8, BASE_DEC,
11769
15
            NULL,
11770
15
            0x0, NULL, HFILL}
11771
15
        },
11772
15
        { &hf_c15ch_inc_gwe_cl_prog_ip_cl_prog_lsdp,
11773
15
            { "IP CL Prog LSDP", "c15.inc_gwe.cl_prog.ip_cl_prog_lsdp",
11774
15
            FT_IPv4, BASE_NONE,
11775
15
            NULL,
11776
15
            0x0, NULL, HFILL}
11777
15
        },
11778
15
        { &hf_c15ch_inc_gwe_cl_prog_ip_cl_prog_m_port,
11779
15
            { "IP CL Prog M Port", "c15.inc_gwe.cl_prog.ip_cl_prog_m_port",
11780
15
            FT_UINT32, BASE_DEC,
11781
15
            NULL,
11782
15
            0x0, NULL, HFILL}
11783
15
        },
11784
15
        { &hf_c15ch_inc_gwe_cl_prog_ip_gwe_stat_code,
11785
15
            { "IP GWE Stat Code", "c15.inc_gwe.cl_prog.ip_gwe_stat_code",
11786
15
            FT_UINT8, BASE_DEC,
11787
15
            NULL,
11788
15
            0x0, NULL, HFILL}
11789
15
        },
11790
15
        { &hf_c15ch_inc_gwe_cl_prog_encap_isup,
11791
15
            { "Encapsulated ISUP", "c15.inc_gwe.cl_prog.encap_isup",
11792
15
            FT_UINT8, BASE_DEC,
11793
15
            NULL,
11794
15
            0x0, NULL, HFILL}
11795
15
        },
11796
15
        { &hf_c15ch_inc_gwe_reply,
11797
15
            { "C15 Incoming GWE Reply", "c15.inc_gwe.reply",
11798
15
            FT_PROTOCOL, BASE_NONE,
11799
15
            NULL,
11800
15
            0x0, NULL, HFILL}
11801
15
        },
11802
15
        { &hf_c15ch_inc_gwe_bc_pgi,
11803
15
            { "C15 Incoming GWE Bearer Control PGI", "c15.inc_gwe.bc_pgi",
11804
15
            FT_PROTOCOL, BASE_NONE,
11805
15
            NULL,
11806
15
            0x0, NULL, HFILL}
11807
15
        },
11808
15
        { &hf_c15ch_inc_gwe_mgcp_dlcx,
11809
15
            { "C15 Incoming GWE MGCP DLCX", "c15.inc_gwe.mgcp_dlcx",
11810
15
            FT_PROTOCOL, BASE_NONE,
11811
15
            NULL,
11812
15
            0x0, NULL, HFILL}
11813
15
        },
11814
15
        { &hf_c15ch_inc_gwe_h248_digit,
11815
15
            { "C15 Incoming GWE H248 Digit", "c15.inc_gwe.h248_digit",
11816
15
            FT_PROTOCOL, BASE_NONE,
11817
15
            NULL,
11818
15
            0x0, NULL, HFILL}
11819
15
        },
11820
15
        { &hf_c15ch_inc_gwe_voip_cot,
11821
15
            { "C15 Incoming GWE VOIP COT", "c15.inc_gwe.voip_cot",
11822
15
            FT_PROTOCOL, BASE_NONE,
11823
15
            NULL,
11824
15
            0x0, NULL, HFILL}
11825
15
        },
11826
15
        { &hf_c15ch_inc_gwe_notify,
11827
15
            { "C15 Incoming GWE Notify", "c15.inc_gwe.notify",
11828
15
            FT_PROTOCOL, BASE_NONE,
11829
15
            NULL,
11830
15
            0x0, NULL, HFILL}
11831
15
        },
11832
15
        { &hf_c15ch_inc_gwe_admn_updt,
11833
15
            { "C15 Incoming GWE Admn Update", "c15.inc_gwe.admn_updt",
11834
15
            FT_PROTOCOL, BASE_NONE,
11835
15
            NULL,
11836
15
            0x0, NULL, HFILL}
11837
15
        },
11838
15
        { &hf_c15ch_inc_gwe_cl_setup,
11839
15
            { "C15 Incoming GWE CL Setup", "c15.inc_gwe.cl_setup",
11840
15
            FT_PROTOCOL, BASE_NONE,
11841
15
            NULL,
11842
15
            0x0, NULL, HFILL}
11843
15
        },
11844
15
        { &hf_c15ch_inc_gwe_ptrk_setup,
11845
15
            { "C15 Incoming GWE Packet Trunk Setup", "c15.inc_gwe.ptrk_setup",
11846
15
            FT_PROTOCOL, BASE_NONE,
11847
15
            NULL,
11848
15
            0x0, NULL, HFILL}
11849
15
        },
11850
15
        { &hf_c15ch_inc_gwe_cl_prog,
11851
15
            { "C15 Incoming GWE CL Prog", "c15.inc_gwe.cl_prog",
11852
15
            FT_PROTOCOL, BASE_NONE,
11853
15
            NULL,
11854
15
            0x0, NULL, HFILL}
11855
15
        },
11856
15
        { &hf_c15ch_inc_gwe_cl_ans_ip_gwe_sua_hndl,
11857
15
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.cl_ans.ip_gwe_sua_hndl",
11858
15
            FT_UINT32, BASE_HEX,
11859
15
            NULL,
11860
15
            0x0, NULL, HFILL}
11861
15
        },
11862
15
        { &hf_c15ch_inc_gwe_cl_ans_ip_gwe_conn_num,
11863
15
            { "IP GWE Connection Number", "c15.inc_gwe.cl_ans.ip_gwe_conn_num",
11864
15
            FT_UINT8, BASE_DEC,
11865
15
            NULL,
11866
15
            0x0, NULL, HFILL}
11867
15
        },
11868
15
        { &hf_c15ch_inc_gwe_cl_ans_ip_cl_ans_lsdp,
11869
15
            { "IP CL Prog LSDP", "c15.inc_gwe.cl_ans.ip_cl_ans_lsdp",
11870
15
            FT_IPv4, BASE_NONE,
11871
15
            NULL,
11872
15
            0x0, NULL, HFILL}
11873
15
        },
11874
15
        { &hf_c15ch_inc_gwe_cl_ans_ip_cl_ans_m_port,
11875
15
            { "IP CL Prog M Port", "c15.inc_gwe.cl_ans.ip_cl_ans_m_port",
11876
15
            FT_UINT32, BASE_DEC,
11877
15
            NULL,
11878
15
            0x0, NULL, HFILL}
11879
15
        },
11880
15
        { &hf_c15ch_inc_gwe_cl_ans_encap_isup,
11881
15
            { "Encapsulated ISUP", "c15.inc_gwe.cl_ans.encap_isup",
11882
15
            FT_UINT8, BASE_DEC,
11883
15
            NULL,
11884
15
            0x0, NULL, HFILL},
11885
15
        },
11886
15
        { &hf_c15ch_inc_gwe_cl_ans,
11887
15
            { "C15 Incoming GWE CL Ans", "c15.inc_gwe.cl_ans",
11888
15
            FT_PROTOCOL, BASE_NONE,
11889
15
            NULL,
11890
15
            0x0, NULL, HFILL},
11891
15
        },
11892
15
        { &hf_c15ch_inc_gwe_cl_rel_ip_gwe_sua_hndl,
11893
15
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.cl_rel.ip_gwe_sua_hndl",
11894
15
            FT_UINT32, BASE_HEX,
11895
15
            NULL,
11896
15
            0x0, NULL, HFILL}
11897
15
        },
11898
15
        { &hf_c15ch_inc_gwe_cl_rel_ip_gwe_conn_num,
11899
15
            { "IP GWE Connection Number", "c15.inc_gwe.cl_rel.ip_gwe_conn_num",
11900
15
            FT_UINT8, BASE_DEC,
11901
15
            NULL,
11902
15
            0x0, NULL, HFILL}
11903
15
        },
11904
15
        { &hf_c15ch_inc_gwe_cl_rel_ip_gwe_stat_code,
11905
15
            { "IP GWE Stat Code", "c15.inc_gwe.cl_rel.ip_gwe_stat_code",
11906
15
            FT_UINT8, BASE_DEC,
11907
15
            NULL,
11908
15
            0x0, NULL, HFILL}
11909
15
        },
11910
15
        { &hf_c15ch_inc_gwe_cl_rel_encap_isup,
11911
15
            { "Encapsulated ISUP", "c15.inc_gwe.cl_rel.encap_isup",
11912
15
            FT_UINT8, BASE_DEC,
11913
15
            NULL,
11914
15
            0x0, NULL, HFILL},
11915
15
        },
11916
15
        { &hf_c15ch_inc_gwe_cl_rel,
11917
15
            { "C15 Incoming GWE CL Release", "c15.inc_gwe.cl_rel",
11918
15
            FT_PROTOCOL, BASE_NONE,
11919
15
            NULL,
11920
15
            0x0, NULL, HFILL},
11921
15
        },
11922
15
        { &hf_c15ch_inc_gwe_ntwk_mod_ip_gwe_sua_hndl,
11923
15
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.ntwk_mod.ip_gwe_sua_hndl",
11924
15
            FT_UINT32, BASE_HEX,
11925
15
            NULL,
11926
15
            0x0, NULL, HFILL}
11927
15
        },
11928
15
        { &hf_c15ch_inc_gwe_ntwk_mod_ip_gwe_conn_num,
11929
15
            { "IP GWE Connection Number", "c15.inc_gwe.ntwk_mod.ip_gwe_conn_num",
11930
15
            FT_UINT8, BASE_DEC,
11931
15
            NULL,
11932
15
            0x0, NULL, HFILL}
11933
15
        },
11934
15
        { &hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_lsdp,
11935
15
            { "IP Network Mod LSDP", "c15.inc_gwe.ntwk_mod.ip_ntwk_mod_lsdp",
11936
15
            FT_IPv4, BASE_NONE,
11937
15
            NULL,
11938
15
            0x0, NULL, HFILL}
11939
15
        },
11940
15
        { &hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_l_m_port,
11941
15
            { "IP Network Mod L M PORT", "c15.inc_gwe.ntwk_mod.ip_ntwk_mod_l_m_port",
11942
15
            FT_UINT32, BASE_DEC,
11943
15
            NULL,
11944
15
            0x0, NULL, HFILL}
11945
15
        },
11946
15
        { &hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_rsdp,
11947
15
            { "IP Network Mod RSDP", "c15.inc_gwe.ntwk_mod.ip_ntwk_mod_rsdp",
11948
15
            FT_IPv4, BASE_NONE,
11949
15
            NULL,
11950
15
            0x0, NULL, HFILL}
11951
15
        },
11952
15
        { &hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_r_m_port,
11953
15
            { "IP Network Mod R M PORT", "c15.inc_gwe.ntwk_mod.ip_ntwk_mod_r_m_port",
11954
15
            FT_UINT32, BASE_DEC,
11955
15
            NULL,
11956
15
            0x0, NULL, HFILL}
11957
15
        },
11958
15
        { &hf_c15ch_inc_gwe_ntwk_mod_ip_gwe_stat_code,
11959
15
            { "IP GWE Stat Code", "c15.inc_gwe.ntwk_mod.ip_gwe_stat_code",
11960
15
            FT_UINT8, BASE_DEC,
11961
15
            NULL,
11962
15
            0x0, NULL, HFILL}
11963
15
        },
11964
15
        { &hf_c15ch_inc_gwe_ntwk_mod,
11965
15
            { "C15 Incoming GWE Network Mod", "c15.inc_gwe.ntwk_mod",
11966
15
            FT_PROTOCOL, BASE_NONE,
11967
15
            NULL,
11968
15
            0x0, NULL, HFILL}
11969
15
        },
11970
15
        { &hf_c15ch_inc_gwe_rv_avail_ip_gwe_sua_hndl,
11971
15
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.rv_avail.ip_gwe_sua_hndl",
11972
15
            FT_UINT32, BASE_HEX,
11973
15
            NULL,
11974
15
            0x0, NULL, HFILL}
11975
15
        },
11976
15
        { &hf_c15ch_inc_gwe_rv_avail_ip_gwe_conn_num,
11977
15
            { "IP GWE Connection Number", "c15.inc_gwe.rv_avail.ip_gwe_conn_num",
11978
15
            FT_UINT32, BASE_DEC,
11979
15
            NULL,
11980
15
            0x0, NULL, HFILL}
11981
15
        },
11982
15
        { &hf_c15ch_inc_gwe_rv_avail_ip_gwe_info_len,
11983
15
            { "IP GWE Info Length", "c15.inc_gwe.rv_avail.ip_gwe_info_len",
11984
15
            FT_UINT32, BASE_DEC,
11985
15
            NULL,
11986
15
            0x0, NULL, HFILL}
11987
15
        },
11988
15
        { &hf_c15ch_inc_gwe_rv_avail,
11989
15
            { "C15 Incoming GWE RV Avail", "c15.inc_gwe.rv_avail",
11990
15
            FT_PROTOCOL, BASE_NONE,
11991
15
            NULL,
11992
15
            0x0, NULL, HFILL}
11993
15
        },
11994
15
        { &hf_c15ch_inc_gwe_cl_redir_ip_gwe_sua_hndl,
11995
15
            { "IP GWE SipUserAgent Handle", "c15.inc_gwe.cl_redir.ip_gwe_sua_hndl",
11996
15
            FT_UINT32, BASE_HEX,
11997
15
            NULL,
11998
15
            0x0, NULL, HFILL}
11999
15
        },
12000
15
        { &hf_c15ch_inc_gwe_cl_redir_ip_gwe_conn_num,
12001
15
            { "IP GWE Connection Number", "c15.inc_gwe.cl_redir.ip_gwe_conn_num",
12002
15
            FT_UINT32, BASE_HEX,
12003
15
            NULL,
12004
15
            0x0, NULL, HFILL}
12005
15
        },
12006
15
        { &hf_c15ch_inc_gwe_cl_redir_ip_gwe_redir_digits,
12007
15
            { "IP GWE Redir Digits", "c15.inc_gwe.cl_redir.ip_gwe_redir_digits",
12008
15
            FT_STRINGZ, BASE_NONE,
12009
15
            NULL,
12010
15
            0x0, NULL, HFILL}
12011
15
        },
12012
15
        { &hf_c15ch_inc_gwe_cl_redir,
12013
15
            { "C15 Incoming GWE CL Redir", "c15.inc_gwe.cl_redir",
12014
15
            FT_PROTOCOL, BASE_NONE,
12015
15
            NULL,
12016
15
            0x0, NULL, HFILL}
12017
15
        },
12018
15
        { &hf_c15ch_inc_gwe_cl_refer_ip_gwe_sua_hndl,
12019
15
            { "IP GWE SipUserAgent Handle", "c15.inc_gwe.cl_refer.ip_gwe_sua_hndl",
12020
15
            FT_UINT32, BASE_HEX,
12021
15
            NULL,
12022
15
            0x0, NULL, HFILL}
12023
15
        },
12024
15
        { &hf_c15ch_inc_gwe_cl_refer_ip_gwe_conn_num,
12025
15
            { "IP GWE Connection Number", "c15.inc_gwe.cl_refer.ip_gwe_conn_num",
12026
15
            FT_UINT32, BASE_DEC,
12027
15
            NULL,
12028
15
            0x0, NULL, HFILL}
12029
15
        },
12030
15
        { &hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_digits,
12031
15
            { "IP GWE TRGT Digits", "c15.inc_gwe.cl_refer.ip_gwe_trgt_digits",
12032
15
            FT_STRINGZ, BASE_NONE,
12033
15
            NULL,
12034
15
            0x0, NULL, HFILL}
12035
15
        },
12036
15
        { &hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_tn,
12037
15
            { "IP GWE TRGT TN", "c15.inc_gwe.cl_refer.ip_gwe_trgt_tn",
12038
15
            FT_UINT32, BASE_HEX,
12039
15
            NULL,
12040
15
            0x0, NULL, HFILL}
12041
15
        },
12042
15
        { &hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_ni,
12043
15
            { "IP GWE TRGT NI", "c15.inc_gwe.cl_refer.ip_gwe_trgt_ni",
12044
15
            FT_UINT32, BASE_HEX,
12045
15
            NULL,
12046
15
            0x0, NULL, HFILL}
12047
15
        },
12048
15
        { &hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_ni_tn,
12049
15
            {"IP GWE TRGT NI/TN", "c15.inc_gwe.cl_refer.ip_gwe_trgt_tn_ni",
12050
15
            FT_UINT64, BASE_HEX,
12051
15
            NULL,
12052
15
            0x0, NULL, HFILL }
12053
15
        },
12054
15
        { &hf_c15ch_inc_gwe_cl_refer,
12055
15
            {"C15 Incoming GWE CL Refer", "c15.inc_gwe.cl_refer",
12056
15
            FT_PROTOCOL, BASE_NONE,
12057
15
            NULL,
12058
15
            0x0, NULL, HFILL }
12059
15
        },
12060
15
        { &hf_c15ch_inc_gwe_chg_hndl_ip_gwe_sua_hndl,
12061
15
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.chg_hndl.ip_gwe_sua_hndl",
12062
15
            FT_UINT32, BASE_HEX,
12063
15
            NULL,
12064
15
            0x0, NULL, HFILL}
12065
15
        },
12066
15
        { &hf_c15ch_inc_gwe_chg_hndl_ip_gwe_new_hndl,
12067
15
            { "IP GWE Message New Sip User Agent Handle", "c15.inc_gwe.chg_hndl.ip_gwe_new_hndl",
12068
15
            FT_UINT32, BASE_HEX,
12069
15
            NULL,
12070
15
            0x0, NULL, HFILL}
12071
15
        },
12072
15
        { &hf_c15ch_inc_gwe_chg_hndl,
12073
15
            { "C15 Incoming GWE Change Handle", "c15.inc_gwe.chg_hndl",
12074
15
            FT_PROTOCOL, BASE_NONE,
12075
15
            NULL,
12076
15
            0x0, NULL, HFILL}
12077
15
        },
12078
15
        { &hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_sua_hndl,
12079
15
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.subs_chg_hndl.ip_gwe_sua_hndl",
12080
15
            FT_UINT32, BASE_HEX,
12081
15
            NULL,
12082
15
            0x0, NULL, HFILL}
12083
15
        },
12084
15
        { &hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_new_hndl,
12085
15
            { "IP GWE Message New Sip User Agent Handle", "c15.inc_gwe.subs_chg_hndl.ip_gwe_new_hndl",
12086
15
            FT_UINT32, BASE_HEX,
12087
15
            NULL,
12088
15
            0x0, NULL, HFILL}
12089
15
        },
12090
15
        { &hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_med_ni,
12091
15
            { "IP GWE Med NI", "c15.inc_gwe.subs_chg_hndl.ip_gwe_med_ni",
12092
15
            FT_UINT32, BASE_HEX,
12093
15
            NULL,
12094
15
            0x0, NULL, HFILL}
12095
15
        },
12096
15
        { &hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_med_tn,
12097
15
            { "IP GWE Med TN", "c15.inc_gwe.subs_chg_hndl.ip_gwe_med_TN",
12098
15
            FT_UINT32, BASE_HEX,
12099
15
            NULL,
12100
15
            0x0, NULL, HFILL}
12101
15
        },
12102
15
        { &hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_med_ni_tn,
12103
15
            {"IP GWE Med NI/TN", "c15.inc_gwe.subs_chg_hndl.ip_gwe_med_ni_tn",
12104
15
            FT_UINT64, BASE_HEX,
12105
15
            NULL,
12106
15
            0x0, NULL, HFILL }
12107
15
        },
12108
15
        { &hf_c15ch_inc_gwe_subs_chg_hndl,
12109
15
            {"C15 Incoming GWE Subscription Change Handle", "c15.inc_gwe.subs_chg_hndl",
12110
15
            FT_PROTOCOL, BASE_NONE,
12111
15
            NULL,
12112
15
            0x0, NULL, HFILL }
12113
15
        },
12114
15
        { &hf_c15ch_inc_gwe_info_ip_gwe_sua_hndl,
12115
15
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.info.ip_gwe_sua_hndl",
12116
15
            FT_UINT32, BASE_HEX,
12117
15
            NULL,
12118
15
            0x0, NULL, HFILL}
12119
15
        },
12120
15
        { &hf_c15ch_inc_gwe_info_ip_gwe_info_type,
12121
15
            { "IP GWE Info Type", "c15.inc_gwe.info.ip_gwe_info_type",
12122
15
            FT_UINT8, BASE_DEC,
12123
15
            NULL,
12124
15
            0x0, NULL, HFILL}
12125
15
        },
12126
15
        { &hf_c15ch_inc_gwe_info_ip_gwe_info_digit,
12127
15
            { "IP GWE Info Digit", "c15.inc_gwe.info.ip_gwe_info_digit",
12128
15
            FT_UINT32, BASE_DEC,
12129
15
            NULL,
12130
15
            0x0, NULL, HFILL}
12131
15
        },
12132
15
        { &hf_c15ch_inc_gwe_info_encap_isup_msg_type,
12133
15
            { "IP GWE Encapsulated ISUP Message Type", "c15.inc_gwe.info.encap_isup_msg_type",
12134
15
            FT_UINT8, BASE_DEC,
12135
15
            VALS( c15ch_inc_gwe_info_encap_isup_msg_types ),
12136
15
            0x0, NULL, HFILL}
12137
15
        },
12138
15
        { &hf_c15ch_inc_gwe_info,
12139
15
            { "C15 Incoming GWE Info", "c15.inc_gwe.info",
12140
15
            FT_PROTOCOL, BASE_NONE,
12141
15
            NULL,
12142
15
            0x0, NULL, HFILL}
12143
15
        },
12144
15
        { &hf_c15ch_inc_gwe_inv_repl_ip_gwe_sua_hndl,
12145
15
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.inv_repl.ip_gwe_sua_hndl",
12146
15
            FT_UINT32, BASE_HEX,
12147
15
            NULL,
12148
15
            0x0, NULL, HFILL}
12149
15
        },
12150
15
        { &hf_c15ch_inc_gwe_inv_repl_ip_gwe_conn_num,
12151
15
            { "IP GWE Connection Number", "c15.inc_gwe.inv_repl.ip_gwe_conn_num",
12152
15
            FT_UINT32, BASE_DEC,
12153
15
            NULL,
12154
15
            0x0, NULL, HFILL}
12155
15
        },
12156
15
        { &hf_c15ch_inc_gwe_inv_repl_ip_inv_repl_rsdp_ip,
12157
15
            { "IP Inv Repl RSDP IP", "c15.inc_gwe.inv_repl.ip_gwe_inv_repl_rsdp_ip",
12158
15
            FT_IPv4, BASE_NONE,
12159
15
            NULL,
12160
15
            0x0, NULL, HFILL}
12161
15
        },
12162
15
        { &hf_c15ch_inc_gwe_inv_repl_ip_inv_repl_rsdp_port,
12163
15
            { "IP Inv Repl RSDP Port", "c15.inc_gwe.inv_repl.ip_gwe_inv_repl_rsdp_port",
12164
15
            FT_UINT32, BASE_DEC,
12165
15
            NULL,
12166
15
            0x0, NULL, HFILL}
12167
15
        },
12168
15
        { &hf_c15ch_inc_gwe_inv_repl,
12169
15
            { "C15 Incoming GWE Inv Repl", "c15.inc_gwe.inv_repl",
12170
15
            FT_PROTOCOL, BASE_NONE,
12171
15
            NULL,
12172
15
            0x0, NULL, HFILL}
12173
15
        },
12174
15
        { &hf_c15ch_inc_gwe_admn_dn_ip_gwe_sua_hndl,
12175
15
            { "IP GWE SipUserAgent Handle", "c15.inc_gwe.admn_dn.ip_gwe_sua_hndl",
12176
15
            FT_UINT32, BASE_HEX,
12177
15
            NULL,
12178
15
            0x0, NULL, HFILL}
12179
15
        },
12180
15
        { &hf_c15ch_inc_gwe_admn_dn_ip_gwe_digits,
12181
15
            { "IP GWE Digits", "c15.inc_gwe.admn_dn.ip_gwe_digits",
12182
15
            FT_STRINGZ, BASE_NONE,
12183
15
            NULL,
12184
15
            0x0, NULL, HFILL}
12185
15
        },
12186
15
        { &hf_c15ch_inc_gwe_admn_dn,
12187
15
            { "C15 Incoming GWE Admn DN", "c15.inc_gwe.admn_dn",
12188
15
            FT_PROTOCOL, BASE_NONE,
12189
15
            NULL,
12190
15
            0x0, NULL, HFILL}
12191
15
        },
12192
15
        { &hf_c15ch_inc_gwe_sua_reply_ip_gwe_sua_hndl,
12193
15
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.sua_reply.ip_gwe_sua_hndl",
12194
15
            FT_UINT32, BASE_HEX,
12195
15
            NULL,
12196
15
            0x0, NULL, HFILL}
12197
15
        },
12198
15
        { &hf_c15ch_inc_gwe_sua_reply_ip_gwe_msg_type,
12199
15
            { "IP GWE Message Type", "c15.inc_gwe.sua_reply.ip_gwe_msg_type",
12200
15
            FT_UINT32, BASE_DEC,
12201
15
            NULL,
12202
15
            0x0, NULL, HFILL}
12203
15
        },
12204
15
        { &hf_c15ch_inc_gwe_sua_reply_ip_gwe_stat_code,
12205
15
            { "IP GWE Stat Code", "c15.inc_gwe.sua_reply.ip_gwe_stat_code",
12206
15
            FT_UINT32, BASE_DEC,
12207
15
            NULL,
12208
15
            0x0, NULL, HFILL}
12209
15
        },
12210
15
        { &hf_c15ch_inc_gwe_sua_reply_ip_gwe_conn_num,
12211
15
            { "IP GWE Connection Number", "c15.inc_gwe.sua_reply.ip_gwe_conn_num",
12212
15
            FT_UINT32, BASE_DEC,
12213
15
            NULL,
12214
15
            0x0, NULL, HFILL}
12215
15
        },
12216
15
        { &hf_c15ch_inc_gwe_sua_reply_nw_mdcn_lsdp_ip,
12217
15
            { "NW MDCN LSDP IP", "c15.inc_gwe.sua_reply.nw_mdcn_lsdp_ip",
12218
15
            FT_IPv4, BASE_NONE,
12219
15
            NULL,
12220
15
            0x0, NULL, HFILL}
12221
15
        },
12222
15
        { &hf_c15ch_inc_gwe_sua_reply_nw_mdcn_lsdp_port,
12223
15
            { "NW MDCN LSDP Port", "c15.inc_gwe.sua_reply.nw_mdcn_lsdp_port",
12224
15
            FT_UINT32, BASE_DEC,
12225
15
            NULL,
12226
15
            0x0, NULL, HFILL}
12227
15
        },
12228
15
        { &hf_c15ch_inc_gwe_sua_reply_nw_mdcn_rsdp_ip,
12229
15
            { "NW MDCN RSDP IP", "c15.inc_gwe.sua_reply.nw_mdcn_rsdp_ip",
12230
15
            FT_IPv4, BASE_NONE,
12231
15
            NULL,
12232
15
            0x0, NULL, HFILL}
12233
15
        },
12234
15
        { &hf_c15ch_inc_gwe_sua_reply_nw_mdcn_rsdp_port,
12235
15
            { "NW MDCN RSDP Port", "c15.inc_gwe.sua_reply.nw_mdcn_rsdp_port",
12236
15
            FT_UINT32, BASE_DEC,
12237
15
            NULL,
12238
15
            0x0, NULL, HFILL}
12239
15
        },
12240
15
        { &hf_c15ch_inc_gwe_sua_reply,
12241
15
            { "C15 Incoming GWE Sip User Agent Reply", "c15.inc_gwe.sua_reply",
12242
15
            FT_PROTOCOL, BASE_NONE,
12243
15
            NULL,
12244
15
            0x0, NULL, HFILL}
12245
15
        },
12246
15
        { &hf_c15ch_inc_gwe_sua_hndl_ip_gwe_sua_hndl,
12247
15
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.sua_hndl.ip_gwe_sua_hndl",
12248
15
            FT_UINT32, BASE_HEX,
12249
15
            NULL,
12250
15
            0x0, NULL, HFILL}
12251
15
        },
12252
15
        { &hf_c15ch_inc_gwe_sua_hndl,
12253
15
            { "C15 Incoming GWE Sip User Agent Handle", "c15.inc_gwe.sua_hndl",
12254
15
            FT_PROTOCOL, BASE_NONE,
12255
15
            NULL,
12256
15
            0x0, NULL, HFILL}
12257
15
        },
12258
15
        { &hf_c15ch_inc_gwe_tgh_stat_ip_gwe_sua_hndl,
12259
15
            { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.sua_tgh_stat.ip_gwe_sua_hndl",
12260
15
            FT_UINT32, BASE_HEX,
12261
15
            NULL,
12262
15
            0x0, NULL, HFILL}
12263
15
        },
12264
15
        { &hf_c15ch_inc_gwe_tgh_stat_ip_gwe_tgh_state,
12265
15
            { "IP GWE TGH State", "c15.inc_gwe.sua_tgh_stat.ip_gwe_tgh_state",
12266
15
            FT_UINT8, BASE_HEX,
12267
15
            VALS( tgh_state_types ),
12268
15
            0x0, NULL, HFILL}
12269
15
        },
12270
15
        { &hf_c15ch_inc_gwe_tgh_stat,
12271
15
            { "C15 Incoming GWE Sipu User Agent TGH State", "c15.inc_gwe.sua_tgh_stat",
12272
15
            FT_PROTOCOL, BASE_NONE,
12273
15
            NULL,
12274
15
            0x0, NULL, HFILL}
12275
15
        }
12276
15
    };
12277
12278
15
    static int *ett_third_level_inc_gwe[] = {
12279
15
        &ett_c15ch_third_level_inc_gwe,
12280
15
        &ett_c15ch_third_level_inc_gwe_sub1
12281
15
    };
12282
12283
15
    static hf_register_info hf_third_level_out_gwe[] = {
12284
       /* TODO */
12285
15
        { &hf_c15ch_out_gwe_digit_scan_voip_dgmp_override,
12286
15
            { "VOIP DGMP Override", "c15.out_gwe.digit_scan.voip_dgmp_override",
12287
15
            FT_UINT32, BASE_DEC,
12288
15
            NULL,
12289
15
            0x0, NULL, HFILL}
12290
15
        },
12291
15
        { &hf_c15ch_out_gwe_digit_scan_actv_dgmp,
12292
15
            { "Actv DGMP", "c15.out_gwe.digit_scan.actv_dgmp",
12293
15
            FT_STRINGZ, BASE_NONE,
12294
15
            NULL,
12295
15
            0x0, NULL, HFILL}
12296
15
        },
12297
15
        { &hf_c15ch_out_gwe_digit_scan_op_gwe_digit_scan_tone,
12298
15
            { "OP GWE Digit Scan Tone", "c15.out_gwe.digit_scan.op_gwe_digit_scan_tone",
12299
15
            FT_UINT8, BASE_DEC,
12300
15
            NULL,
12301
15
            0x0, NULL, HFILL}
12302
15
        },
12303
15
        { &hf_c15ch_out_gwe_digit_scan_op_gwe_tone_type,
12304
15
            { "OP GWE Digit Tone Type", "c15.out_gwe.digit_scan.op_gwe_digit_tone_type",
12305
15
            FT_UINT8, BASE_DEC,
12306
15
            NULL,
12307
15
            0x0, NULL, HFILL}
12308
15
        },
12309
15
        { &hf_c15ch_out_gwe_digit_scan_op_gwe_tone_to,
12310
15
            { "OP GWE Digit Tone To", "c15.out_gwe.digit_scan.op_gwe_digit_tone_to",
12311
15
            FT_UINT8, BASE_DEC,
12312
15
            NULL,
12313
15
            0x0, NULL, HFILL}
12314
15
        },
12315
15
        { &hf_c15ch_out_gwe_digit_scan_op_gwe_digit_flash,
12316
15
            { "OP GWE Digit Flash", "c15.out_gwe.digit_scan.op_gwe_digit_flash",
12317
15
            FT_UINT8, BASE_DEC,
12318
15
            NULL,
12319
15
            0x0, NULL, HFILL}
12320
15
        },
12321
15
        { &hf_c15ch_out_gwe_digit_scan,
12322
15
            { "C15 Outgoing GWE Digit Scan", "c15.out_gwe.digit_scan",
12323
15
            FT_PROTOCOL, BASE_NONE,
12324
15
            NULL,
12325
15
            0x0, NULL, HFILL}
12326
15
        },
12327
15
        { &hf_c15ch_out_gwe_conn_num_out_gwe_conn_num,
12328
15
            { "Outgoing GWE Connection Number", "c15.out_gwe.conn_num.out_gwe_conn_num",
12329
15
            FT_UINT32, BASE_DEC,
12330
15
            NULL,
12331
15
            0x0, NULL, HFILL}
12332
15
        },
12333
15
        { &hf_c15ch_out_gwe_conn_num,
12334
15
            { "C15 Outgoing GWE Connection Number", "c15.out_gwe.conn_num",
12335
15
            FT_PROTOCOL, BASE_NONE,
12336
15
            NULL,
12337
15
            0x0, NULL, HFILL}
12338
15
        },
12339
15
        { &hf_c15ch_out_gwe_mk_conn_conn_num,
12340
15
            { "Connection Number", "c15.out_gwe.mk_conn.conn_num",
12341
15
            FT_UINT32, BASE_DEC,
12342
15
            NULL,
12343
15
            0x0, NULL, HFILL}
12344
15
        },
12345
15
        { &hf_c15ch_out_gwe_mk_conn_op_mk_conn_rsdp_ip,
12346
15
            { "OP MK Conn RSDP IP", "c15.out_gwe.mk_conn.op_mk_conn_rsdp_ip",
12347
15
            FT_IPv4, BASE_NONE,
12348
15
            NULL,
12349
15
            0x0, NULL, HFILL}
12350
15
        },
12351
15
        { &hf_c15ch_out_gwe_mk_conn_op_mk_conn_rsdp_port,
12352
15
            { "OP MK Conn RSDP Port", "c15.out_gwe.mk_conn.op_mk_conn_rsdp_port",
12353
15
            FT_UINT32, BASE_DEC,
12354
15
            NULL,
12355
15
            0x0, NULL, HFILL}
12356
15
        },
12357
15
        { &hf_c15ch_out_gwe_mk_conn,
12358
15
            { "C15 Outgoing GWE Mk Connection", "c15.out_gwe.mk_conn",
12359
15
            FT_PROTOCOL, BASE_NONE,
12360
15
            NULL,
12361
15
            0x0, NULL, HFILL}
12362
15
        },
12363
15
        { &hf_c15ch_out_gwe_md_conn_conn_num,
12364
15
            { "Connection Number", "c15.out_gwe.md_conn.conn_num",
12365
15
            FT_UINT32, BASE_DEC,
12366
15
            NULL,
12367
15
            0x0, NULL, HFILL}
12368
15
        },
12369
15
        { &hf_c15ch_out_gwe_md_conn_status_code,
12370
15
            { "Status Code", "c15.out_gwe.md_conn.status_code",
12371
15
            FT_UINT8, BASE_DEC,
12372
15
            NULL,
12373
15
            0x0, NULL, HFILL}
12374
15
        },
12375
15
        { &hf_c15ch_out_gwe_md_conn_op_gwe_mode,
12376
15
            { "OP GWE Mode", "c15.out_gwe.md_conn.op_md_conn_op_gwe_mode",
12377
15
            FT_UINT8, BASE_DEC,
12378
15
            NULL,
12379
15
            0x0, NULL, HFILL}
12380
15
        },
12381
15
        { &hf_c15ch_out_gwe_md_conn,
12382
15
            { "C15 Outgoing GWE MD Connection", "c15.out_gwe.md_conn",
12383
15
            FT_PROTOCOL, BASE_NONE,
12384
15
            NULL,
12385
15
            0x0, NULL, HFILL}
12386
15
        },
12387
15
        { &hf_c15ch_out_gwe_call_ans_conn_num,
12388
15
            { "Connection Number", "c15.out_gwe.call_ans.conn_num",
12389
15
            FT_UINT32, BASE_DEC,
12390
15
            NULL,
12391
15
            0x0, NULL, HFILL}
12392
15
        },
12393
15
        { &hf_c15ch_out_gwe_call_ans_op_cl_ans_rsdp_ip,
12394
15
            { "OP Call Answer RSDP IP", "c15.out_gwe.call_ans.op_cl_ans_rsdp_ip",
12395
15
            FT_IPv4, BASE_NONE,
12396
15
            NULL,
12397
15
            0x0, NULL, HFILL}
12398
15
        },
12399
15
        { &hf_c15ch_out_gwe_call_ans_op_cl_ans_rsdp_port,
12400
15
            { "OP Call Answer RSDP Port", "c15.out_gwe.call_ans.op_cl_ans_rsdp_port",
12401
15
            FT_UINT32, BASE_DEC,
12402
15
            NULL,
12403
15
            0x0, NULL, HFILL}
12404
15
        },
12405
15
        { &hf_c15ch_out_gwe_call_ans_encap_isup,
12406
15
            { "Encapsulated ISUP", "c15.out_gwe.call_ans.encap_isup",
12407
15
            FT_UINT8, BASE_DEC,
12408
15
            NULL,
12409
15
            0x0, NULL, HFILL}
12410
15
        },
12411
15
        { &hf_c15ch_out_gwe_call_ans,
12412
15
            { "C15 Outgoing GWE Call Answer", "c15.out_gwe.call_ans",
12413
15
            FT_PROTOCOL, BASE_NONE,
12414
15
            NULL,
12415
15
            0x0, NULL, HFILL}
12416
15
        },
12417
15
        { &hf_c15ch_out_gwe_call_setup_conn_num,
12418
15
            { "Connection Number", "c15.out_gwe.call_setup.conn_num",
12419
15
            FT_UINT32, BASE_HEX,
12420
15
            NULL,
12421
15
            0x0, NULL, HFILL}
12422
15
        },
12423
15
        { &hf_c15ch_out_gwe_call_setup_op_cl_ans_rsdp_ip,
12424
15
            { "OP Cl Ans RSDP IP", "c15.out_gwe.call_setup.op_cl_ans_rsdp_ip",
12425
15
            FT_IPv4, BASE_NONE,
12426
15
            NULL,
12427
15
            0x0, NULL, HFILL}
12428
15
        },
12429
15
        { &hf_c15ch_out_gwe_call_setup_op_cl_ans_rsdp_port,
12430
15
            { "OP Cl Ans RSDP Port", "c15.out_gwe.call_setup.op_cl_ans_rsdp_port",
12431
15
            FT_UINT32, BASE_DEC,
12432
15
            NULL,
12433
15
            0x0, NULL, HFILL}
12434
15
        },
12435
15
        { &hf_c15ch_out_gwe_call_setup_op_gwe_redir_digits,
12436
15
            { "OP GWE Redir Digits", "c15.out_gwe.call_setup.op_gwe_redir_digits",
12437
15
            FT_STRINGZ, BASE_NONE,
12438
15
            NULL,
12439
15
            0x0, NULL, HFILL}
12440
15
        },
12441
15
        { &hf_c15ch_out_gwe_call_setup_op_gwe_rdir_ton,
12442
15
            { "OP GWE Redirect TON", "c15.out_gwe.call_setup.op_gwe_rdir_ton",
12443
15
            FT_UINT8, BASE_DEC,
12444
15
            NULL,
12445
15
            0x0, NULL, HFILL}
12446
15
        },
12447
15
        { &hf_c15ch_out_gwe_call_setup_op_gwe_rdir_np,
12448
15
            { "OP GWE Redirect NP", "c15.out_gwe.call_setup.op_gwe_rdir_np",
12449
15
            FT_UINT8, BASE_DEC,
12450
15
            NULL,
12451
15
            0x0, NULL, HFILL}
12452
15
        },
12453
15
        { &hf_c15ch_out_gwe_call_setup_op_gwe_ocn_digits,
12454
15
            { "OP GWE OCN Digits", "c15.out_gwe.call_setup.op_gwe_ocn_digits",
12455
15
            FT_STRINGZ, BASE_NONE,
12456
15
            NULL,
12457
15
            0x0, NULL, HFILL}
12458
15
        },
12459
15
        { &hf_c15ch_out_gwe_call_setup_op_gwe_chrg_digits,
12460
15
            { "OP GWE CHRG Digits", "c15.out_gwe.call_setup.op_gwe_chrg_digits",
12461
15
            FT_STRINGZ, BASE_NONE,
12462
15
            NULL,
12463
15
            0x0, NULL, HFILL}
12464
15
        },
12465
15
        { &hf_c15ch_out_gwe_call_setup_op_gwe_chrg_noa,
12466
15
            { "OP GWE CHRG NOA", "c15.out_gwe.call_setup.op_gwe_chrg_noa",
12467
15
            FT_UINT8, BASE_DEC,
12468
15
            NULL,
12469
15
            0x0, NULL, HFILL}
12470
15
        },
12471
15
        { &hf_c15ch_out_gwe_call_setup_op_gwe_chrg_npi,
12472
15
            { "OP GWE CHRG NPI", "c15.out_gwe.call_setup.op_gwe_chrg_npi",
12473
15
            FT_UINT8, BASE_DEC,
12474
15
            NULL,
12475
15
            0x0, NULL, HFILL}
12476
15
        },
12477
15
        { &hf_c15ch_out_gwe_call_setup_encap_isup,
12478
15
            { "Encapsulated ISUP", "c15.out_gwe.call_setup.encap_isup",
12479
15
            FT_UINT8, BASE_DEC,
12480
15
            NULL,
12481
15
            0x0, NULL, HFILL}
12482
15
        },
12483
15
        { &hf_c15ch_out_gwe_call_setup,
12484
15
            { "C15 Outgoing GWE Call Setup", "c15.out_gwe.call_setup",
12485
15
            FT_PROTOCOL, BASE_NONE,
12486
15
            NULL,
12487
15
            0x0, NULL, HFILL}
12488
15
        },
12489
15
        { &hf_c15ch_out_gwe_call_prog_conn_num,
12490
15
            { "Connection Number", "c15.out_gwe.call_prog.conn_num",
12491
15
            FT_UINT32, BASE_DEC,
12492
15
            NULL,
12493
15
            0x0, NULL, HFILL}
12494
15
        },
12495
15
        { &hf_c15ch_out_gwe_call_prog_op_gwe_stat_code,
12496
15
            { "OP GWE Stat Code", "c15.out_gwe.call_prog.op_gwe_stat_code",
12497
15
            FT_UINT32, BASE_DEC,
12498
15
            NULL,
12499
15
            0x0, NULL, HFILL}
12500
15
        },
12501
15
        { &hf_c15ch_out_gwe_call_prog_encap_isup,
12502
15
            { "Encapsulated ISUP", "c15.out_gwe.call_prog.encap_isup",
12503
15
            FT_UINT8, BASE_DEC,
12504
15
            NULL,
12505
15
            0x0, NULL, HFILL}
12506
15
        },
12507
15
        { &hf_c15ch_out_gwe_call_prog,
12508
15
            { "C15 Outgoing GWE Call Prog", "c15.out_gwe.call_prog",
12509
15
            FT_PROTOCOL, BASE_NONE,
12510
15
            NULL,
12511
15
            0x0, NULL, HFILL}
12512
15
        },
12513
15
        { &hf_c15ch_out_gwe_call_notify_op_gwe_mwi,
12514
15
            { "OP GWE MWI", "c15.out_gwe.call_notify.op_gwe_mwi",
12515
15
            FT_UINT32, BASE_DEC,
12516
15
            NULL,
12517
15
            0x0, NULL, HFILL}
12518
15
        },
12519
15
        { &hf_c15ch_out_gwe_call_notify_status_code,
12520
15
            { "Status Code", "c15.out_gwe.call_notify.status_code",
12521
15
            FT_UINT32, BASE_DEC,
12522
15
            NULL,
12523
15
            0x0, NULL, HFILL}
12524
15
        },
12525
15
        { &hf_c15ch_out_gwe_call_notify,
12526
15
            { "C15 Outgoing GWE Call Notify", "c15.out_gwe.call_notify",
12527
15
            FT_PROTOCOL, BASE_NONE,
12528
15
            NULL,
12529
15
            0x0, NULL, HFILL}
12530
15
        },
12531
15
        { &hf_c15ch_out_gwe_call_rel_status_code,
12532
15
            { "Status Code", "c15.out_gwe.call_rel.status_code",
12533
15
            FT_UINT32, BASE_DEC,
12534
15
            NULL,
12535
15
            0x0, NULL, HFILL}
12536
15
        },
12537
15
        { &hf_c15ch_out_gwe_call_rel_encap_isup,
12538
15
            { "Encapsulated ISUP", "c15.out_gwe.call_rel.encap_isup",
12539
15
            FT_UINT8, BASE_DEC,
12540
15
            NULL,
12541
15
            0x0, NULL, HFILL}
12542
15
        },
12543
15
        { &hf_c15ch_out_gwe_call_rel,
12544
15
            { "C15 Outgoing GWE Call Release", "c15.out_gwe.call_rel",
12545
15
            FT_PROTOCOL, BASE_NONE,
12546
15
            NULL,
12547
15
            0x0, NULL, HFILL}
12548
15
        },
12549
15
        { &hf_c15ch_out_gwe_update_ni_tn_ni,
12550
15
            { "NI", "c15.out_gwe.update_ni_tn.ni",
12551
15
            FT_UINT32, BASE_HEX,
12552
15
            NULL,
12553
15
            0x0, NULL, HFILL}
12554
15
        },
12555
15
        { &hf_c15ch_out_gwe_update_ni_tn_tn,
12556
15
            { "TN", "c15.out_gwe.update_ni_tn.tn",
12557
15
            FT_UINT32, BASE_HEX,
12558
15
            NULL,
12559
15
            0x0, NULL, HFILL}
12560
15
        },
12561
15
        { &hf_c15ch_out_gwe_update_ni_tn_ni_tn,
12562
15
            { "TN", "c15.out_gwe.update_ni_tn.ni_tn",
12563
15
            FT_UINT64, BASE_HEX,
12564
15
            NULL,
12565
15
            0x0, NULL, HFILL}
12566
15
        },
12567
15
        { &hf_c15ch_out_gwe_update_ni_tn,
12568
15
            { "C15 Outgoing GWE Update NI and TN", "c15.out_gwe.update_ni_tn",
12569
15
            FT_PROTOCOL, BASE_NONE,
12570
15
            NULL,
12571
15
            0x0, NULL, HFILL}
12572
15
        },
12573
15
        { &hf_c15ch_out_gwe_pcm_data_rb_ua_handle_near,
12574
15
            { "RB User Agent Handle (Near)", "c15.out_gwe.pcm_data.rb_ua_handle_near",
12575
15
            FT_UINT32, BASE_HEX,
12576
15
            NULL,
12577
15
            0x0, NULL, HFILL}
12578
15
        },
12579
15
        { &hf_c15ch_out_gwe_pcm_data_rb_ua_handle_far,
12580
15
            { "RB User Agent Handle (Far)", "c15.out_gwe.pcm_data.rb_ua_handle_far",
12581
15
            FT_UINT32, BASE_HEX,
12582
15
            NULL,
12583
15
            0x0, NULL, HFILL}
12584
15
        },
12585
15
        { &hf_c15ch_out_gwe_pcm_data,
12586
15
            { "C15 Outgoing GWE PCM Data", "c15.out_gwe.pcm_data",
12587
15
            FT_PROTOCOL, BASE_NONE,
12588
15
            NULL,
12589
15
            0x0, NULL, HFILL}
12590
15
        },
12591
15
        { &hf_c15ch_out_gwe_blf_data_rb_ua_handle,
12592
15
            { "RB User Agent Handle", "c15.out_gwe.blf_data.rb_ua_handle",
12593
15
            FT_UINT32, BASE_HEX,
12594
15
            NULL,
12595
15
            0x0, NULL, HFILL}
12596
15
        },
12597
15
        { &hf_c15ch_out_gwe_blf_data_rb_type,
12598
15
            { "RB Type", "c15.out_gwe.blf_data.rb_type",
12599
15
            FT_UINT8, BASE_DEC,
12600
15
            NULL,
12601
15
            0x0, NULL, HFILL}
12602
15
        },
12603
15
        { &hf_c15ch_out_gwe_blf_data_med_ni,
12604
15
            { "Med NI", "c15.out_gwe.blf_data.med_ni",
12605
15
            FT_UINT32, BASE_HEX,
12606
15
            NULL,
12607
15
            0x0, NULL, HFILL}
12608
15
        },
12609
15
        { &hf_c15ch_out_gwe_blf_data_med_tn,
12610
15
            { "Med TN", "c15.out_gwe.blf_data.med_tn",
12611
15
            FT_UINT32, BASE_HEX,
12612
15
            NULL,
12613
15
            0x0, NULL, HFILL}
12614
15
        },
12615
15
        { &hf_c15ch_out_gwe_blf_data_med_ni_tn,
12616
15
            {"Med NI/TN", "c15.out_gwe.blf_data.med_ni_tn",
12617
15
            FT_UINT64, BASE_HEX,
12618
15
            NULL,
12619
15
            0x0, NULL, HFILL }
12620
15
        },
12621
15
        { &hf_c15ch_out_gwe_blf_data_rb_ni,
12622
15
            { "RB NI", "c15.out_gwe.blf_data.rb_ni",
12623
15
            FT_UINT32, BASE_HEX,
12624
15
            NULL,
12625
15
            0x0, NULL, HFILL}
12626
15
        },
12627
15
        { &hf_c15ch_out_gwe_blf_data_rb_tn,
12628
15
            { "RB TN", "c15.out_gwe.blf_data.rb_tn",
12629
15
            FT_UINT32, BASE_HEX,
12630
15
            NULL,
12631
15
            0x0, NULL, HFILL}
12632
15
        },
12633
15
        { &hf_c15ch_out_gwe_blf_data_rb_ni_tn,
12634
15
            {"RB NI/TN", "c15.out_gwe.blf_data.rb_ni_tn",
12635
15
            FT_UINT64, BASE_HEX,
12636
15
            NULL,
12637
15
            0x0, NULL, HFILL }
12638
15
        },
12639
15
        { &hf_c15ch_out_gwe_blf_data,
12640
15
            {"C15 Outgoing GWE BLF Data", "c15.out_gwe.blf_data",
12641
15
            FT_PROTOCOL, BASE_NONE,
12642
15
            NULL,
12643
15
            0x0, NULL, HFILL }
12644
15
        },
12645
15
       { &hf_c15ch_out_gwe_out_cot_ni,
12646
15
            { "NI", "c15.out_gwe.out_cot.ni",
12647
15
            FT_UINT32, BASE_HEX,
12648
15
            NULL,
12649
15
            0x0, NULL, HFILL}
12650
15
        },
12651
15
        { &hf_c15ch_out_gwe_out_cot_tn,
12652
15
            { "TN", "c15.out_gwe.out_cot.tn",
12653
15
            FT_UINT32, BASE_HEX,
12654
15
            NULL,
12655
15
            0x0, NULL, HFILL}
12656
15
        },
12657
15
        { &hf_c15ch_out_gwe_out_cot_ni_tn,
12658
15
            {"NI/TN", "c15.out_gwe.out_cot.ni_tn",
12659
15
            FT_UINT64, BASE_HEX,
12660
15
            NULL,
12661
15
            0x0, NULL, HFILL }
12662
15
        },
12663
15
        { &hf_c15ch_out_gwe_out_cot,
12664
15
            {"C15 Outgoing GWE Out COT", "c15.out_gwe.out_cot",
12665
15
            FT_PROTOCOL, BASE_NONE,
12666
15
            NULL,
12667
15
            0x0, NULL, HFILL }
12668
15
        },
12669
15
        { &hf_c15ch_out_gwe_ring_line_op_gwe_display,
12670
15
            { "OP GWE Display", "c15.out_gwe.ring_line.op_gwe_display",
12671
15
            FT_UINT8, BASE_DEC,
12672
15
            NULL,
12673
15
            0x0, NULL, HFILL}
12674
15
        },
12675
15
        { &hf_c15ch_out_gwe_ring_line_op_gwe_display_chars,
12676
15
            { "OP GWE Display Chars", "c15.out_gwe.ring_line.op_gwe_display_chars",
12677
15
            FT_STRINGZ, BASE_NONE,
12678
15
            NULL,
12679
15
            0x0, NULL, HFILL}
12680
15
        },
12681
15
        { &hf_c15ch_out_gwe_ring_line,
12682
15
            { "C15 Outgoing GWE Ring Line", "c15.out_gwe.ring_line",
12683
15
            FT_PROTOCOL, BASE_NONE,
12684
15
            NULL,
12685
15
            0x0, NULL, HFILL}
12686
15
        },
12687
15
        { &hf_c15ch_out_gwe_audit_conn_ni,
12688
15
            { "NI", "c15.out_gwe.audit_conn.ni",
12689
15
            FT_UINT32, BASE_HEX,
12690
15
            NULL,
12691
15
            0x0, NULL, HFILL}
12692
15
        },
12693
15
        { &hf_c15ch_out_gwe_audit_conn_tn,
12694
15
            { "TN", "c15.out_gwe.audit_conn.tn",
12695
15
            FT_UINT32, BASE_HEX,
12696
15
            NULL,
12697
15
            0x0, NULL, HFILL}
12698
15
        },
12699
15
        { &hf_c15ch_out_gwe_audit_conn_ni_tn,
12700
15
            {"NI/TN", "c15.out_gwe.audit_conn.ni_tn",
12701
15
            FT_UINT64, BASE_HEX,
12702
15
            NULL,
12703
15
            0x0, NULL, HFILL }
12704
15
        },
12705
15
        { &hf_c15ch_out_gwe_audit_conn_context,
12706
15
            { "Context", "c15.out_gwe.audit_conn.context",
12707
15
            FT_UINT32, BASE_DEC,
12708
15
            NULL,
12709
15
            0x0, NULL, HFILL}
12710
15
        },
12711
15
        { &hf_c15ch_out_gwe_audit_conn,
12712
15
            { "C15 Outgoing GWE Audit Connection", "c15.out_gwe.audit_conn",
12713
15
            FT_PROTOCOL, BASE_NONE,
12714
15
            NULL,
12715
15
            0x0, NULL, HFILL}
12716
15
        },
12717
15
        { &hf_c15ch_out_gwe_sac_sub_valid_op_gwe_subs_valid,
12718
15
            { "OP GWE Subs Valid", "c15.out_gwe.sac_sub_valid.op_gwe_subs_valid",
12719
15
            FT_UINT8, BASE_DEC,
12720
15
            NULL,
12721
15
            0x0, NULL, HFILL}
12722
15
        },
12723
15
        { &hf_c15ch_out_gwe_sac_sub_valid_op_gwe_num_list_items,
12724
15
            { "OP GWE Num List Items", "c15.out_gwe.sac_sub_valid.op_gwe_num_list_items",
12725
15
            FT_UINT32, BASE_DEC,
12726
15
            NULL,
12727
15
            0x0, NULL, HFILL}
12728
15
        },
12729
15
        { &hf_c15ch_out_gwe_sac_sub_valid,
12730
15
            { "C15 Outgoing GWE SAC Subscription Valid", "c15.out_gwe.sac_sub_valid",
12731
15
            FT_PROTOCOL, BASE_NONE,
12732
15
            NULL,
12733
15
            0x0, NULL, HFILL}
12734
15
        },
12735
15
        { &hf_c15ch_out_gwe_sac_notify_op_gwe_blf_state,
12736
15
            { "OP GWE BLF State", "c15.out_gwe.sac_notify.op_gwe_blf_state",
12737
15
            FT_UINT8, BASE_DEC,
12738
15
            NULL,
12739
15
            0x0, NULL, HFILL}
12740
15
        },
12741
15
        { &hf_c15ch_out_gwe_sac_notify_op_gwe_subs_state,
12742
15
            { "OP GWE Subscription State", "c15.out_gwe.sac_notify.op_gwe_subs_state",
12743
15
            FT_UINT8, BASE_DEC,
12744
15
            NULL,
12745
15
            0x0, NULL, HFILL}
12746
15
        },
12747
15
        { &hf_c15ch_out_gwe_sac_notify,
12748
15
            { "C15 Outgoing GWE SAC Notify", "c15.out_gwe.sac_notify",
12749
15
            FT_PROTOCOL, BASE_NONE,
12750
15
            NULL,
12751
15
            0x0, NULL, HFILL}
12752
15
        },
12753
15
        { &hf_c15ch_out_gwe_sac_list_entry_op_gwe_med_uri,
12754
15
            { "OP GWE Med URI", "c15.out_gwe.sac_list_entry.op_gwe_med_uri",
12755
15
            FT_STRINGZ, BASE_NONE,
12756
15
            NULL,
12757
15
            0x0, NULL, HFILL}
12758
15
        },
12759
15
        { &hf_c15ch_out_gwe_sac_list_entry,
12760
15
            { "C15 Outgoing GWE SAC List Entry", "c15.out_gwe.sac_list_entry",
12761
15
            FT_PROTOCOL, BASE_NONE,
12762
15
            NULL,
12763
15
            0x0, NULL, HFILL}
12764
15
        },
12765
15
        { &hf_c15ch_out_gwe_rv_subs_data_rb_fe_ni,
12766
15
            { "RB Fe NI", "c15.out_gwe.rv_subs_data.rb_fe_ni",
12767
15
            FT_UINT32, BASE_HEX,
12768
15
            NULL,
12769
15
            0x0, NULL, HFILL}
12770
15
        },
12771
15
        { &hf_c15ch_out_gwe_rv_subs_data_rb_fe_tn,
12772
15
            { "RB Fe TN", "c15.out_gwe.rv_subs_data.rb_fe_tn",
12773
15
            FT_UINT32, BASE_HEX,
12774
15
            NULL,
12775
15
            0x0, NULL, HFILL}
12776
15
        },
12777
15
        { &hf_c15ch_out_gwe_rv_subs_data_rb_fe_ni_tn,
12778
15
            {"Rb Fe NI/TN", "c15.out_gwe.rv_subs_data.rb_fe_ni_tn",
12779
15
            FT_UINT64, BASE_HEX,
12780
15
            NULL,
12781
15
            0x0, NULL, HFILL }
12782
15
        },
12783
15
        { &hf_c15ch_out_gwe_rv_subs_data,
12784
15
            {"C15 Outgoing GWE Radvision Subscription Data", "c15.out_gwe.rv_subs_data",
12785
15
            FT_PROTOCOL, BASE_NONE,
12786
15
            NULL,
12787
15
            0x0, NULL, HFILL }
12788
15
        },
12789
15
        { &hf_c15ch_out_gwe_update_rec_addr_op_new_rec_addr,
12790
15
            { "OP New Rec Addr", "c15.out_gwe.update_rec_addr.op_new_rec_addr",
12791
15
            FT_UINT32, BASE_HEX,
12792
15
            NULL,
12793
15
            0x0, NULL, HFILL}
12794
15
        },
12795
15
        { &hf_c15ch_out_gwe_update_rec_addr,
12796
15
            { "C15 Outgoing GWE Update Rec Address", "c15.out_gwe.update_rec_addr",
12797
15
            FT_PROTOCOL, BASE_NONE,
12798
15
            NULL,
12799
15
            0x0, NULL, HFILL}
12800
15
        },
12801
15
        { &hf_c15ch_out_gwe_del_subs_ua_op_sip_ua_hndl,
12802
15
            { "OP SIP UA Handle", "c15.out_gwe.del_subs_ua.op_sip_ua_hndl",
12803
15
            FT_UINT32, BASE_HEX,
12804
15
            NULL,
12805
15
            0x0, NULL, HFILL}
12806
15
        },
12807
15
        { &hf_c15ch_out_gwe_del_subs_ua,
12808
15
            { "C15 Outgoing GWE Delete Subscription User Agent", "c15.out_gwe.del_subs_ua",
12809
15
            FT_PROTOCOL, BASE_NONE,
12810
15
            NULL,
12811
15
            0x0, NULL, HFILL}
12812
15
        },
12813
15
        { &hf_c15ch_out_gwe_line_sprvsn_op_gwe_ofhk_event,
12814
15
            { "OP GWE Off-Hook Event", "c15.out_gwe.line_sprvsn.op_gwe_ofhk_event",
12815
15
            FT_UINT8, BASE_DEC,
12816
15
            NULL,
12817
15
            0x0, NULL, HFILL}
12818
15
        },
12819
15
        { &hf_c15ch_out_gwe_line_sprvsn_op_gwe_onhk_event,
12820
15
            { "OP GWE On-Hook Event", "c15.out_gwe.line_sprvsn.op_gwe_onhk_event",
12821
15
            FT_UINT8, BASE_DEC,
12822
15
            NULL,
12823
15
            0x0, NULL, HFILL}
12824
15
        },
12825
15
        { &hf_c15ch_out_gwe_line_sprvsn_op_gwe_flhk_event,
12826
15
            { "OP GWE Flash-Hook Event", "c15.out_gwe.line_sprvsn.op_gwe_flhk_event",
12827
15
            FT_UINT8, BASE_DEC,
12828
15
            NULL,
12829
15
            0x0, NULL, HFILL}
12830
15
        },
12831
15
        { &hf_c15ch_out_gwe_line_sprvsn,
12832
15
            { "C15 Outgoing GWE Line SPRVSN", "c15.out_gwe.line_sprvsn",
12833
15
            FT_PROTOCOL, BASE_NONE,
12834
15
            NULL,
12835
15
            0x0, NULL, HFILL}
12836
15
        },
12837
15
       { &hf_c15ch_out_gwe_sip_info_op_gwe_sip_info_type,
12838
15
            { "OP GWE SIP Info Type", "c15.out_gwe.sip_info.op_gwe_sip_info_type",
12839
15
            FT_UINT8, BASE_DEC,
12840
15
            NULL,
12841
15
            0x0, NULL, HFILL}
12842
15
        },
12843
15
        { &hf_c15ch_out_gwe_sip_info_op_gwe_sip_info,
12844
15
            { "OP GWE SIP Info", "c15.out_gwe.sip_info.op_gwe_sip_info",
12845
15
            FT_UINT32, BASE_DEC,
12846
15
            NULL,
12847
15
            0x0, NULL, HFILL}
12848
15
        },
12849
15
        { &hf_c15ch_out_gwe_sip_info,
12850
15
            { "C15 Outgoing GWE SIP Info", "c15.out_gwe.sip_info",
12851
15
            FT_PROTOCOL, BASE_NONE,
12852
15
            NULL,
12853
15
            0x0, NULL, HFILL}
12854
15
        },
12855
15
        { &hf_c15ch_out_gwe_sip_refer_op_gwe_refer_ua_hndl,
12856
15
            { "OP GWE Refer User Agent Handle", "c15.out_gwe.sip_refer.op_gwe_refer_ua_hndl",
12857
15
            FT_UINT32, BASE_HEX,
12858
15
            NULL,
12859
15
            0x0, NULL, HFILL}
12860
15
        },
12861
15
        { &hf_c15ch_out_gwe_sip_refer,
12862
15
            { "C15 Outgoing GWE SIP Refer", "c15.out_gwe.sip_refer",
12863
15
            FT_PROTOCOL, BASE_NONE,
12864
15
            NULL,
12865
15
            0x0, NULL, HFILL}
12866
15
        }
12867
15
    };
12868
12869
15
    static int *ett_third_level_out_gwe[] = {
12870
15
        &ett_c15ch_third_level_out_gwe,
12871
15
        &ett_c15ch_third_level_out_gwe_sub1,
12872
15
        &ett_c15ch_third_level_out_gwe_sub2
12873
15
    };
12874
    /* protocols */
12875
12876
    /* first level: Call History Common Header */
12877
15
    proto_c15ch = proto_register_protocol("C15 Call History Common Header Protocol", "C15.ch", "c15.ch");
12878
15
    proto_register_field_array(proto_c15ch, hf, array_length(hf));
12879
15
    proto_register_subtree_array(ett, array_length(ett));
12880
12881
15
    c15ch_handle = register_dissector("c15.ch", dissect_c15ch, proto_c15ch);
12882
12883
    /* second level dissector */
12884
15
    proto_c15ch_second_level = proto_register_protocol("C15 Call History Protocol", "C15", "c15");
12885
15
    proto_register_field_array(proto_c15ch_second_level, hf_second_level, array_length(hf_second_level));
12886
15
    proto_register_subtree_array(ett_second_level, array_length(ett_second_level));
12887
15
    c15ch_dissector_table = register_dissector_table("c15", "C15", proto_c15ch, FT_UINT32, BASE_DEC);
12888
12889
    /* third level */
12890
    /* tone */
12891
15
    proto_c15ch_third_level_tone = proto_register_protocol("C15 Tone", "C15.TONE", "c15.tone");
12892
15
    proto_register_field_array(proto_c15ch_third_level_tone, hf_third_level_tone, array_length(hf_third_level_tone));
12893
15
    proto_register_subtree_array(ett_third_level_tone, array_length(ett_third_level_tone));
12894
15
    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
15
    proto_c15ch_third_level_inc_gwe = proto_register_protocol("C15 Incoming GWE", "C15.INC_GWE", "c15.inc_gwe");
12898
15
    proto_register_field_array(proto_c15ch_third_level_inc_gwe, hf_third_level_inc_gwe, array_length(hf_third_level_inc_gwe));
12899
15
    proto_register_subtree_array(ett_third_level_inc_gwe, array_length(ett_third_level_inc_gwe));
12900
15
    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
15
    proto_c15ch_third_level_out_gwe = proto_register_protocol("C15 Outgoing GWE", "C15.out_gwe", "c15.out_gwe");
12904
15
    proto_register_field_array(proto_c15ch_third_level_out_gwe, hf_third_level_out_gwe, array_length(hf_third_level_out_gwe));
12905
15
    proto_register_subtree_array(ett_third_level_out_gwe, array_length(ett_third_level_out_gwe));
12906
15
    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
15
}
12908
12909
12910
/* handoff */
12911
/* heartbeat dissector */
12912
void proto_reg_handoff_c15ch_hbeat(void)
12913
15
{
12914
15
    dissector_add_uint("ethertype", ETHERTYPE_C15_HBEAT, c15ch_hbeat_handle);
12915
15
}
12916
12917
/* c15 non-heartbeat dissectors : first-level, second-level, and third-level */
12918
void proto_reg_handoff_c15ch(void)
12919
15
{
12920
15
    dissector_handle_t c15ch_second_level_handle;
12921
15
    dissector_handle_t c15ch_third_level_handle;
12922
    /* first level */
12923
15
    dissector_add_uint("ethertype", ETHERTYPE_C15_CH, c15ch_handle);
12924
12925
    /* second_level */
12926
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_cp_state_ch, proto_c15ch_second_level);
12927
15
    dissector_add_uint("c15", C15_CP_STATE_CH, c15ch_second_level_handle);
12928
12929
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_cp_event, proto_c15ch_second_level);
12930
15
    dissector_add_uint("c15", C15_CP_EVENT, c15ch_second_level_handle);
12931
12932
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_isup, proto_c15ch_second_level);
12933
15
    dissector_add_uint("c15", C15_ISUP, c15ch_second_level_handle);
12934
12935
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_nitnxlate, proto_c15ch_second_level);
12936
15
    dissector_add_uint("c15", C15_NITN_XLATE, c15ch_second_level_handle);
12937
12938
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_route, proto_c15ch_second_level);
12939
15
    dissector_add_uint("c15", C15_ROUTE, c15ch_second_level_handle);
12940
12941
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_sccp, proto_c15ch_second_level);
12942
15
    dissector_add_uint("c15", C15_SCCP, c15ch_second_level_handle);
12943
12944
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_orig, proto_c15ch_second_level);
12945
15
    dissector_add_uint("c15", C15_CP_ORIG, c15ch_second_level_handle);
12946
12947
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_conn, proto_c15ch_second_level);
12948
15
    dissector_add_uint("c15", C15_CONN, c15ch_second_level_handle);
12949
12950
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_ntwk_conn, proto_c15ch_second_level);
12951
15
    dissector_add_uint("c15", C15_NTWK_CONN, c15ch_second_level_handle);
12952
12953
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_mkbrk, proto_c15ch_second_level);
12954
15
    dissector_add_uint("c15", C15_MK_BRK, c15ch_second_level_handle);
12955
12956
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_pathfind, proto_c15ch_second_level);
12957
15
    dissector_add_uint("c15", C15_PATH_FIND, c15ch_second_level_handle);
12958
12959
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_pathidle, proto_c15ch_second_level);
12960
15
    dissector_add_uint("c15", C15_PATH_IDLE, c15ch_second_level_handle);
12961
12962
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_dest_digits, proto_c15ch_second_level);
12963
15
    dissector_add_uint("c15", C15_DEST_DIGITS, c15ch_second_level_handle);
12964
12965
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_twc_rswch, proto_c15ch_second_level);
12966
15
    dissector_add_uint("c15", C15_TWC_RSWCH, c15ch_second_level_handle);
12967
12968
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_srcedest, proto_c15ch_second_level);
12969
15
    dissector_add_uint("c15", C15_SRCE_DEST, c15ch_second_level_handle);
12970
12971
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe, proto_c15ch_second_level);
12972
15
    dissector_add_uint("c15", C15_INC_GWE, c15ch_second_level_handle);
12973
12974
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_out_gwe, proto_c15ch_second_level);
12975
15
    dissector_add_uint("c15", C15_OUT_GWE, c15ch_second_level_handle);
12976
12977
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_outgwebc, proto_c15ch_second_level);
12978
15
    dissector_add_uint("c15", C15_OUT_GWE_BC, c15ch_second_level_handle);
12979
12980
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_q931, proto_c15ch_second_level);
12981
15
    dissector_add_uint("c15", C15_Q931, c15ch_second_level_handle);
12982
12983
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_ama, proto_c15ch_second_level);
12984
15
    dissector_add_uint("c15", C15_AMA, c15ch_second_level_handle);
12985
12986
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_qos, proto_c15ch_second_level);
12987
15
    dissector_add_uint("c15", C15_QOS, c15ch_second_level_handle);
12988
12989
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_echo_cancel, proto_c15ch_second_level);
12990
15
    dissector_add_uint("c15", C15_ECHO_CANCEL, c15ch_second_level_handle);
12991
12992
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_tone, proto_c15ch_second_level);
12993
15
    dissector_add_uint("c15", C15_TONE, c15ch_second_level_handle);
12994
12995
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_encap_isup, proto_c15ch_second_level);
12996
15
    dissector_add_uint("c15", C15_ENCAP_ISUP, c15ch_second_level_handle);
12997
12998
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_tcap, proto_c15ch_second_level);
12999
15
    dissector_add_uint("c15", C15_TCAP, c15ch_second_level_handle);
13000
13001
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_clli, proto_c15ch_second_level);
13002
15
    dissector_add_uint("c15", C15_CLLI, c15ch_second_level_handle);
13003
13004
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_info, proto_c15ch_second_level);
13005
15
    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
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_generic_msg_1, proto_c15ch_second_level);
13009
15
    dissector_add_uint("c15", C15_GENERIC_MSG_1, c15ch_second_level_handle);
13010
13011
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_generic_msg_2, proto_c15ch_second_level);
13012
15
    dissector_add_uint("c15", C15_GENERIC_MSG_2, c15ch_second_level_handle);
13013
13014
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_generic_msg_3, proto_c15ch_second_level);
13015
15
    dissector_add_uint("c15", C15_GENERIC_MSG_3, c15ch_second_level_handle);
13016
13017
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_generic_msg_4, proto_c15ch_second_level);
13018
15
    dissector_add_uint("c15", C15_GENERIC_MSG_4, c15ch_second_level_handle);
13019
13020
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_generic_msg_5, proto_c15ch_second_level);
13021
15
    dissector_add_uint("c15", C15_GENERIC_MSG_5, c15ch_second_level_handle);
13022
13023
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_correlate_msg, proto_c15ch_second_level);
13024
15
    dissector_add_uint("c15", C15_CORRELATE_MSG, c15ch_second_level_handle);
13025
13026
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_sip_reg_subs_report, proto_c15ch_second_level);
13027
15
    dissector_add_uint("c15", C15_SIP_REG_SUBS_REPORT, c15ch_second_level_handle);
13028
13029
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_sys_alarm, proto_c15ch_second_level);
13030
15
    dissector_add_uint("c15", C15_SYS_ALARM, c15ch_second_level_handle);
13031
13032
15
    c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_tty_msg, proto_c15ch_second_level);
13033
15
    dissector_add_uint("c15", C15_TTY_MSG, c15ch_second_level_handle);
13034
13035
    /* third level */
13036
    /* tone */
13037
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_cot_control, proto_c15ch_third_level_tone);
13038
15
    dissector_add_uint("c15.tone", C15_TONE_COT, c15ch_third_level_handle);
13039
13040
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_cpm, proto_c15ch_third_level_tone);
13041
15
    dissector_add_uint("c15.tone", C15_TONE_CPM, c15ch_third_level_handle);
13042
13043
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_give_tone, proto_c15ch_third_level_tone);
13044
15
    dissector_add_uint("c15.tone", C15_TONE_GIVE_TONE, c15ch_third_level_handle);
13045
13046
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_madn_ring, proto_c15ch_third_level_tone);
13047
15
    dissector_add_uint("c15.tone", C15_TONE_MADN_RING, c15ch_third_level_handle);
13048
13049
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_opls, proto_c15ch_third_level_tone);
13050
15
    dissector_add_uint("c15.tone", C15_TONE_OPLS, c15ch_third_level_handle);
13051
13052
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_rcvr, proto_c15ch_third_level_tone);
13053
15
    dissector_add_uint("c15.tone", C15_TONE_RCVR, c15ch_third_level_handle);
13054
13055
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_timeout, proto_c15ch_third_level_tone);
13056
15
    dissector_add_uint("c15.tone", C15_TONE_TIMEOUT, c15ch_third_level_handle);
13057
13058
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_tone_control, proto_c15ch_third_level_tone);
13059
15
    dissector_add_uint("c15.tone", C15_TONE_TONE_CONTROL, c15ch_third_level_handle);
13060
13061
    /* inc gwe */
13062
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_reply, proto_c15ch_third_level_inc_gwe);
13063
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_REPLY, c15ch_third_level_handle);
13064
13065
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_bc_pgi, proto_c15ch_third_level_inc_gwe);
13066
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_BC_PGI, c15ch_third_level_handle);
13067
13068
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_mgcp_dlcx, proto_c15ch_third_level_inc_gwe);
13069
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_MGCP_DLCX, c15ch_third_level_handle);
13070
13071
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_h248_digit, proto_c15ch_third_level_inc_gwe);
13072
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_H248_DIGIT, c15ch_third_level_handle);
13073
13074
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_voip_cot, proto_c15ch_third_level_inc_gwe);
13075
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_VOIP_COT, c15ch_third_level_handle);
13076
13077
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_notify, proto_c15ch_third_level_inc_gwe);
13078
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_NOTIFY, c15ch_third_level_handle);
13079
13080
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_admn_updt, proto_c15ch_third_level_inc_gwe);
13081
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_ADMN_UPDT_REC, c15ch_third_level_handle);
13082
13083
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_cl_setup, proto_c15ch_third_level_inc_gwe);
13084
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_CL_SETUP, c15ch_third_level_handle);
13085
13086
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_ptrk_setup, proto_c15ch_third_level_inc_gwe);
13087
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_PTRK_SETUP, c15ch_third_level_handle);
13088
13089
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_cl_prog, proto_c15ch_third_level_inc_gwe);
13090
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_CL_PROG, c15ch_third_level_handle);
13091
13092
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_cl_ans, proto_c15ch_third_level_inc_gwe);
13093
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_CL_ANS, c15ch_third_level_handle);
13094
13095
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_cl_rel, proto_c15ch_third_level_inc_gwe);
13096
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_CL_REL, c15ch_third_level_handle);
13097
13098
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_ntwk_mod, proto_c15ch_third_level_inc_gwe);
13099
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_NTWK_MOD, c15ch_third_level_handle);
13100
13101
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_rv_avail, proto_c15ch_third_level_inc_gwe);
13102
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_RV_AVAIL, c15ch_third_level_handle);
13103
13104
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_cl_redir, proto_c15ch_third_level_inc_gwe);
13105
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_CL_REDIR, c15ch_third_level_handle);
13106
13107
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_cl_refer, proto_c15ch_third_level_inc_gwe);
13108
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_CL_REFER, c15ch_third_level_handle);
13109
13110
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_chg_hndl, proto_c15ch_third_level_inc_gwe);
13111
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_CHG_HDL, c15ch_third_level_handle);
13112
13113
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_subs_chg_hndl, proto_c15ch_third_level_inc_gwe);
13114
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_SUBS_CHG_HDL, c15ch_third_level_handle);
13115
13116
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_info, proto_c15ch_third_level_inc_gwe);
13117
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_INFO, c15ch_third_level_handle);
13118
13119
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_inv_repl, proto_c15ch_third_level_inc_gwe);
13120
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_INV_REPL, c15ch_third_level_handle);
13121
13122
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_admn_dn, proto_c15ch_third_level_inc_gwe);
13123
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_ADMN_DN, c15ch_third_level_handle);
13124
13125
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_sua_reply, proto_c15ch_third_level_inc_gwe);
13126
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_SUA_REPLY, c15ch_third_level_handle);
13127
13128
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_sua_hndl, proto_c15ch_third_level_inc_gwe);
13129
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_SUA_HNDL, c15ch_third_level_handle);
13130
13131
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_tgh_stat, proto_c15ch_third_level_inc_gwe);
13132
15
    dissector_add_uint("c15.inc_gwe", C15_INC_GWE_SUA_TGH_STAT, c15ch_third_level_handle);
13133
13134
    /* out gwe */
13135
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_digit_scan, proto_c15ch_third_level_out_gwe);
13136
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_DIGIT_SCAN, c15ch_third_level_handle);
13137
13138
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_conn_num, proto_c15ch_third_level_out_gwe);
13139
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_CONN_NUM, c15ch_third_level_handle);
13140
13141
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_mk_conn, proto_c15ch_third_level_out_gwe);
13142
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_MK_CONN, c15ch_third_level_handle);
13143
13144
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_md_conn, proto_c15ch_third_level_out_gwe);
13145
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_MD_CONN, c15ch_third_level_handle);
13146
13147
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_call_ans, proto_c15ch_third_level_out_gwe);
13148
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_CALL_ANS, c15ch_third_level_handle);
13149
13150
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_call_setup, proto_c15ch_third_level_out_gwe);
13151
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_CALL_SETUP, c15ch_third_level_handle);
13152
13153
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_call_prog, proto_c15ch_third_level_out_gwe);
13154
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_CALL_PROG, c15ch_third_level_handle);
13155
13156
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_call_notify, proto_c15ch_third_level_out_gwe);
13157
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_CALL_NOTIFY, c15ch_third_level_handle);
13158
13159
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_call_rel, proto_c15ch_third_level_out_gwe);
13160
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_CALL_REL, c15ch_third_level_handle);
13161
13162
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_update_ni_tn, proto_c15ch_third_level_out_gwe);
13163
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_UPDT_NI_TN, c15ch_third_level_handle);
13164
13165
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_pcm_data, proto_c15ch_third_level_out_gwe);
13166
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_PCM_DATA, c15ch_third_level_handle);
13167
13168
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_blf_data, proto_c15ch_third_level_out_gwe);
13169
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_BLF_DATA, c15ch_third_level_handle);
13170
13171
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_out_cot, proto_c15ch_third_level_out_gwe);
13172
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_COT, c15ch_third_level_handle);
13173
13174
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_ring_line, proto_c15ch_third_level_out_gwe);
13175
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_RING_LINE, c15ch_third_level_handle);
13176
13177
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_audit_conn, proto_c15ch_third_level_out_gwe);
13178
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_AUDIT_CONN, c15ch_third_level_handle);
13179
13180
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_sac_sub_valid, proto_c15ch_third_level_out_gwe);
13181
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_SAC_SUB_VALID, c15ch_third_level_handle);
13182
13183
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_sac_notify, proto_c15ch_third_level_out_gwe);
13184
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_SAC_NOTIFY, c15ch_third_level_handle);
13185
13186
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_sac_list_entry, proto_c15ch_third_level_out_gwe);
13187
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_SAC_LIST_ENTRY, c15ch_third_level_handle);
13188
13189
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_rv_subs_data, proto_c15ch_third_level_out_gwe);
13190
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_RV_SUBS_DATA, c15ch_third_level_handle);
13191
13192
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_update_rec_addr, proto_c15ch_third_level_out_gwe);
13193
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_UPDT_REC_ADDR, c15ch_third_level_handle);
13194
13195
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_del_subs_ua, proto_c15ch_third_level_out_gwe);
13196
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_DEL_SUBS_UA, c15ch_third_level_handle);
13197
13198
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_line_sprvsn, proto_c15ch_third_level_out_gwe);
13199
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_LINE_SPRVSN, c15ch_third_level_handle);
13200
13201
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_sip_info, proto_c15ch_third_level_out_gwe);
13202
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_SIP_INFO, c15ch_third_level_handle);
13203
13204
15
    c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_sip_refer, proto_c15ch_third_level_out_gwe);
13205
15
    dissector_add_uint("c15.out_gwe", C15_OUT_GWE_SIP_REFER, c15ch_third_level_handle);
13206
13207
    /* find external dissectors */
13208
15
    general_isup_handle = find_dissector_add_dependency("isup", proto_c15ch);
13209
15
    general_sccp_handle = find_dissector_add_dependency("sccp", proto_c15ch);
13210
15
    general_q931_handle = find_dissector_add_dependency("q931", proto_c15ch);
13211
13212
15
}
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
 */