Revert "TODO epan/dissectors/asn1/kerberos/packet-kerberos-template.c new GSS flags"
[wireshark-sm.git] / epan / dissectors / packet-c15ch.c
blobb4abb1bee2bba754ce42a68d21444ef5cc9e2fce
1 /* packet-c15ch.c
2 * Routines for C15 Call History Protocol dissection
3 * Copyright 2015, Christopher Sheldahl for GENBAND <christopher.sheldahl@genband.com>
5 * Wireshark - Network traffic analyzer
6 * By Gerald Combs <gerald@wireshark.org>
7 * Copyright 1998 Gerald Combs
9 * SPDX-License-Identifier: GPL-2.0-or-later
12 #include "config.h"
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>
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);
25 /* main C15 subtypes : int variable containing one of these values is passed along to second level dissector */
26 #define C15_CP_STATE_CH 1
27 #define C15_CP_EVENT 2
28 #define C15_ISUP 3
29 #define C15_NITN_XLATE 4
30 #define C15_SCCP 5
31 #define C15_CP_ORIG 6
32 #define C15_CONN 7
33 #define C15_NTWK_CONN 8
34 #define C15_MK_BRK 9
35 #define C15_PATH_FIND 10
36 #define C15_PATH_IDLE 11
37 #define C15_DEST_DIGITS 12
38 #define C15_TWC_RSWCH 13
39 #define C15_SRCE_DEST 14
40 #define C15_ROUTE 15
41 #define C15_INC_GWE 16
42 #define C15_OUT_GWE 17
43 #define C15_OUT_GWE_BC 18
44 #define C15_Q931 19
45 #define C15_AMA 20
46 #define C15_QOS 21
47 #define C15_ECHO_CANCEL 22
48 #define C15_TONE 23
49 #define C15_ENCAP_ISUP 24
50 #define C15_TCAP 25
51 #define C15_CLLI 26
52 #define C15_INFO 27
53 #define C15_GENERIC_MSG_1 28
54 #define C15_GENERIC_MSG_2 29
55 #define C15_GENERIC_MSG_3 30
56 #define C15_GENERIC_MSG_4 31
57 #define C15_GENERIC_MSG_5 32
58 #define C15_CORRELATE_MSG 33
59 #define C15_SIP_REG_SUBS_REPORT 34
60 #define C15_SYS_ALARM 35
61 #define C15_TTY_MSG 36
63 #define HEADER_SZ 36 /* length of complete c15ch header in bytes */
65 static const char * C15_LABEL = "C15";
66 /* Heartbeat Protocol : distinct from normal c15 type */
67 static int proto_c15ch_hbeat;
69 /* Subtrees */
70 static int ett_c15ch_hbeat;
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;
78 /* C15 base Protocol */
79 static int proto_c15ch;
81 /* Dissector Table */
82 static dissector_table_t c15ch_dissector_table;
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;
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;
95 static int hf_c15ch_srce_ni_tn;
96 static int hf_c15ch_dest_ni_tn;
97 static int hf_c15ch_realtime;
99 /* Subtrees */
100 static int ett_c15ch;
101 static int ett_src_ni_tn;
102 static int ett_dest_ni_tn;
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 }
144 static value_string_ext c15_msg_types_ext = VALUE_STRING_EXT_INIT(c15_msg_types);
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;
154 static dissector_handle_t c15ch_hbeat_handle;
155 static dissector_handle_t c15ch_handle;
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 */
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;
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 }
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 }
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;
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 }
266 /* clli */
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;
278 /* conn */
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;
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 }
309 /* call proc state */
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;
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 }
406 static value_string_ext c15_cp_state_pm_types_ext = VALUE_STRING_EXT_INIT(c15_cp_state_pm_types);
407 /* dest digits */
409 /* Fields */
410 static int hf_c15ch_dest_digits;
411 static int hf_c15ch_dest_digits_digits;
414 /* echo cancel */
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;
436 /* value_string arrays to label fields */
437 enum C15_EC_L2_MODE
439 C15_EC_L2_MODE_VOICE,
440 C15_EC_L2_MODE_VBD,
441 C15_EC_L2_MODE_VBD_ECANOFF
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}
451 enum C15_EC_CHANNEL_MODE
453 C15_EC_VOICE_CHANNEL_MODE,
454 C15_EC_VBD_CHANNEL_MODE,
455 C15_EC_CHANNEL_MODE_INVALID
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}
465 enum C15_EC_ECAN_MODE
467 C15_EC_OFF_ECAN_MODE,
468 C15_EC_ON_ECAN_MODE,
469 C15_EC_ECAN_MODE_INVALID
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}
478 /* encapsulated isup */
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;
486 /* isup ( not encapsulated )*/
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;
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}
546 static value_string_ext c15_isup_types_ext = VALUE_STRING_EXT_INIT(c15_isup_types);
547 static const value_string c15_isup_direction_types[] = {
548 { 0, "Incoming" },
549 { 1, "Outgoing" },
550 { 0, NULL}
553 /* mkbrk */
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;
565 /* nitn xlate */
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;
601 static const value_string ett_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 }
621 /* labels for equip (location) */
622 /* non-contiguous integers */
623 static const value_string ett_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 }
646 static value_string_ext ett_c15ch_nitnxlate_equip_types_ext = VALUE_STRING_EXT_INIT(ett_c15ch_nitnxlate_equip_types);
647 /* ntwk conn */
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;
675 static const value_string ett_c15ch_ntwk_conn_path_types[] = {
676 { 0, "BRDCAST" },
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 }
690 static const value_string ett_c15ch_ntwk_conn_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 }
702 /* orig */
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;
711 static int hf_c15ch_orig_dndigits;
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;
719 static int hf_c15ch_orig_upndigits;
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;
727 static int hf_c15ch_orig_rnpdigits;
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;
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 {75, "TERM_IFACE"},
814 {76, "SVCE_IFACE"},
815 {77, "CONF_IFACE"},
816 {78, "DRA_IFACE"},
817 {79, "LCM_BLOCK"},
818 {80, "CARD_LCML_A"},
819 {81, "CARD_LCML_B"},
820 {82, "LSG_BLOCK"},
821 {83, "CARD_LCM_KEY"},
822 {84, "CARD_LCM_ESB"},
823 {85, "CARD_DRA_TRK"},
824 {86, "IOID_IOBLOCK"},
825 {87, "IOI_IOBLOCK"},
826 {88, "UTR_BLOCK"},
827 {89, "CARD_DLC_BRD"},
828 {90, "DLC_PORT_REG"},
829 {91, "DLC_BUF_REG"},
830 {92, "AMA_RECORD_BUF"},
831 {93, "SSO_BULK_BUF"},
832 {94, "DLC_PORT_DBLK"},
833 {95, "CARD_LCM_PWR"},
834 {96, "SLC_BLOCK"},
835 {97, "CARD_SLC_SPL"},
836 {98, "CARD_SLC_SIMP"},
837 {99, "CARD_SLC_COIN"},
838 {100, "CARD_SLC_KEY"},
839 {101, "CARD_SLC_PBX"},
840 {102, "SLC_SHLF_BLOCK"},
841 {103, "SCI_BLOCK"},
842 {104, "DS1_LINK_BLOCK"},
843 {105, "SRLK_IFACE_DBLK"},
844 {106, "CARD_RLCM_LCT"},
845 {107, "RMM_BLOCK"},
846 {108, "CARD_RMPK"},
847 {109, "BCU_BLOCK"},
848 {110, "CARD_RSLM_RMP"},
849 {111, "ESA_BLOCK"},
850 {112, "CARD_RMP_ITTK"},
851 {113, "SFTR_BUFFER"},
852 {114, "LFTR_BUFFER"},
853 {115, "LAN_LCI_BLOCK"},
854 {116, "LAN_LSHF_BLOCK"},
855 {117, "LAN_LSC_BLOCK"},
856 {118, "LEVEL3_BLOCK"},
857 {119, "LVL3_MTCE_REG"},
858 {120, "CCS_SNLS_BLOCK"},
859 {121, "CCS_SNL_BLOCK"},
860 {122, "CCS_SNRS_BLOCK"},
861 {123, "CCS_SNR_BLOCK"},
862 {124, "CCS_MTCE_REG"},
863 {125, "CARD_RMM_DTR"},
864 {126, "SMDI_PCB_REG"},
865 {127, "XLFTR_BUFFER"},
866 {128, "CARD_RCU_POTS"},
867 {129, "CARD_RCU_MF"},
868 {130, "CARD_RCU_COIN"},
869 {131, "CARD_RCU_FXB"},
870 {132, "CARD_RCU_MP"},
871 {133, "CARD_RCU_EPOT"},
872 {134, "CARD_RCU_KEY"},
873 {135, "CARD_RCU_EMF"},
874 {136, "CARD_RCU_FX_KEY"},
875 {137, "RCU_BLOCK"},
876 {138, "CARD_RCU_ESB"},
877 {139, "CARD_IBERT"},
878 {140, "CARD_DPX" },
879 {141, "CARD_LCML_C" },
880 {142, "MBS_REG_BLK"},
881 {143, "CARD_FXS"},
882 {144, "CARD_FXo"},
883 {145, "CARD_PBX_CELL"},
884 {146, "RSCS_BLOCK"},
885 {147, "RSC_D30L_BLOCK"},
886 {148, "RSC_DS1_REM_BLK"},
887 {149, "RSC_DS1_TRK_BLK"},
888 {150, "CARD_RSCS_DTRK" },
889 {151, "CARD_6X71_DATL"},
890 {152, "LOOP_DS30_LBK"},
891 {153, "LOOP_MLI_LBK"},
892 {154, "CARD_BX27"},
893 {155, "ISDN_REG_BLK"},
894 {156, "IDC_BLOCK"},
895 {157, "DS1_BLOCK"},
896 {158, "VDS30_LOOP"},
897 {159, "ISDN_PARDLD_BLK"},
898 {160, "ISDN_BD_CH_BLK"},
899 {161, "SMA_BLOCK"},
900 {162, "IDT_BLOCK"},
901 {163, "RDT_ISDN_CARD"},
902 {164, "RDT_P_PHONE"},
903 {165, "EDCH_BLOCK"},
904 {166, "ESMA_DS1L_BLOCK"},
905 {167, "TRANSACT_REG"},
906 {168, "CARD_IDTL_SPL"},
907 {169, "CARD_IDTL_SIMP"},
908 {170, "CARD_IDTL_COIN"},
909 {171, "CARD_IDTL_KEY"},
910 {172, "CARD_IDTL_PBX"},
911 {173, "TAFFI_DATA_BLK"},
912 {174, "ISG_BLOCK"},
913 {175, "ISG_DCH_BLOCK"},
914 {176, "ISG_BCH_BLOCK"},
915 {177, "TMC0_BLOCK"},
916 {178, "EOC0_BLOCK"},
917 {179, "TMC1_BLOCK"},
918 {180, "EOC1_BLOCK"},
919 {181, "HUB_BLOCK"},
920 {182, "CARD_HUB_UMP"},
921 {183, "CARD_UMP_ITTK"},
922 {184, "CARD_UMP_TEST"},
923 {185, "CARD_PRI_MTCE"},
924 {186, "CARD_PRI_CHAN"},
925 {187, "CARD_EX17_A"},
926 {188, "RLD_BLOCK"},
927 {189, "CARD_LMU_TEST"},
928 {190, "HUB_DS1L_BLOCK"},
929 {191, "PELP_BLOCK"},
930 {192, "SIMRING_BLOCK"},
931 {193, "CARD_VIRTUAL_LINE"},
932 {194, "CARD_H248_SPL"},
933 {195, "CARD_H248_COIN"},
934 {196, "CARD_H248_PBX"},
935 {197, "PGI_BLOCK"},
936 {198, "GW1_BLOCK"},
937 {199, "GW2_BLOCK"},
938 {200, "GW_BLOCK"},
939 {201, "CARD_SIP_SPL"},
940 {202, "CARD_PTRK"},
941 {203, "PTRK_IFACE_BLK"},
942 {204, "PC_BLOCK"},
943 {205, "CARD_H248_DTRK"},
944 {206, "DS1_LOOP_BLK"},
945 {207, "DS3_BLOCK"},
946 {208, "RDT_BLOCK"},
947 {209, "RDT_DS1L_BLOCK"},
948 {210, "CARD_MGCP_SPL"},
949 {211, "CARD_NCS_SPL"},
950 {212, "SUBS_REG"},
951 {213, "CARD_SIP_PBX"},
952 {214, "OC3_BLOCK"},
953 {215, "CCFN_LINK_BLK"},
954 {216, "EMCC_BLOCK"},
955 {217, "AGIF_BLOCK"},
956 { 0, NULL}
958 static value_string_ext c15ch_orig_block_types_ext = VALUE_STRING_EXT_INIT(c15ch_orig_block_types);
959 /* out gwe bc */
961 /* Fields */
962 static int hf_c15ch_outgwebc;
963 static int hf_c15ch_outgwebc_pbc_conn_ni;
964 static int hf_c15ch_outgwebc_pbc_conn_tn;
965 static int hf_c15ch_outgwebc_pbc_conn_ni_tn;
966 static int hf_c15ch_outgwebc_pbc_conn_num;
967 static int hf_c15ch_outgwebc_pbc_conn_type;
968 static int hf_c15ch_outgwebc_bc_msg_type;
969 static int hf_c15ch_outgwebc_op_bc_sdp_ip;
970 static int hf_c15ch_outgwebc_op_bc_sdp_port;
971 static int hf_c15ch_outgwebc_pbc_mdrp_mode;
972 static int hf_c15ch_outgwebc_pbc_tst_flags;
975 /* pathfind */
976 /* Fields */
977 static int hf_c15ch_pathfind;
978 static int hf_c15ch_pathfind_vds30;
980 static int hf_c15ch_pathfind_fromgweni;
981 static int hf_c15ch_pathfind_fromgwetn;
982 static int hf_c15ch_pathfind_fromgwenitn;
983 static int hf_c15ch_pathfind_fromoptimized;
984 static int hf_c15ch_pathfind_fromsite;
985 static int hf_c15ch_pathfind_frompm;
986 static int hf_c15ch_pathfind_frompc;
987 static int hf_c15ch_pathfind_fromloop;
988 static int hf_c15ch_pathfind_fromslot;
989 static int hf_c15ch_pathfind_fromcnx;
990 static int hf_c15ch_pathfind_fromni;
991 static int hf_c15ch_pathfind_fromtn;
992 static int hf_c15ch_pathfind_fromnitn;
993 static int hf_c15ch_pathfind_togweni;
994 static int hf_c15ch_pathfind_togwetn;
995 static int hf_c15ch_pathfind_togwenitn;
996 static int hf_c15ch_pathfind_tooptimized;
997 static int hf_c15ch_pathfind_tosite;
998 static int hf_c15ch_pathfind_topm;
999 static int hf_c15ch_pathfind_topc;
1000 static int hf_c15ch_pathfind_toloop;
1001 static int hf_c15ch_pathfind_toslot;
1002 static int hf_c15ch_pathfind_tocnx;
1003 static int hf_c15ch_pathfind_toni;
1004 static int hf_c15ch_pathfind_totn;
1005 static int hf_c15ch_pathfind_tonitn;
1007 /* value_string arrays to label fields */
1008 /* for vds30 field ...*/
1009 static const value_string c15ch_pathfind_vds30_types[] = {
1010 { 0, "NOT_VDS30" },
1011 { 1, "NEWSLOT_0" },
1012 { 2, "NEWSLOT_1_ADD_0" },
1013 { 3, "NEWSLOT_1_ADD_1" },
1014 { 4, "IDLE" },
1015 { 0, NULL }
1018 /* pathidle */
1020 /* Fields */
1021 static int hf_c15ch_pathidle;
1022 static int hf_c15ch_pathidle_vds30;
1023 static int hf_c15ch_pathidle_idlecode;
1024 static int hf_c15ch_pathidle_pathtype;
1026 static int hf_c15ch_pathidle_fromgweni;
1027 static int hf_c15ch_pathidle_fromgwenitn;
1028 static int hf_c15ch_pathidle_fromgwetn;
1029 static int hf_c15ch_pathidle_fromsite;
1030 static int hf_c15ch_pathidle_frompm;
1031 static int hf_c15ch_pathidle_frompc;
1032 static int hf_c15ch_pathidle_fromloop;
1033 static int hf_c15ch_pathidle_fromslot;
1034 static int hf_c15ch_pathidle_fromcnx;
1035 static int hf_c15ch_pathidle_fromni;
1036 static int hf_c15ch_pathidle_fromnitn;
1037 static int hf_c15ch_pathidle_fromtn;
1039 static int hf_c15ch_pathidle_togweni;
1040 static int hf_c15ch_pathidle_togwenitn;
1041 static int hf_c15ch_pathidle_togwetn;
1042 static int hf_c15ch_pathidle_tosite;
1043 static int hf_c15ch_pathidle_topm;
1044 static int hf_c15ch_pathidle_topc;
1045 static int hf_c15ch_pathidle_toloop;
1046 static int hf_c15ch_pathidle_toslot;
1047 static int hf_c15ch_pathidle_tocnx;
1048 static int hf_c15ch_pathidle_toni;
1049 static int hf_c15ch_pathidle_tonitn;
1050 static int hf_c15ch_pathidle_totn;
1053 /* for vds30 field */
1054 static const value_string c15ch_pathidle_vds30_types[] = {
1055 { 0, "NOT_VDS30" },
1056 { 1, "NEWSLOT_0" },
1057 { 2, "NEWSLOT_1_ADD_0" },
1058 { 3, "NEWSLOT_1_ADD_1" },
1059 { 4, "IDLE" },
1060 { 0, NULL }
1063 /* for pathtype field */
1064 static const value_string c15ch_pathidle_path_types[] = {
1065 { 0, "BRDCST" },
1066 { 1, "1WAY" },
1067 { 2, "2WAY" },
1068 { 3, "BC_SPFC" },
1069 { 4, "1WAY_SPFC" },
1070 { 5, "BC_CMBND" },
1071 { 6, "1WAY_CMBND" },
1072 { 7, "NWLB" },
1073 { 8, "1WAY_2_UTR" },
1074 { 9, "2WAY_LB" },
1075 {10, "2WAY_LSG" },
1076 { 0, NULL }
1079 /* for idlecode field */
1080 static const value_string c15ch_pathidle_idle_types[] = {
1081 { 0, "FULL" },
1082 { 1, "PRT_SRCE" },
1083 { 2, "PRT_DEST" },
1084 { 3, "PRT_SRDS" },
1085 { 0, NULL }
1088 /* q931 */
1090 /* Fields */
1091 static int hf_c15ch_q931;
1092 static int hf_c15ch_q931_direction;
1093 static int hf_c15ch_q931_ni;
1094 static int hf_c15ch_q931_tn;
1095 static int hf_c15ch_q931_ni_tn;
1096 static int hf_c15ch_q931_msglength;
1099 /* value_string arrays to label fields */
1100 /* for direction field */
1101 static const value_string c15ch_q931_direction_types[] = {
1102 { 0, "Incoming" },
1103 { 1, "Outgoing" },
1104 { 0, NULL }
1107 /* quality of service (qos) */
1109 /* Fields */
1110 static int hf_c15ch_qos;
1111 static int hf_c15ch_qos_ni;
1112 static int hf_c15ch_qos_tn;
1113 static int hf_c15ch_qos_ni_tn;
1114 static int hf_c15ch_qos_rtcp_call_id;
1115 static int hf_c15ch_qos_register_type;
1116 static int hf_c15ch_qos_tg_num;
1117 static int hf_c15ch_qos_trk_type;
1118 static int hf_c15ch_qos_status;
1119 static int hf_c15ch_qos_codec;
1120 static int hf_c15ch_qos_given_ip;
1121 static int hf_c15ch_qos_real_ip;
1122 static int hf_c15ch_qos_local_ip;
1123 static int hf_c15ch_qos_tx_pkts;
1124 static int hf_c15ch_qos_lost_pkts;
1125 static int hf_c15ch_qos_lost_pct;
1126 static int hf_c15ch_qos_jitter;
1127 static int hf_c15ch_qos_rtt;
1128 static int hf_c15ch_qos_avg_rtt;
1129 static int hf_c15ch_qos_duration;
1130 static int hf_c15ch_qos_mos;
1131 static int hf_c15ch_qos_ep_type;
1132 static int hf_c15ch_qos_dn_or_tg;
1133 static int hf_c15ch_qos_pm;
1134 static int hf_c15ch_qos_pc;
1135 static int hf_c15ch_qos_hour;
1136 static int hf_c15ch_qos_min;
1137 static int hf_c15ch_qos_sec;
1138 static int hf_c15ch_qos_tenth_sec;
1139 static int hf_c15ch_qos_year;
1140 static int hf_c15ch_qos_month;
1141 static int hf_c15ch_qos_day;
1142 static int hf_c15ch_qos_day_of_week;
1145 /* value_string arrays to label fields */
1146 static const value_string ett_c15ch_qos_status_types[] = {
1147 { 1, "NO : No RTCP received from End" },
1148 { 2, "LO : Listener Only" },
1149 { 4, "CV : Conversation" },
1150 { 8, "NAT : NAT Connection" },
1151 { 16, "RTU : RTCP terminated by RTU" },
1152 { 32, "EPERR : Endpoint providing erroneous data" },
1153 { 64, "INACT : Inactive" },
1154 { 0, NULL }
1157 /* route */
1159 /* Fields */
1160 static int hf_c15ch_route;
1161 static int hf_c15ch_route_number;
1162 static int hf_c15ch_route_type;
1163 static int hf_c15ch_route_subpm;
1164 static int hf_c15ch_route_trkpm;
1165 static int hf_c15ch_route_strtaindo;
1166 static int hf_c15ch_route_cr_rte_adv;
1167 static int hf_c15ch_route_cause;
1170 /* field labels */
1171 /* for strtaindo field */
1172 static const value_string c15_route_strt_ain_do_types[] = {
1173 { 0, "START" },
1174 { 1, "AIN" },
1175 { 2, "PROGRESS" },
1176 { 3, "RTADV" },
1177 { 0, NULL }
1180 static const value_string c15_route_types[] = {
1181 { 0, "TONE" },
1182 { 1, "AUDICHRON" },
1183 { 2, "INTERCEPT" },
1184 { 3, "EAS" },
1185 { 4, "TIE_LINE" },
1186 { 5, "CAMA" },
1187 { 6, "CAMA_2" },
1188 { 7, "TSPS" },
1189 { 8, "AMR" },
1190 { 9, "STN_RING" },
1191 { 10, "VAXS" },
1192 { 11, "ROTL" },
1193 { 12, "TEST_LINE" },
1194 { 13, "ALM_CHK" },
1195 { 14, "DST" },
1196 { 15, "ESB" },
1197 { 16, "EQA" },
1198 { 17, "OS" },
1199 { 18, "LEAS" },
1200 { 19, "VDRA" },
1201 { 20, "ISUP" },
1202 { 21, "IDAL" },
1203 { 22, "EAOSS" },
1204 { 23, "LTRK" },
1205 { 24, "PRI" },
1206 { 25, "SIPT" },
1207 { 0, NULL }
1209 static value_string_ext c15_route_types_ext = VALUE_STRING_EXT_INIT(c15_route_types);
1211 /* Fields */
1212 static int hf_c15ch_sccp;
1213 static int hf_c15ch_sccp_direction;
1214 static int hf_c15ch_sccp_msgtype;
1215 static int hf_c15ch_sccp_hopcount;
1216 static int hf_c15ch_sccp_transactionnum;
1217 static int hf_c15ch_sccp_opcmember;
1218 static int hf_c15ch_sccp_opccluster;
1219 static int hf_c15ch_sccp_opcnetwork;
1220 static int hf_c15ch_sccp_dpcmember;
1221 static int hf_c15ch_sccp_dpccluster;
1222 static int hf_c15ch_sccp_dpcnetwork;
1223 static int hf_c15ch_sccp_ni;
1224 static int hf_c15ch_sccp_ni_tn;
1225 static int hf_c15ch_sccp_tn;
1226 static int hf_c15ch_sccp_sls;
1227 static int hf_c15ch_sccp_iptime;
1228 static int hf_c15ch_sccp_level3index;
1231 static const value_string c15ch_sccp_direction_types[] = {
1232 { 0, "Incoming" },
1233 { 1, "Outgoing" },
1234 { 0, NULL }
1237 static const value_string c15ch_sccp_msg_types[] = {
1238 { 9, "UDT" },
1239 { 10, "UDTS" },
1240 { 17, "XUDT" },
1241 { 18, "XUDTS" },
1242 { 0, NULL }
1245 /* srcedest */
1247 /* Fields */
1248 static int hf_c15ch_srcedest;
1249 static int hf_c15ch_srcedest_conntype;
1250 static int hf_c15ch_srcedest_pathtype;
1251 static int hf_c15ch_srcedest_pathdirect;
1254 /* field labels */
1255 /* for conntype field */
1256 static const value_string c15_srcedest_conn_types[] = {
1257 { 0, "CONN_FULL" },
1258 { 1, "CONN_PRT_SRCE" },
1259 { 2, "CONN_PRT_DEST" },
1260 { 3, "CONN_PRT_SRDS" },
1261 { 4, "DISC_FULL" },
1262 { 5, "DISC_PRT_SRCE" },
1263 { 6, "DISC_PRT_DEST" },
1264 { 7, "DISC_PRT_SRDS" },
1265 { 0, NULL }
1269 /* for pathtype field */
1270 static const value_string c15_srcedest_path_types[] = {
1271 { 0, "BRDCST" },
1272 { 1, "1WAY" },
1273 { 2, "2WAY" },
1274 { 3, "BC_SPFC" },
1275 { 4, "1WAY_SPFC" },
1276 { 5, "BC_CMBND" },
1277 { 6, "1WAY_CMBND" },
1278 { 7, "NWLB" },
1279 { 8, "1WAY_2_UTR" },
1280 { 9, "2WAY_LB" },
1281 {10, "2WAY_LSG" },
1282 { 0, NULL }
1285 /* tcap */
1286 /* Fields */
1287 static int hf_c15ch_tcap;
1288 static int hf_c15ch_tcap_direction;
1289 static int hf_c15ch_tcap_action;
1290 static int hf_c15ch_tcap_package_type;
1291 static int hf_c15ch_tcap_ssn;
1292 static int hf_c15ch_tcap_local_ssn;
1293 static int hf_c15ch_tcap_result_err_code;
1294 static int hf_c15ch_tcap_return_reason;
1295 static int hf_c15ch_tcap_feat_id;
1296 static int hf_c15ch_tcap_feat_req;
1297 static int hf_c15ch_tcap_cl_comp_result;
1298 static int hf_c15ch_tcap_release_bit;
1299 static int hf_c15ch_tcap_term_cl_request;
1300 static int hf_c15ch_tcap_opc_index;
1301 static int hf_c15ch_tcap_dpc_mem;
1302 static int hf_c15ch_tcap_dpc_clus;
1303 static int hf_c15ch_tcap_dpc_net;
1304 static int hf_c15ch_tcap_cp_id;
1306 /* value strings */
1307 static const value_string c15ch_tcap_action_types[] = {
1308 { 0, "Invalid" },
1309 { 1, "Output Msg" },
1310 { 2, "Abort Query" },
1311 { 3, "Timeout" },
1312 { 4, "Input Msg" },
1313 { 5, "Msg Ret on Err" },
1314 { 0, NULL }
1317 static const value_string c15ch_tcap_package_types[] = {
1318 { 0, "Invalid" },
1319 { 1, "Unidirectional" },
1320 { 2, "Query W Perm" },
1321 { 3, "Query WO Perm" },
1322 { 4, "Response" },
1323 { 5, "Conv W Perm" },
1324 { 6, "Conv WO Perm" },
1325 { 16, "Abort Package" },
1326 { 0, NULL }
1329 static const value_string c15ch_tcap_rel_bit_types[] = {
1330 { 0, "Hold Buffer" },
1331 { 1, "Release Buffer" },
1332 { 0, NULL }
1335 static const value_string c15ch_tcap_ret_reason_types[] = {
1336 { 0, "GTT Trans" },
1337 { 1, "GTT Addr" },
1338 { 2, "Subsys Cong" },
1339 { 3, "Subsys Fail" },
1340 { 4, "Unequip User" },
1341 { 5, "Ntwk Fail" },
1342 { 6, "Ntwrk Cong" },
1343 { 0, NULL }
1346 static const value_string c15ch_tcap_err_code_types[] = {
1347 { 0, "Class Succ" },
1348 { 1, "Cl Ret Err" },
1349 { 2, "T5 Timeout" },
1350 { 3, "SW Error" },
1351 { 4, "No Resource" },
1352 { 5, "CCS7 Unas" },
1353 { 6, "Acg Block" },
1354 { 7, "Abort Rcvd" },
1355 { 8, "Protocol" },
1356 { 9, "Application" },
1357 { 10, "T1 Timeout" },
1358 { 11, "Return Err" },
1359 { 12, "Reject" },
1360 { 13, "MWI T1 TO" },
1361 { 0, NULL }
1364 static const value_string c15ch_tcap_feat_req_types[] = {
1365 { 0, "Invalid" },
1366 { 1, "Init Query" },
1367 { 2, "Send Notify" },
1368 { 3, "Busy Idle" },
1369 { 4, "Cancel" },
1370 { 5, "Dequeue" },
1371 { 6, "Abort" },
1372 { 7, "Report Err" },
1373 { 8, "Rsrc Clr" },
1374 { 9, "Update Data" },
1375 { 10, "EDP Cont" },
1376 { 11, "Term Notif" },
1377 { 12, "Update" },
1378 { 13, "Query Request" },
1379 { 0, NULL }
1382 static const value_string c15ch_tcap_feat_id_types[] = {
1383 { 0, "Invalid" },
1384 { 1, "Acb Act" },
1385 { 2, "Ar 1Act" },
1386 { 3, "Ar 2Act 1st" },
1387 { 4, "Ar 2Act 2nd" },
1388 { 5, "Acb Deact" },
1389 { 6, "Ar Deact" },
1390 { 7, "SCREJ" },
1391 { 8, "SCFWD" },
1392 { 9, "SCACC" },
1393 { 10, "SC RNG CFWD" },
1394 { 11, "CNAM" },
1395 { 12, "AIN" },
1396 { 13, "MDSI" },
1397 { 0, NULL }
1401 static const value_string c15ch_tcap_direction_types[] = {
1402 { 0, "In Orig" },
1403 { 1, "Out Orig" },
1404 { 2, "In Term" },
1405 { 3, "Out Term" },
1406 { 0, NULL }
1409 static const value_string c15ch_tcap_local_ssn_types[] = {
1410 { 0, "NO_SUBSYSTEM" },
1411 { 1, "SCCP_NTWK" },
1412 { 2, "CLAS_SUBSYS" },
1413 { 3, "CNAM_SUBSYS" },
1414 { 4, "LDMG_SUBSYS" },
1415 /* 5 is unused */
1416 { 6, "E800_SUBSYS1" },
1417 { 7, "E800_SUBSYS2" },
1418 { 8, "E800_SUBSYS3" },
1419 { 9, "E800_SUBSYS4" },
1420 { 10, "E800_SUBSYS5" },
1421 { 11, "E800_SUBSYS6" },
1422 { 12, "E800_SUBSYS7" },
1423 { 13, "E800_SUBSYS8" },
1424 { 14, "E800_SUBSYS9" },
1425 { 15, "E800_SUBSYS10" },
1426 { 16, "E800_SUBSYS11" },
1427 { 17, "E800_SUBSYS12" },
1428 { 18, "E800_SUBSYS13" },
1429 { 19, "E800_SUBSYS14" },
1430 { 20, "E800_SUBSYS15" },
1431 { 21, "E800_SUBSYS16" },
1432 { 22, "E800_SUBSYS17" },
1433 { 23, "AIN_SUBSYS" },
1434 { 24, "MDSI_SUBSYS" },
1435 { 0, NULL }
1438 /* twc rswch */
1440 /* Fields */
1441 static int hf_c15ch_twc_rswch;
1442 static int hf_c15ch_twc_rswch_pm;
1443 static int hf_c15ch_twc_rswch_subpm;
1444 static int hf_c15ch_twc_rswch_trkpm;
1445 static int hf_c15ch_twc_rswch_devid;
1446 static int hf_c15ch_twc_rswch_event;
1447 static int hf_c15ch_twc_rswch_parm;
1448 static int hf_c15ch_twc_rswch_iptime;
1451 /* cp event */
1454 /* Fields */
1455 static int hf_c15ch_cp_event;
1456 static int hf_c15ch_cp_event_pm;
1457 static int hf_c15ch_cp_event_subpm;
1458 static int hf_c15ch_cp_event_trkpm;
1459 static int hf_c15ch_cp_event_dig_ckt_test_trkpm;
1460 static int hf_c15ch_cp_event_devid;
1461 static int hf_c15ch_cp_event_event;
1462 static int hf_c15ch_cp_event_parm;
1463 static int hf_c15ch_cp_event_iptime;
1464 static int hf_c15ch_cp_event_subpm_orig;
1465 static int hf_c15ch_cp_event_subpm_disc_time;
1466 static int hf_c15ch_cp_event_subpm_revert;
1467 static int hf_c15ch_cp_event_subpm_orig_dt;
1468 static int hf_c15ch_cp_event_subpm_orig_ws;
1469 static int hf_c15ch_cp_event_subpm_orig_dd;
1470 static int hf_c15ch_cp_event_subpm_orig_id;
1471 static int hf_c15ch_cp_event_subpm_no_test;
1472 static int hf_c15ch_cp_event_subpm_dialing;
1473 static int hf_c15ch_cp_event_subpm_rebuilt;
1474 static int hf_c15ch_cp_event_subpm_acfw_reac;
1475 static int hf_c15ch_cp_event_subpm_process_route;
1476 static int hf_c15ch_cp_event_subpm_rte_line;
1477 static int hf_c15ch_cp_event_subpm_mtce;
1478 static int hf_c15ch_cp_event_subpm_aux_tone;
1479 static int hf_c15ch_cp_event_subpm_noller;
1480 static int hf_c15ch_cp_event_subpm_ittk;
1481 static int hf_c15ch_cp_event_subpm_alm_send;
1482 static int hf_c15ch_cp_event_subpm_ani_spill;
1483 static int hf_c15ch_cp_event_subpm_trunk_term;
1484 static int hf_c15ch_cp_event_subpm_line_term;
1485 static int hf_c15ch_cp_event_subpm_non_cp;
1486 static int hf_c15ch_cp_event_subpm_3wc;
1487 static int hf_c15ch_cp_event_subpm_held_3wc;
1488 static int hf_c15ch_cp_event_subpm_cwt;
1489 static int hf_c15ch_cp_event_subpm_held_cwt;
1490 static int hf_c15ch_cp_event_subpm_update_sc;
1491 static int hf_c15ch_cp_event_subpm_orig_spdt;
1492 static int hf_c15ch_cp_event_subpm_acfw_retm;
1493 static int hf_c15ch_cp_event_subpm_cfw_busy;
1494 static int hf_c15ch_cp_event_subpm_cfw;
1495 static int hf_c15ch_cp_event_subpm_cfw_deact;
1496 static int hf_c15ch_cp_event_subpm_rcfw;
1497 static int hf_c15ch_cp_event_subpm_rotl_tp;
1498 static int hf_c15ch_cp_event_subpm_chdt;
1499 static int hf_c15ch_cp_event_subpm_chd;
1500 static int hf_c15ch_cp_event_subpm_cheld;
1501 static int hf_c15ch_cp_event_subpm_3wch;
1502 static int hf_c15ch_cp_event_subpm_3wcw;
1503 static int hf_c15ch_cp_event_subpm_cslt;
1504 static int hf_c15ch_cp_event_subpm_dig_ckt_test;
1506 static int hf_c15ch_cp_event_dig_ckt_test_subpm_sp;
1507 static int hf_c15ch_cp_event_dig_ckt_test_subpm_mp;
1508 static int hf_c15ch_cp_event_dig_ckt_test_subpm_coin;
1509 static int hf_c15ch_cp_event_dig_ckt_test_subpm_isdn;
1510 static int hf_c15ch_cp_event_dig_ckt_test_subpm_trc;
1511 static int hf_c15ch_cp_event_dig_ckt_test_subpm_disc;
1513 static int hf_c15ch_cp_event_subpm_nail;
1514 static int hf_c15ch_cp_event_subpm_dcbi;
1515 static int hf_c15ch_cp_event_subpm_rag_confirm;
1516 static int hf_c15ch_cp_event_subpm_rag_process;
1517 static int hf_c15ch_cp_event_subpm_e800;
1518 static int hf_c15ch_cp_event_subpm_cfra;
1519 static int hf_c15ch_cp_event_subpm_mwi_deac;
1520 static int hf_c15ch_cp_event_subpm_acar_cp;
1521 static int hf_c15ch_cp_event_subpm_acar_rering;
1522 static int hf_c15ch_cp_event_subpm_acar_ann;
1523 static int hf_c15ch_cp_event_subpm_sle;
1524 static int hf_c15ch_cp_event_subpm_perform_cot;
1525 static int hf_c15ch_cp_event_subpm_clid;
1526 static int hf_c15ch_cp_event_subpm_xpm;
1527 static int hf_c15ch_cp_event_subpm_mwil;
1528 static int hf_c15ch_cp_event_subpm_ldbs;
1529 static int hf_c15ch_cp_event_subpm_acr;
1530 static int hf_c15ch_cp_event_subpm_call_park;
1531 static int hf_c15ch_cp_event_subpm_camp_on_recall;
1532 static int hf_c15ch_cp_event_subpm_cff;
1533 static int hf_c15ch_cp_event_subpm_ibert;
1534 static int hf_c15ch_cp_event_subpm_ain;
1535 static int hf_c15ch_cp_event_subpm_ain_sit;
1536 static int hf_c15ch_cp_event_subpm_ain_rtg;
1537 static int hf_c15ch_cp_event_subpm_nail_bcon;
1538 static int hf_c15ch_cp_event_subpm_nail_dcon;
1539 static int hf_c15ch_cp_event_subpm_qtrn_trvr;
1540 static int hf_c15ch_cp_event_subpm_ekts;
1541 static int hf_c15ch_cp_event_subpm_alt;
1542 static int hf_c15ch_cp_event_subpm_calea;
1543 static int hf_c15ch_cp_event_subpm_sim_ring;
1544 static int hf_c15ch_cp_event_subpm_lta;
1545 static int hf_c15ch_cp_event_subpm_hgq;
1546 static int hf_c15ch_cp_event_subpm_idle;
1547 static int hf_c15ch_cp_event_subpm_sig;
1548 static int hf_c15ch_cp_event_subpm_sig_dest;
1549 static int hf_c15ch_cp_event_subpm_agl_splrg;
1552 /*static const uint32_t MIN_PM_VAL = 0; */
1553 static const uint32_t MAX_PM_VAL = 77;
1554 static int * subpm_table[] = {
1555 /* one entry for each PM type */
1556 &hf_c15ch_cp_event_subpm_orig, /* MIN_PM_VAL */
1557 &hf_c15ch_cp_event_subpm_disc_time,
1558 &hf_c15ch_cp_event_subpm_revert,
1559 &hf_c15ch_cp_event_subpm_orig_dt,
1560 &hf_c15ch_cp_event_subpm_orig_ws,
1561 &hf_c15ch_cp_event_subpm_orig_dd,
1562 &hf_c15ch_cp_event_subpm_orig_id,
1563 &hf_c15ch_cp_event_subpm_no_test,
1564 &hf_c15ch_cp_event_subpm_dialing,
1565 &hf_c15ch_cp_event_subpm_rebuilt,
1566 &hf_c15ch_cp_event_subpm_acfw_reac,
1567 &hf_c15ch_cp_event_subpm_process_route,
1568 &hf_c15ch_cp_event_subpm_rte_line,
1569 &hf_c15ch_cp_event_subpm_mtce,
1570 &hf_c15ch_cp_event_subpm_aux_tone,
1571 &hf_c15ch_cp_event_subpm_noller,
1572 &hf_c15ch_cp_event_subpm_ittk,
1573 &hf_c15ch_cp_event_subpm_alm_send,
1574 &hf_c15ch_cp_event_subpm_ani_spill,
1575 &hf_c15ch_cp_event_subpm_trunk_term,
1576 &hf_c15ch_cp_event_subpm_line_term,
1577 &hf_c15ch_cp_event_subpm_non_cp,
1578 &hf_c15ch_cp_event_subpm_3wc,
1579 &hf_c15ch_cp_event_subpm_held_3wc,
1580 &hf_c15ch_cp_event_subpm_cwt,
1581 &hf_c15ch_cp_event_subpm_held_cwt,
1582 &hf_c15ch_cp_event_subpm_update_sc,
1583 &hf_c15ch_cp_event_subpm_orig_spdt,
1584 &hf_c15ch_cp_event_subpm_acfw_retm,
1585 &hf_c15ch_cp_event_subpm_cfw_busy,
1586 &hf_c15ch_cp_event_subpm_cfw,
1587 &hf_c15ch_cp_event_subpm_cfw_deact,
1588 &hf_c15ch_cp_event_subpm_rcfw,
1589 &hf_c15ch_cp_event_subpm_rotl_tp,
1590 &hf_c15ch_cp_event_subpm_chdt,
1591 &hf_c15ch_cp_event_subpm_chd,
1592 &hf_c15ch_cp_event_subpm_cheld,
1593 &hf_c15ch_cp_event_subpm_3wch,
1594 &hf_c15ch_cp_event_subpm_3wcw,
1595 &hf_c15ch_cp_event_subpm_cslt,
1596 &hf_c15ch_cp_event_subpm_dig_ckt_test, /* default variable for dig ckt pm*/
1597 &hf_c15ch_cp_event_subpm_nail,
1598 &hf_c15ch_cp_event_subpm_dcbi,
1599 &hf_c15ch_cp_event_subpm_rag_confirm,
1600 &hf_c15ch_cp_event_subpm_rag_process,
1601 &hf_c15ch_cp_event_subpm_e800,
1602 &hf_c15ch_cp_event_subpm_cfra,
1603 &hf_c15ch_cp_event_subpm_mwi_deac,
1604 &hf_c15ch_cp_event_subpm_acar_cp,
1605 &hf_c15ch_cp_event_subpm_acar_rering,
1606 &hf_c15ch_cp_event_subpm_acar_ann,
1607 &hf_c15ch_cp_event_subpm_sle,
1608 &hf_c15ch_cp_event_subpm_perform_cot,
1609 &hf_c15ch_cp_event_subpm_clid,
1610 &hf_c15ch_cp_event_subpm_xpm,
1611 &hf_c15ch_cp_event_subpm_mwil,
1612 &hf_c15ch_cp_event_subpm_ldbs,
1613 &hf_c15ch_cp_event_subpm_acr,
1614 &hf_c15ch_cp_event_subpm_call_park,
1615 &hf_c15ch_cp_event_subpm_camp_on_recall,
1616 &hf_c15ch_cp_event_subpm_cff,
1617 &hf_c15ch_cp_event_subpm_ibert,
1618 &hf_c15ch_cp_event_subpm_ain,
1619 &hf_c15ch_cp_event_subpm_ain_sit,
1620 &hf_c15ch_cp_event_subpm_ain_rtg,
1621 &hf_c15ch_cp_event_subpm_nail_bcon,
1622 &hf_c15ch_cp_event_subpm_nail_dcon,
1623 &hf_c15ch_cp_event_subpm_qtrn_trvr,
1624 &hf_c15ch_cp_event_subpm_ekts,
1625 &hf_c15ch_cp_event_subpm_alt,
1626 &hf_c15ch_cp_event_subpm_calea,
1627 &hf_c15ch_cp_event_subpm_sim_ring,
1628 &hf_c15ch_cp_event_subpm_lta,
1629 &hf_c15ch_cp_event_subpm_hgq,
1630 &hf_c15ch_cp_event_subpm_idle,
1631 &hf_c15ch_cp_event_subpm_sig,
1632 &hf_c15ch_cp_event_subpm_sig_dest,
1633 &hf_c15ch_cp_event_subpm_agl_splrg
1634 /* MAX_PM_VAL */
1636 static const uint32_t DIG_CKT_TEST_PM_VALUE = 40;
1638 /* special table to look up subpm for pm_val = DIG_CKT_TEST__PM_VALUE */
1639 /* this table is indexed by trunk pm numbers */
1640 /*static const uint32_t MIN_DIG_CKT_TEST_TRKPM_VAL = 0; */
1641 static const uint32_t MAX_DIG_CKT_TEST_TRKPM_VAL = 5;
1642 static int * dig_ckt_test_subpm_table[] = {
1643 /* one entry for each TRKPM value in the expected range */
1644 &hf_c15ch_cp_event_dig_ckt_test_subpm_sp, /* MIN_DIG_CKT_TEST_TRKPM_VAL */
1645 &hf_c15ch_cp_event_dig_ckt_test_subpm_mp,
1646 &hf_c15ch_cp_event_dig_ckt_test_subpm_coin,
1647 &hf_c15ch_cp_event_dig_ckt_test_subpm_isdn,
1648 &hf_c15ch_cp_event_dig_ckt_test_subpm_trc,
1649 &hf_c15ch_cp_event_dig_ckt_test_subpm_disc /* MAX_DIG_CKT_TEST_TRKPM_VAL */
1652 static const value_string dig_ckt_test_subpm_sp_types[] = {
1653 /* a value_string_ext for this has not been defined because it is a member of array dig_ckt_test_subpm_name_tables
1654 and the other members of that array all have less than 20 items */
1655 {0, "CRD_MSNG_TEST"},
1656 {1, "SET_UP"},
1657 {2, "HNDL_MODE_2"},
1658 {3, "WAIT_CTU_SCA"},
1659 {4, "WAIT_ACM_CON"},
1660 {5, "RDT_OFFHOOK"},
1661 {6, "SEND_ECHO_TONE"},
1662 {7, "ECHO_TONE_RESP"},
1663 {8, "SEND_ECHO_MEAS"},
1664 {9, "ECHO_MEAS_RESP"},
1665 {10, "SEND_STOP_ECHO_TONE"},
1666 {11, "STOP_ECHO_TONE_RESP"},
1667 {12, "RDT_ONHOOK"},
1668 {13, "RDT_SPRING"},
1669 {14, "POTS_OR_COIN"},
1670 {15, "RMOV_ASORB_P"},
1671 {16, "RFLEC_TERM"},
1672 {17, "SEND_LOSS_TONE"},
1673 {18, "LOSS_TONE_RESP"},
1674 {19, "SEND_LOSS_MEAS"},
1675 {20, "LOSS_MEAS_RESP"},
1676 {21, "SEND_QUIET_TONE"},
1677 {22, "QUIET_TONE_RESP"},
1678 {23, "SEND_IDLE_MEAS"},
1679 {24, "IDLE_MEAS_RESP"},
1680 {25, "RMOV_RFLC"},
1681 {0, NULL}
1684 static const value_string dig_ckt_test_subpm_mp_types[] = {
1685 {0, "START_MP"},
1686 {1, "NEG_S_TONE"},
1687 {2, "NEG_S_MEAS"},
1688 {3, "ANI_RESP"},
1689 {4, "RMOV_NTPI"},
1690 {5, "ABSORB_TERM"},
1691 {6, "POS_S_TONE"},
1692 {7, "POS_S_MEAS"},
1693 {8, "POS_S_ANI"},
1694 {9, "ABSO_RMOV"},
1695 {10, "PTPI_TERM"},
1696 {11, "POS_T_TONE"},
1697 {12, "POS_T_MEAS"},
1698 {13, "RDT_NTPR"},
1699 {14, "RDT_PRPR"},
1700 {15, "RDT_PTPR"},
1701 {0, NULL}
1704 static const value_string dig_ckt_test_subpm_coin_types[] = {
1705 {0, "START_COIN"},
1706 {1, "POS_C_TONE"},
1707 {2, "POS_C_MEAS"},
1708 {3, "COIN_PRES"},
1709 {4, "RMOV_PTPI"},
1710 {5, "RFL_NTPI_TRM"},
1711 {6, "NEG_C_TONE"},
1712 {7, "NEG_C_MEAS"},
1713 {8, "NEG_C_RSP"},
1714 {9, "RFL_NTPI_RMV"},
1715 {10, "POS_C_TERM"},
1716 {11, "POS_C_TONE2"},
1717 {12, "POS_C_MEAS2"},
1718 {13, "LOOP_DLY"},
1719 {14, "LOOP_MEAS"},
1720 {15, "RDT_C_CLCT"},
1721 {16, "RDT_C_RV_BT"},
1722 {17, "RDT_C_RET"},
1723 {0, NULL}
1726 static const value_string dig_ckt_test_subpm_isdn_types[] = {
1727 {0, "CRD_MSNG_TEST"},
1728 {1, "SZ_LN_MTCE"},
1729 {2, "LC_RSTR_TEST"},
1730 {3, "U_CNT_TEST"},
1731 {4, "NT1_RSTR_TST"},
1732 {5, "NT1_STAT_TEST"},
1733 {6, "NEBE_TEST"},
1734 {7, "FEBE_TEST"},
1735 {8, "RLS_LN_MTCE"},
1736 {0, NULL}
1739 static const value_string dig_ckt_test_subpm_trc_types[] = {
1740 {0, NULL}
1743 static const value_string dig_ckt_test_subpm_disc_types[] = {
1744 {0, NULL}
1747 static const value_string * dig_ckt_test_subpm_name_tables[] = {
1748 /* one entry for each TRKPM value in the expected range */
1749 dig_ckt_test_subpm_sp_types,
1750 dig_ckt_test_subpm_mp_types,
1751 dig_ckt_test_subpm_coin_types,
1752 dig_ckt_test_subpm_isdn_types,
1753 dig_ckt_test_subpm_trc_types,
1754 dig_ckt_test_subpm_disc_types
1757 /* valid indexes run from MIN_DIG_CKT_TEST__TRKPM_VAL to MAX_DIG_CKT_TEST__TRKPM_VAL */
1758 static const value_string trkpm_dig_ckt_test_types[] = {
1759 {0, "TEST_SP"},
1760 {1, "TEST_MP"},
1761 {2, "TEST_COIN"},
1762 {3, "TEST_ISDN"},
1763 {4, "WAIT_TRC_RESP"},
1764 {5, "WAIT_DISC_CONN"},
1765 {0, NULL}
1768 /* various subpm tables */
1769 static const value_string subpm_orig_types[] = {
1770 {0, "SET_UP"},
1771 {1, "SCM_CHANNEL"},
1772 {2, "P409_GRD_SRT"},
1773 {3, "ANI_TEST"},
1774 {4, "WAIT_RMB"},
1775 {5, "WAIT_FX_HIT"},
1776 {6, "WAIT_RSRC"},
1777 {7, "WAIT_ICOT_RSRC"},
1778 {8, "WAIT_LPA"},
1779 {9, "WAIT_COT_MSG"},
1780 {10, "WT_COT_RCHK"},
1781 {11, "WT_MADN_TONE"},
1782 {12, "MADN_TONE"},
1783 {13, "MADN_NOTONE"},
1784 {14, "FX_DIAL_DLAY"},
1785 {15, "WAIT_BD_RPY"},
1786 {16, "DELAY_IDTL_LKOT"},
1787 {17, "WT_H248_CTX1D"},
1788 {18, "WAIT_MSDN_PCA"},
1789 {19, "WT_H248_CTXAV"},
1790 {0, NULL}
1794 static const value_string subpm_disc_time_types[] = {
1795 {0, "SET_UP"},
1796 {1, "WAIT_DISC"},
1797 {2, "HOLD_IDLE"},
1798 {3, "LOOP_DISC"},
1799 {4, "LOOP_TIME"},
1800 {5, "WAIT_FX0_DSC"},
1801 {0, NULL}
1804 static const value_string subpm_revert_types[] = {
1805 {0, "SET_UP"},
1806 {1, "AWAIT_RSRC"},
1807 {2, "AWAIT_DIGIT"},
1808 {3, "BUSY_TONE"},
1809 {4, "INFORM_CLG"},
1810 {5, "WAIT_ONHK"},
1811 {6, "WAIT_TCAP"},
1812 {7, "RINGING"},
1813 {8, "INFORM_CLD"},
1814 {9, "TALKING"},
1815 {10, "RING_FAIL"},
1816 {11, "ANI_TEST"},
1817 {0, NULL}
1820 static const value_string subpm_orig_dt_types[] = {
1821 {0, "SET_UP"},
1822 {1, "WAIT_DT"},
1823 {2, "DIAL_TONE"},
1824 {3, "FX_DIAL_DLAY"},
1825 {4, "WAIT_DT_PCA"},
1826 {0, NULL}
1829 static const value_string subpm_orig_ws_types[] = {
1830 {0, "SET_UP"},
1831 {1, "WAIT_RCVR"},
1832 {2, "FX_DIAL_DLAY"},
1833 {0, NULL}
1836 static const value_string subpm_orig_dd_types[] = {
1837 {0, "SET_UP"},
1838 {1, "WAIT_HIT_DELAY"},
1839 {2, "WAIT_FOR_RCVR"},
1840 {0, NULL}
1843 static const value_string subpm_orig_id_types[] = {
1844 {0, "SET_UP"},
1845 {1, "WAIT_FOR_RCVR"},
1846 {0, NULL}
1849 static const value_string subpm_no_test_types[] = {
1850 {0, NULL}
1853 static const value_string subpm_dialing_types[] = {
1854 {0, "SET_UP"},
1855 {1, "DP_DGT_FIRST"},
1856 {2, "DP_DGT_DIAL"},
1857 {3, "WAIT_FOR_KP"},
1858 {4, "MF_DIALING"},
1859 {5, "COLL_GIC_DIG"},
1860 {6, "CPW_PROG_1ST"},
1861 {7, "CPW_PROG_NXT"},
1862 {8, "COLL_SC_INDX"},
1863 {9, "CONFIRM_TONE"},
1864 {10, "WAIT_CONFIRM"},
1865 {11, "FX_SND_DLNG"},
1866 {12, "AUD_PROG_1ST"},
1867 {13, "AUD_PROG_NXT"},
1868 {14, "ISDN_FA_DLNG"},
1869 {15, "ISDN_CFW_NXT"},
1870 {16, "CLD_SCFW_FA"},
1871 {17, "WAIT_CNFR_PCA"},
1872 {0, NULL}
1875 static const value_string subpm_rebuilt_types[] = {
1876 {0, "REBILT_NORM"},
1877 {1, "REBILT_QUE"},
1878 {2, "REBILT_TIMIN"},
1879 {3, "REBILT_Q_T"},
1880 {0, NULL}
1883 static const value_string subpm_acfw_reac_types[] = {
1884 {0, "REAC_SETUP"},
1885 {1, "WAIT_SPDT"},
1886 {2, "PROVIDE_SPDT"},
1887 {3, "COLLECT_DIGS"},
1888 {4, "WAIT_ACT_CFM"},
1889 {5, "PROV_ACT_CFM"},
1890 {0, NULL}
1893 static const value_string subpm_process_route_types[] = {
1894 {0, NULL}
1897 static const value_string subpm_rte_line_types[] = {
1898 /* a value_string_ext has not been defined for this because it is a member of the array subpm_name_tables.
1899 This is the longest member of that array. There are also two members with 30-40 items. */
1900 {0, "SET_UP"},
1901 {1, "SRCE_CNTRL"},
1902 {2, "ANI_TEST"},
1903 {3, "CPSC_SELECT"},
1904 {4, "CPSC_TERM"},
1905 {5, "HUNT_SLICE"},
1906 {6, "SCM_CHNL"},
1907 {7, "PRERNG_TST"},
1908 {8, "SRCE_TEST"},
1909 {9, "RINGING_LINE"},
1910 {10, "DEST_TEST"},
1911 {11, "ANSWER_TIME"},
1912 {12, "WAIT_TIMING"},
1913 {13, "WAIT_INC_COT"},
1914 {14, "WAIT_LCM_CLI"},
1915 {15, "WAIT_CNAM_RS"},
1916 {16, "WAIT_ACR_RES"},
1917 {17, "DPX_SEIZE"},
1918 {18, "DPX_ANSWR"},
1919 {19, "MADN_SLICE"},
1920 {20, "LTRK_SELECT"},
1921 {21, "FXS_DIAL_OPL"},
1922 {22, "LTRK_OPL_DLY"},
1923 {23, "LTRK_OPLSING"},
1924 {24, "LTRK_WT_ANS"},
1925 {25, "ISDN_RT_BRK"},
1926 {26, "ISDN_PRESENT"},
1927 {27, "ISDN_PROCDG"},
1928 {28, "ISDN_ALERTING"},
1929 {29, "PROGRESS_CLR"},
1930 {30, "WAIT_SCP_RSP"},
1931 {31, "EKTS_SLICE"},
1932 {32, "EKTS_OFFERED"},
1933 {33, "TELE_WAIT_TCAP"},
1934 {34, "TELE_WAIT_COT_OR_TCAP"},
1935 {35, "TELE_TCAP_WAIT_COT"},
1936 {36, "TELE_WAIT_RCVR"},
1937 {37, "TELE_WAIT_ON_WINK"},
1938 {38, "TELE_WAIT_ON_COT"},
1939 {39, "TELE_VRDA_TRUNKS_BUSY"},
1940 {40, "TELE_OUTPULSE_BUSY"},
1941 {41, "TELE_WAIT_START"},
1942 {42, "TELE_COLLECT_DIG"},
1943 {43, "SRNG_NO_PDN"},
1944 {44, "WT_PKTCONN"},
1945 {45, "MADN_H248_WAIT_CNXID"},
1946 {46, "MADN_ANS_WAIT_PCA"},
1947 {47, "TELE_WAIT_RCVR_PCA"},
1948 {48, "WAIT_CTXID"},
1949 {0, NULL}
1952 static const value_string subpm_mtce_types[] = {
1953 {27, "ISUP_MAINT"},
1954 {28, "QPL_MAINT"},
1955 {0, NULL}
1958 static const value_string subpm_aux_tone_types[] = {
1959 {0, "SETUP"},
1960 {1, "SEIZED"},
1961 {2, "WAIT_FOR_TONE"},
1962 {3, "APPLY_TONE"},
1963 {0, NULL}
1966 static const value_string subpm_noller_types[] = {
1967 {0, "SET_UP"},
1968 {1, "IDLE"},
1969 {2, "WAIT_MF_RCVR1"},
1970 {3, "DIALING_DN"},
1971 {4, "OVFLW_TONE"},
1972 {5, "VERIFY_CONN"},
1973 {6, "WAIT_MF_RCVR2"},
1974 {7, "DIALING_TC"},
1975 {8, "TEST_CONN"},
1976 {9, "WAIT_TIMING"},
1977 {0, NULL}
1980 static const value_string subpm_ittk_types[] = {
1981 {0, "SET_UP"},
1982 {1, "WAIT_STRT_DLNG"},
1983 {2, "WAIT_FOR_RCVR"},
1984 {3, "TR_REV_DELAY"},
1985 {4, "WTBG_DIAL"},
1986 {5, "DN_DIALING"},
1987 {6, "DP_DIAL"},
1988 {7, "WAIT_END_DLNG"},
1989 {8, "NRML_SUPRVSN"},
1990 {9, "BUSY_MONITOR"},
1991 {10, "BM_TEMP"},
1992 {11, "NO_MONITOR"},
1993 {12, "NM_TEMP"},
1994 {13, "BUSY_TONE"},
1995 {14, "OUT_TEST"},
1996 {15, "IN_TEST__ID"},
1997 {16, "TT_TEST"},
1998 {17, "INTERCEPT_ID"},
1999 {18, "OVERFLOW"},
2000 {19, "CK_TRUE_DISC"},
2001 {20, "WAIT_BI_SET"},
2002 {21, "WAIT_BYPASS_CONN"},
2003 {22, "WAIT_BI_CLR"},
2004 {23, "SLC_OUT_TEST"},
2005 {24, "WAIT_BURSTS"},
2006 {25, "WAIT_TONE"},
2007 {26, "FIRST_TONE_ON"},
2008 {27, "FIRST_TONE_OFF"},
2009 {28, "SECOND_TONE_ON"},
2010 {29, "SECOND_TONE_OFF"},
2011 {30, "THIRD_TONE_ON"},
2012 {31, "WAIT_SLEEVE"},
2013 {32, "WAIT_VLCM"},
2014 {33, "WAIT_IDT/IDT_TO_MMB"},
2015 {34, "IDT_BYPASS"},
2016 {35, "WAIT_IDT_BPS"},
2017 {36, "TEST_IDT"},
2018 {0, NULL}
2021 static const value_string subpm_alm_send_types[] = {
2022 {0, NULL}
2025 static const value_string subpm_ani_spill_types[] = {
2026 {0, "SET_UP"},
2027 {1, "WAIT_MF_RCVR"},
2028 {2, "WAIT_ANI_KP"},
2029 {3, "WAIT_ANI_ID"},
2030 {4, "COLLECT_CLG_DIG"},
2031 {5, "WT_ONI_ANIF_ST"},
2032 {6, "ANI_TIMEOUT"},
2033 {7, "WAIT_DELAY"},
2034 {0, NULL}
2037 static const value_string subpm_trunk_term_types[] = {
2038 {0, "SET_UP"},
2039 {1, "NORM_TALK"},
2040 {2, "DISC_TIMING"},
2041 {3, "COIN_COLLECT"},
2042 {4, "COIN_RETURN"},
2043 {5, "DEST_TONE"},
2044 {6, "WT_DEST_RCVR"},
2045 {7, "WT_SRCE_RCVR"},
2046 {8, "INBAND_DEST"},
2047 {9, "INBAND_SRCE"},
2048 {10, "HWL_INTR_RBK"},
2049 {11, "WT_HW_IT_RBK"},
2050 {12, "INTR_RGBK"},
2051 {13, "OS_FROM_DEST"},
2052 {14, "OS_FROM_SRCE"},
2053 {15, "TIME_CHG_CTL"},
2054 {16, "WAIT_CC_COL"},
2055 {17, "WAIT_CC_RET"},
2056 {18, "OVFL_RGBK"},
2057 {19, "WAIT_CC_MFST"},
2058 {20, "WAIT_CC_ENBL"},
2059 {21, "WAIT_CC_DSBL"},
2060 {22, "OS_HOLD"},
2061 {23, "CBARA_COL"},
2062 {24, "CBARA_RTN"},
2063 {25, "CBARA_RLSE"},
2064 {26, "WT_TLNK_HSHK"},
2065 {27, "WT_TLNK_SYNC"},
2066 {28, "WAIT_OUTPULSE_END"},
2067 {29, "WAIT_ALDP_TONE"},
2068 {30, "WAIT_OUTPULSE_DELAY"},
2069 {31, "WAIT_OSNC_CC"},
2070 {32, "WT_REPL_PCAV_TRK"},
2071 {0, NULL}
2074 static const value_string subpm_line_term_types[] = {
2075 {0, "SET_UP"},
2076 {1, "NORM_TALKING"},
2077 {2, "DISC_TIMING"},
2078 {3, "COIN_COLLECT"},
2079 {4, "COIN_RETURN"},
2080 {5, "WAIT_RCVR"},
2081 {6, "INBAND_SIG"},
2082 {7, "HWL_INTR_RRG"},
2083 {8, "WT_HW_IT_RRG"},
2084 {9, "INTR_RERING"},
2085 {10, "SOURCE_TONE"},
2086 {11, "OVFL_RERING"},
2087 {12, "WAIT_BI_TONE"},
2088 {13, "BI_TONE_ON"},
2089 {14, "DCBI_3WC_Z"},
2090 {15, "TIME_CHG_CTL"},
2091 {16, "WAIT_DTR"},
2092 {17, "WT_TLNK_DLY"},
2093 {18, "WT_TLNK_HSHK"},
2094 {19, "WT_TLNK_SYNC"},
2095 {20, "WAIT_ALDP_TONE"},
2096 {21, "WT_PCAV_DCBI"},
2097 {22, "WT_REPL_PCAV"},
2098 {0, NULL}
2101 static const value_string subpm_non_cp_types[] = {
2102 {0, "CR_SUB_PM_ZERO"},
2103 {1, "ONHK_TEST_PED"},
2104 {2, "ONHK_TEST_RES"},
2105 {3, "PEPR_MTCE_STATE"},
2106 {4, "GEN_TIMING_REG"},
2107 {5, "CPT_CONNECTION"},
2108 {6, "OFHK_TEST_PED"},
2109 {7, "OFHK_TEST_RES"},
2110 {8, "CR_TIMING_TEST"},
2111 {9, "CR_SUB_PM_INVLD"},
2112 {0, NULL}
2115 static const value_string subpm_twc_types[] = {
2116 {0, "SET_UP"},
2117 {1, "CONN_ADDED"},
2118 {2, "TALK_3WAY"},
2119 {3, "RESW_Y_HELD"},
2120 {4, "RESW_Y_TALK"},
2121 {5, "RESW_ADDED"},
2122 {6, "CONNZ_YGONE"},
2123 {7, "CSLT_ORG"},
2124 {8, "CSLT_TALK_Y"},
2125 {9, "TRANSFER"},
2126 {10, "RESW_TRNSFER"},
2127 {11, "CSLT_XYGONE"},
2128 {12, "CSLT_XZGONE"},
2129 {13, "TALKY_XYGONE"},
2130 {14, "TALKY_XZGONE"},
2131 {15, "X_CLASS_ONLY"},
2132 {16, "RESW_XYGONE"},
2133 {0, NULL}
2136 static const value_string subpm_held_3wc_types[] = {
2137 {0, "CR_SUB_PM_ZERO"},
2138 {1, "ONHK_TEST_PED"},
2139 {2, "ONHK_TEST_RES"},
2140 {3, "PEPR_MTCE_STATE"},
2141 {0, NULL}
2144 static const value_string subpm_cwt_types[] = {
2145 {0, NULL}
2148 static const value_string subpm_held_cwt_types[] = {
2149 {0, NULL}
2152 static const value_string subpm_update_sc_types[] = {
2153 {0, "SETUP"},
2154 {1, "WAIT_SPDT"},
2155 {2, "HAVE_SPDT"},
2156 {3, "GET_INDEX"},
2157 {4, "GET_DIGITS"},
2158 {5, "WAIT_CONFRM"},
2159 {6, "HAVE_CONFRM"},
2160 {7, "WAIT_SPDT_PCA"},
2161 {8, "WAIT_CNFM_PCA"},
2162 {9, "WT_H248_CTXID"},
2163 {0, NULL}
2166 static const value_string subpm_acfw_retm_types[] = {
2167 {0, "RETM_SETUP"},
2168 {1, "RETIMING"},
2169 {0, NULL}
2172 static const value_string subpm_cfw_busy_types[] = {
2173 {0, "SETUP"},
2174 {1, "BUSY_TIMING"},
2175 {0, NULL}
2178 static const value_string subpm_cfw_types[] = {
2179 {0, "SET_UP"},
2180 {1, "RT_BREAK"},
2181 {2, "REMIND_RING"},
2182 {3, "SCM_CHNL"},
2183 {0, NULL}
2186 static const value_string subpm_cfw_deact_types[] = {
2187 {0, "DEACT_SETUP"},
2188 {1, "WAIT_DE_CPM"},
2189 {2, "PROV_DE_CPM"}, /* note that values are not continuous */
2190 {8, "WAIT_CNFR_PCA"},
2191 {0, NULL}
2194 static const value_string subpm_rcfw_types[] = {
2195 {0, "SET_UP"},
2196 {1, "SRCE_CNTRL"},
2197 {2, "WAIT_COT"},
2198 {0, NULL}
2201 static const value_string subpm_rotl_tp_types[] = {
2202 {0, "SET_UP"},
2203 {1, "FIRST_DIGIT"},
2204 {2, "SEC_DIGIT"},
2205 {3, "THIRD_DIGIT"},
2206 {4, "COL_TRK_INFO"},
2207 {5, "COL_DN_INFO"},
2208 {6, "END_OUTPULSE"},
2209 {7, "WAIT_COT"},
2210 {8, "WAIT_ACM"},
2211 {9, "WAIT_ANM"},
2212 {10, "ANS_SUPV"},
2213 {11, "LTBT_CONN"},
2214 {12, "TEST_CONN"},
2215 {13, "COL_ID_DIGIT"},
2216 {14, "WAIT_SIGNAL"},
2217 {15, "WAIT_ST_SIG"},
2218 {16, "WAIT_ANI_SIG"},
2219 {17, "END_ANI_SPILL"},
2220 {18, "ROTLTP_ONHK"},
2221 {19, "COL_TG_INFO"},
2222 {20, "WAIT_TO_SEND"},
2223 {21, "WAIT_CONN_APR"},
2224 {0, NULL}
2227 static const value_string subpm_chdt_types[] = {
2228 {0, "SETUP"},
2229 {1, "WAIT_CFT"},
2230 {2, "CFT"},
2231 {3, "WAIT_DT"},
2232 {4, "DIAL_TONE"},
2233 {5, "WAIT_SPDT"},
2234 {6, "SPDT"},
2235 {0, NULL}
2238 static const value_string subpm_chd_types[] = {
2239 {0, "SETUP"},
2240 {1, "CONN_ACT"},
2241 {2, "SRCE_RERING"},
2242 {3, "DEST_RERING"},
2243 {4, "SILENCE"},
2244 {5, "SIL_W_GONE"},
2245 {0, NULL}
2248 static const value_string subpm_cheld_types[] = {
2249 {0, "SETUP"},
2250 {1, "NVP"},
2251 {0, NULL}
2254 static const value_string subpm_dig_ckt_test_types[] = {
2255 {0, NULL}
2258 static const value_string subpm_nail_types[] = {
2259 {0, NULL}
2262 static const value_string subpm_dcbi_types[] = {
2263 {0, "DCBI_SETUP"},
2264 {1, "DCBI_CNTRL"},
2265 {2, "DCBI_RESW_XY"},
2266 {3, "DCBI_RESW_YZ"},
2267 {0, NULL}
2270 static const value_string subpm_rag_confirm_types[] = {
2271 {0, "SETUP"},
2272 {1, "WAIT"},
2273 {2, "ON"},
2274 {0, NULL}
2277 static const value_string subpm_rag_process_types[] = {
2278 {0, "SETUP"},
2279 {1, "SEARCH"},
2280 {2, "SCM_CHANNEL"},
2281 {3, "PRERNG_TEST"},
2282 {4, "WAIT_TCAP"},
2283 {5, "RERING"},
2284 {6, "MBS_RERING"},
2285 {7, "DELAY_CONN"},
2286 {8, "WT_H248_CTXID"},
2287 {0, NULL}
2290 static const value_string subpm_e800_types[] = {
2291 {0, "SET_UP"},
2292 {1, "COLLECT_DIG"},
2293 {2, "WT_FGD_DIG"},
2294 {3, "WT_COR_RCVR"},
2295 {4, "WT_FGID_II"},
2296 {5, "WT_FGD_ANI"},
2297 {6, "WT_FGD_CLDKP"},
2298 {7, "WT_FGD_CLED"},
2299 {8, "WAIT_RESP"},
2300 {9, "CLCT_AT_DIG"},
2301 {10, "DLY_2ND_STG"},
2302 {11, "DLY_B4_ACK"},
2303 {0, NULL}
2306 static const value_string subpm_cfra_types[] = {
2307 {0, "SET_UP"},
2308 {1, "SRCE_CNTRL"},
2309 {2, "WAIT_COT"},
2310 {3, "ANI_TEST"},
2311 {4, "CPSC_SELECT"},
2312 {5, "CAMA_OPR"},
2313 {6, "WAIT_RGBK"},
2314 {7, "RBT"},
2315 {8, "WAIT_TIMER"},
2316 {9, "WAIT_SPDT"},
2317 {10, "WAIT_ANS"},
2318 {11, "SPDT1"},
2319 {12, "DN_COLLECT"},
2320 {13, "PIN_COLLECT"},
2321 {14, "SPDT2"},
2322 {15, "ACT_DACT_COL"},
2323 {16, "SPDT3"},
2324 {17, "FWD_TO_COLL"},
2325 {18, "WT_DACT_CNFR"},
2326 {19, "WT_ACT_CNFR"},
2327 {20, "CNFR_TONE"},
2328 {0, NULL}
2331 static const value_string subpm_mwi_deac_types[] = {
2332 {0, "SETUP_CONFRM"},
2333 {1, "WAIT_CONFRM"},
2334 {2, "HAVE_CONFRM"},
2335 {0, NULL}
2338 static const value_string subpm_acar_cp_types[] = {
2339 {0, "SET_UP"},
2340 {1, "WAIT_I_BSP"},
2341 {2, "ACAR_CALL_PMS"},
2342 {0, NULL}
2345 static const value_string subpm_acar_rering_types[] = {
2346 {0, "SET_UP"},
2347 {1, "SCM_CHANNEL"},
2348 {2, "WAIT_TCAP"},
2349 {3, "RERING_LOCL"},
2350 {4, "WAIT_FINAL_Q"},
2351 {5, "WT_H248_CTXID"},
2352 {0, NULL}
2355 static const value_string subpm_acar_ann_types[] = {
2356 {0, "SET_UP"},
2357 {1, "DRA_BUSY"},
2358 {2, "DRA_WAIT"},
2359 {3, "DRA_MSG_BUSY"},
2360 {4, "DRA_MSG_WAIT"},
2361 {5, "DRA_MSG_ACT"},
2362 {6, "DRA_MSG_DIAL"},
2363 {7, "DRA_END_DLY"},
2364 {8, "WT_TCAP_RESP"},
2365 {9, "GET_CONF_DIG"},
2366 {10, "WAIT_RCVR_PCA"},
2367 {0, NULL}
2370 static const value_string subpm_sle_types[] = {
2371 {0, "SETUP"},
2372 {1, "LIST_EDIT"},
2373 {2, "LIST_ADD"},
2374 {3, "LIST_DELETE"},
2375 {4, "LIST_REVIEW"},
2376 {5, "CHG_STATUS"},
2377 {6, "LISTEN_ERR"},
2378 {7, "EXIT"},
2379 {8, "DEL_ALL"},
2380 {9, "DEL_ALL_PRV"},
2381 {10, "REPEAT_ANNC"},
2382 {11, "LCP"},
2383 {12, "CA_FA_CNFRM"},
2384 {13, "INVALID_CMD"},
2385 {0, NULL}
2388 static const value_string subpm_perform_cot_types[] = {
2389 {0, "SET_UP"},
2390 {1, "DRA_BUSY"},
2391 {2, "DRA_WAIT"},
2392 {3, "DRA_MSG_BUSY"},
2393 {4, "DRA_MSG_WAIT"},
2394 {5, "DRA_MSG_ACT"},
2395 {6, "DRA_MSG_DIAL"},
2396 {7, "DRA_END_DLY"},
2397 {8, "CMD_GET_DIG"},
2398 {9, "WAIT_RCVR"},
2399 {10, "WAIT_RCVR_PCA"},
2400 {0, NULL}
2403 static const value_string subpm_clid_types[] = {
2404 {0, "SETUP"},
2405 {1, "TRK_RETRY"},
2406 {2, "WAIT_DRA"},
2407 {3, "WAIT_RSRC"},
2408 {4, "WAIT_ANNOC"},
2409 {5, "WAIT_END"},
2410 {6, "WAIT_CONFIRM"},
2411 {7, "WAIT_SRCE_DS"},
2412 {8, "WAIT_CNFR_PCA"},
2413 {0, NULL}
2416 static const value_string subpm_xpm_types[] = {
2417 {0, NULL}
2420 static const value_string subpm_mwil_types[] = {
2421 {0, "SETUP"},
2422 {1, "SEND"},
2423 {2, "WAIT"},
2424 {3, "CPM_CON"},
2425 {4, "CPM_WT"},
2426 {5, "BKGD"},
2427 {6, "WT_CNXID"},
2428 {7, "RDT_WAIT"},
2429 {0, NULL}
2432 static const value_string subpm_ldbs_types[] = {
2433 {0, "SET_UP"},
2434 {1, "COLLECT_DIG"},
2435 {2, "WAIT_QUERY"},
2436 {3, "WAIT_DELAY"},
2437 {0, NULL}
2440 static const value_string subpm_acr_types[] = {
2441 {0, "SETUP"},
2442 {1, "TRK_RETRY"},
2443 {2, "WAIT_DRA"},
2444 {3, "WAIT_RSRC"},
2445 {4, "WAIT_ANNOC"},
2446 {5, "WAIT_END"},
2447 {6, "WAIT_CONFIRM"},
2448 {7, "WAIT_SRCE_DS"},
2449 {0, NULL}
2452 static const value_string subpm_call_park_types[] = {
2453 {0, "SET_UP"},
2454 {1, "COLL_1ST_DIG"},
2455 {2, "COLL_NTH_DIG"},
2456 {3, "X_WT_SPDT"},
2457 {4, "TONE_CONN_XY"},
2458 {5, "Y_PARKED"},
2459 {6, "YPARK_WT_RBK"},
2460 {7, "YPARK_XRERNG"},
2461 {8, "X_WT_CONFIRM"},
2462 {9, "X_CONFIRM"},
2463 {10, "DELAY_CONN"},
2464 {11, "ISDN_RERING"},
2465 {12, "WT_PCAV_CXID"},
2466 {0, NULL}
2469 static const value_string subpm_camp_on_recall_types[] = {
2470 {0, NULL}
2473 static const value_string subpm_cff_types[] = {
2474 {0, "SET_UP"},
2475 {1, "WAIT_CNFRM"},
2476 {2, "PROVIDE_CNFRM"},
2477 {3, "WAIT_CNFR_PCA"},
2478 {0, NULL}
2481 static const value_string subpm_ibert_types[] = {
2482 {0, "SETUP"},
2483 {1, "WT_RESP_1"},
2484 {2, "WT_RESP_2"},
2485 {3, "CNT_CLR_ACK"},
2486 {4, "WT_STP_TEST"},
2487 {5, "RSET_CNT_ACK"},
2488 {6, "FND_PT_2_TST"},
2489 {7, "TEST_PATH"},
2490 {8, "WT_STAT_RSLT"},
2491 {9, "EFS_RSLT"},
2492 {10, "WAIT_DS1"},
2493 {11, "WT_RTS"},
2494 {12, "WT_TCM_SYNC"},
2495 {0, NULL}
2498 static const value_string subpm_ain_types[] = {
2499 {0, "SET_UP"},
2500 {1, "WAIT_COT"},
2501 {2, "WAIT_SCP"},
2502 {3, "WAIT_DGT"},
2503 {4, "DRA_WAIT"},
2504 {5, "DRA_BUSY"},
2505 {6, "DRA_MSG_BUSY"},
2506 {7, "DRA_MSG_WAIT"},
2507 {8, "DRA_MSG_PLAY"},
2508 {9, "DRA_COL_DIGS"},
2509 {10, "WAIT_RCVR_PCA"},
2510 {0, NULL}
2513 static const value_string subpm_ain_sit_types[] = {
2514 {0, "SET_UP"},
2515 {1, "DLY_B4_1ST_WINK"},
2516 {2, "WAIT_FOR_RCVR"},
2517 {3, "WAIT_FOR_1ST_KP"},
2518 {4, "WAIT_FOR_II"},
2519 {5, "WAIT_FOR_ANI"},
2520 {6, "WAIT_FOR_CLD_KP"},
2521 {7, "WAIT_FOR_CLD"},
2522 {8, "DLY_B4_2ND_WINK"},
2523 {0, NULL}
2526 static const value_string subpm_ain_rtg_types[] = {
2527 {0, "SETUP"},
2528 {1, "REAL_TIME_BR"},
2529 {0, NULL}
2532 static const value_string subpm_nail_bcon_types[] = {
2533 {0, "START_NAIL_CONN"},
2534 {1, "WAIT_SCM_RESP"},
2535 {2, "FINISH_NAIL_CONN"},
2536 {0, NULL}
2539 static const value_string subpm_nail_dcon_types[] = {
2540 {0, "START_NAIL_CONN"},
2541 {1, "WAIT_SCM_RESP"},
2542 {2, "FINISH_NAIL_CONN"},
2543 {0, NULL}
2546 static const value_string subpm_qtrn_trvr_types[] = {
2547 {0, NULL}
2550 static const value_string subpm_ekts_types[] = {
2551 {0, "SET_UP"},
2552 {1, "KEY_SETUP"},
2553 {2, "PROGRESS"},
2554 {3, "RINGBACK"},
2555 {4, "CONNECT"},
2556 {5, "KEY_HOLD"},
2557 {6, "NOTIFY"},
2558 {7, "CLEARING"},
2559 {8, "FT_SEARCH"},
2560 {9, "FT_UPDATE"},
2561 {10, "REM_RING"},
2562 {11, "DNLD_REQ"},
2563 {12, "RETRIEVE"},
2564 {13, "DROP_EKTS"},
2565 {0, NULL}
2568 static const value_string subpm_alt_types[] = {
2569 {0, "IDLE"},
2570 {1, "PERM"},
2571 {2, "BRIDGE"},
2572 {0, NULL}
2575 static const value_string subpm_calea_types[] = {
2576 {0, NULL}
2579 static const value_string subpm_sim_ring_types[] = {
2580 {0, "SET_UP"},
2581 {1, "GO_XLATE_NPMDN"},
2582 {2, "GO_DISC_NPMDN"},
2583 {0, NULL}
2586 static const value_string subpm_lta_types[] = {
2587 {0, "SETUP"},
2588 {1, "WAIT_CONN_SLACC"},
2589 {2, "WAIT_MTA_CONN"},
2590 {3, "SEND_LOOPARND_RMV"},
2591 {4, "WAIT_MTA_LOOPARND_RMV"},
2592 {5, "MTA_ACCESS"},
2593 {6, "TL1_MSG_RSP_DLY"},
2594 {7, "CHG_DIR_RSP_DLY"},
2595 {8, "WAIT_MTA_DISC_RSP"},
2596 {9, "WAIT_MTA_REPSTAT_RPLY"},
2597 {10, "WAIT_BYPASS"},
2598 {11, "IDT_TO_MMB"},
2599 {12, "IDT_BYPASS"},
2600 {13, "WAIT_IDT_BPS"},
2601 {14, "TEST_IDT"},
2602 /* 15 is undefined */
2603 {16, "TL1_RESP_DELY"},
2604 {17, "WAIT_CU_TEST_FINISH"},
2605 {18, "WAIT_MTA_THEN_BREAK_CONN"},
2606 {19, "IDT_VIRT_WAIT_MMB"},
2607 {20, "IDT_VIRT_TRC_CONNECT"},
2608 {21, "IDT_VIRT_TRC_RSP_WAIT"},
2609 {22, "IDT_VIRT_TRC_DISC_WAIT"},
2610 {0, NULL}
2613 static const value_string subpm_hgq_types[] = {
2614 {0, NULL}
2617 static const value_string subpm_idle_types[] = {
2618 {0, NULL}
2621 static const value_string subpm_sig_types[] = {
2622 {0, "SETUP"},
2623 {1, "PSIS_SETUP"},
2624 {2, "PSiM_SETUP"},
2625 {3, "WT_CNAM_RESP"},
2626 {4, "WT_DSIG_CONN"},
2627 {5, "WT_XMIT_TONE"},
2628 {6, "INTERCOM"},
2629 {7, "WT_DSIG_DISC"},
2630 {8, "WT_DISC"},
2631 {9, "WT_STD_RTE"},
2632 {0, NULL}
2635 static const value_string subpm_sig_dest_types[] = {
2636 {0, "SETUP"},
2637 {1, "WT_RT_BREAK"},
2638 {2, "WT_PKT_CONN"},
2639 {3, "WT_DEST_CONN"},
2640 {4, "WT_DST_INTERCOM"},
2641 {5, "WT_DISC"},
2642 {0, NULL}
2645 static const value_string subpm_agl_splrg_types[] = {
2646 {0, "SET_UP"},
2647 {1, "REMIND_RING"},
2648 {2, "WT_H248_CTXID"},
2649 {0, NULL}
2652 static const value_string * subpm_name_tables[] = {
2653 subpm_orig_types,
2654 subpm_disc_time_types,
2655 subpm_revert_types,
2656 subpm_orig_dt_types,
2657 subpm_orig_ws_types,
2658 subpm_orig_dd_types,
2659 subpm_orig_id_types,
2660 subpm_no_test_types,
2661 subpm_dialing_types,
2662 subpm_rebuilt_types,
2663 subpm_acfw_reac_types,
2664 subpm_process_route_types,
2665 subpm_rte_line_types,
2666 subpm_mtce_types,
2667 subpm_aux_tone_types,
2668 subpm_noller_types,
2669 subpm_ittk_types,
2670 subpm_alm_send_types,
2671 subpm_ani_spill_types,
2672 subpm_trunk_term_types,
2673 subpm_line_term_types,
2674 subpm_non_cp_types,
2675 subpm_twc_types, /*index 22 : this is the same as at index 37 and index 38 */
2676 subpm_held_3wc_types, /*index 23 : this is the same as at index 39 */
2677 subpm_cwt_types,
2678 subpm_held_cwt_types,
2679 subpm_update_sc_types,
2680 subpm_orig_dt_types, /* index 27 : this is the same as at index 3 */
2681 subpm_acfw_retm_types,
2682 subpm_cfw_busy_types,
2683 subpm_cfw_types, /* index 30 */
2684 subpm_cfw_deact_types,
2685 subpm_rcfw_types,
2686 subpm_rotl_tp_types,
2687 subpm_chdt_types,
2688 subpm_chd_types,
2689 subpm_cheld_types,
2690 subpm_twc_types, /*index 37 : this is the same as at index 22 and index 38 */
2691 subpm_twc_types, /*index 38 : this is the same as at index 22 and index 37 */
2692 subpm_held_3wc_types, /*index 39 : this is the same as at index 23 */
2693 subpm_dig_ckt_test_types, /* default for dig_ckt */
2694 subpm_nail_types,
2695 subpm_dcbi_types,
2696 subpm_rag_confirm_types,
2697 subpm_rag_process_types,
2698 subpm_e800_types,
2699 subpm_cfra_types,
2700 subpm_mwi_deac_types,
2701 subpm_acar_cp_types,
2702 subpm_acar_rering_types,
2703 subpm_acar_ann_types, /* index 50 */
2704 subpm_sle_types,
2705 subpm_perform_cot_types,
2706 subpm_clid_types,
2707 subpm_xpm_types,
2708 subpm_mwil_types,
2709 subpm_ldbs_types,
2710 subpm_acr_types,
2711 subpm_call_park_types,
2712 subpm_camp_on_recall_types,
2713 subpm_cff_types, /* index 60 */
2714 subpm_ibert_types,
2715 subpm_ain_types,
2716 subpm_ain_sit_types,
2717 subpm_ain_rtg_types,
2718 subpm_nail_bcon_types,
2719 subpm_nail_dcon_types,
2720 subpm_qtrn_trvr_types,
2721 subpm_ekts_types,
2722 subpm_alt_types,
2723 subpm_calea_types, /* index 70 */
2724 subpm_sim_ring_types,
2725 subpm_lta_types,
2726 subpm_hgq_types,
2727 subpm_idle_types,
2728 subpm_sig_types,
2729 subpm_sig_dest_types,
2730 subpm_agl_splrg_types
2733 /* for pm field ...*/
2734 static const value_string c15_pm_types[] = {
2735 { 0, "ORIG" },
2736 { 1, "DSTM" },
2737 { 2, "RVRT" },
2738 { 3, "ORDT" },
2739 { 4, "ORWS" },
2740 { 5, "ORDD" },
2741 { 6, "ORID" },
2742 { 7, "#TST" },
2743 { 8, "DLNG" },
2744 { 9, "RBLT" },
2745 { 10, "CFWR" },
2746 { 11, "RTE" },
2747 { 12, "RLIN" },
2748 { 13, "MTCE" },
2749 { 14, "AUXT" },
2750 { 15, "NOLR" },
2751 { 16, "ITTK" },
2752 { 17, "ALSD" },
2753 { 18, "ANSP" },
2754 { 19, "TRNK" },
2755 { 20, "LINE" },
2756 { 21, "NOCP" },
2757 { 22, "3WC" },
2758 { 23, "3WCH" },
2759 { 24, "CWT" },
2760 { 25, "CWTH" },
2761 { 26, "UPSC" },
2762 { 27, "ORSD" },
2763 { 28, "CFRT" },
2764 { 29, "CFWB" },
2765 { 30, "CFW" },
2766 { 31, "CFWD" },
2767 { 32, "RCFW" },
2768 { 33, "ROTL" },
2769 { 34, "CHDT" },
2770 { 35, "CHD" },
2771 { 36, "CHLD" },
2772 { 37, "3WCH" },
2773 { 38, "3WCW" },
2774 { 39, "CSLT" },
2775 { 40, "DGTX" },
2776 { 41, "NAIL" },
2777 { 42, "DCBI" },
2778 { 43, "RGCF" },
2779 { 44, "RGCP" },
2780 { 45, "E800" },
2781 { 46, "CFRA" },
2782 { 47, "MWID" },
2783 { 48, "ACCP" },
2784 { 49, "ACRR" },
2785 { 50, "ACAN" },
2786 { 51, "SLE" },
2787 { 52, "PCOT" },
2788 { 53, "CLID" },
2789 { 54, "XPML" },
2790 { 55, "MWIL" },
2791 { 56, "LDBS" },
2792 { 57, "ACR" },
2793 { 58, "CPRK" },
2794 { 59, "CRCL" },
2795 { 60, "CFF" },
2796 { 61, "BERT" },
2797 { 62, "AIN" },
2798 { 63, "ASIT" },
2799 { 64, "ARTG" },
2800 { 65, "BNAL" },
2801 { 66, "DNAL" },
2802 { 67, "TRVR" },
2803 { 68, "EKTS" },
2804 { 69, "ALT" },
2805 { 70, "CALE" },
2806 { 71, "SRNG" },
2807 { 72, "LTA" },
2808 { 73, "HGQ" },
2809 { 74, "IDLE" },
2810 { 75, "SIG" },
2811 { 76, "SIGD" },
2812 { 77, "SPRG" },
2813 { 0, NULL }
2815 static value_string_ext c15_pm_types_ext = VALUE_STRING_EXT_INIT(c15_pm_types);
2817 static const value_string c15_dev_types[] = {
2818 { 0, "CR" },
2819 { 1, "SRCE" },
2820 { 2, "DEST" },
2821 { 3, "TS" },
2822 { 4, "RS" },
2823 { 5, "TD" },
2824 { 6, "RD" },
2825 { 7, "CLBF" },
2826 { 8, "TMP1" },
2827 { 9, "TMP2" },
2828 { 10, "PPS" },
2829 { 11, "PPD" },
2830 { 12, "BR1" },
2831 { 13, "BR2" },
2832 { 14, "BR3" },
2833 { 15, "BR4" },
2834 { 16, "BR5" },
2835 { 17, "BR6" },
2836 { 18, "ACFW" },
2837 { 19, "CATR" },
2838 { 20, "DATR" },
2839 { 21, "MR" },
2840 { 22, "TSMS" },
2841 { 23, "VFG" },
2842 { 24, "SFTR" },
2843 { 25, "ETOE" },
2844 { 26, "DST2" },
2845 { 27, "TD2" },
2846 { 28, "AINR" },
2847 { 29, "STRB" },
2848 { 30, "AXBF" },
2849 { 0, NULL }
2851 static value_string_ext c15_dev_types_ext = VALUE_STRING_EXT_INIT(c15_dev_types);
2852 static const value_string c15_event_types[] = {
2853 { 0, "DISC" },
2854 { 1, "CONN" },
2855 { 2, "DIGT" },
2856 { 3, "TO" },
2857 { 4, "RGFL" },
2858 { 5, "FLSH" },
2859 { 6, "WINK" },
2860 { 7, "NONE" },
2861 { 8, "COIN" },
2862 { 9, "ANI" },
2863 { 10, "OPLS" },
2864 { 11, "RSRC" },
2865 { 12, "PBLK" },
2866 { 13, "SOW" },
2867 { 14, "RGON" },
2868 { 15, "RGOF" },
2869 { 16, "LOW" },
2870 { 17, "LITTI" },
2871 { 18, "AUXT" },
2872 { 19, "NLRS" },
2873 { 20, "NLRE" },
2874 { 21, "ITTK" },
2875 { 22, "DSPL" },
2876 { 23, "MLWK" },
2877 { 24, "CONT" },
2878 { 25, "ROW" },
2879 { 26, "CPSC" },
2880 { 27, "PEPR" },
2881 { 28, "DST" },
2882 { 29, "PLSN" },
2883 { 30, "CHNL" },
2884 { 31, "HMPE" },
2885 { 32, "LTBT" },
2886 { 33, "MMB" },
2887 { 34, "FLTY" },
2888 { 35, "VAXS" },
2889 { 36, "MTCE" },
2890 { 37, "TSON" },
2891 { 38, "TSNO" },
2892 { 39, "TMAP" },
2893 { 40, "RMOV" },
2894 { 41, "CTU" },
2895 /* 42 unused */
2896 { 43, "COMP" },
2897 /* 44 unused */
2898 { 45, "TNPL" },
2899 { 46, "SCP" },
2900 { 47, "ACRT" },
2901 { 48, "CPST" },
2902 { 49, "ACM" },
2903 { 50, "ANM" },
2904 { 51, "BLO" },
2905 { 52, "CCRI" },
2906 { 53, "CCRO" },
2907 { 54, "COTP" },
2908 { 55, "COTF" },
2909 { 56, "COTT" },
2910 { 57, "CRA" },
2911 { 58, "CVR" },
2912 { 59, "EXM" },
2913 { 60, "IAM" },
2914 { 61, "LPA" },
2915 { 62, "REL" },
2916 { 63, "RES" },
2917 { 64, "RLC" },
2918 { 65, "RSC" },
2919 { 66, "SUS" },
2920 { 67, "UCIC" },
2921 { 68, "CLID" },
2922 { 69, "MONY" },
2923 { 70, "XPML" },
2924 { 71, "OVLT" },
2925 { 72, "SLET" },
2926 { 73, "CNAT" },
2927 { 74, "KEY" },
2928 { 75, "HOLD" },
2929 { 76, "RTRV" },
2930 { 77, "COT8" },
2931 { 78, "DATL" },
2932 { 79, "FKEY" },
2933 { 80, "ABRT" },
2934 { 81, "TCAP" },
2935 { 82, "SETP" },
2936 { 83, "FACT" },
2937 { 84, "PROC" },
2938 { 85, "ALRT" },
2939 { 86, "HDAK" },
2940 { 87, "HDRJ" },
2941 { 88, "KSAC" },
2942 { 89, "RTAK" },
2943 { 90, "RTRJ" },
2944 { 91, "STAT" },
2945 { 92, "ISFC" },
2946 { 93, "CPG" },
2947 { 94, "ALTW" },
2948 { 95, "ALTD" },
2949 { 96, "ALTN" },
2950 { 97, "ALTP" },
2951 { 98, "ALTQ" },
2952 { 99, "FACW" },
2953 { 100, "PROG" },
2954 { 101, "BRDG" },
2955 { 102, "AIU" },
2956 { 103, "FAC" },
2957 { 104, "SRNG" },
2958 { 105, "PCAV" },
2959 { 106, "CXID" },
2960 { 107, "INVT" },
2961 { 108, "REFR" },
2962 { 109, "SVND" },
2963 { 110, "TL1D" },
2964 { 111, "INDG" },
2965 { 112, "TL1M" },
2966 { 113, "INVR" },
2967 { 0, NULL}
2969 static value_string_ext c15_event_types_ext = VALUE_STRING_EXT_INIT(c15_event_types);
2971 #define C15_INC_GWE_NONE 0
2972 #define C15_INC_GWE_REPLY 1
2973 #define C15_INC_GWE_BC_PGI 2
2974 #define C15_INC_GWE_MGCP_DLCX 3
2975 #define C15_INC_GWE_H248_DIGIT 4
2976 #define C15_INC_GWE_VOIP_COT 5
2977 #define C15_INC_GWE_NOTIFY 6
2978 #define C15_INC_GWE_ADMN_UPDT_REC 7
2979 #define C15_INC_GWE_CL_SETUP 8
2980 #define C15_INC_GWE_PTRK_SETUP 9
2981 #define C15_INC_GWE_CL_PROG 10
2982 #define C15_INC_GWE_CL_ANS 11
2983 #define C15_INC_GWE_CL_REL 12
2984 #define C15_INC_GWE_NTWK_MOD 13
2985 #define C15_INC_GWE_RV_AVAIL 14
2986 #define C15_INC_GWE_CL_REDIR 15
2987 #define C15_INC_GWE_CL_REFER 16
2988 #define C15_INC_GWE_CHG_HDL 17
2989 #define C15_INC_GWE_SUBS_CHG_HDL 18
2990 #define C15_INC_GWE_INFO 19
2991 #define C15_INC_GWE_INV_REPL 20
2992 #define C15_INC_GWE_ADMN_DN 21
2993 #define C15_INC_GWE_SUA_REPLY 22
2994 #define C15_INC_GWE_SUA_HNDL 23
2995 #define C15_INC_GWE_SUA_TGH_STAT 24
2998 /* Dissector Table */
2999 static dissector_table_t c15ch_inc_gwe_dissector_table;
3001 /* Fields */
3002 static int hf_c15ch_inc_gwe;
3003 static int hf_c15ch_inc_gwe_ni;
3004 static int hf_c15ch_inc_gwe_tn;
3005 static int hf_c15ch_inc_gwe_ni_tn;
3006 static int hf_c15ch_inc_gwe_taskid;
3007 static int hf_c15ch_inc_gwe_fiatid_invalid;
3008 static int hf_c15ch_inc_gwe_fiatid_bc;
3009 static int hf_c15ch_inc_gwe_fiatid_mtce;
3010 static int hf_c15ch_inc_gwe_fiatid_om;
3011 static int hf_c15ch_inc_gwe_fiatid_h248;
3012 static int hf_c15ch_inc_gwe_fiatid_sua;
3013 static int hf_c15ch_inc_gwe_fiatid_mgcp;
3014 static int hf_c15ch_inc_gwe_fiatid_sip_notify;
3015 static int hf_c15ch_inc_gwe_fiatid_admn;
3016 static int hf_c15ch_inc_gwe_datatype;
3019 /* labels */
3022 static int * fiatid_table[] = {
3023 /* one entry for each Task type */
3024 &hf_c15ch_inc_gwe_fiatid_invalid,
3025 &hf_c15ch_inc_gwe_fiatid_bc,
3026 &hf_c15ch_inc_gwe_fiatid_mtce,
3027 &hf_c15ch_inc_gwe_fiatid_om,
3028 &hf_c15ch_inc_gwe_fiatid_h248,
3029 &hf_c15ch_inc_gwe_fiatid_sua,
3030 &hf_c15ch_inc_gwe_fiatid_mgcp,
3031 &hf_c15ch_inc_gwe_fiatid_sip_notify,
3032 &hf_c15ch_inc_gwe_fiatid_admn
3035 /*static const uint8_t FIRST_TASK_TYPE_INDEX = 0;*/
3036 static const uint8_t LAST_TASK_TYPE_INDEX = 8;
3039 static const value_string c15inc_gwe_task_types[] = {
3040 { 0, "GWE_TK_INVALID" },
3041 { 1, "GWE_TK_BC" },
3042 { 2, "GWE_TK_MTCE" },
3043 { 3, "GWE_TK_OM" },
3044 { 4, "GWE_TK_H248" },
3045 { 5, "GWE_TK_SUA" },
3046 { 6, "GWE_TK_MGCP" },
3047 { 7, "GWE_TK_SIP_NOTIFY" },
3048 { 8, "GWE_TK_ADMN" },
3049 { 0, NULL }
3052 #if 0
3053 static const uint8_t INVALID_TASK_TYPE_VAL;
3054 #endif
3056 static const value_string c15inc_gwe_bc_fiat_types[] = {
3057 { 0, "GW_FT_INVALID" },
3058 { 1, "GWE_FT_REPLY" },
3059 { 2, "GWE_FT_BC_PGI" },
3060 { 3, "GWE_FT_MGCP_DLCX" },
3061 { 0, NULL }
3064 static const value_string c15inc_gwe_mtce_fiat_types[] = {
3065 { 0, "GW_FT_INVALID" },
3066 { 1, "GWE_FT_REPLY" },
3067 { 2, "GWE_FT_GRACEFUL" },
3068 { 3, "GWE_FT_FORCED" },
3069 { 4, "GWE_FT_RESTART" },
3070 { 5, "GWE_FT_DISCNCT" },
3071 { 6, "GWE_FT_HANDOFF" },
3072 { 7, "GWE_FT_FAILOVER" },
3073 { 8, "GWE_FT_LN_DLCX" },
3074 { 9, "GWE_FT_LN_GRCFL" },
3075 { 10, "GWE_FT_LN_FRCD" },
3076 { 11, "GWE_FT_LN_RSTRT" },
3077 { 12, "GWE_FT_DS1_GRCFL" },
3078 { 13, "GWE_FT_DS1_FRCD" },
3079 { 14, "GWE_FT_DS1_RSTRT" },
3080 { 15, "GWE_FT_TRK_GRCFL" },
3081 { 16, "GWE_FT_TRK_FRCD" },
3082 { 17, "GWE_FT_TRK_RSTRT" },
3083 { 18, "GWE_FT_ALLDS1_GRCL" },
3084 { 19, "GWE_FT_ALLDS1_FRCD" },
3085 { 20, "GWE_FT_ALLDS1_GRCFL" },
3086 { 21, "GWE_FT_LN_DISCNCT" },
3087 { 0, NULL }
3090 static const value_string c15inc_gwe_om_fiat_types[] = {
3091 { 0, "GW_FT_INVALID" },
3092 { 1, "GWE_FT_REPLY" },
3093 { 0, NULL }
3096 static const value_string c15inc_gwe_h248_fiat_types[] = {
3097 { 0, "GW_FT_INVALID" },
3098 { 1, "GWE_FT_REPLY" },
3099 { 2, "GWE_FT_OFHK" },
3100 { 3, "GWE_FT_ONHK" },
3101 { 4, "GWE_FT_DIGIT" },
3102 { 5, "GWE_FT_FLASH" },
3103 { 6, "GWE_FT_COT" },
3104 { 7, "GWE_FT_FAX_NTFY" },
3105 { 8, "GWE_FT_MDM_NTFY" },
3106 { 0, NULL }
3109 static const value_string c15inc_gwe_mgcp_fiat_types[] = {
3110 { 0, "GW_FT_INVALID" },
3111 { 1, "GWE_FT_REPLY" },
3112 { 2, "GWE_FT_OFHK" },
3113 { 3, "GWE_FT_ONHK" },
3114 { 4, "GWE_FT_DIGIT" },
3115 { 5, "GWE_FT_FLASH" },
3116 { 6, "GWE_FT_COT" },
3117 { 7, "GWE_FT_FAX_NTFY" },
3118 { 8, "GWE_FT_MDM_NTFY" },
3119 { 0, NULL }
3122 static const value_string c15inc_gwe_sua_fiat_types[] = {
3123 { 0, "GW_FT_INVALID" },
3124 { 1, "GWE_FT_REPLY" },
3125 { 2, "GWE_FT_OFHK" },
3126 { 3, "GWE_FT_ONHK" },
3127 { 4, "GWE_FT_CL_SETUP" },
3128 { 5, "GWE_FT_CL_PROG" },
3129 { 6, "GWE_FT_CL_ANS" },
3130 { 7, "GWE_FT_CL_REL" },
3131 { 8, "GWE_FT_NTWK_MOD" },
3132 { 9, "GWE_FT_RV_AVAIL" },
3133 { 10, "GWE_FT_CL_REDIR" },
3134 { 11, "GWE_FT_CL_REFER" },
3135 { 12, "GWE_FT_PTRK_CL_SETUP" },
3136 { 13, "GWE_FT_CHG_HDL" },
3137 { 14, "GWE_FT_SUBS_CHG_HDL" },
3138 { 15, "GWE_FT_INFO" },
3139 { 16, "GWE_FT_INV_REPL" },
3140 { 17, "GWE_FT_TGH_STAT" },
3141 { 0, NULL }
3144 static const value_string c15inc_gwe_sip_notify_fiat_types[] = {
3145 { 0, "GWE_FT_MWI_NOTIFY" },
3146 { 1, "GWE_FT_REMINDER_NOTIFY" },
3147 { 2, "GWE_FT_REFER_NOTIFY" },
3148 { 0, NULL }
3151 static const value_string c15inc_gwe_admn_fiat_types[] = {
3152 { 0, "GWE_FT_INVALID" },
3153 { 1, "GWE_FT_ADMN_SUBS" },
3154 { 2, "GWE_FT_ADMN_UNSUBS" },
3155 { 3, "GWE_FT_ADMN_UPDT_REC_ADDR" },
3156 { 4, "GWE_FT_ADMN_UA_RESP" },
3157 { 0, NULL }
3160 static const value_string * fiat_name_tables[] = {
3161 /* correspond to members of c15inc_gwe_task_types */
3162 NULL, /* corresponds to c15inc_gwe_task_types[0] i.e. GWE_TK_INVALID */
3163 c15inc_gwe_bc_fiat_types,
3164 c15inc_gwe_mtce_fiat_types,
3165 c15inc_gwe_om_fiat_types,
3166 c15inc_gwe_h248_fiat_types,
3167 c15inc_gwe_sua_fiat_types,
3168 c15inc_gwe_mgcp_fiat_types,
3169 c15inc_gwe_sip_notify_fiat_types,
3170 c15inc_gwe_admn_fiat_types
3172 static const uint8_t FIRST_FIAT_NAME_TABLE_INDEX = 1; /* First valid index. */
3173 static const uint8_t LAST_FIAT_NAME_TABLE_INDEX = 8;
3175 static const value_string c15inc_gwe_types[] = {
3176 { C15_INC_GWE_NONE, "IN_DATA_NONE" },
3177 { C15_INC_GWE_REPLY, "REPLY" },
3178 { C15_INC_GWE_BC_PGI, "BC_PGI" },
3179 { C15_INC_GWE_MGCP_DLCX, "MGCP_DLCX" },
3180 { C15_INC_GWE_H248_DIGIT, "H248_DIGIT" },
3181 { C15_INC_GWE_VOIP_COT, "VOIP_COT" },
3182 { C15_INC_GWE_NOTIFY, "NOTIFY" },
3183 { C15_INC_GWE_ADMN_UPDT_REC, "ADMN_UPDT_REC" },
3184 { C15_INC_GWE_CL_SETUP, "CL_SETUP" },
3185 { C15_INC_GWE_PTRK_SETUP, "PTRK_SETUP" },
3186 { C15_INC_GWE_CL_PROG, "CL_PROG" },
3187 { C15_INC_GWE_CL_ANS, "CL_ANS" },
3188 { C15_INC_GWE_CL_REL, "CL_REL" },
3189 { C15_INC_GWE_NTWK_MOD, "NTWK_MOD" },
3190 { C15_INC_GWE_RV_AVAIL, "RV_AVAIL" },
3191 { C15_INC_GWE_CL_REDIR, "CL_REDIR" },
3192 { C15_INC_GWE_CL_REFER, "CL_REFER" },
3193 { C15_INC_GWE_CHG_HDL, "CHG_HDL" },
3194 { C15_INC_GWE_SUBS_CHG_HDL, "SUBS_CHG_HDL" },
3195 { C15_INC_GWE_INFO, "INFO" },
3196 { C15_INC_GWE_INV_REPL, "INV_REPL" },
3197 { C15_INC_GWE_ADMN_DN, "ADMN_DN" },
3198 { C15_INC_GWE_SUA_REPLY, "INC_SUA_REPLY" },
3199 { C15_INC_GWE_SUA_HNDL, "INC_SUA_HANDL" },
3200 { C15_INC_GWE_SUA_TGH_STAT, "INC_SUA_TGH_STAT" },
3201 { 0, NULL }
3203 static value_string_ext c15inc_gwe_types_ext = VALUE_STRING_EXT_INIT(c15inc_gwe_types);
3205 /* Protocol for all third-level Inc GWE dissection */
3206 static int proto_c15ch_third_level_inc_gwe;
3208 static int ett_c15ch_third_level_inc_gwe;
3209 static int ett_c15ch_third_level_inc_gwe_sub1;
3212 /* Fields */
3213 static int hf_c15ch_inc_gwe_admn_dn;
3214 static int hf_c15ch_inc_gwe_admn_dn_ip_gwe_sua_hndl;
3215 static int hf_c15ch_inc_gwe_admn_dn_ip_gwe_digits;
3218 /* Fields */
3219 static int hf_c15ch_inc_gwe_admn_updt;
3220 static int hf_c15ch_inc_gwe_admn_updt_ip_gwe_med_ni;
3221 static int hf_c15ch_inc_gwe_admn_updt_ip_gwe_med_tn;
3222 static int hf_c15ch_inc_gwe_admn_updt_ip_gwe_med_ni_tn;
3223 static int hf_c15ch_inc_gwe_admn_updt_ip_ns_iface;
3224 static int hf_c15ch_inc_gwe_admn_updt_ip_ns_terminal;
3225 static int hf_c15ch_inc_gwe_admn_updt_ip_gwe_new_rec_addr;
3227 /* Fields */
3228 static int hf_c15ch_inc_gwe_bc_pgi;
3229 static int hf_c15ch_inc_gwe_bc_pgi_pbc_conn_num;
3230 static int hf_c15ch_inc_gwe_bc_pgi_pbc_conn_type;
3231 static int hf_c15ch_inc_gwe_bc_pgi_pbc_msg_type;
3232 static int hf_c15ch_inc_gwe_bc_pgi_bc_mode;
3233 static int hf_c15ch_inc_gwe_bc_pgi_bc_pgi_sdp;
3234 static int hf_c15ch_inc_gwe_bc_pgi_bc_pgi_m_port;
3235 static int hf_c15ch_inc_gwe_bc_pgi_pbc_tst_flags;
3237 /* Field Labels */
3238 static const value_string c15_inc_gwe_bc_pgi_pbc_conn_types[] = {
3239 { 1, "TDM Internetworking" },
3240 { 2, "Media Portal" },
3241 { 3, "Conference" },
3242 { 4, "Optimized Conn" },
3243 { 0, NULL }
3246 /* Subtree */
3247 #if 0
3248 static int ett_c15ch_inc_gwe_bc_pgi;
3249 #endif
3251 /* Fields */
3252 static int hf_c15ch_inc_gwe_chg_hndl;
3253 static int hf_c15ch_inc_gwe_chg_hndl_ip_gwe_sua_hndl;
3254 static int hf_c15ch_inc_gwe_chg_hndl_ip_gwe_new_hndl;
3257 /* Fields */
3258 static int hf_c15ch_inc_gwe_cl_ans;
3259 static int hf_c15ch_inc_gwe_cl_ans_ip_gwe_sua_hndl;
3260 static int hf_c15ch_inc_gwe_cl_ans_ip_gwe_conn_num;
3261 static int hf_c15ch_inc_gwe_cl_ans_ip_cl_ans_lsdp;
3262 static int hf_c15ch_inc_gwe_cl_ans_ip_cl_ans_m_port;
3263 static int hf_c15ch_inc_gwe_cl_ans_encap_isup;
3265 /* Fields */
3266 static int hf_c15ch_inc_gwe_cl_prog;
3267 static int hf_c15ch_inc_gwe_cl_prog_ip_gwe_sua_hndl;
3268 static int hf_c15ch_inc_gwe_cl_prog_ip_gwe_conn_num;
3269 static int hf_c15ch_inc_gwe_cl_prog_ip_cl_prog_lsdp;
3270 static int hf_c15ch_inc_gwe_cl_prog_ip_cl_prog_m_port;
3271 static int hf_c15ch_inc_gwe_cl_prog_ip_gwe_stat_code;
3272 static int hf_c15ch_inc_gwe_cl_prog_encap_isup;
3274 /* Fields */
3275 static int hf_c15ch_inc_gwe_cl_redir;
3276 static int hf_c15ch_inc_gwe_cl_redir_ip_gwe_sua_hndl;
3277 static int hf_c15ch_inc_gwe_cl_redir_ip_gwe_conn_num;
3278 static int hf_c15ch_inc_gwe_cl_redir_ip_gwe_redir_digits;
3281 /* Fields */
3282 static int hf_c15ch_inc_gwe_cl_refer;
3283 static int hf_c15ch_inc_gwe_cl_refer_ip_gwe_sua_hndl;
3284 static int hf_c15ch_inc_gwe_cl_refer_ip_gwe_conn_num;
3285 static int hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_digits;
3286 static int hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_ni;
3287 static int hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_tn;
3288 static int hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_ni_tn;
3291 /* Fields */
3292 static int hf_c15ch_inc_gwe_cl_rel;
3293 static int hf_c15ch_inc_gwe_cl_rel_ip_gwe_sua_hndl;
3294 static int hf_c15ch_inc_gwe_cl_rel_ip_gwe_conn_num;
3295 static int hf_c15ch_inc_gwe_cl_rel_ip_gwe_stat_code;
3296 static int hf_c15ch_inc_gwe_cl_rel_encap_isup;
3300 /* Fields */
3301 static int hf_c15ch_inc_gwe_cl_setup;
3302 static int hf_c15ch_inc_gwe_cl_setup_ip_gwe_sua_hndl;
3303 static int hf_c15ch_inc_gwe_cl_setup_ip_gwe_cled_digits;
3304 static int hf_c15ch_inc_gwe_cl_setup_ip_cl_setup_lsdp;
3305 static int hf_c15ch_inc_gwe_cl_setup_ip_cl_setup_m_port;
3308 /* Fields */
3309 static int hf_c15ch_inc_gwe_h248_digit;
3310 static int hf_c15ch_inc_gwe_h248_digit_ip_gwe_digit;
3311 static int hf_c15ch_inc_gwe_h248_digit_ip_gwe_digit_method;
3314 /* Fields */
3315 static int hf_c15ch_inc_gwe_info;
3316 static int hf_c15ch_inc_gwe_info_ip_gwe_sua_hndl;
3317 static int hf_c15ch_inc_gwe_info_ip_gwe_info_type;
3318 static int hf_c15ch_inc_gwe_info_ip_gwe_info_digit;
3319 static int hf_c15ch_inc_gwe_info_encap_isup_msg_type;
3321 /* value_string arrays to label fields */
3322 /* These two encapsulated isup message types are the only valid ones for this field. */
3323 static const value_string c15ch_inc_gwe_info_encap_isup_msg_types[] = {
3324 { 13, "Suspend Message" },
3325 { 14, "Resume Message" },
3326 { 0, NULL }
3329 /* Fields */
3330 static int hf_c15ch_inc_gwe_inv_repl;
3331 static int hf_c15ch_inc_gwe_inv_repl_ip_gwe_sua_hndl;
3332 static int hf_c15ch_inc_gwe_inv_repl_ip_gwe_conn_num;
3333 static int hf_c15ch_inc_gwe_inv_repl_ip_inv_repl_rsdp_ip;
3334 static int hf_c15ch_inc_gwe_inv_repl_ip_inv_repl_rsdp_port;
3336 /* Fields */
3337 static int hf_c15ch_inc_gwe_mgcp_dlcx;
3338 static int hf_c15ch_inc_gwe_mgcp_dlcx_err_code;
3340 /* Fields */
3341 static int hf_c15ch_inc_gwe_notify;
3342 static int hf_c15ch_inc_gwe_notify_ip_gwe_mwi_stat;
3343 static int hf_c15ch_inc_gwe_notify_ip_gwe_digits;
3345 /* Fields */
3346 static int hf_c15ch_inc_gwe_ntwk_mod;
3347 static int hf_c15ch_inc_gwe_ntwk_mod_ip_gwe_sua_hndl;
3348 static int hf_c15ch_inc_gwe_ntwk_mod_ip_gwe_conn_num;
3349 static int hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_lsdp;
3350 static int hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_l_m_port;
3351 static int hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_rsdp;
3352 static int hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_r_m_port;
3353 static int hf_c15ch_inc_gwe_ntwk_mod_ip_gwe_stat_code;
3356 /* Fields */
3357 static int hf_c15ch_inc_gwe_ptrk_setup;
3358 static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_sua_hndl;
3359 static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_cled_digits;
3360 static int hf_c15ch_inc_gwe_ptrk_setup_ip_cl_setup_lsdp;
3361 static int hf_c15ch_inc_gwe_ptrk_setup_ip_cl_setup_m_port;
3362 static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clid_pri;
3363 static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clng_digits;
3364 static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clng_ton;
3365 static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clng_np;
3366 static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_alert_info;
3367 static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_redir_digits;
3368 static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_redir_ton;
3369 static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_redir_np;
3370 static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_ocn_digits;
3371 static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_chrg_digits;
3372 static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_chrg_noa;
3373 static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_chrg_npi;
3374 static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_npdi;
3375 static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_rn_digits;
3376 static int hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_cic_digits;
3377 static int hf_c15ch_inc_gwe_ptrk_setup_encap_isup;
3379 /* Fields */
3380 static int hf_c15ch_inc_gwe_reply;
3381 static int hf_c15ch_inc_gwe_reply_ip_gwe_msg_type;
3382 static int hf_c15ch_inc_gwe_reply_ip_gwe_stat_code;
3383 static int hf_c15ch_inc_gwe_reply_ip_gwe_conn_num;
3384 static int hf_c15ch_inc_gwe_reply_nw_mdcn_lsdp_ip;
3385 static int hf_c15ch_inc_gwe_reply_nw_mdcn_lsdp_port;
3386 static int hf_c15ch_inc_gwe_reply_nw_mdcn_rsdp_ip;
3387 static int hf_c15ch_inc_gwe_reply_nw_mdcn_rsdp_port;
3389 /* Fields */
3390 static int hf_c15ch_inc_gwe_rv_avail;
3391 static int hf_c15ch_inc_gwe_rv_avail_ip_gwe_sua_hndl;
3392 static int hf_c15ch_inc_gwe_rv_avail_ip_gwe_conn_num;
3393 static int hf_c15ch_inc_gwe_rv_avail_ip_gwe_info_len;
3395 /* Fields */
3396 static int hf_c15ch_inc_gwe_sua_hndl;
3397 static int hf_c15ch_inc_gwe_sua_hndl_ip_gwe_sua_hndl;
3399 /* Fields */
3400 static int hf_c15ch_inc_gwe_sua_reply;
3401 static int hf_c15ch_inc_gwe_sua_reply_ip_gwe_sua_hndl;
3402 static int hf_c15ch_inc_gwe_sua_reply_ip_gwe_msg_type;
3403 static int hf_c15ch_inc_gwe_sua_reply_ip_gwe_stat_code;
3404 static int hf_c15ch_inc_gwe_sua_reply_ip_gwe_conn_num;
3405 static int hf_c15ch_inc_gwe_sua_reply_nw_mdcn_lsdp_ip;
3406 static int hf_c15ch_inc_gwe_sua_reply_nw_mdcn_lsdp_port;
3407 static int hf_c15ch_inc_gwe_sua_reply_nw_mdcn_rsdp_ip;
3408 static int hf_c15ch_inc_gwe_sua_reply_nw_mdcn_rsdp_port;
3410 /* Fields */
3411 static int hf_c15ch_inc_gwe_subs_chg_hndl;
3412 static int hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_sua_hndl;
3413 static int hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_new_hndl;
3414 static int hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_med_ni;
3415 static int hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_med_tn;
3416 static int hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_med_ni_tn;
3418 /* Fields */
3419 static int hf_c15ch_inc_gwe_tgh_stat;
3420 static int hf_c15ch_inc_gwe_tgh_stat_ip_gwe_sua_hndl;
3421 static int hf_c15ch_inc_gwe_tgh_stat_ip_gwe_tgh_state;
3423 /* value_string arrays to label fields */
3425 static const value_string tgh_state_types[] = {
3426 { 0, "In-Service" },
3427 { 1, "Acquiring" },
3428 { 2, "Out-of-Service" },
3429 { 0, NULL }
3432 /* Fields */
3433 static int hf_c15ch_inc_gwe_voip_cot;
3434 static int hf_c15ch_inc_gwe_voip_cot_ip_gwe_pass_code;
3436 /* Field Labels */
3437 static const true_false_string c15_inc_gwe_voip_cot_ip_gwe_pass_code_types = {
3438 "Success", /*string for 1*/
3439 "Failure" /*string for 0*/
3442 #if 0
3443 /* Subtree */
3444 static int ett_c15ch_inc_gwe_voip_cot;
3445 #endif
3447 /* out gwe */
3449 #define C15_OUT_GWE_NONE 0
3450 #define C15_OUT_GWE_DIGIT_SCAN 1
3451 #define C15_OUT_GWE_CONN_NUM 2
3452 #define C15_OUT_GWE_MK_CONN 3
3453 #define C15_OUT_GWE_MD_CONN 4
3454 #define C15_OUT_GWE_CALL_ANS 5
3455 #define C15_OUT_GWE_CALL_SETUP 6
3456 #define C15_OUT_GWE_CALL_PROG 7
3457 #define C15_OUT_GWE_CALL_NOTIFY 8
3458 #define C15_OUT_GWE_CALL_REL 9
3459 #define C15_OUT_GWE_UPDT_NI_TN 10
3460 #define C15_OUT_GWE_PCM_DATA 11
3461 #define C15_OUT_GWE_BLF_DATA 12
3462 #define C15_OUT_GWE_COT 13
3463 #define C15_OUT_GWE_RING_LINE 14
3464 #define C15_OUT_GWE_AUDIT_CONN 15
3465 #define C15_OUT_GWE_SAC_SUB_VALID 16
3466 #define C15_OUT_GWE_SAC_NOTIFY 17
3467 #define C15_OUT_GWE_SAC_LIST_ENTRY 18
3468 #define C15_OUT_GWE_RV_SUBS_DATA 19
3469 #define C15_OUT_GWE_UPDT_REC_ADDR 20
3470 #define C15_OUT_GWE_DEL_SUBS_UA 21
3471 #define C15_OUT_GWE_LINE_SPRVSN 22
3472 #define C15_OUT_GWE_SIP_INFO 23
3473 #define C15_OUT_GWE_SIP_REFER 24
3475 static int ett_c15ch_third_level_out_gwe;
3476 static int ett_c15ch_third_level_out_gwe_sub1;
3477 static int ett_c15ch_third_level_out_gwe_sub2;
3479 static int proto_c15ch_third_level_out_gwe;
3481 /* Dissector Table */
3482 static dissector_table_t c15ch_out_gwe_dissector_table;
3484 /* Fields */
3485 static int hf_c15ch_out_gwe;
3486 static int hf_c15ch_out_gwe_ni;
3487 static int hf_c15ch_out_gwe_tn;
3488 static int hf_c15ch_out_gwe_ni_tn;
3489 static int hf_c15ch_out_gwe_op_gwe_msg_type;
3490 static int hf_c15ch_out_gwe_op_gwe_protocol;
3491 static int hf_c15ch_out_gwe_op_sua_hndl;
3492 static int hf_c15ch_out_gwe_gwe_data_type;
3494 #if 0
3495 /* Subtree */
3496 static int ett_c15ch_out_gwe;
3497 static int ett_c15ch_out_gwe_sub_ni_tn;
3498 #endif
3500 /* value labels for fields*/
3501 static const value_string c15_out_gwe_data_types[] = {
3502 { C15_OUT_GWE_NONE, "OUT_DATA_NONE" },
3503 { C15_OUT_GWE_DIGIT_SCAN, "DIGIT_SCAN" },
3504 { C15_OUT_GWE_CONN_NUM, "CONN_NUM" },
3505 { C15_OUT_GWE_MK_CONN, "MK_CONN" },
3506 { C15_OUT_GWE_MD_CONN, "MD_CONN" },
3507 { C15_OUT_GWE_CALL_ANS, "CALL_ANS" },
3508 { C15_OUT_GWE_CALL_SETUP, "CALL_SETUP" },
3509 { C15_OUT_GWE_CALL_PROG, "CALL_PROG" },
3510 { C15_OUT_GWE_CALL_NOTIFY, "CALL_NOTIFY" },
3511 { C15_OUT_GWE_CALL_REL, "CALL_REL" },
3512 { C15_OUT_GWE_UPDT_NI_TN, "UPDT_NI_TN" },
3513 { C15_OUT_GWE_PCM_DATA, "PCM_DATA" },
3514 { C15_OUT_GWE_BLF_DATA, "BLF_DATA" },
3515 { C15_OUT_GWE_COT, "GWE_OUT_COT" },
3516 { C15_OUT_GWE_RING_LINE, "RING_LINE" },
3517 { C15_OUT_GWE_AUDIT_CONN, "AUDIT_CONN" },
3518 { C15_OUT_GWE_SAC_SUB_VALID, "SAC_SUB_VALID" },
3519 { C15_OUT_GWE_SAC_NOTIFY, "SAC_NOTIFY" },
3520 { C15_OUT_GWE_SAC_LIST_ENTRY, "SAC_LIST_ENTRY" },
3521 { C15_OUT_GWE_RV_SUBS_DATA, "RV_SUBS_DATA" },
3522 { C15_OUT_GWE_UPDT_REC_ADDR, "UPDT_REC_ADDR" },
3523 { C15_OUT_GWE_DEL_SUBS_UA, "DEL_SUBS_UA" },
3524 { C15_OUT_GWE_LINE_SPRVSN, "LINE_SPRVSN" },
3525 { C15_OUT_GWE_SIP_INFO, "SIP_INFO" },
3526 { C15_OUT_GWE_SIP_REFER, "SIP_REFER" },
3527 { 0, NULL }
3529 static value_string_ext c15_out_gwe_data_types_ext = VALUE_STRING_EXT_INIT(c15_out_gwe_data_types);
3531 static const value_string c15_out_gwe_protocol_types[] = {
3532 { 0, "H248" },
3533 { 1, "SIP" },
3534 { 2, "MGCP" },
3535 { 3, "NCS" },
3536 { 0, NULL }
3539 static const value_string c15_out_gwe_msg_types[] = {
3540 { 0, "GWE_MSG_INVALID" },
3541 { 1, "GWE_DIGIT_SCAN" },
3542 { 2, "GWE_RING_LINE" },
3543 { 3, "GWE_LINE_SPRVSN" },
3544 { 4, "GWE_APPLY_TONE" },
3545 { 5, "GWE_REMOVE_TONE" },
3546 { 6, "GWE_PHYS_MK_CONN" },
3547 { 7, "GWE_PHYS_BK_CONN" },
3548 { 8, "GWE_PHYS_MV_CONN" },
3549 { 9, "GWE_PHYS_MD_CONN" },
3550 { 10, "GWE_NTWK_MK_CONN" },
3551 { 11, "GWE_NTWK_BK_CONN" },
3552 { 12, "GWE_NTWK_MD_CONN" },
3553 { 13, "GWE_NODE_SVC_CHG" },
3554 { 14, "GWE_LINE_SVC_CHG" },
3555 { 15, "GWE_SEND_RESP" },
3556 { 16, "GWE_AUDIT_LINE" },
3557 { 17, "GWE_MSG_PASSTHRU" },
3558 { 18, "GWE_CALL_ANS" },
3559 { 19, "GWE_CALL_SETUP" },
3560 { 20, "GWE_CALL_PROG" },
3561 { 21, "GWE_CALL_REL" },
3562 { 22, "GWE_GET_RV_INFO" },
3563 { 23, "GWE_PUT_RV_INFO" },
3564 { 24, "GWE_CALL_NOTIFY" },
3565 { 25, "GWE_UPDT_NI_TN" },
3566 { 26, "GWE_UA_INFO_XFER" },
3567 { 27, "GWE_PUT_PCM_DATA" },
3568 { 28, "GWE_REBUILD_OK" },
3569 { 29, "GWE_TRK_SVC_CHG" },
3570 { 30, "GWE_STRT_COT" },
3571 { 31, "GWE_STOP_COT" },
3572 { 32, "GWE_RECV_COT" },
3573 { 33, "GWE_SUBTRACT_ALL" },
3574 { 34, "GWE_AUDIT_TRK" },
3575 { 35, "GWE_AUDIT_GW" },
3576 { 36, "GWE_AUDIT_ROOT" },
3577 { 37, "GWE_WC_LINE_OFHK" },
3578 { 38, "GWE_AUD_ROOT_CXTS" },
3579 { 39, "GWE_SUB_ALL_CXT" },
3580 { 40, "GWE_SAC_SUB_VALID" },
3581 { 41, "GWE_SAC_NOTIFY" },
3582 { 42, "GWE_DEL_NONE" },
3583 { 43, "GWE_AUDIT_CONN" },
3584 { 44, "GWE_UPDATE_CALLINGID" },
3585 { 45, "GWE_PUT_BLF_DATA" },
3586 { 46, "GWE_PUT_RV_SUBS_DATA" },
3587 { 47, "GWE_GET_RV_SUBS_DATA" },
3588 { 48, "GWE_STORE_RV_SUBS_DATA" },
3589 { 49, "GWE_DEL_RV_SUBS_DATA" },
3590 { 50, "GWE_UPDT_REC_ADDR" },
3591 { 51, "GWE_MGCP_DLCX" },
3592 { 52, "GWE_DEL_SUBS_UA" },
3593 { 53, "GWE_SUBS_UA_QUE" },
3594 { 54, "GWE_SIP_INFO" },
3595 { 55, "GWE_SIP_REFER" },
3596 { 56, "GWE_UPDT_SDP" },
3597 { 0, NULL }
3599 static value_string_ext c15_out_gwe_msg_types_ext = VALUE_STRING_EXT_INIT(c15_out_gwe_msg_types);
3601 /* Fields */
3602 static int hf_c15ch_out_gwe_audit_conn;
3603 static int hf_c15ch_out_gwe_audit_conn_ni;
3604 static int hf_c15ch_out_gwe_audit_conn_tn;
3605 static int hf_c15ch_out_gwe_audit_conn_ni_tn;
3606 static int hf_c15ch_out_gwe_audit_conn_context;
3608 /* Fields */
3609 static int hf_c15ch_out_gwe_blf_data;
3610 static int hf_c15ch_out_gwe_blf_data_rb_ua_handle;
3611 static int hf_c15ch_out_gwe_blf_data_rb_type;
3612 static int hf_c15ch_out_gwe_blf_data_med_ni;
3613 static int hf_c15ch_out_gwe_blf_data_med_tn;
3614 static int hf_c15ch_out_gwe_blf_data_med_ni_tn;
3615 static int hf_c15ch_out_gwe_blf_data_rb_ni;
3616 static int hf_c15ch_out_gwe_blf_data_rb_tn;
3617 static int hf_c15ch_out_gwe_blf_data_rb_ni_tn;
3620 /* Fields */
3621 static int hf_c15ch_out_gwe_call_ans;
3622 static int hf_c15ch_out_gwe_call_ans_conn_num;
3623 static int hf_c15ch_out_gwe_call_ans_op_cl_ans_rsdp_ip;
3624 static int hf_c15ch_out_gwe_call_ans_op_cl_ans_rsdp_port;
3625 static int hf_c15ch_out_gwe_call_ans_encap_isup;
3627 /* Fields */
3628 static int hf_c15ch_out_gwe_call_notify;
3629 static int hf_c15ch_out_gwe_call_notify_op_gwe_mwi;
3630 static int hf_c15ch_out_gwe_call_notify_status_code;
3633 /* Fields */
3634 static int hf_c15ch_out_gwe_call_prog;
3635 static int hf_c15ch_out_gwe_call_prog_conn_num;
3636 static int hf_c15ch_out_gwe_call_prog_op_gwe_stat_code;
3637 static int hf_c15ch_out_gwe_call_prog_encap_isup;
3639 /* Fields */
3640 static int hf_c15ch_out_gwe_call_rel;
3641 static int hf_c15ch_out_gwe_call_rel_status_code;
3642 static int hf_c15ch_out_gwe_call_rel_encap_isup;
3644 /* Fields */
3645 static int hf_c15ch_out_gwe_call_setup;
3646 static int hf_c15ch_out_gwe_call_setup_conn_num;
3647 static int hf_c15ch_out_gwe_call_setup_op_cl_ans_rsdp_ip;
3648 static int hf_c15ch_out_gwe_call_setup_op_cl_ans_rsdp_port;
3650 static int hf_c15ch_out_gwe_call_setup_op_gwe_redir_digits;
3652 static int hf_c15ch_out_gwe_call_setup_op_gwe_rdir_ton;
3653 static int hf_c15ch_out_gwe_call_setup_op_gwe_rdir_np;
3655 static int hf_c15ch_out_gwe_call_setup_op_gwe_ocn_digits;
3657 static int hf_c15ch_out_gwe_call_setup_op_gwe_chrg_digits;
3659 static int hf_c15ch_out_gwe_call_setup_op_gwe_chrg_noa;
3660 static int hf_c15ch_out_gwe_call_setup_op_gwe_chrg_npi;
3662 static int hf_c15ch_out_gwe_call_setup_encap_isup;
3665 /* Fields */
3666 static int hf_c15ch_out_gwe_conn_num;
3667 static int hf_c15ch_out_gwe_conn_num_out_gwe_conn_num;
3670 /* Fields */
3671 static int hf_c15ch_out_gwe_del_subs_ua;
3672 static int hf_c15ch_out_gwe_del_subs_ua_op_sip_ua_hndl;
3675 /* Fields */
3676 static int hf_c15ch_out_gwe_digit_scan;
3677 static int hf_c15ch_out_gwe_digit_scan_voip_dgmp_override;
3678 static int hf_c15ch_out_gwe_digit_scan_actv_dgmp;
3679 static int hf_c15ch_out_gwe_digit_scan_op_gwe_digit_scan_tone;
3680 static int hf_c15ch_out_gwe_digit_scan_op_gwe_tone_type;
3681 static int hf_c15ch_out_gwe_digit_scan_op_gwe_tone_to;
3682 static int hf_c15ch_out_gwe_digit_scan_op_gwe_digit_flash;
3684 /* Fields */
3685 static int hf_c15ch_out_gwe_line_sprvsn;
3686 static int hf_c15ch_out_gwe_line_sprvsn_op_gwe_ofhk_event;
3687 static int hf_c15ch_out_gwe_line_sprvsn_op_gwe_onhk_event;
3688 static int hf_c15ch_out_gwe_line_sprvsn_op_gwe_flhk_event;
3691 /* Fields */
3692 static int hf_c15ch_out_gwe_md_conn;
3693 static int hf_c15ch_out_gwe_md_conn_conn_num;
3694 static int hf_c15ch_out_gwe_md_conn_status_code;
3695 static int hf_c15ch_out_gwe_md_conn_op_gwe_mode;
3697 /* Fields */
3698 static int hf_c15ch_out_gwe_mk_conn;
3699 static int hf_c15ch_out_gwe_mk_conn_conn_num;
3700 static int hf_c15ch_out_gwe_mk_conn_op_mk_conn_rsdp_ip;
3701 static int hf_c15ch_out_gwe_mk_conn_op_mk_conn_rsdp_port;
3703 /* Fields */
3704 static int hf_c15ch_out_gwe_out_cot;
3705 static int hf_c15ch_out_gwe_out_cot_ni;
3706 static int hf_c15ch_out_gwe_out_cot_tn;
3707 static int hf_c15ch_out_gwe_out_cot_ni_tn;
3710 /* Fields */
3711 static int hf_c15ch_out_gwe_pcm_data;
3712 static int hf_c15ch_out_gwe_pcm_data_rb_ua_handle_near;
3713 static int hf_c15ch_out_gwe_pcm_data_rb_ua_handle_far;
3715 /* Fields */
3716 static int hf_c15ch_out_gwe_ring_line;
3717 static int hf_c15ch_out_gwe_ring_line_op_gwe_display;
3718 static int hf_c15ch_out_gwe_ring_line_op_gwe_display_chars;
3721 /* Fields */
3722 static int hf_c15ch_out_gwe_rv_subs_data;
3723 static int hf_c15ch_out_gwe_rv_subs_data_rb_fe_ni;
3724 static int hf_c15ch_out_gwe_rv_subs_data_rb_fe_tn;
3725 static int hf_c15ch_out_gwe_rv_subs_data_rb_fe_ni_tn;
3728 /* Fields */
3729 static int hf_c15ch_out_gwe_sac_list_entry;
3730 static int hf_c15ch_out_gwe_sac_list_entry_op_gwe_med_uri;
3733 /* Fields */
3734 static int hf_c15ch_out_gwe_sac_notify;
3735 static int hf_c15ch_out_gwe_sac_notify_op_gwe_blf_state;
3736 static int hf_c15ch_out_gwe_sac_notify_op_gwe_subs_state;
3739 /* Fields */
3740 static int hf_c15ch_out_gwe_sac_sub_valid;
3741 static int hf_c15ch_out_gwe_sac_sub_valid_op_gwe_subs_valid;
3742 static int hf_c15ch_out_gwe_sac_sub_valid_op_gwe_num_list_items;
3745 /* Fields */
3746 static int hf_c15ch_out_gwe_sip_info;
3747 static int hf_c15ch_out_gwe_sip_info_op_gwe_sip_info;
3748 static int hf_c15ch_out_gwe_sip_info_op_gwe_sip_info_type;
3750 /* Fields */
3751 static int hf_c15ch_out_gwe_sip_refer;
3752 static int hf_c15ch_out_gwe_sip_refer_op_gwe_refer_ua_hndl;
3754 /* Fields */
3755 static int hf_c15ch_out_gwe_update_ni_tn;
3756 static int hf_c15ch_out_gwe_update_ni_tn_ni;
3757 static int hf_c15ch_out_gwe_update_ni_tn_tn;
3758 static int hf_c15ch_out_gwe_update_ni_tn_ni_tn;
3761 /* Fields */
3762 static int hf_c15ch_out_gwe_update_rec_addr;
3763 static int hf_c15ch_out_gwe_update_rec_addr_op_new_rec_addr;
3765 /* tone */
3767 #define C15_TONE_TONE_CONTROL 1
3768 #define C15_TONE_GIVE_TONE 2
3769 #define C15_TONE_OPLS 3
3770 #define C15_TONE_COT 4
3771 #define C15_TONE_CPM 5
3772 #define C15_TONE_RCVR 6
3773 #define C15_TONE_MADN_RING 7
3774 #define C15_TONE_TIMEOUT 8
3776 static const value_string tone_types[] = {
3777 { 0, "None" },
3778 { 1, "Rgbk" },
3779 { 2, "Ovflw" },
3780 { 3, "Dial" },
3781 { 4, "Howler/Rcvr Off Hook" },
3782 { 5, "Busy" },
3783 { 6, "Drop" },
3784 { 7, "COS_H" },
3785 { 8, "COS_L" },
3786 { 9, "Short Howl/Short Rcvr Off Hook" },
3787 { 10, "Con Rgbk" },
3788 { 11, "Low" },
3789 { 12, "High" },
3790 { 13, "Short Busy" },
3791 { 14, "Short Ovflw" },
3792 { 15, "Short Dial" },
3793 { 16, "Test 5 Sec" },
3794 { 17, "Test 9 Sec" },
3795 { 18, "Quiet" },
3796 { 19, "Quiet 1 Sec" },
3797 { 20, "Short Rgbk" },
3798 { 21, "Code2 Rgbk" },
3799 { 22, "Spec Dial" },
3800 { 23, "Confirmation" },
3801 { 24, "Call Waiting" },
3802 { 25, "1 Blip (Dial Speed Test)" },
3803 { 26, "2 Blips (Dial Speed Test)" },
3804 { 27, "3 Blips (Dial Speed Test)" },
3805 { 28, "ESB Ovflw" },
3806 { 29, "Src ROH" },
3807 { 30, "Con Busy" },
3808 { 31, "Con Rgbk" },
3809 { 32, "Short Rgbk" },
3810 { 33, "SWT" },
3811 { 34, "DWT" },
3812 { 35, "DROH" },
3813 { 36, "OPLSR" },
3814 { 37, "Barge-In" },
3815 { 38, "Stutter" },
3816 { 39, "CLID" },
3817 { 40, "NIC Dime A" },
3818 { 41, "QRT Doll A" },
3819 { 42, "NIC Dime B" },
3820 { 43, "QRT Doll B" },
3821 { 44, "DRCWT CAS" },
3822 { 45, "CWT CAS" },
3823 { 46, "Delay DT" },
3824 { 47, "P-Phone Norm Ring" },
3825 { 48, "P-Phone Distinct Ring" },
3826 { 49, "CWID QT" },
3827 { 50, "Teen CWT" },
3828 { 51, "TN2 CWT" },
3829 { 52, "SDR CWT" },
3830 { 53, "Teen CAS" },
3831 { 54, "TN2 CAS" },
3832 { 55, "SDR CAS" },
3833 { 56, "P-Phone Cont Ring (First Dnld Tone)" },
3834 { 57, "P-Phone DTMF Dig 1" },
3835 { 58, "P-Phone DTMF Dig 2" },
3836 { 59, "P-Phone DTMF Dig 3" },
3837 { 60, "P-Phone DTMF Dig 4" },
3838 { 61, "P-Phone DTMF Dig 5" },
3839 { 62, "P-Phone DTMF Dig 6" },
3840 { 63, "P-Phone DTMF Dig 7" },
3841 { 64, "P-Phone DTMF Dig 8" },
3842 { 65, "P-Phone DTMF Dig 9" },
3843 { 66, "P-Phone DTMF *" },
3844 { 67, "P-Phone DTMF Dig 0" },
3845 { 68, "P-Phone DTMF #" },
3846 { 69, "CAS" },
3847 { 70, "Cust (CTN1)" },
3848 { 71, "Cust (CTN2)" },
3849 { 72, "Cust (CTN3)" },
3850 { 73, "Cust (CTN4)" },
3851 { 74, "Cust (CTN5)" },
3852 { 0, NULL }
3854 static value_string_ext tone_types_ext = VALUE_STRING_EXT_INIT(tone_types);
3857 /* Dissector Table */
3858 static dissector_table_t c15ch_tone_dissector_table;
3860 /* Fields */
3861 static int hf_c15ch_tone;
3862 static int hf_c15ch_tone_msg_type;
3864 /* Subtree */
3865 static int ett_c15ch_third_level_tone; /* for third level dissection */
3866 static int ett_c15ch_third_level_tone_sub1;
3868 /* Protocol */
3869 static int proto_c15ch_third_level_tone;
3870 /* Fields */
3871 static int hf_c15ch_tone_cot_control;
3872 static int hf_c15ch_tone_cot_control_device_id;
3873 static int hf_c15ch_tone_cot_control_cot_task;
3874 static int hf_c15ch_tone_cot_control_dest_h248;
3875 static int hf_c15ch_tone_cot_control_srce_h248;
3876 static int hf_c15ch_tone_cot_control_svc_channel;
3878 /* value labels for fields*/
3879 static const value_string c15_tone_msg_types[] = {
3880 { C15_TONE_TONE_CONTROL, "TONE_CONTROL" },
3881 { C15_TONE_GIVE_TONE, "GIVE_TONE" },
3882 { C15_TONE_OPLS, "OPLS" },
3883 { C15_TONE_COT, "COT" },
3884 { C15_TONE_CPM, "CPM" },
3885 { C15_TONE_RCVR, "RCVR" },
3886 { C15_TONE_MADN_RING, "MADN_RING" },
3887 { C15_TONE_TIMEOUT, "TIMEOUT" },
3888 { 0, NULL }
3891 /* Fields */
3892 static int hf_c15ch_tone_cpm;
3893 static int hf_c15ch_tone_cpm_loop_type;
3894 static int hf_c15ch_tone_cpm_device_id;
3895 static int hf_c15ch_tone_cpm_tone_type;
3898 #if 0
3899 /* Subtree */
3900 static int ett_c15ch_tone_cpm;
3901 #endif
3903 /* labels for loop type */
3904 static const value_string loop_types[] = {
3905 { 0, "INVALID" },
3906 { 1, "PE" },
3907 { 2, "REM" },
3908 { 3, "DCM" },
3909 { 4, "SCM" },
3910 { 5, "LCM" },
3911 { 6, "SCI" },
3912 { 7, "SCU" },
3913 { 8, "VDS30" },
3914 { 9, "RSCS" },
3915 { 10, "DS1" },
3916 { 11, "SMA" },
3917 { 12, "HUB" },
3918 { 13, "PRI" },
3919 { 14, "PGI" },
3920 { 15, "GWE" },
3921 { 0, NULL }
3924 /* labels for device type */
3925 static const value_string device_types[] = {
3926 { 0, "CALL_REG" },
3927 { 1, "SRCE" },
3928 { 2, "DEST" },
3929 { 3, "TONE_SRCE" },
3930 { 4, "RCVR_SRCE" },
3931 { 5, "TONE_DEST" },
3932 { 6, "RCVR_DEST" },
3933 { 7, "CLNG_NUM_BUF" },
3934 { 8, "TEMP_ID1" },
3935 { 9, "TEMP_ID2" },
3936 { 10, "PEPR_SRCE" },
3937 { 11, "PEPR_DEST" },
3938 { 12, "BILLING_REG_1" },
3939 { 13, "BILLING_REG_2" },
3940 { 14, "BILLING_REG_3" },
3941 { 15, "BILLING_REG_4" },
3942 { 16, "BILLING_REG_5" },
3943 { 17, "BILLING_REG_6" },
3944 { 18, "ACFW_DIG_BUFF" },
3945 { 19, "CR_ATR" },
3946 { 20, "DR_ATR" },
3947 { 21, "DEV_MAIN_REG" },
3948 { 22, "TSMS_BUFFER" },
3949 { 23, "VFG_REG" },
3950 { 24, "SFTR_BUFF" },
3951 { 25, "END_TO_END_DIG" },
3952 { 26, "DEST2" },
3953 { 27, "TONE_DEST2" },
3954 { 28, "AIN_REGISTER" },
3955 { 29, "AIN_STR_BUFFER" },
3956 { 30, "AUX_BUFF" },
3957 { 0, NULL },
3959 static value_string_ext device_types_ext = VALUE_STRING_EXT_INIT(device_types);
3962 /* Fields */
3963 static int hf_c15ch_tone_give_tone;
3964 static int hf_c15ch_tone_give_tone_tone_id;
3965 static int hf_c15ch_tone_give_tone_tone_type;
3967 /* Fields */
3968 static int hf_c15ch_tone_madn_ring;
3969 static int hf_c15ch_tone_madn_ring_device_id;
3970 static int hf_c15ch_tone_madn_ring_tone_type;
3972 /* Fields */
3973 static int hf_c15ch_tone_opls;
3974 static int hf_c15ch_tone_opls_svce_from_ni;
3975 static int hf_c15ch_tone_opls_svce_to_ni;
3976 static int hf_c15ch_tone_opls_svce_to_ni_tn;
3977 static int hf_c15ch_tone_opls_svce_to_tn;
3978 static int hf_c15ch_tone_opls_digits;
3981 /* Fields */
3982 static int hf_c15ch_tone_rcvr;
3983 static int hf_c15ch_tone_rcvr_rcvr_id;
3984 static int hf_c15ch_tone_rcvr_conn_to_ni;
3985 static int hf_c15ch_tone_rcvr_conn_to_ni_tn;
3986 static int hf_c15ch_tone_rcvr_conn_to_tn;
3989 /* Fields */
3990 static int hf_c15ch_tone_timeout;
3991 static int hf_c15ch_tone_timeout_device_id;
3992 static int hf_c15ch_tone_timeout_service_pm;
3993 static int hf_c15ch_tone_timeout_service_ni;
3994 static int hf_c15ch_tone_timeout_service_ni_tn;
3995 static int hf_c15ch_tone_timeout_service_tn;
3996 static int hf_c15ch_tone_timeout_gw_provided;
3997 static int hf_c15ch_tone_timeout_gw_service_tone_type_or_from_ni;
4000 /* Fields */
4001 static int hf_c15ch_tone_tone_control;
4002 static int hf_c15ch_tone_tone_control_device_id;
4003 static int hf_c15ch_tone_tone_control_tone_type;
4005 /* New fields for Generic Messages, Correlated Messages,
4006 REG SUBS Report, System Alarm, and TTY Messages */
4008 static int hf_c15ch_c15_generic_msg_1;
4009 static int hf_c15ch_c15_generic_msg_2;
4010 static int hf_c15ch_c15_generic_msg_3;
4011 static int hf_c15ch_c15_generic_msg_4;
4012 static int hf_c15ch_c15_generic_msg_5;
4013 static int hf_c15ch_c15_correlate_msg;
4014 static int hf_c15ch_c15_generic_msg_parm_1;
4015 static int hf_c15ch_c15_generic_msg_parm_2;
4016 static int hf_c15ch_c15_generic_msg_parm_3;
4017 static int hf_c15ch_c15_generic_msg_parm_4;
4018 static int hf_c15ch_c15_generic_msg_parm_5;
4019 static int hf_c15ch_c15_generic_msg_data_len;
4020 static int hf_c15ch_c15_generic_msg_cr_ptr_val;
4021 static int hf_c15ch_c15_generic_msg_dr_ptr_val;
4022 static int hf_c15ch_c15_generic_msg_spr_int_1;
4023 static int hf_c15ch_c15_generic_msg_spr_int_2;
4024 static int hf_c15ch_c15_generic_msg_spr_uptr_1;
4025 static int hf_c15ch_c15_generic_msg_spr_uptr_2;
4026 static int hf_c15ch_c15_generic_msg_spr_pptr_1;
4027 static int hf_c15ch_c15_generic_msg_spr_pptr_2;
4028 static int hf_c15ch_c15_generic_msg_gen_msg_field_1;
4029 static int hf_c15ch_c15_generic_msg_gen_msg_field_2;
4030 static int hf_c15ch_c15_generic_msg_gen_msg_field_3;
4031 static int hf_c15ch_c15_generic_msg_gen_msg_field_4;
4032 static int hf_c15ch_c15_generic_msg_gen_msg_field_5;
4033 static int hf_c15ch_c15_generic_msg_gen_msg_string;
4034 static int hf_c15ch_c15_generic_msg_gen_data_large;
4035 static int hf_c15ch_c15_usage_id;
4036 static int hf_c15ch_c15_opt_parm_2;
4037 static int hf_c15ch_c15_opt_parm_3;
4038 static int hf_c15ch_c15_opt_parm_4;
4039 static int hf_c15ch_c15_opt_parm_5;
4040 static int hf_c15ch_c15_opt_parm_6_ptr;
4041 static int hf_c15ch_c15_opt_parm_7_ptr;
4042 static int hf_c15ch_c15_opt_parm_8_ptr;
4043 static int hf_c15ch_c15_opt_parm_9_ptr;
4044 static int hf_c15ch_c15_opt_string_parm_8;
4045 static int hf_c15ch_c15_opt_string_parm_9;
4046 static int hf_c15ch_c15_sip_reg_subs_report;
4047 static int hf_c15ch_c15_sys_alarm;
4048 static int hf_c15ch_c15_omm_tag_code;
4049 static int hf_c15ch_c15_alarm_class;
4050 static int hf_c15ch_c15_alarm_status;
4051 static int hf_c15ch_c15_site_name;
4052 static int hf_c15ch_c15_system;
4053 static int hf_c15ch_c15_tty_msg;
4054 static int hf_c15ch_c15_tty_int_parm_1;
4055 static int hf_c15ch_c15_tty_int_parm_2;
4056 static int hf_c15ch_c15_tty_int_parm_3;
4057 static int hf_c15ch_c15_tty_int_parm_4;
4058 static int hf_c15ch_c15_omm_msg_tag;
4059 static int hf_c15ch_c15_text_location;
4060 static int hf_c15ch_c15_tty_text_parm_1;
4061 static int hf_c15ch_c15_tty_text_parm_2;
4062 static int hf_c15ch_c15_tty_text_parm_3;
4063 static int hf_c15ch_c15_sip_report_type;
4064 static int hf_c15ch_c15_rate;
4065 static int hf_c15ch_c15_hour;
4066 static int hf_c15ch_c15_peak_min;
4067 static int hf_c15ch_c15_peak_sec;
4068 static int hf_c15ch_c15_auth_good;
4069 static int hf_c15ch_c15_auth_fail;
4070 static int hf_c15ch_c15_ovd084;
4071 static int hf_c15ch_c15_ovd086;
4072 static int hf_c15ch_c15_ovd088;
4073 static int hf_c15ch_c15_sip104;
4074 static int hf_c15ch_c15_reg_spare_1;
4075 static int hf_c15ch_c15_reg_spare_2;
4076 static int hf_c15ch_c15_reg_spare_3;
4077 static int hf_c15ch_c15_status_200_cnt;
4078 static int hf_c15ch_c15_status_202_cnt;
4079 static int hf_c15ch_c15_status_405_cnt;
4080 static int hf_c15ch_c15_subs_spare_1;
4081 static int hf_c15ch_c15_subs_spare_2;
4082 static int hf_c15ch_c15_subs_spare_3;
4083 static int hf_c15ch_c15_subs_spare_4;
4084 static int hf_c15ch_c15_subs_spare_5;
4085 static int hf_c15ch_c15_subs_spare_6;
4087 /* util functions */
4088 /* static void add_digits_string(int hf, tvbuff_t *tvb, proto_tree *tree,
4089 unsigned first_offset, unsigned num_digits, unsigned max_num_digits,
4090 unsigned offset_from_digits_to_consume )
4091 Function: Add a string of telephony digits, read from a tvbuff_t as a field to a
4092 given proto_tree.
4093 The number of digits in the string is typically given in a number before the
4094 start of the digits.
4095 Parameters:
4096 hf is the field number of the proto_tree corresponding to storage for the digits.
4097 tvb is the tvbuff_t containing the data to be added.
4098 tree is the proto_tree to be modified.
4099 first_offset is the offset from the beginning of the tvbuff_t where the telephony digits
4100 actually begin. If (first_offset >= tvb_length(tvb)) then the function does nothing.
4101 num_digits is the number of digits that were actually stored in the relevant part of tvb
4102 This value was probably determined by reading the field in the tvb just before where the
4103 string of digits begins. This will be used to actually allocate storage for the string.
4104 max_num_digits is the maximum number of digits that the protocol indicates the
4105 string of digits could be.
4107 max_num_digits is used in a call to proto_tree_add_string().
4109 offset_from_digits_to_consume: This number is subtracted from first_offset to give the location
4110 where the num_digits field was read e.g.
4111 offset_from_digits_to_consume == 1 if length is given in one byte just before digits
4112 offset_from_digits_to_consume == 4 if length is given in four bytes just before digits
4113 offset_from_digits_to_consume == 0 if no bytes before the digits are to be consumed
4114 Note that the offset_from_digits_to_consume method is used in order to properly indicate where
4115 the data came from that was used to determine the digits field.
4116 If (offset_from_digits_to_consume > first_offset), then the offset parameter is
4117 ignored and the display will indicate that the data used began at first_offset (equivalent
4118 to offset_from_digits_to_consume of 0).
4120 static void add_digits_string(int hf, tvbuff_t *tvb, proto_tree *tree,
4121 unsigned first_offset, unsigned num_digits, unsigned max_num_digits, unsigned offset_from_digits_to_consume )
4123 char * ch_buff = NULL;
4124 unsigned curr_offset;
4125 unsigned buff_index;
4126 unsigned curr_digit;
4127 const char ZERO_C = '0';
4128 if (max_num_digits < num_digits)
4130 return;
4133 if (first_offset < offset_from_digits_to_consume)
4135 offset_from_digits_to_consume = 0;
4137 ch_buff = (char *) wmem_alloc(wmem_packet_scope(), num_digits + 1); /*include space for terminating null*/
4138 for ( curr_offset = first_offset, buff_index = 0; buff_index < num_digits; curr_offset++, buff_index++ )
4140 curr_digit = tvb_get_uint8(tvb, curr_offset);
4142 if ( curr_digit < 10 )
4144 /* decimal digit case */
4145 ch_buff[ buff_index ] = ZERO_C + curr_digit;
4147 else
4149 switch( curr_digit )
4151 case(10):
4152 ch_buff[ buff_index ] = 'A';
4153 break;
4154 case(11):
4155 ch_buff[ buff_index ] = '*';
4156 break;
4157 case(12):
4158 ch_buff[ buff_index ] = '#';
4159 break;
4160 case(15):
4161 ch_buff[ buff_index ] = 'D';
4162 break;
4163 default: /* includes 13 and 14 */
4164 ch_buff[ buff_index ] = '?';
4168 ch_buff[ num_digits ] = '\0';
4169 /* we are consuming all data from (first_offset - offset_from_start_to_consume) to (first_offset + max_num_digits) */
4171 proto_tree_add_string(tree, hf,
4172 tvb, first_offset - offset_from_digits_to_consume, max_num_digits + 1, ch_buff);
4176 /* static void add_digits_string_info_col( tvbuff_t *tvb, unsigned first_offset,
4177 unsigned num_digits, packet_info *pinfo );
4178 Function: Append a string of telephony digits, read from a tvbuff_t, to the
4179 string displayed in COL_INFO, for pinfo.
4180 Parameters:
4181 tvb: tvbuff_t containing the digit data.
4182 first_offset: The offset from the beginning of the tvb where the digits begin.
4184 num_digits : number of digits to be read from tvb and put into the INFO column.
4188 pinfo : the packet_info structure containing the INFO column to be modified.
4190 static void add_digits_string_info_col(tvbuff_t *tvb,
4191 unsigned first_offset, unsigned num_digits,
4192 packet_info *pinfo)
4194 /* first_offset is where the list of digits actually begins in the packet */
4195 /* num_digits is the actual number of digits in the string */
4196 char * ch_buff;
4197 unsigned i;
4198 const char ZERO_C = '0';
4200 tvb_ensure_bytes_exist(tvb, first_offset, num_digits);
4201 ch_buff = (char *) wmem_alloc(pinfo->pool, num_digits + 1); /*include space for terminating null*/
4202 for ( i = 0; i < num_digits; i++ )
4204 unsigned curr_digit = tvb_get_uint8(tvb, i + first_offset);
4206 if ( curr_digit < 10 )
4208 /* decimal digit case */
4209 ch_buff[ i ] = ZERO_C + curr_digit;
4211 else
4213 switch( curr_digit )
4215 case(10):
4216 ch_buff[ i ] = 'A';
4217 break;
4218 case(11):
4219 ch_buff[ i ] = '*';
4220 break;
4221 case(12):
4222 ch_buff[ i ] = '#';
4223 break;
4224 case(15):
4225 ch_buff[ i ] = 'D';
4226 break;
4227 default: /* includes 13 and 14 */
4228 ch_buff[ i ] = '?';
4232 ch_buff[ num_digits ] = '\0';
4233 col_append_str(pinfo->cinfo, COL_INFO, ch_buff);
4236 /* static void add_string_field( proto_tree * p_tree, tvbuff_t * tvb,
4237 unsigned str_start, unsigned max_str_len,
4238 int hf_num )
4240 Function: add an ascii string, read from a tvbuff_t, as a field to a given proto_tree
4242 Parameters:
4243 p_tree is the proto_tree to be added to
4245 tvb is the tvbuff_t containing the data to be placed into a string field of p_tree
4247 str_start is the position in tvb where the string data begins.
4252 hf_num is the field number for p_tree which is used for the string
4254 static void add_string_field( proto_tree * p_tree, tvbuff_t * tvb,
4255 unsigned str_start, unsigned max_str_len,
4256 int hf_num )
4258 char *field_stringz;
4259 int len;
4261 if (max_str_len == 0)
4263 max_str_len = 1;
4267 field_stringz = (char * )tvb_get_stringz_enc(wmem_packet_scope(), tvb, str_start, &len, ENC_ASCII);
4268 if ( len <= 1 )
4270 proto_tree_add_string(p_tree, hf_num,
4271 tvb, str_start, max_str_len, " ");
4273 else
4275 if ( len > (int)max_str_len )
4277 ws_utf8_truncate(field_stringz, max_str_len - 1);
4279 proto_tree_add_string(p_tree, hf_num,
4280 tvb, str_start, max_str_len, field_stringz);
4284 /* dissect functions */
4285 /* heartbeat is its own distinct dissector with a distinct ethertype */
4286 static int dissect_c15ch_hbeat(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4288 proto_item * ti = NULL;
4289 proto_tree * c15ch_hbeat_tree = NULL;
4290 col_clear(pinfo->cinfo, COL_INFO);
4292 col_set_str(pinfo->cinfo, COL_PROTOCOL, "C15CH_HBEAT");
4294 if (tree)
4296 ti = proto_tree_add_item(tree, proto_c15ch_hbeat, tvb, 0, 62, ENC_NA);
4297 c15ch_hbeat_tree = proto_item_add_subtree(ti, ett_c15ch_hbeat);
4298 add_string_field( c15ch_hbeat_tree, tvb, 10, 25, hf_c15ch_hbeat_clli );
4299 proto_tree_add_item(c15ch_hbeat_tree, hf_c15ch_hbeat_primary, tvb, 35, 1, ENC_BIG_ENDIAN);
4300 proto_tree_add_item(c15ch_hbeat_tree, hf_c15ch_hbeat_secondary, tvb, 36, 1, ENC_BIG_ENDIAN);
4301 add_string_field( c15ch_hbeat_tree, tvb, 37, 25, hf_c15ch_hbeat_interface );
4304 /* Return the amount of data this dissector was able to dissect */
4305 return tvb_reported_length(tvb);
4308 /* base dissector : first one called for all non-heartbeat packets */
4309 /* These packets share a common ethertype */
4310 static int dissect_c15ch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4312 proto_item * ti = NULL;
4313 proto_tree * c15ch_tree = NULL;
4314 proto_tree * src_ni_tn_tree = NULL;
4315 proto_tree * dest_ni_tn_tree = NULL;
4316 uint32_t msg_type = 0;
4317 uint32_t packet_length = 0;
4318 uint32_t payload_length = 0;
4319 uint32_t retv = 0;
4321 tvbuff_t * next_tvb;
4322 col_clear(pinfo->cinfo, COL_INFO);
4324 msg_type = tvb_get_ntohl(tvb, 4);
4325 packet_length = tvb_get_ntohl(tvb, 8);
4326 if (packet_length < HEADER_SZ)
4328 return 0;
4330 payload_length = packet_length - HEADER_SZ;
4332 col_set_str(pinfo->cinfo, COL_PROTOCOL, C15_LABEL);
4334 col_add_fstr(pinfo->cinfo, COL_INFO, "Type: %s",
4335 val_to_str_ext(msg_type, &c15_msg_types_ext, "Unknown Type: %d") );
4337 if (tree) /* we are being asked for details... */
4339 ti = proto_tree_add_item(tree, proto_c15ch, tvb, 0, 36, ENC_NA);
4340 proto_item_append_text(ti, ", Type: %s",
4341 val_to_str_ext(msg_type, &c15_msg_types_ext, "Unknown Type: %d"));
4342 c15ch_tree = proto_item_add_subtree(ti, ett_c15ch);
4343 proto_tree_add_item(c15ch_tree, hf_c15ch_version, tvb, 0, 4, ENC_BIG_ENDIAN);
4344 proto_tree_add_item(c15ch_tree, hf_c15ch_msgtype, tvb, 4, 4, ENC_BIG_ENDIAN);
4345 proto_tree_add_item(c15ch_tree, hf_c15ch_size, tvb, 8, 4, ENC_BIG_ENDIAN);
4346 proto_tree_add_item(c15ch_tree, hf_c15ch_call_ref, tvb, 12, 4, ENC_BIG_ENDIAN);
4347 /* src ni/tn */
4348 ti = proto_tree_add_item(c15ch_tree, hf_c15ch_srce_ni_tn, tvb, 16, 8, ENC_BIG_ENDIAN);
4349 src_ni_tn_tree = proto_item_add_subtree (ti, ett_src_ni_tn);
4351 proto_tree_add_item(src_ni_tn_tree, hf_c15ch_srce_ni, tvb, 16, 4, ENC_BIG_ENDIAN);
4352 proto_tree_add_item(src_ni_tn_tree, hf_c15ch_srce_tn, tvb, 20, 4, ENC_BIG_ENDIAN);
4354 /* dest ni/tn */
4355 ti = proto_tree_add_item(c15ch_tree, hf_c15ch_dest_ni_tn, tvb, 24, 8, ENC_BIG_ENDIAN);
4357 dest_ni_tn_tree = proto_item_add_subtree (ti, ett_dest_ni_tn);
4359 proto_tree_add_item(dest_ni_tn_tree, hf_c15ch_dest_ni, tvb, 24, 4, ENC_BIG_ENDIAN);
4360 proto_tree_add_item(dest_ni_tn_tree, hf_c15ch_dest_tn, tvb, 28, 4, ENC_BIG_ENDIAN);
4362 proto_tree_add_item(c15ch_tree, hf_c15ch_realtime, tvb, 32, 4, ENC_BIG_ENDIAN);
4365 next_tvb = tvb_new_subset_length(tvb, HEADER_SZ, payload_length);
4366 /* call dissector to dissect the rest of the packet, based on msg_type */
4367 retv = HEADER_SZ + dissector_try_uint(c15ch_dissector_table, msg_type, next_tvb, pinfo, tree);
4368 return retv;
4372 static int dissect_c15ch_ama(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4374 proto_item * ti = NULL;
4375 proto_tree * c15ch_ama_tree = NULL;
4377 uint8_t call_type_val = 0;
4378 uint8_t dialed_num_digits;
4380 call_type_val = tvb_get_uint8(tvb, 40);
4381 col_append_fstr(pinfo->cinfo, COL_INFO, ", Call Type: %s",
4382 val_to_str_ext(call_type_val, &ama_call_types_ext, "Unknown %d"));
4383 if (tree)
4385 ti = proto_tree_add_item(tree, hf_c15ch_ama, tvb, 0, 41, ENC_NA);
4386 c15ch_ama_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
4387 dialed_num_digits = tvb_get_uint8(tvb, 11);
4388 proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_call_code,
4389 tvb, 0, 1, ENC_BIG_ENDIAN);
4390 add_digits_string(hf_c15ch_ama_orig_digits, tvb, c15ch_ama_tree,
4391 1, 10, 10, 0);
4392 proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_num_dialed_digits,
4393 tvb, 11, 1, ENC_BIG_ENDIAN);
4394 proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_br_prefix,
4395 tvb, 12, 1, ENC_BIG_ENDIAN);
4396 add_digits_string(hf_c15ch_ama_dialed_digits, tvb, c15ch_ama_tree,
4397 13, dialed_num_digits, 15, 0);
4398 proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_start_hour,
4399 tvb, 28, 1, ENC_BIG_ENDIAN);
4400 proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_start_minute,
4401 tvb, 29, 1, ENC_BIG_ENDIAN);
4402 proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_start_second,
4403 tvb, 30, 1, ENC_BIG_ENDIAN);
4404 proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_start_tenth_second,
4405 tvb, 31, 1, ENC_BIG_ENDIAN);
4406 proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_start_day,
4407 tvb, 32, 1, ENC_BIG_ENDIAN);
4408 proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_start_month,
4409 tvb, 33, 1, ENC_BIG_ENDIAN);
4410 proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_start_year,
4411 tvb, 34, 1, ENC_BIG_ENDIAN);
4412 proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_answered,
4413 tvb, 35, 1, ENC_BIG_ENDIAN);
4414 proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_elapsed_time,
4415 tvb, 36, 4, ENC_BIG_ENDIAN);
4416 proto_tree_add_item(c15ch_ama_tree, hf_c15ch_ama_call_type,
4417 tvb, 40, 1, ENC_BIG_ENDIAN);
4420 return tvb_reported_length(tvb);
4423 static int dissect_c15ch_c15_info(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
4425 proto_item * ti = NULL;
4426 proto_tree * c15ch_c15_info_tree = NULL;
4428 if (tree)
4430 ti = proto_tree_add_item( tree, hf_c15ch_c15_info, tvb, 0, 266, ENC_NA );
4431 c15ch_c15_info_tree = proto_item_add_subtree( ti, ett_c15ch_second_level );
4432 proto_tree_add_item( c15ch_c15_info_tree, hf_c15ch_c15_info_level, tvb, 0, 1, ENC_BIG_ENDIAN );
4433 add_string_field( c15ch_c15_info_tree, tvb, 1, 9, hf_c15ch_c15_info_code );
4434 add_string_field( c15ch_c15_info_tree, tvb, 10, 256, hf_c15ch_c15_info_text );
4437 return tvb_reported_length(tvb);
4440 static int dissect_c15ch_clli(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4442 proto_item * ti = NULL;
4443 proto_tree * c15ch_clli_tree = NULL;
4445 int clli_siz;
4446 unsigned char * clli_string;
4447 clli_string = tvb_get_stringz_enc(pinfo->pool, tvb, 0, &clli_siz, ENC_ASCII );
4448 if ( (clli_siz > 1) && (clli_siz <= 25 ) )
4450 col_clear(pinfo->cinfo, COL_INFO);
4451 col_append_fstr(pinfo->cinfo, COL_INFO, "Type: CLLI, %s", clli_string);
4453 if (tree)
4455 ti = proto_tree_add_item(tree, hf_c15ch_clli, tvb, 0, 60, ENC_NA);
4456 c15ch_clli_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
4457 add_string_field( c15ch_clli_tree, tvb, 0, 25, hf_c15ch_clli_clli_string );
4458 proto_tree_add_item(c15ch_clli_tree, hf_c15ch_clli_active_core, tvb, 25, 1, ENC_BIG_ENDIAN);
4459 proto_tree_add_item(c15ch_clli_tree, hf_c15ch_clli_inactive_core, tvb, 26, 1, ENC_BIG_ENDIAN);
4460 add_string_field( c15ch_clli_tree, tvb, 27, 25, hf_c15ch_clli_interface_string );
4461 proto_tree_add_item(c15ch_clli_tree, hf_c15ch_clli_seconds, tvb, 52, 4, ENC_BIG_ENDIAN);
4462 proto_tree_add_item(c15ch_clli_tree, hf_c15ch_clli_microseconds, tvb, 56, 4, ENC_BIG_ENDIAN);
4464 return tvb_reported_length(tvb);
4468 static int dissect_c15ch_conn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
4470 proto_item * ti = NULL;
4471 proto_tree * c15ch_conn_tree = NULL;
4472 proto_tree * srce_ni_tn_tree = NULL;
4473 proto_tree * dest_ni_tn_tree = NULL;
4475 if (tree)
4477 ti = proto_tree_add_item(tree, hf_c15ch_conn, tvb, 0, 53, ENC_NA);
4478 c15ch_conn_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
4479 proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_connfrom,
4480 tvb, 0, 4, ENC_BIG_ENDIAN);
4481 proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_conntype,
4482 tvb, 4, 4, ENC_BIG_ENDIAN);
4483 proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_perphtype,
4484 tvb, 8, 4, ENC_BIG_ENDIAN);
4485 proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_intra,
4486 tvb, 12, 1, ENC_BIG_ENDIAN);
4487 ti = proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_srcenitn,
4488 tvb, 13, 8, ENC_BIG_ENDIAN);
4489 srce_ni_tn_tree = proto_item_add_subtree(ti, ett_c15ch_second_level_sub1);
4490 proto_tree_add_item(srce_ni_tn_tree, hf_c15ch_conn_srceni,
4491 tvb, 13, 4, ENC_BIG_ENDIAN);
4492 proto_tree_add_item(srce_ni_tn_tree, hf_c15ch_conn_srcetn,
4493 tvb, 17, 4, ENC_BIG_ENDIAN);
4495 ti = proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_destnitn,
4496 tvb, 21, 8, ENC_BIG_ENDIAN);
4497 dest_ni_tn_tree = proto_item_add_subtree(ti, ett_c15ch_second_level_sub2);
4498 proto_tree_add_item(dest_ni_tn_tree, hf_c15ch_conn_destni,
4499 tvb, 21, 4, ENC_BIG_ENDIAN);
4500 proto_tree_add_item(dest_ni_tn_tree, hf_c15ch_conn_desttn,
4501 tvb, 25, 4, ENC_BIG_ENDIAN);
4502 proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_interlinknum,
4503 tvb, 29, 4, ENC_BIG_ENDIAN);
4504 proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_fromport,
4505 tvb, 33, 4, ENC_BIG_ENDIAN);
4506 proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_fromslot,
4507 tvb, 37, 4, ENC_BIG_ENDIAN);
4508 proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_toport,
4509 tvb, 41, 4, ENC_BIG_ENDIAN);
4510 proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_toslot,
4511 tvb, 45, 4, ENC_BIG_ENDIAN);
4512 proto_tree_add_item(c15ch_conn_tree, hf_c15ch_conn_hubcallid,
4513 tvb, 49, 4, ENC_BIG_ENDIAN);
4515 return tvb_reported_length(tvb);
4519 static int dissect_c15ch_cp_state_ch(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4522 proto_item * ti = NULL;
4523 proto_tree * c15ch_cp_state_ch_tree = NULL;
4525 uint32_t oldpm_value = 0;
4526 uint32_t newpm_value = 0;
4527 col_clear(pinfo->cinfo, COL_INFO);
4528 oldpm_value = tvb_get_ntohl(tvb, 0);
4529 newpm_value = tvb_get_ntohl(tvb, 4);
4531 col_add_fstr(pinfo->cinfo, COL_INFO, "Type: CP_STATE_CH, %s --> ",
4532 val_to_str_ext_const(oldpm_value, &c15_cp_state_pm_types_ext, "Unknown") );
4534 col_append_str(pinfo->cinfo, COL_INFO,
4535 val_to_str_ext_const(newpm_value, &c15_cp_state_pm_types_ext, "Unknown") );
4537 if (tree)
4539 ti = proto_tree_add_item(tree, hf_c15ch_cp_state_ch, tvb, 0, 40, ENC_NA);
4540 proto_item_append_text(ti, ", Old PM Type: %s",
4541 val_to_str_ext_const(oldpm_value, &c15_cp_state_pm_types_ext, "Unknown"));
4542 proto_item_append_text(ti, ", New PM Type: %s",
4543 val_to_str_ext_const(newpm_value, &c15_cp_state_pm_types_ext, "Unknown"));
4545 c15ch_cp_state_ch_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
4546 proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_oldpm,
4547 tvb, 0, 4, ENC_BIG_ENDIAN);
4548 proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_newpm,
4549 tvb, 4, 4, ENC_BIG_ENDIAN);
4550 proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_subpm,
4551 tvb, 8, 4, ENC_BIG_ENDIAN);
4552 proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_trkpm,
4553 tvb, 12, 4, ENC_BIG_ENDIAN);
4554 proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_slepm,
4555 tvb, 16, 4, ENC_BIG_ENDIAN);
4556 proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_flags,
4557 tvb, 20, 4, ENC_BIG_ENDIAN);
4558 proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_oldrtetype,
4559 tvb, 24, 4, ENC_BIG_ENDIAN);
4560 proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_oldrteidx,
4561 tvb, 28, 4, ENC_BIG_ENDIAN);
4562 proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_newrtetype,
4563 tvb, 32, 4, ENC_BIG_ENDIAN);
4564 proto_tree_add_item(c15ch_cp_state_ch_tree, hf_c15ch_cp_state_ch_newrteidx,
4565 tvb, 36, 4, ENC_BIG_ENDIAN);
4567 return tvb_reported_length(tvb);
4571 static int dissect_c15ch_dest_digits(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4573 proto_item * ti = NULL;
4574 proto_tree * c15ch_dest_digits_tree = NULL;
4576 uint32_t num_digits;
4577 num_digits = tvb_get_ntohl(tvb, 0);
4578 col_append_str(pinfo->cinfo, COL_INFO, ", ");
4579 add_digits_string_info_col( tvb, 4, num_digits, pinfo);
4580 if (tree)
4582 ti = proto_tree_add_item(tree, hf_c15ch_dest_digits, tvb, 0, 36, ENC_NA);
4583 c15ch_dest_digits_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
4584 add_digits_string(hf_c15ch_dest_digits_digits, tvb, c15ch_dest_digits_tree, 4, num_digits, 32, 4);
4586 return tvb_reported_length(tvb);
4590 static int dissect_c15ch_echo_cancel(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4592 proto_item * ti = NULL;
4593 proto_tree * c15ch_echo_cancel_tree = NULL;
4594 proto_tree * sub_ni_tn_tree = NULL;
4595 proto_tree * loc_tree = NULL;
4596 proto_tree * old_tree = NULL;
4597 proto_tree * new_tree = NULL;
4599 uint8_t valid_tone_id = 0;
4600 uint8_t old_l2_mode_val, new_l2_mode_val;
4601 enum C15_EC_CHANNEL_MODE old_channel_mode, new_channel_mode;
4602 enum C15_EC_ECAN_MODE old_ecan_mode, new_ecan_mode;
4603 uint32_t pm_val, pc_val, loop_val, slot_val;
4605 char * loc_string = NULL;
4608 old_l2_mode_val = tvb_get_uint8(tvb, 8);
4609 new_l2_mode_val = tvb_get_uint8(tvb, 9);
4611 switch( old_l2_mode_val )
4613 case C15_EC_L2_MODE_VOICE:
4615 old_channel_mode = C15_EC_VOICE_CHANNEL_MODE;
4616 old_ecan_mode = C15_EC_ON_ECAN_MODE;
4618 break;
4619 case C15_EC_L2_MODE_VBD:
4621 old_channel_mode = C15_EC_VBD_CHANNEL_MODE;
4622 old_ecan_mode = C15_EC_ON_ECAN_MODE;
4624 break;
4625 case C15_EC_L2_MODE_VBD_ECANOFF:
4627 old_channel_mode = C15_EC_VBD_CHANNEL_MODE;
4628 old_ecan_mode = C15_EC_OFF_ECAN_MODE;
4630 break;
4631 default:
4633 old_channel_mode = C15_EC_CHANNEL_MODE_INVALID;
4634 old_ecan_mode = C15_EC_ECAN_MODE_INVALID;
4636 break;
4639 switch( new_l2_mode_val )
4641 case C15_EC_L2_MODE_VOICE:
4643 new_channel_mode = C15_EC_VOICE_CHANNEL_MODE;
4644 new_ecan_mode = C15_EC_ON_ECAN_MODE;
4646 break;
4647 case C15_EC_L2_MODE_VBD:
4649 new_channel_mode = C15_EC_VBD_CHANNEL_MODE;
4650 new_ecan_mode = C15_EC_ON_ECAN_MODE;
4652 break;
4653 case C15_EC_L2_MODE_VBD_ECANOFF:
4655 new_channel_mode = C15_EC_VBD_CHANNEL_MODE;
4656 new_ecan_mode = C15_EC_OFF_ECAN_MODE;
4658 break;
4659 default:
4661 new_channel_mode = C15_EC_CHANNEL_MODE_INVALID;
4662 new_ecan_mode = C15_EC_ECAN_MODE_INVALID;
4664 break;
4667 if (tree)
4669 ti = proto_tree_add_item(tree, hf_c15ch_echo_cancel, tvb, 0, 31, ENC_NA);
4670 c15ch_echo_cancel_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
4671 ti = proto_tree_add_item(c15ch_echo_cancel_tree, hf_c15ch_echo_cancel_ni_tn,
4672 tvb, 0, 8, ENC_BIG_ENDIAN);
4673 sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
4674 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_echo_cancel_ni,
4675 tvb, 0, 4, ENC_BIG_ENDIAN);
4676 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_echo_cancel_tn,
4677 tvb, 4, 4, ENC_BIG_ENDIAN);
4678 valid_tone_id = tvb_get_uint8( tvb, 10 );
4679 if ( valid_tone_id )
4681 proto_tree_add_item(c15ch_echo_cancel_tree, hf_c15ch_echo_cancel_tone_id, tvb, 11, 4, ENC_BIG_ENDIAN);
4683 ti = proto_tree_add_item(c15ch_echo_cancel_tree, hf_c15ch_echo_cancel_old_l2_mode,
4684 tvb, 8, 1, ENC_BIG_ENDIAN);
4685 old_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub2);
4686 proto_tree_add_uint(old_tree, hf_c15ch_echo_cancel_old_channel_mode, tvb, 8, 1, (uint32_t)old_channel_mode);
4687 proto_tree_add_uint(old_tree, hf_c15ch_echo_cancel_old_ecan_mode, tvb, 8, 1, (uint32_t)old_ecan_mode);
4689 ti = proto_tree_add_item(c15ch_echo_cancel_tree, hf_c15ch_echo_cancel_new_l2_mode,
4690 tvb, 9, 1, ENC_BIG_ENDIAN);
4691 new_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub3);
4692 proto_tree_add_uint(new_tree, hf_c15ch_echo_cancel_new_channel_mode,
4693 tvb, 9, 1, (uint32_t)new_channel_mode);
4694 proto_tree_add_uint(new_tree, hf_c15ch_echo_cancel_new_ecan_mode,
4695 tvb, 9, 1, (uint32_t)new_ecan_mode);
4697 /* location : pm, pc, loop, slot */
4698 pm_val = tvb_get_ntohl( tvb, 15 );
4699 pc_val = tvb_get_ntohl( tvb, 19 );
4700 loop_val = tvb_get_ntohl( tvb, 23 );
4701 slot_val = tvb_get_ntohl( tvb, 27 );
4702 loc_string = wmem_strdup_printf(pinfo->pool, "%d %d %d %d", pm_val, pc_val, loop_val, slot_val );
4703 ti = proto_tree_add_string(c15ch_echo_cancel_tree, hf_c15ch_echo_cancel_location, tvb, 15, (27 + 4 - 15) + 1, loc_string);
4704 loc_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub4);
4706 proto_tree_add_item(loc_tree, hf_c15ch_echo_cancel_pm, tvb, 15, 4, ENC_BIG_ENDIAN);
4707 proto_tree_add_item(loc_tree, hf_c15ch_echo_cancel_pc, tvb, 19, 4, ENC_BIG_ENDIAN);
4708 proto_tree_add_item(loc_tree, hf_c15ch_echo_cancel_loop, tvb, 23, 4, ENC_BIG_ENDIAN);
4709 proto_tree_add_item(loc_tree, hf_c15ch_echo_cancel_slot, tvb, 27, 4, ENC_BIG_ENDIAN);
4712 return tvb_reported_length(tvb);
4715 static int dissect_c15ch_encap_isup(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4717 proto_item * ti = NULL;
4718 proto_tree * c15ch_encap_isup_tree = NULL;
4719 tvbuff_t * next_tvb;
4721 if (tree)
4724 ti = proto_tree_add_item(tree, hf_c15ch_encap_isup, tvb, 0, 273, ENC_NA);
4725 c15ch_encap_isup_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
4726 proto_tree_add_item(c15ch_encap_isup_tree, hf_c15ch_encap_isup_direction,
4727 tvb, 0, 1, ENC_BIG_ENDIAN);
4728 proto_tree_add_item(c15ch_encap_isup_tree, hf_c15ch_encap_isup_isup_msg_length,
4729 tvb, 1, 4, ENC_BIG_ENDIAN);
4731 /*length of ISUP portion == expected length == 268 */
4732 next_tvb = tvb_new_subset_length(tvb, 5, 268);
4733 call_dissector(general_isup_handle, next_tvb, pinfo, tree);
4736 col_set_str(pinfo->cinfo, COL_PROTOCOL, C15_LABEL);
4737 col_set_str(pinfo->cinfo, COL_INFO, "Type: ISUP");
4739 return tvb_reported_length(tvb);
4743 static int dissect_c15ch_isup(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4745 proto_item * ti = NULL;
4746 proto_tree * c15ch_isup_tree = NULL;
4747 proto_tree * c15ch_sub_hdr_tree = NULL;
4748 proto_tree * sub_ni_tn_tree = NULL;
4749 uint8_t msgtype_value = 0;
4750 tvbuff_t * next_tvb;
4752 msgtype_value = tvb_get_uint8(tvb, 1);
4754 col_clear(pinfo->cinfo, COL_INFO);
4755 col_append_fstr(pinfo->cinfo, COL_INFO, ", Msg Type: %s",
4756 val_to_str_ext_const(msgtype_value, &c15_isup_types_ext, "Unknown"));
4758 if (tree)
4761 ti = proto_tree_add_item(tree, hf_c15ch_isup, tvb, 0, 324, ENC_NA);
4762 proto_item_append_text(ti, ", Msg Type: %s",
4763 val_to_str_ext_const(msgtype_value, &c15_isup_types_ext, "Unknown"));
4764 c15ch_isup_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
4765 proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_direction,
4766 tvb, 0, 1, ENC_BIG_ENDIAN);
4767 proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_msgtype,
4768 tvb, 1, 1, ENC_BIG_ENDIAN);
4769 proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_cic,
4770 tvb, 2, 4, ENC_BIG_ENDIAN);
4771 proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_opcmember,
4772 tvb, 6, 1, ENC_BIG_ENDIAN);
4773 proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_opccluster,
4774 tvb, 7, 1, ENC_BIG_ENDIAN);
4775 proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_opcnetwork,
4776 tvb, 8, 1, ENC_BIG_ENDIAN);
4777 proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_dpcmember,
4778 tvb, 9, 1, ENC_BIG_ENDIAN);
4779 proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_dpccluster,
4780 tvb, 10, 1, ENC_BIG_ENDIAN);
4781 proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_dpcnetwork,
4782 tvb, 11, 1, ENC_BIG_ENDIAN);
4783 proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_level3index,
4784 tvb, 12, 1, ENC_BIG_ENDIAN);
4785 ti = proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_ni_tn,
4786 tvb, 13, 8, ENC_BIG_ENDIAN);
4787 sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
4788 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_isup_ni,
4789 tvb, 13, 4, ENC_BIG_ENDIAN);
4790 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_isup_tn,
4791 tvb, 17, 4, ENC_BIG_ENDIAN);
4793 proto_tree_add_item(c15ch_isup_tree, hf_c15ch_isup_iptime,
4794 tvb, 320, 4, ENC_BIG_ENDIAN);
4796 c15ch_sub_hdr_tree = proto_tree_add_subtree(c15ch_isup_tree,
4797 tvb, 21, 28, ett_c15ch_second_level_sub2, NULL, "Raw Header Data");
4798 proto_tree_add_item(c15ch_sub_hdr_tree, hf_c15ch_isup_c15hdr,
4799 tvb, 21, 18, ENC_NA);
4800 proto_tree_add_item(c15ch_sub_hdr_tree, hf_c15ch_isup_layer2hdr,
4801 tvb, 39, 2, ENC_NA);
4802 proto_tree_add_item(c15ch_sub_hdr_tree, hf_c15ch_isup_layer3hdr,
4803 tvb, 41, 8, ENC_NA);
4805 /*length of ISUP portion == expected length == 271 */
4806 next_tvb = tvb_new_subset_length(tvb, 49, 271);
4807 call_dissector(general_isup_handle, next_tvb, pinfo, tree);
4810 col_set_str(pinfo->cinfo, COL_PROTOCOL, C15_LABEL);
4811 col_clear(pinfo->cinfo, COL_INFO);
4812 col_add_fstr(pinfo->cinfo, COL_INFO, "Type: ISUP, Msg Type: %s",
4813 val_to_str_ext_const(msgtype_value, &c15_isup_types_ext, "Unknown Type") );
4815 return tvb_reported_length(tvb);
4818 static int dissect_c15ch_mkbrk(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
4820 proto_item * ti = NULL;
4821 proto_tree * c15ch_mkbrk_tree = NULL;
4823 if (tree)
4825 ti = proto_tree_add_item(tree, hf_c15ch_mkbrk, tvb, 0, 11, ENC_NA);
4826 c15ch_mkbrk_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
4827 proto_tree_add_item(c15ch_mkbrk_tree, hf_c15ch_mkbrk_makebreak,
4828 tvb, 0, 1, ENC_BIG_ENDIAN);
4829 proto_tree_add_item(c15ch_mkbrk_tree, hf_c15ch_mkbrk_nshlf,
4830 tvb, 1, 1, ENC_BIG_ENDIAN);
4831 proto_tree_add_item(c15ch_mkbrk_tree, hf_c15ch_mkbrk_stm,
4832 tvb, 2, 1, ENC_BIG_ENDIAN);
4833 proto_tree_add_item(c15ch_mkbrk_tree, hf_c15ch_mkbrk_caddr,
4834 tvb, 3, 4, ENC_BIG_ENDIAN);
4835 proto_tree_add_item(c15ch_mkbrk_tree, hf_c15ch_mkbrk_cdata,
4836 tvb, 7, 4, ENC_BIG_ENDIAN);
4838 return tvb_reported_length(tvb);
4842 static int dissect_c15ch_nitnxlate(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
4845 proto_item * ti = NULL;
4846 proto_tree * c15ch_nitnxlate_tree = NULL;
4847 proto_tree * sub_ni_tn_tree = NULL;
4848 proto_tree * concat_tree = NULL;
4849 unsigned char * site_string;
4850 unsigned char * subsite_string;
4851 char * equipname_string;
4852 wmem_strbuf_t * desc_string = wmem_strbuf_create(pinfo->pool);
4853 int str_start;
4854 int site_str_len, subsite_str_len, equipname_str_len;
4855 uint32_t gwtype_val;
4856 uint32_t frame_val, shelf_val, lsg_val, unit_val;
4857 uint32_t key_val;
4858 uint32_t tgnum_val;
4860 /* sitestring */
4861 str_start = 12;
4862 site_string = tvb_get_stringz_enc(pinfo->pool, tvb, str_start, &site_str_len, ENC_ASCII);
4864 /* subsitestring */
4865 str_start = 17;
4866 subsite_string = tvb_get_stringz_enc(pinfo->pool, tvb, str_start, &subsite_str_len, ENC_ASCII);
4868 /* equipname */
4869 str_start = 22;
4870 equipname_string = (char * )tvb_get_stringz_enc(pinfo->pool, tvb, str_start, &equipname_str_len, ENC_ASCII);
4872 frame_val = tvb_get_ntohl( tvb, 31 );
4873 shelf_val = tvb_get_ntohl( tvb, 35 );
4874 lsg_val = tvb_get_ntohl( tvb, 39 );
4875 unit_val = tvb_get_ntohl( tvb, 43 );
4876 key_val = tvb_get_ntohl( tvb, 47 );
4877 /* desc_string contains for site, subsite, equip, any of which may be null */
4878 /* don't want to print "NULL" or similar in the output string on any platform */
4879 if (site_str_len > 0)
4880 wmem_strbuf_append_printf(desc_string, "%s ", site_string);
4881 if (subsite_str_len > 0)
4882 wmem_strbuf_append_printf(desc_string, "%s ", subsite_string);
4883 if (equipname_str_len > 0)
4884 wmem_strbuf_append_printf(desc_string, "%s ", equipname_string);
4886 if ( key_val )
4888 wmem_strbuf_append_printf(desc_string, "%d %d %d %d %d",
4889 frame_val, shelf_val, lsg_val, unit_val, key_val );
4891 else
4893 if ( (g_strcmp0( "VLIN", equipname_string) == 0) ||
4894 (g_strcmp0( "PTRK", equipname_string) == 0) )
4896 wmem_strbuf_append_printf(desc_string, "%d", frame_val );
4898 else if ( (g_strcmp0( "GWE", equipname_string ) == 0) ||
4899 (g_strcmp0( "IDE", equipname_string ) == 0) )
4901 wmem_strbuf_append_printf(desc_string, "%d %d", frame_val, shelf_val );
4903 else
4905 wmem_strbuf_append_printf(desc_string, "%d %d %d %d", frame_val, shelf_val, lsg_val, unit_val);
4908 col_append_fstr(pinfo->cinfo, COL_INFO, ", %s", desc_string->str);
4909 if (tree)
4911 ti = proto_tree_add_item(tree, hf_c15ch_nitnxlate, tvb, 0, 190, ENC_NA);
4912 c15ch_nitnxlate_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
4914 ti = proto_tree_add_item(c15ch_nitnxlate_tree, hf_c15ch_nitnxlate_ni_tn, tvb, 0, 8, ENC_BIG_ENDIAN);
4915 sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
4916 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_nitnxlate_ni,
4917 tvb, 0, 4, ENC_BIG_ENDIAN);
4918 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_nitnxlate_tn,
4919 tvb, 4, 4, ENC_BIG_ENDIAN);
4920 /* equiptype */
4921 proto_tree_add_item(c15ch_nitnxlate_tree, hf_c15ch_nitnxlate_equiptype,
4922 tvb, 8, 4, ENC_BIG_ENDIAN);
4925 ti = proto_tree_add_string(c15ch_nitnxlate_tree, hf_c15ch_nitnxlate_concat_string, tvb, 12, 40 /*length*/,
4926 desc_string->str);
4927 concat_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub2);
4928 if ( site_str_len > 1 )
4930 str_start = 12;
4931 add_string_field( concat_tree, tvb, str_start, 5, hf_c15ch_nitnxlate_sitestring );
4933 if ( subsite_str_len > 1 )
4935 str_start = 17;
4936 add_string_field( concat_tree, tvb, str_start, 5, hf_c15ch_nitnxlate_subsitestring );
4938 if ( equipname_str_len > 1 )
4940 str_start = 22;
4941 add_string_field( concat_tree, tvb, str_start, 5, hf_c15ch_nitnxlate_equipname );
4943 if ( g_strcmp0( "GWE", equipname_string) == 0 )
4945 proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_gateway,
4946 tvb, 31, 4, ENC_BIG_ENDIAN);
4948 proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_line,
4949 tvb, 35, 4, ENC_BIG_ENDIAN);
4951 else
4952 if ( g_strcmp0( "IDE", equipname_string ) == 0 )
4954 proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_idt_rdt,
4955 tvb, 31, 4, ENC_BIG_ENDIAN);
4957 proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_line,
4958 tvb, 35, 4, ENC_BIG_ENDIAN);
4960 else
4961 if ( g_strcmp0( "VLIN", equipname_string ) == 0 )
4963 proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_line,
4964 tvb, 31, 4, ENC_BIG_ENDIAN);
4966 else
4967 if ( g_strcmp0( "PTRK", equipname_string ) == 0 )
4969 proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_ptrk,
4970 tvb, 31, 4, ENC_BIG_ENDIAN);
4972 else
4973 if ( (g_strcmp0( "LCE", equipname_string ) == 0) ||
4974 (g_strcmp0( "RSE", equipname_string ) == 0) ||
4975 (g_strcmp0( "RSC", equipname_string ) == 0) ||
4976 (g_strcmp0( "HUBE", equipname_string) == 0) )
4978 proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_bay,
4979 tvb, 31, 4, ENC_BIG_ENDIAN);
4980 proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_shelf,
4981 tvb, 35, 4, ENC_BIG_ENDIAN);
4982 proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_lsg,
4983 tvb, 39, 4, ENC_BIG_ENDIAN);
4984 proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_line,
4985 tvb, 43, 4, ENC_BIG_ENDIAN);
4986 if ( key_val )
4988 proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_key,
4989 tvb, 47, 4, ENC_BIG_ENDIAN);
4992 else
4993 if (equipname_str_len <= 1)
4995 proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_pm,
4996 tvb, 31, 4, ENC_BIG_ENDIAN);
4997 proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_pc_sts1,
4998 tvb, 35, 4, ENC_BIG_ENDIAN); /* either pc or sts1 */
4999 proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_port_vt15,
5000 tvb, 39, 4, ENC_BIG_ENDIAN); /* either port or vt15 */
5001 proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_channel,
5002 tvb, 43, 4, ENC_BIG_ENDIAN);
5004 else /* default case : label generically as parms */
5006 proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_parm_1,
5007 tvb, 31, 4, ENC_BIG_ENDIAN);
5009 proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_parm_2,
5010 tvb, 35, 4, ENC_BIG_ENDIAN);
5012 proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_parm_3,
5013 tvb, 39, 4, ENC_BIG_ENDIAN);
5014 proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_parm_4,
5015 tvb, 43, 4, ENC_BIG_ENDIAN);
5016 if ( key_val )
5018 proto_tree_add_item(concat_tree, hf_c15ch_nitnxlate_key,
5019 tvb, 47, 4, ENC_BIG_ENDIAN);
5022 /* gw type */
5023 proto_tree_add_item(c15ch_nitnxlate_tree, hf_c15ch_nitnxlate_gw_type,
5024 tvb, 27, 4, ENC_BIG_ENDIAN);
5025 /* user_tid */
5026 if ( g_strcmp0( "GWE", equipname_string ) == 0 )
5028 str_start = 51;
5029 add_string_field( c15ch_nitnxlate_tree, tvb, str_start, 65, hf_c15ch_nitnxlate_user_tid );
5031 /* host */
5032 str_start = 116;
5033 gwtype_val = tvb_get_ntohl( tvb, 27 );
5034 if (( gwtype_val == 3 ) ||
5035 ( gwtype_val == 5 ) )
5037 add_string_field(c15ch_nitnxlate_tree, tvb, str_start, 65, hf_c15ch_nitnxlate_host );
5038 /* moving MGCP_Line_ID here into this block as it is only valid for MGCP / NCS lines */
5039 add_string_field(c15ch_nitnxlate_tree, tvb, 185, 5, hf_c15ch_nitnxlate_mgcp_line_id);
5042 /* SIP Call-ID-64 */
5043 if (( gwtype_val == 2 ) || /* Output SIP Call-ID up to 64 characters if SIP_LN or */
5044 ( gwtype_val == 14 ) || /* SIP_LTG */
5045 ( gwtype_val == 15 ) ) /* SIP_TG */
5047 add_string_field(c15ch_nitnxlate_tree, tvb, str_start, 65, hf_c15ch_nitnxlate_sip_call_id_64 );
5048 /* Also placing this parameter as "host" for call correlation with external tools */
5049 add_string_field(c15ch_nitnxlate_tree, tvb, str_start, 65, hf_c15ch_nitnxlate_host );
5052 /* target group number */
5053 tgnum_val = tvb_get_ntohl( tvb, 181 );
5054 if ( tgnum_val )
5056 proto_tree_add_item(c15ch_nitnxlate_tree, hf_c15ch_nitnxlate_tg_num,
5057 tvb, 181, 4, ENC_BIG_ENDIAN);
5061 // add_string_field( c15ch_nitnxlate_tree, tvb, 185, 5, hf_c15ch_nitnxlate_mgcp_line_id);
5064 return tvb_reported_length(tvb);
5068 static int dissect_c15ch_ntwk_conn(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5070 proto_item * ti = NULL;
5071 proto_tree * c15ch_ntwk_conn_tree = NULL;
5072 proto_tree * sub_ni_tn_tree = NULL;
5073 proto_tree * old_loc_tree = NULL;
5074 proto_tree * new_loc_tree = NULL;
5076 uint8_t from_pm_val, from_pc_val, from_loop_val, from_slot_val;
5077 char * from_loc_string = NULL;
5079 uint8_t to_pm_val, to_pc_val, to_loop_val, to_slot_val;
5080 char * to_loc_string = NULL;
5082 uint8_t path_type_val = 0;
5083 uint8_t conn_type_val = 0;
5084 path_type_val = tvb_get_uint8(tvb, 0);
5085 conn_type_val = tvb_get_uint8(tvb, 1);
5086 col_append_fstr(pinfo->cinfo, COL_INFO, ", Path Type: %s",
5087 val_to_str(path_type_val, ett_c15ch_ntwk_conn_path_types, "Unknown %d") );
5088 col_append_fstr(pinfo->cinfo, COL_INFO, ", Conn Type: %s",
5089 val_to_str(conn_type_val, ett_c15ch_ntwk_conn_conn_types, "Unknown %d") );
5090 if (tree)
5092 int str_start;
5093 int max_str_len;
5094 ti = proto_tree_add_item(tree, hf_c15ch_ntwk_conn, tvb, 0, 39, ENC_NA);
5095 c15ch_ntwk_conn_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5097 /* misc. fields */
5098 proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_pathtype,
5099 tvb, 0, 1, ENC_BIG_ENDIAN);
5100 proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_conntype,
5101 tvb, 1, 1, ENC_BIG_ENDIAN);
5102 proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_fromoptimized,
5103 tvb, 2, 1, ENC_BIG_ENDIAN);
5105 /* fromsite */
5106 str_start = 3;
5107 max_str_len = 5;
5108 add_string_field( c15ch_ntwk_conn_tree, tvb, str_start, max_str_len, hf_c15ch_ntwk_conn_fromsite );
5110 /* old location and pm, pc, slot, loop*/
5111 from_pm_val = tvb_get_uint8( tvb, 8 );
5112 from_pc_val = tvb_get_uint8( tvb, 9 );
5113 from_loop_val = tvb_get_uint8( tvb, 10 );
5114 from_slot_val = tvb_get_uint8( tvb, 11 );
5115 from_loc_string = wmem_strdup_printf(pinfo->pool, "%d %d %d %d", from_pm_val, from_pc_val, from_loop_val, from_slot_val );
5116 ti = proto_tree_add_string(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_fromlocation, tvb, 8, (11 - 8) + 1,
5117 from_loc_string);
5118 old_loc_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
5119 proto_tree_add_item(old_loc_tree, hf_c15ch_ntwk_conn_frompm,
5120 tvb, 8, 1, ENC_BIG_ENDIAN);
5121 proto_tree_add_item(old_loc_tree, hf_c15ch_ntwk_conn_frompc,
5122 tvb, 9, 1, ENC_BIG_ENDIAN);
5123 proto_tree_add_item(old_loc_tree, hf_c15ch_ntwk_conn_fromloop,
5124 tvb, 10, 1, ENC_BIG_ENDIAN);
5125 proto_tree_add_item(old_loc_tree, hf_c15ch_ntwk_conn_fromslot,
5126 tvb, 11, 1, ENC_BIG_ENDIAN);
5128 /* misc. fields */
5129 proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_fromcnx,
5130 tvb, 12, 4, ENC_BIG_ENDIAN);
5132 ti = proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_fromntwknitn,
5133 tvb, 16, 8, ENC_BIG_ENDIAN);
5134 sub_ni_tn_tree = proto_item_add_subtree (ti,ett_c15ch_second_level_sub2);
5135 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_ntwk_conn_fromntwkni,
5136 tvb, 16, 4, ENC_BIG_ENDIAN);
5137 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_ntwk_conn_fromntwktn,
5138 tvb, 20, 4, ENC_BIG_ENDIAN);
5141 proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_mbshold,
5142 tvb, 24, 1, ENC_BIG_ENDIAN);
5143 proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_tooptimized,
5144 tvb, 25, 1, ENC_BIG_ENDIAN);
5145 /* tosite */
5146 str_start = 26;
5147 max_str_len = 5;
5148 add_string_field( c15ch_ntwk_conn_tree, tvb, str_start, max_str_len, hf_c15ch_ntwk_conn_tosite );
5150 /* new location and pm, pc, slot, loop*/
5151 to_pm_val = tvb_get_uint8( tvb, 31 );
5152 to_pc_val = tvb_get_uint8( tvb, 32 );
5153 to_loop_val = tvb_get_uint8( tvb, 33 );
5154 to_slot_val = tvb_get_uint8( tvb, 34 );
5155 to_loc_string = wmem_strdup_printf(pinfo->pool, "%d %d %d %d", to_pm_val, to_pc_val, to_loop_val, to_slot_val );
5156 ti = proto_tree_add_string(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_tolocation, tvb, 31, (34 - 31) + 1,
5157 to_loc_string);
5158 new_loc_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub3);
5159 proto_tree_add_item(new_loc_tree, hf_c15ch_ntwk_conn_topm,
5160 tvb, 31, 1, ENC_BIG_ENDIAN);
5161 proto_tree_add_item(new_loc_tree, hf_c15ch_ntwk_conn_topc,
5162 tvb, 32, 1, ENC_BIG_ENDIAN);
5163 proto_tree_add_item(new_loc_tree, hf_c15ch_ntwk_conn_toloop,
5164 tvb, 33, 1, ENC_BIG_ENDIAN);
5165 proto_tree_add_item(new_loc_tree, hf_c15ch_ntwk_conn_toslot,
5166 tvb, 34, 1, ENC_BIG_ENDIAN);
5167 proto_tree_add_item(c15ch_ntwk_conn_tree, hf_c15ch_ntwk_conn_tocnx,
5168 tvb, 35, 4, ENC_BIG_ENDIAN);
5170 return tvb_reported_length(tvb);
5174 static int dissect_c15ch_orig(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5176 proto_item * ti = NULL;
5177 proto_tree * c15ch_orig_tree = NULL;
5178 proto_tree * sub_ni_tn_tree = NULL;
5180 uint8_t num_dn_digits;
5181 uint8_t num_upn_digits;
5182 uint8_t num_rnp_digits;
5184 num_dn_digits = tvb_get_uint8(tvb, 12);
5186 col_append_str(pinfo->cinfo, COL_INFO, ", DN: ");
5187 add_digits_string_info_col( tvb, 13, num_dn_digits, pinfo);
5189 if (tree)
5191 ti = proto_tree_add_item(tree, hf_c15ch_orig, tvb, 0, 73, ENC_NA);
5192 c15ch_orig_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5193 num_upn_digits = tvb_get_uint8(tvb, 28);
5194 num_rnp_digits = tvb_get_uint8(tvb, 49);
5195 proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_tnblocktype,
5196 tvb, 0, 4, ENC_BIG_ENDIAN);
5198 ti = proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_ni_tn, tvb, 4, 8, ENC_BIG_ENDIAN);
5200 sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
5201 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_orig_ni,
5202 tvb, 4, 4, ENC_BIG_ENDIAN);
5203 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_orig_tn,
5204 tvb, 8, 4, ENC_BIG_ENDIAN);
5206 add_digits_string(hf_c15ch_orig_dndigits,tvb,c15ch_orig_tree, 13, num_dn_digits, 10, 1);
5208 proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_nidscrn,
5209 tvb, 23, 1, ENC_BIG_ENDIAN);
5210 proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_nidaddrtype,
5211 tvb, 24, 1, ENC_BIG_ENDIAN);
5212 proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_nidnmbrplan,
5213 tvb, 25, 1, ENC_BIG_ENDIAN);
5214 proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_nidprivind,
5215 tvb, 26, 1, ENC_BIG_ENDIAN);
5216 proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_upnsaved,
5217 tvb, 27, 1, ENC_BIG_ENDIAN);
5219 add_digits_string(hf_c15ch_orig_upndigits,tvb,c15ch_orig_tree, 29, num_upn_digits, 15, 1);
5221 proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_upnscrn,
5222 tvb, 44, 1, ENC_BIG_ENDIAN);
5223 proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_upnaddrtype,
5224 tvb, 45, 1, ENC_BIG_ENDIAN);
5225 proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_upnnmbrplan,
5226 tvb, 46, 1, ENC_BIG_ENDIAN);
5227 proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_upnprivind,
5228 tvb, 47, 1, ENC_BIG_ENDIAN);
5229 proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_rnpsaved,
5230 tvb, 48, 1, ENC_BIG_ENDIAN);
5232 add_digits_string(hf_c15ch_orig_rnpdigits,tvb,c15ch_orig_tree, 50, num_rnp_digits, 15, 1);
5234 proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_rnpscrn,
5235 tvb, 65, 1, ENC_BIG_ENDIAN);
5236 proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_rnpaddrtype,
5237 tvb, 66, 1, ENC_BIG_ENDIAN);
5238 proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_rnpnmbrplan,
5239 tvb, 67, 1, ENC_BIG_ENDIAN);
5240 proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_rnpprivind,
5241 tvb, 68, 1, ENC_BIG_ENDIAN);
5242 proto_tree_add_item(c15ch_orig_tree, hf_c15ch_orig_iptime,
5243 tvb, 69, 4, ENC_BIG_ENDIAN);
5246 return tvb_reported_length(tvb);
5250 static int dissect_c15ch_outgwebc(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
5252 proto_item * ti = NULL;
5253 proto_tree * c15ch_outgwebc_tree = NULL;
5254 proto_tree * sub_ni_tn_tree = NULL;
5257 if (tree)
5259 ti = proto_tree_add_item(tree, hf_c15ch_outgwebc, tvb, 0, 27, ENC_NA);
5260 c15ch_outgwebc_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5262 ti = proto_tree_add_item(c15ch_outgwebc_tree, hf_c15ch_outgwebc_pbc_conn_ni_tn,
5263 tvb, 0, 8, ENC_BIG_ENDIAN);
5264 sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
5266 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_outgwebc_pbc_conn_ni,
5267 tvb, 0, 4, ENC_BIG_ENDIAN);
5268 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_outgwebc_pbc_conn_tn,
5269 tvb, 4, 4, ENC_BIG_ENDIAN);
5271 proto_tree_add_item(c15ch_outgwebc_tree, hf_c15ch_outgwebc_pbc_conn_num,
5272 tvb, 8, 4, ENC_BIG_ENDIAN);
5273 proto_tree_add_item(c15ch_outgwebc_tree, hf_c15ch_outgwebc_pbc_conn_type,
5274 tvb, 12, 1, ENC_BIG_ENDIAN);
5275 proto_tree_add_item(c15ch_outgwebc_tree, hf_c15ch_outgwebc_bc_msg_type,
5276 tvb, 13, 1, ENC_BIG_ENDIAN);
5277 proto_tree_add_item(c15ch_outgwebc_tree, hf_c15ch_outgwebc_op_bc_sdp_ip,
5278 tvb, 14, 4, ENC_LITTLE_ENDIAN);
5279 proto_tree_add_item(c15ch_outgwebc_tree, hf_c15ch_outgwebc_op_bc_sdp_port,
5280 tvb, 18, 4, ENC_BIG_ENDIAN);
5281 proto_tree_add_item(c15ch_outgwebc_tree, hf_c15ch_outgwebc_pbc_mdrp_mode,
5282 tvb, 22, 1, ENC_BIG_ENDIAN);
5283 proto_tree_add_item(c15ch_outgwebc_tree, hf_c15ch_outgwebc_pbc_tst_flags,
5284 tvb, 23, 4, ENC_BIG_ENDIAN);
5286 return tvb_reported_length(tvb);
5290 static int dissect_c15ch_pathfind(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
5292 proto_item * ti = NULL;
5293 proto_tree * c15ch_pathfind_tree = NULL;
5294 proto_tree * fromgwe_ni_tn_tree = NULL;
5295 proto_tree * from_ni_tn_tree = NULL;
5296 proto_tree * togwe_ni_tn_tree = NULL;
5297 proto_tree * to_ni_tn_tree = NULL;
5298 int str_start;
5299 int max_str_len;
5301 if (tree)
5303 ti = proto_tree_add_item(tree, hf_c15ch_pathfind, tvb, 0, 73, ENC_NA);
5304 c15ch_pathfind_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5305 proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_vds30,
5306 tvb, 0, 1, ENC_BIG_ENDIAN);
5308 ti = proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_fromgwenitn, tvb, 1, 8, ENC_BIG_ENDIAN);
5309 fromgwe_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
5310 proto_tree_add_item(fromgwe_ni_tn_tree, hf_c15ch_pathfind_fromgweni,
5311 tvb, 1, 4, ENC_BIG_ENDIAN);
5312 proto_tree_add_item(fromgwe_ni_tn_tree, hf_c15ch_pathfind_fromgwetn,
5313 tvb, 5, 4, ENC_BIG_ENDIAN);
5315 proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_fromoptimized,
5316 tvb, 9, 1, ENC_BIG_ENDIAN);
5317 /* fromsite */
5318 str_start = 10;
5319 max_str_len = 5;
5320 add_string_field( c15ch_pathfind_tree, tvb, str_start, max_str_len, hf_c15ch_pathfind_fromsite );
5322 proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_frompm,
5323 tvb, 15, 1, ENC_BIG_ENDIAN);
5324 proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_frompc,
5325 tvb, 16, 1, ENC_BIG_ENDIAN);
5326 proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_fromloop,
5327 tvb, 17, 4, ENC_BIG_ENDIAN);
5328 proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_fromslot,
5329 tvb, 21, 4, ENC_BIG_ENDIAN);
5330 proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_fromcnx,
5331 tvb, 25, 4, ENC_BIG_ENDIAN);
5333 ti = proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_fromnitn,
5334 tvb, 29, 8, ENC_BIG_ENDIAN);
5335 from_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub2);
5336 proto_tree_add_item(from_ni_tn_tree, hf_c15ch_pathfind_fromni,
5337 tvb, 29, 4, ENC_BIG_ENDIAN);
5338 proto_tree_add_item(from_ni_tn_tree, hf_c15ch_pathfind_fromtn,
5339 tvb, 33, 4, ENC_BIG_ENDIAN);
5341 ti = proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_togwenitn,
5342 tvb, 37, 8, ENC_BIG_ENDIAN);
5343 togwe_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub3);
5344 proto_tree_add_item(togwe_ni_tn_tree, hf_c15ch_pathfind_togweni,
5345 tvb, 37, 4, ENC_BIG_ENDIAN);
5346 proto_tree_add_item(togwe_ni_tn_tree, hf_c15ch_pathfind_togwetn,
5347 tvb, 41, 4, ENC_BIG_ENDIAN);
5349 proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_tooptimized,
5350 tvb, 45, 1, ENC_BIG_ENDIAN);
5351 /* tosite */
5352 str_start = 46;
5353 max_str_len = 5;
5354 add_string_field( c15ch_pathfind_tree, tvb, str_start, max_str_len, hf_c15ch_pathfind_tosite );
5356 proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_topm,
5357 tvb, 51, 1, ENC_BIG_ENDIAN);
5358 proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_topc,
5359 tvb, 52, 1, ENC_BIG_ENDIAN);
5360 proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_toloop,
5361 tvb, 53, 4, ENC_BIG_ENDIAN);
5362 proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_toslot,
5363 tvb, 57, 4, ENC_BIG_ENDIAN);
5364 proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_tocnx,
5365 tvb, 61, 4, ENC_BIG_ENDIAN);
5367 ti = proto_tree_add_item(c15ch_pathfind_tree, hf_c15ch_pathfind_tonitn,
5368 tvb, 65, 8, ENC_BIG_ENDIAN);
5369 to_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub4);
5370 proto_tree_add_item(to_ni_tn_tree, hf_c15ch_pathfind_toni,
5371 tvb, 65, 4, ENC_BIG_ENDIAN);
5372 proto_tree_add_item(to_ni_tn_tree, hf_c15ch_pathfind_totn,
5373 tvb, 69, 4, ENC_BIG_ENDIAN);
5375 return tvb_reported_length(tvb);
5379 static int dissect_c15ch_pathidle(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
5381 proto_item * ti = NULL;
5382 proto_tree * c15ch_pathidle_tree = NULL;
5383 proto_tree * fromgwe_ni_tn_tree = NULL;
5384 proto_tree * from_ni_tn_tree = NULL;
5385 proto_tree * togwe_ni_tn_tree = NULL;
5386 proto_tree * to_ni_tn_tree = NULL;
5387 int str_start;
5388 int max_str_len;
5390 if (tree)
5392 ti = proto_tree_add_item(tree, hf_c15ch_pathidle, tvb, 0, 73, ENC_NA);
5393 c15ch_pathidle_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5394 proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_vds30,
5395 tvb, 0, 1, ENC_BIG_ENDIAN);
5396 proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_idlecode,
5397 tvb, 1, 1, ENC_BIG_ENDIAN);
5398 proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_pathtype,
5399 tvb, 2, 1, ENC_BIG_ENDIAN);
5401 ti = proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_fromgwenitn,
5402 tvb, 3, 8, ENC_BIG_ENDIAN);
5403 fromgwe_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
5404 proto_tree_add_item(fromgwe_ni_tn_tree, hf_c15ch_pathidle_fromgweni,
5405 tvb, 3, 4, ENC_BIG_ENDIAN);
5406 proto_tree_add_item(fromgwe_ni_tn_tree, hf_c15ch_pathidle_fromgwetn,
5407 tvb, 7, 4, ENC_BIG_ENDIAN);
5408 /* fromsite */
5409 str_start = 11;
5410 max_str_len = 5;
5411 add_string_field( c15ch_pathidle_tree, tvb, str_start, max_str_len, hf_c15ch_pathidle_fromsite );
5413 proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_frompm,
5414 tvb, 16, 1, ENC_BIG_ENDIAN);
5415 proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_frompc,
5416 tvb, 17, 1, ENC_BIG_ENDIAN);
5417 proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_fromloop,
5418 tvb, 18, 4, ENC_BIG_ENDIAN);
5419 proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_fromslot,
5420 tvb, 22, 4, ENC_BIG_ENDIAN);
5421 proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_fromcnx,
5422 tvb, 26, 4, ENC_BIG_ENDIAN);
5424 ti = proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_fromnitn,
5425 tvb, 30, 8, ENC_BIG_ENDIAN);
5426 from_ni_tn_tree = proto_item_add_subtree(ti, ett_c15ch_second_level_sub2);
5427 proto_tree_add_item(from_ni_tn_tree, hf_c15ch_pathidle_fromni,
5428 tvb, 30, 4, ENC_BIG_ENDIAN);
5429 proto_tree_add_item(from_ni_tn_tree, hf_c15ch_pathidle_fromtn,
5430 tvb, 34, 4, ENC_BIG_ENDIAN);
5432 ti = proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_togwenitn,
5433 tvb, 38, 8, ENC_BIG_ENDIAN);
5434 togwe_ni_tn_tree = proto_item_add_subtree(ti, ett_c15ch_second_level_sub3);
5435 proto_tree_add_item(togwe_ni_tn_tree, hf_c15ch_pathidle_togweni,
5436 tvb, 38, 4, ENC_BIG_ENDIAN);
5437 proto_tree_add_item(togwe_ni_tn_tree, hf_c15ch_pathidle_togwetn,
5438 tvb, 42, 4, ENC_BIG_ENDIAN);
5439 /* tosite */
5440 str_start = 46;
5441 max_str_len = 5;
5442 add_string_field( c15ch_pathidle_tree, tvb, str_start, max_str_len, hf_c15ch_pathidle_tosite );
5444 proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_topm,
5445 tvb, 51, 1, ENC_BIG_ENDIAN);
5446 proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_topc,
5447 tvb, 52, 1, ENC_BIG_ENDIAN);
5448 proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_toloop,
5449 tvb, 53, 4, ENC_BIG_ENDIAN);
5450 proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_toslot,
5451 tvb, 57, 4, ENC_BIG_ENDIAN);
5452 proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_tocnx,
5453 tvb, 61, 4, ENC_BIG_ENDIAN);
5455 ti = proto_tree_add_item(c15ch_pathidle_tree, hf_c15ch_pathidle_tonitn, tvb, 65, 8, ENC_BIG_ENDIAN);
5456 to_ni_tn_tree = proto_item_add_subtree(ti, ett_c15ch_second_level_sub4);
5457 proto_tree_add_item(to_ni_tn_tree, hf_c15ch_pathidle_toni,
5458 tvb, 65, 4, ENC_BIG_ENDIAN);
5459 proto_tree_add_item(to_ni_tn_tree, hf_c15ch_pathidle_totn,
5460 tvb, 69, 4, ENC_BIG_ENDIAN);
5462 return tvb_reported_length(tvb);
5466 static int dissect_c15ch_q931(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5468 proto_item * ti = NULL;
5469 proto_tree * c15ch_q931_tree = NULL;
5470 proto_tree * sub_ni_tn_tree = NULL;
5471 uint32_t q931_msg_len;
5472 uint8_t direction;
5473 tvbuff_t * next_tvb;
5474 uint8_t bytes_to_skip;
5476 direction = tvb_get_uint8(tvb, 0);
5478 if (direction > 1)
5480 bytes_to_skip = 0; /* signifies invalid direction: q931 dissector will not be called */
5482 else
5483 if ( ! direction )
5485 /* direction == 0 */
5486 bytes_to_skip = 13;
5488 else
5490 /* direction == 1 */
5491 bytes_to_skip = 10;
5495 if (tree)
5498 ti = proto_tree_add_item(tree, hf_c15ch_q931, tvb, 0, 13, ENC_NA);
5499 c15ch_q931_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5500 proto_tree_add_item(c15ch_q931_tree, hf_c15ch_q931_direction,
5501 tvb, 0, 1, ENC_BIG_ENDIAN);
5503 q931_msg_len = tvb_get_ntohl(tvb, 9);
5505 ti = proto_tree_add_item(c15ch_q931_tree, hf_c15ch_q931_ni_tn,
5506 tvb, 1, 8, ENC_BIG_ENDIAN);
5507 sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
5508 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_q931_ni,
5509 tvb, 1, 4, ENC_BIG_ENDIAN);
5510 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_q931_tn,
5511 tvb, 5, 4, ENC_BIG_ENDIAN);
5513 proto_tree_add_item(c15ch_q931_tree, hf_c15ch_q931_msglength,
5514 tvb, 9, 4, ENC_BIG_ENDIAN);
5515 if (q931_msg_len && bytes_to_skip)
5517 next_tvb = tvb_new_subset_length(tvb, 13 + bytes_to_skip, q931_msg_len - bytes_to_skip);
5518 call_dissector(general_q931_handle, next_tvb, pinfo, tree);
5522 col_set_str(pinfo->cinfo, COL_PROTOCOL, C15_LABEL);
5523 col_clear(pinfo->cinfo, COL_INFO);
5524 col_add_fstr(pinfo->cinfo, COL_INFO, "Type: Q931, Direction: %s",
5525 val_to_str(direction, c15ch_q931_direction_types, "Unknown Direction Subtype: %d") );
5527 return tvb_reported_length(tvb);
5531 static int dissect_c15ch_qos(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5533 proto_item * ti = NULL;
5534 proto_tree * c15ch_qos_tree = NULL;
5535 proto_tree * sub_ni_tn_tree = NULL;
5537 uint32_t year_val = (uint32_t)0;
5538 float mos = (float)0.0;
5540 mos = tvb_get_ntohl(tvb, 72) / (float) (100.0);
5541 col_append_fstr(pinfo->cinfo, COL_INFO, ", MOS: %.2f", mos);
5542 if (tree)
5544 ti = proto_tree_add_item(tree, hf_c15ch_qos, tvb, 0, 100, ENC_NA);
5545 c15ch_qos_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5547 ti = proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_ni_tn, tvb, 0, 8, ENC_BIG_ENDIAN);
5549 sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
5550 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_qos_ni,
5551 tvb, 0, 4, ENC_BIG_ENDIAN);
5552 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_qos_tn,
5553 tvb, 4, 4, ENC_BIG_ENDIAN);
5555 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_rtcp_call_id,
5556 tvb, 8, 4, ENC_BIG_ENDIAN);
5557 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_register_type,
5558 tvb, 12, 4, ENC_BIG_ENDIAN);
5559 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_tg_num,
5560 tvb, 16, 4, ENC_BIG_ENDIAN);
5561 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_trk_type,
5562 tvb, 20, 4, ENC_BIG_ENDIAN);
5563 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_status,
5564 tvb, 24, 4, ENC_BIG_ENDIAN);
5565 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_codec,
5566 tvb, 28, 4, ENC_BIG_ENDIAN);
5567 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_given_ip,
5568 tvb, 32, 4, ENC_BIG_ENDIAN);
5569 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_real_ip,
5570 tvb, 36, 4, ENC_BIG_ENDIAN);
5571 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_local_ip,
5572 tvb, 40, 4, ENC_BIG_ENDIAN);
5573 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_tx_pkts,
5574 tvb, 44, 4, ENC_BIG_ENDIAN);
5575 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_lost_pkts,
5576 tvb, 48, 4, ENC_BIG_ENDIAN);
5577 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_lost_pct,
5578 tvb, 52, 4, ENC_BIG_ENDIAN);
5579 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_jitter,
5580 tvb, 56, 4, ENC_BIG_ENDIAN);
5581 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_rtt,
5582 tvb, 60, 4, ENC_BIG_ENDIAN);
5583 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_avg_rtt,
5584 tvb, 64, 4, ENC_BIG_ENDIAN);
5585 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_duration,
5586 tvb, 68, 4, ENC_BIG_ENDIAN);
5587 proto_tree_add_float(c15ch_qos_tree, hf_c15ch_qos_mos,
5588 tvb, 72, 4, mos);
5589 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_ep_type,
5590 tvb, 76, 1, ENC_BIG_ENDIAN);
5591 add_string_field( c15ch_qos_tree, tvb, 77, 13, hf_c15ch_qos_dn_or_tg );
5592 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_pm,
5593 tvb, 90, 1, ENC_BIG_ENDIAN);
5594 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_pc,
5595 tvb, 91, 1, ENC_BIG_ENDIAN);
5596 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_hour,
5597 tvb, 92, 1, ENC_BIG_ENDIAN);
5598 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_min,
5599 tvb, 93, 1, ENC_BIG_ENDIAN);
5600 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_sec,
5601 tvb, 94, 1, ENC_BIG_ENDIAN);
5602 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_tenth_sec,
5603 tvb, 95, 1, ENC_BIG_ENDIAN);
5604 year_val = 2000 + ( (uint32_t) tvb_get_uint8( tvb, 96 ) ) ;
5605 proto_tree_add_uint(c15ch_qos_tree, hf_c15ch_qos_year, tvb, 96, 1, year_val);
5606 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_month,
5607 tvb, 97, 1, ENC_BIG_ENDIAN);
5608 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_day,
5609 tvb, 98, 1, ENC_BIG_ENDIAN);
5610 proto_tree_add_item(c15ch_qos_tree, hf_c15ch_qos_day_of_week,
5611 tvb, 99, 1, ENC_BIG_ENDIAN);
5614 return tvb_reported_length(tvb);
5618 static int dissect_c15ch_route(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5620 proto_item * ti = NULL;
5621 proto_tree * c15ch_route_tree = NULL;
5623 uint32_t route_num_val = 0;
5625 route_num_val = tvb_get_ntohl(tvb, 0);
5626 col_append_fstr(pinfo->cinfo, COL_INFO, ", Route Number: %d", route_num_val);
5627 if (tree)
5629 ti = proto_tree_add_item(tree,hf_c15ch_route, tvb, 0, 17, ENC_NA);
5630 c15ch_route_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5631 proto_tree_add_item(c15ch_route_tree, hf_c15ch_route_number,
5632 tvb, 0, 4, ENC_BIG_ENDIAN);
5633 proto_tree_add_item(c15ch_route_tree, hf_c15ch_route_type,
5634 tvb, 4, 4, ENC_BIG_ENDIAN);
5635 proto_tree_add_item(c15ch_route_tree, hf_c15ch_route_subpm,
5636 tvb, 8, 4, ENC_BIG_ENDIAN);
5637 proto_tree_add_item(c15ch_route_tree, hf_c15ch_route_trkpm,
5638 tvb, 12, 4, ENC_BIG_ENDIAN);
5639 proto_tree_add_item(c15ch_route_tree, hf_c15ch_route_strtaindo,
5640 tvb, 16, 1, ENC_BIG_ENDIAN);
5641 if ( tvb_reported_length(tvb) >= 25 )
5643 proto_tree_add_item(c15ch_route_tree, hf_c15ch_route_cr_rte_adv,
5644 tvb, 17, 4, ENC_BIG_ENDIAN);
5645 proto_tree_add_item(c15ch_route_tree, hf_c15ch_route_cause,
5646 tvb, 21, 4, ENC_BIG_ENDIAN);
5649 return tvb_reported_length(tvb);
5653 static int dissect_c15ch_sccp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5656 proto_item * ti = NULL;
5657 proto_tree * c15ch_sccp_tree = NULL;
5658 proto_tree * sub_ni_tn_tree = NULL;
5659 uint8_t direction;
5660 tvbuff_t * next_tvb;
5662 direction = tvb_get_uint8(tvb, 0);
5663 if (tree)
5666 ti = proto_tree_add_item(tree, hf_c15ch_sccp, tvb, 0, 302, ENC_NA);
5667 c15ch_sccp_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5668 proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_direction,
5669 tvb, 0, 1, ENC_BIG_ENDIAN);
5670 proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_msgtype,
5671 tvb, 1, 1, ENC_BIG_ENDIAN);
5672 proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_hopcount,
5673 tvb, 2, 1, ENC_BIG_ENDIAN);
5674 proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_transactionnum,
5675 tvb, 3, 4, ENC_BIG_ENDIAN);
5676 proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_opcmember,
5677 tvb, 7, 1, ENC_BIG_ENDIAN);
5678 proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_opccluster,
5679 tvb, 8, 1, ENC_BIG_ENDIAN);
5680 proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_opcnetwork,
5681 tvb, 9, 1, ENC_BIG_ENDIAN);
5682 proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_dpcmember,
5683 tvb, 10, 1, ENC_BIG_ENDIAN);
5684 proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_dpccluster,
5685 tvb, 11, 1, ENC_BIG_ENDIAN);
5686 proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_dpcnetwork,
5687 tvb, 12, 1, ENC_BIG_ENDIAN);
5688 proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_level3index,
5689 tvb, 13, 1, ENC_BIG_ENDIAN);
5690 /* NI/TN */
5691 ti = proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_ni_tn, tvb, 14, 8, ENC_BIG_ENDIAN);
5692 sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
5693 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_sccp_ni,
5694 tvb, 14, 4, ENC_BIG_ENDIAN);
5695 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_sccp_tn,
5696 tvb, 18, 4, ENC_BIG_ENDIAN);
5698 proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_sls,
5699 tvb, 22, 1, ENC_BIG_ENDIAN);
5700 proto_tree_add_item(c15ch_sccp_tree, hf_c15ch_sccp_iptime,
5701 tvb, 298, 4, ENC_BIG_ENDIAN);
5703 /* skip bytes to get to SCCP message type */
5704 next_tvb = tvb_new_subset_length(tvb, 23 + 2, 275 - 2);
5706 /* sccp dissector call */
5707 call_dissector(general_sccp_handle, next_tvb, pinfo, tree);
5709 col_set_str(pinfo->cinfo, COL_PROTOCOL, C15_LABEL);
5710 col_clear(pinfo->cinfo, COL_INFO);
5711 col_add_fstr(pinfo->cinfo, COL_INFO, "Type: SCCP, Direction: %s",
5712 val_to_str(direction, c15ch_sccp_direction_types, "Unknown Direction Subtype: %d") );
5713 return tvb_reported_length(tvb);
5716 static int dissect_c15ch_srcedest(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
5718 proto_item * ti = NULL;
5719 proto_tree * c15ch_srcedest_tree = NULL;
5721 if (tree)
5723 ti = proto_tree_add_item(tree, hf_c15ch_srcedest, tvb, 0, 3, ENC_NA);
5724 c15ch_srcedest_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5725 proto_tree_add_item(c15ch_srcedest_tree, hf_c15ch_srcedest_conntype,
5726 tvb, 0, 1, ENC_BIG_ENDIAN);
5727 proto_tree_add_item(c15ch_srcedest_tree, hf_c15ch_srcedest_pathtype,
5728 tvb, 1, 1, ENC_BIG_ENDIAN);
5729 proto_tree_add_item(c15ch_srcedest_tree, hf_c15ch_srcedest_pathdirect,
5730 tvb, 2, 1, ENC_BIG_ENDIAN);
5732 return tvb_reported_length(tvb);
5736 static int dissect_c15ch_tcap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5738 proto_item * ti = NULL;
5739 proto_tree * c15ch_tcap_tree = NULL;
5741 uint8_t local_ssn_val = 0;
5743 local_ssn_val = tvb_get_uint8(tvb, 4);
5744 col_append_fstr(pinfo->cinfo, COL_INFO, ", Local SSN: %s",
5745 val_to_str(local_ssn_val, c15ch_tcap_local_ssn_types, "Unknown %d"));
5746 if (tree)
5748 ti = proto_tree_add_item(tree, hf_c15ch_tcap, tvb, 0, 20, ENC_NA);
5749 c15ch_tcap_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5750 proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_direction,
5751 tvb, 0, 1, ENC_BIG_ENDIAN);
5752 proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_action,
5753 tvb, 1, 1, ENC_BIG_ENDIAN);
5754 proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_package_type,
5755 tvb, 2, 1, ENC_BIG_ENDIAN);
5756 proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_ssn,
5757 tvb, 3, 1, ENC_BIG_ENDIAN);
5758 proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_local_ssn,
5759 tvb, 4, 1, ENC_BIG_ENDIAN);
5760 proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_result_err_code,
5761 tvb, 5, 1, ENC_BIG_ENDIAN);
5762 proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_return_reason,
5763 tvb, 6, 1, ENC_BIG_ENDIAN);
5764 proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_feat_id,
5765 tvb, 7, 1, ENC_BIG_ENDIAN);
5766 proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_feat_req,
5767 tvb, 8, 1, ENC_BIG_ENDIAN);
5768 proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_cl_comp_result,
5769 tvb, 9, 1, ENC_BIG_ENDIAN);
5770 proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_release_bit,
5771 tvb, 10, 1, ENC_BIG_ENDIAN);
5772 proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_term_cl_request,
5773 tvb, 11, 1, ENC_BIG_ENDIAN);
5774 proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_opc_index,
5775 tvb, 12, 1, ENC_BIG_ENDIAN);
5776 proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_dpc_mem,
5777 tvb, 13, 1, ENC_BIG_ENDIAN);
5778 proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_dpc_clus,
5779 tvb, 14, 1, ENC_BIG_ENDIAN);
5780 proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_dpc_net,
5781 tvb, 15, 1, ENC_BIG_ENDIAN);
5782 proto_tree_add_item(c15ch_tcap_tree, hf_c15ch_tcap_cp_id,
5783 tvb, 16, 4, ENC_BIG_ENDIAN);
5785 return tvb_reported_length(tvb);
5789 static int dissect_c15ch_twc_rswch(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
5791 proto_item * ti = NULL;
5792 proto_tree * c15ch_twc_rswch_tree = NULL;
5794 if (tree)
5796 ti = proto_tree_add_item(tree, hf_c15ch_twc_rswch, tvb, 0, 28, ENC_NA);
5797 c15ch_twc_rswch_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5798 proto_tree_add_item(c15ch_twc_rswch_tree, hf_c15ch_twc_rswch_pm,
5799 tvb, 0, 4, ENC_BIG_ENDIAN);
5800 proto_tree_add_item(c15ch_twc_rswch_tree, hf_c15ch_twc_rswch_subpm,
5801 tvb, 4, 4, ENC_BIG_ENDIAN);
5802 proto_tree_add_item(c15ch_twc_rswch_tree, hf_c15ch_twc_rswch_trkpm,
5803 tvb, 8, 4, ENC_BIG_ENDIAN);
5804 proto_tree_add_item(c15ch_twc_rswch_tree, hf_c15ch_twc_rswch_devid,
5805 tvb, 12, 4, ENC_BIG_ENDIAN);
5806 proto_tree_add_item(c15ch_twc_rswch_tree, hf_c15ch_twc_rswch_event,
5807 tvb, 16, 4, ENC_BIG_ENDIAN);
5808 proto_tree_add_item(c15ch_twc_rswch_tree, hf_c15ch_twc_rswch_parm,
5809 tvb, 20, 4, ENC_BIG_ENDIAN);
5810 proto_tree_add_item(c15ch_twc_rswch_tree, hf_c15ch_twc_rswch_iptime,
5811 tvb, 24, 4, ENC_BIG_ENDIAN);
5813 return tvb_reported_length(tvb);
5816 static int dissect_c15ch_cp_event(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5818 proto_item * ti = NULL;
5819 proto_tree * c15ch_cp_event_tree = NULL;
5821 uint32_t pm_value = 0;
5822 uint32_t event_value = 0;
5823 uint32_t parm_value = 0;
5824 uint32_t subpm_value = 0;
5825 uint32_t trkpm_value = 0;
5826 if (tvb_reported_length(tvb) < 28)
5828 return 0;
5830 pm_value = tvb_get_ntohl(tvb, 0);
5831 subpm_value = tvb_get_ntohl(tvb, 4);
5832 trkpm_value = tvb_get_ntohl(tvb, 8);
5833 event_value = tvb_get_ntohl(tvb, 16);
5834 parm_value = tvb_get_ntohl(tvb, 20);
5835 col_clear(pinfo->cinfo, COL_INFO);
5837 col_add_fstr(pinfo->cinfo, COL_INFO, "Type: CP_EVENT, PM Type: %s",
5838 val_to_str_ext(pm_value, &c15_pm_types_ext, "Unknown %d") );
5840 if ( ( pm_value <= MAX_PM_VAL ) && ( pm_value != DIG_CKT_TEST_PM_VALUE ) )
5842 col_append_fstr(pinfo->cinfo, COL_INFO, ", Sub PM: %s",
5843 val_to_str(subpm_value, subpm_name_tables[ pm_value ], "%d"));
5845 else
5847 if ( pm_value == DIG_CKT_TEST_PM_VALUE )
5849 col_append_fstr(pinfo->cinfo, COL_INFO, ", Trk PM: %s",
5850 val_to_str(trkpm_value, trkpm_dig_ckt_test_types, "%d"));
5851 if ( trkpm_value > MAX_DIG_CKT_TEST_TRKPM_VAL )
5853 col_append_fstr(pinfo->cinfo, COL_INFO, ", Sub PM: %d", subpm_value);
5855 else
5857 col_append_fstr(pinfo->cinfo, COL_INFO, ", Sub PM: %s",
5858 val_to_str(subpm_value, dig_ckt_test_subpm_name_tables[ trkpm_value ], "%d"));
5861 else /* (pm_value < MIN_PM_VAL) || (pm_value > MAX_PM_VAL) */
5863 col_append_fstr(pinfo->cinfo, COL_INFO, ", Sub PM: %d", subpm_value);
5867 col_append_fstr(pinfo->cinfo, COL_INFO, ", Event Type: %s, Parm: %d",
5868 val_to_str_ext(event_value, &c15_event_types_ext, "Unknown %d"), parm_value);
5871 if (tree)
5873 ti = proto_tree_add_item(tree, hf_c15ch_cp_event, tvb, 0, 28, ENC_NA);
5875 proto_item_append_text(ti, ", PM Type: %s",
5876 val_to_str_ext_const(pm_value, &c15_pm_types_ext, "Unknown"));
5877 proto_item_append_text(ti, ", Event Type: %s",
5878 val_to_str_ext_const(event_value, &c15_event_types_ext, "Unknown"));
5879 c15ch_cp_event_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
5881 proto_tree_add_item(c15ch_cp_event_tree, hf_c15ch_cp_event_pm,
5882 tvb, 0, 4, ENC_BIG_ENDIAN);
5883 if ( pm_value > MAX_PM_VAL )
5885 /* Unknown Type */
5886 proto_tree_add_item(c15ch_cp_event_tree, hf_c15ch_cp_event_subpm,
5887 tvb, 4, 4, ENC_BIG_ENDIAN);
5889 else
5891 /* pm_value is within expected range */
5892 if ( pm_value != DIG_CKT_TEST_PM_VALUE )
5894 /*a normal pm type */
5895 proto_tree_add_item(c15ch_cp_event_tree, *(subpm_table[ pm_value ] ),
5896 tvb, 4, 4, ENC_BIG_ENDIAN);
5898 else
5900 /* special case for labeling subpm values of dig_ckt pm type */
5901 if ( trkpm_value > MAX_DIG_CKT_TEST_TRKPM_VAL )
5903 /* this is a dig_ckt pm type, but the trkpm value is out of range */
5904 /* use the default dig_ckt subpm field from the subpm_table */
5905 proto_tree_add_item(c15ch_cp_event_tree, *(subpm_table[ pm_value ] ),
5906 tvb, 4, 4, ENC_BIG_ENDIAN);
5908 else
5910 /* dig_ckt pm type, with the trkpm value in the expected range */
5911 proto_tree_add_item(c15ch_cp_event_tree, *(dig_ckt_test_subpm_table[ trkpm_value ] ),
5912 tvb, 4, 4, ENC_BIG_ENDIAN);
5917 if (pm_value != DIG_CKT_TEST_PM_VALUE)
5919 proto_tree_add_item(c15ch_cp_event_tree, hf_c15ch_cp_event_trkpm,
5920 tvb, 8, 4, ENC_BIG_ENDIAN);
5922 else
5924 proto_tree_add_item(c15ch_cp_event_tree, hf_c15ch_cp_event_dig_ckt_test_trkpm,
5925 tvb, 8, 4, ENC_BIG_ENDIAN);
5927 proto_tree_add_item(c15ch_cp_event_tree, hf_c15ch_cp_event_devid,
5928 tvb, 12, 4, ENC_BIG_ENDIAN);
5929 proto_tree_add_item(c15ch_cp_event_tree, hf_c15ch_cp_event_event,
5930 tvb, 16, 4, ENC_BIG_ENDIAN);
5931 proto_tree_add_item(c15ch_cp_event_tree, hf_c15ch_cp_event_parm,
5932 tvb, 20, 4, ENC_BIG_ENDIAN);
5933 proto_tree_add_item(c15ch_cp_event_tree, hf_c15ch_cp_event_iptime,
5934 tvb, 24, 4, ENC_BIG_ENDIAN);
5937 return tvb_reported_length(tvb);
5940 /* second level dissection code : called after header is dissected */
5941 static int dissect_c15ch_inc_gwe(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
5943 proto_item * ti = NULL;
5944 proto_tree * c15ch_inc_gwe_tree = NULL;
5945 proto_tree * sub_ni_tn_tree = NULL;
5947 int retv = 0;
5948 uint8_t task_num;
5949 uint8_t type_num;
5950 uint8_t fiat_num;
5951 tvbuff_t * next_tvb;
5952 bool task_in_range = true;
5953 bool fiat_index_in_range = true;
5955 task_num = tvb_get_uint8(tvb, 8);
5956 fiat_num = tvb_get_uint8(tvb, 9);
5957 type_num = tvb_get_uint8(tvb, 10);
5959 if ( task_num > LAST_TASK_TYPE_INDEX )
5960 { /* this happens for unknown task types */
5961 task_in_range = false;
5962 fiat_index_in_range = false; /* don't guess what the correct fiat table should be for unknown task */
5965 if ( task_in_range )
5967 if ( ( task_num < FIRST_FIAT_NAME_TABLE_INDEX ) || (task_num > LAST_FIAT_NAME_TABLE_INDEX ) )
5969 fiat_index_in_range = false; /* this happens for INVALID_TASK_TYPE_VAL */
5973 col_clear(pinfo->cinfo, COL_INFO);
5976 if (fiat_index_in_range)
5978 col_add_fstr(pinfo->cinfo, COL_INFO, "Type: INC_GWE, Task: %s, Fiat: %s",
5979 val_to_str( task_num, c15inc_gwe_task_types, "Unknown Task Type: %d" ),
5980 val_to_str( fiat_num, fiat_name_tables[ task_num ], "Unknown Fiat Type: %d") );
5982 else /* either (task_num == INVALID_TASK_TYPE_VAL) or we have an unknown task */
5984 col_add_fstr(pinfo->cinfo, COL_INFO, "Type: INC_GWE, Task: %s",
5985 val_to_str( task_num, c15inc_gwe_task_types, "Unknown Task Type: %d" ));
5988 if (tree)
5990 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe, tvb, 0, 11, ENC_NA);
5991 /* note that defined INVALID_TASK_TYPE will be labeled as such, but task types that are out
5992 of range will be labeled as an Unknown Task Type */
5993 proto_item_append_text(ti, ", Task: %s",
5994 val_to_str( task_num, c15inc_gwe_task_types, "Unknown Task Type: %d" ) );
5997 if ( fiat_index_in_range) /* we can find a fiat name table: not defined Invalid task type and not unknown task */
5999 proto_item_append_text( ti, ", Fiat: %s",
6000 val_to_str( fiat_num, fiat_name_tables[ task_num ], "Unknown Fiat Type: %d" ) );
6002 c15ch_inc_gwe_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
6004 ti = proto_tree_add_item(c15ch_inc_gwe_tree, hf_c15ch_inc_gwe_ni_tn,
6005 tvb, 0, 8, ENC_BIG_ENDIAN);
6006 sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
6008 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_inc_gwe_ni,
6009 tvb, 0, 4, ENC_BIG_ENDIAN);
6010 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_inc_gwe_tn,
6011 tvb, 4, 4, ENC_BIG_ENDIAN);
6013 proto_tree_add_item(c15ch_inc_gwe_tree, hf_c15ch_inc_gwe_taskid,
6014 tvb, 8, 1, ENC_BIG_ENDIAN);
6015 if (task_in_range) /* can be of any defined task type including INVALID */
6017 proto_tree_add_item(c15ch_inc_gwe_tree, *(fiatid_table[ task_num ] ),
6018 tvb, 9, 1, ENC_BIG_ENDIAN);
6020 proto_tree_add_item(c15ch_inc_gwe_tree, hf_c15ch_inc_gwe_datatype,
6021 tvb, 10, 1, ENC_BIG_ENDIAN);
6023 next_tvb = tvb_new_subset_remaining(tvb, 11);
6024 /*third level dissection*/
6025 retv = 11 + dissector_try_uint(c15ch_inc_gwe_dissector_table, type_num, next_tvb, pinfo, tree);
6026 return retv;
6029 /* Third level dissection code : called after basic inc gwe header info is dissected */
6031 static int dissect_c15ch_inc_gwe_admn_dn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6033 proto_item * ti = NULL;
6034 proto_tree * c15ch_inc_gwe_admn_dn_tree = NULL;
6036 uint8_t num_digits;
6038 if (tree)
6040 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_admn_dn, tvb, 0, 37, ENC_NA);
6041 c15ch_inc_gwe_admn_dn_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6042 num_digits = tvb_get_uint8(tvb, 4);
6043 proto_tree_add_item(c15ch_inc_gwe_admn_dn_tree, hf_c15ch_inc_gwe_admn_dn_ip_gwe_sua_hndl,
6044 tvb, 0, 4, ENC_BIG_ENDIAN);
6045 add_digits_string(hf_c15ch_inc_gwe_admn_dn_ip_gwe_digits, tvb, c15ch_inc_gwe_admn_dn_tree,
6046 5, num_digits, 32, 1);
6048 return tvb_reported_length(tvb);
6052 static int dissect_c15ch_inc_gwe_admn_updt(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6054 proto_item * ti = NULL;
6055 proto_tree * c15ch_inc_gwe_admn_updt_tree = NULL;
6056 proto_tree * sub_ni_tn_tree = NULL;
6058 if (tree)
6060 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_admn_updt, tvb, 0, 20, ENC_NA);
6061 c15ch_inc_gwe_admn_updt_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6063 ti = proto_tree_add_item(c15ch_inc_gwe_admn_updt_tree, hf_c15ch_inc_gwe_admn_updt_ip_gwe_med_ni_tn,
6064 tvb, 0, 8, ENC_BIG_ENDIAN);
6065 sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_third_level_inc_gwe_sub1);
6066 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_inc_gwe_admn_updt_ip_gwe_med_ni,
6067 tvb, 0, 4, ENC_BIG_ENDIAN);
6068 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_inc_gwe_admn_updt_ip_gwe_med_tn,
6069 tvb, 4, 4, ENC_BIG_ENDIAN);
6070 proto_tree_add_item(c15ch_inc_gwe_admn_updt_tree, hf_c15ch_inc_gwe_admn_updt_ip_ns_iface,
6071 tvb, 8, 4, ENC_BIG_ENDIAN);
6072 proto_tree_add_item(c15ch_inc_gwe_admn_updt_tree, hf_c15ch_inc_gwe_admn_updt_ip_ns_terminal,
6073 tvb, 12, 4, ENC_BIG_ENDIAN);
6074 proto_tree_add_item(c15ch_inc_gwe_admn_updt_tree, hf_c15ch_inc_gwe_admn_updt_ip_gwe_new_rec_addr,
6075 tvb, 16, 4, ENC_BIG_ENDIAN);
6077 return tvb_reported_length(tvb);
6081 static int dissect_c15ch_inc_gwe_bc_pgi(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6083 proto_item * ti = NULL;
6084 proto_tree * c15ch_inc_gwe_bc_pgi_tree = NULL;
6086 if (tree)
6088 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_bc_pgi, tvb, 0, 19, ENC_NA);
6089 c15ch_inc_gwe_bc_pgi_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6090 proto_tree_add_item(c15ch_inc_gwe_bc_pgi_tree, hf_c15ch_inc_gwe_bc_pgi_pbc_conn_num,
6091 tvb, 0, 4, ENC_BIG_ENDIAN);
6092 proto_tree_add_item(c15ch_inc_gwe_bc_pgi_tree, hf_c15ch_inc_gwe_bc_pgi_pbc_conn_type,
6093 tvb, 4, 1, ENC_BIG_ENDIAN);
6094 proto_tree_add_item(c15ch_inc_gwe_bc_pgi_tree, hf_c15ch_inc_gwe_bc_pgi_pbc_msg_type,
6095 tvb, 5, 1, ENC_BIG_ENDIAN);
6096 proto_tree_add_item(c15ch_inc_gwe_bc_pgi_tree, hf_c15ch_inc_gwe_bc_pgi_bc_mode,
6097 tvb, 6, 1, ENC_BIG_ENDIAN);
6098 proto_tree_add_item(c15ch_inc_gwe_bc_pgi_tree, hf_c15ch_inc_gwe_bc_pgi_bc_pgi_sdp,
6099 tvb, 7, 4, ENC_LITTLE_ENDIAN);
6100 proto_tree_add_item(c15ch_inc_gwe_bc_pgi_tree, hf_c15ch_inc_gwe_bc_pgi_bc_pgi_m_port,
6101 tvb, 11, 4, ENC_BIG_ENDIAN);
6102 proto_tree_add_item(c15ch_inc_gwe_bc_pgi_tree, hf_c15ch_inc_gwe_bc_pgi_pbc_tst_flags,
6103 tvb, 15, 4, ENC_BIG_ENDIAN);
6105 return tvb_reported_length(tvb);
6108 static int dissect_c15ch_inc_gwe_chg_hndl(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6110 proto_item * ti = NULL;
6111 proto_tree * c15ch_inc_gwe_chg_hndl_tree = NULL;
6113 if (tree)
6115 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_chg_hndl, tvb, 0, 8, ENC_NA);
6116 c15ch_inc_gwe_chg_hndl_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6117 proto_tree_add_item(c15ch_inc_gwe_chg_hndl_tree, hf_c15ch_inc_gwe_chg_hndl_ip_gwe_sua_hndl,
6118 tvb, 0, 4, ENC_BIG_ENDIAN);
6119 proto_tree_add_item(c15ch_inc_gwe_chg_hndl_tree, hf_c15ch_inc_gwe_chg_hndl_ip_gwe_new_hndl,
6120 tvb, 4, 4, ENC_BIG_ENDIAN);
6122 return tvb_reported_length(tvb);
6126 static int dissect_c15ch_inc_gwe_cl_ans(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6128 proto_item * ti = NULL;
6129 proto_tree * c15ch_inc_gwe_cl_ans_tree = NULL;
6131 if (tree)
6133 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_cl_ans, tvb, 0, 14, ENC_NA);
6134 c15ch_inc_gwe_cl_ans_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6135 proto_tree_add_item(c15ch_inc_gwe_cl_ans_tree, hf_c15ch_inc_gwe_cl_ans_ip_gwe_sua_hndl,
6136 tvb, 0, 4, ENC_BIG_ENDIAN);
6137 proto_tree_add_item(c15ch_inc_gwe_cl_ans_tree, hf_c15ch_inc_gwe_cl_ans_ip_gwe_conn_num,
6138 tvb, 4, 1, ENC_BIG_ENDIAN);
6139 proto_tree_add_item(c15ch_inc_gwe_cl_ans_tree, hf_c15ch_inc_gwe_cl_ans_ip_cl_ans_lsdp,
6140 tvb, 5, 4, ENC_LITTLE_ENDIAN);
6141 proto_tree_add_item(c15ch_inc_gwe_cl_ans_tree, hf_c15ch_inc_gwe_cl_ans_ip_cl_ans_m_port,
6142 tvb, 9, 4, ENC_BIG_ENDIAN);
6143 proto_tree_add_item(c15ch_inc_gwe_cl_ans_tree, hf_c15ch_inc_gwe_cl_ans_encap_isup,
6144 tvb, 13, 1, ENC_BIG_ENDIAN);
6146 return tvb_reported_length(tvb);
6150 static int dissect_c15ch_inc_gwe_cl_prog(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6152 proto_item * ti = NULL;
6153 proto_tree * c15ch_inc_gwe_cl_prog_tree = NULL;
6155 if (tree)
6157 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_cl_prog, tvb, 0, 15, ENC_NA);
6158 c15ch_inc_gwe_cl_prog_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6159 proto_tree_add_item(c15ch_inc_gwe_cl_prog_tree, hf_c15ch_inc_gwe_cl_prog_ip_gwe_sua_hndl,
6160 tvb, 0, 4, ENC_BIG_ENDIAN);
6161 proto_tree_add_item(c15ch_inc_gwe_cl_prog_tree, hf_c15ch_inc_gwe_cl_prog_ip_gwe_conn_num,
6162 tvb, 4, 1, ENC_BIG_ENDIAN);
6163 proto_tree_add_item(c15ch_inc_gwe_cl_prog_tree, hf_c15ch_inc_gwe_cl_prog_ip_cl_prog_lsdp,
6164 tvb, 5, 4, ENC_LITTLE_ENDIAN);
6165 proto_tree_add_item(c15ch_inc_gwe_cl_prog_tree, hf_c15ch_inc_gwe_cl_prog_ip_cl_prog_m_port,
6166 tvb, 9, 4, ENC_BIG_ENDIAN);
6167 proto_tree_add_item(c15ch_inc_gwe_cl_prog_tree, hf_c15ch_inc_gwe_cl_prog_ip_gwe_stat_code,
6168 tvb, 13, 1, ENC_BIG_ENDIAN);
6169 proto_tree_add_item(c15ch_inc_gwe_cl_prog_tree, hf_c15ch_inc_gwe_cl_prog_encap_isup,
6170 tvb, 14, 1, ENC_BIG_ENDIAN);
6172 return tvb_reported_length(tvb);
6176 static int dissect_c15ch_inc_gwe_cl_redir(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6178 proto_item * ti = NULL;
6179 proto_tree * c15ch_inc_gwe_cl_redir_tree = NULL;
6182 uint8_t redir_num_digits;
6184 if (tree)
6186 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_cl_redir, tvb, 0, 24, ENC_NA);
6187 c15ch_inc_gwe_cl_redir_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6188 redir_num_digits = tvb_get_uint8(tvb, 8);
6189 proto_tree_add_item(c15ch_inc_gwe_cl_redir_tree, hf_c15ch_inc_gwe_cl_redir_ip_gwe_sua_hndl,
6190 tvb, 0, 4, ENC_BIG_ENDIAN);
6191 proto_tree_add_item(c15ch_inc_gwe_cl_redir_tree, hf_c15ch_inc_gwe_cl_redir_ip_gwe_conn_num,
6192 tvb, 4, 4, ENC_BIG_ENDIAN);
6193 add_digits_string(hf_c15ch_inc_gwe_cl_redir_ip_gwe_redir_digits, tvb,c15ch_inc_gwe_cl_redir_tree,
6194 9, redir_num_digits, 15, 1);
6196 return tvb_reported_length(tvb);
6199 static int dissect_c15ch_inc_gwe_cl_refer(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6201 proto_item * ti = NULL;
6202 proto_tree * c15ch_inc_gwe_cl_refer_tree = NULL;
6203 proto_tree * sub_ni_tn_tree = NULL;
6205 uint8_t trgt_num_digits;
6207 if (tree)
6209 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_cl_refer, tvb, 0, 49, ENC_NA);
6210 c15ch_inc_gwe_cl_refer_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6211 trgt_num_digits = tvb_get_uint8(tvb, 8);
6212 proto_tree_add_item(c15ch_inc_gwe_cl_refer_tree, hf_c15ch_inc_gwe_cl_refer_ip_gwe_sua_hndl,
6213 tvb, 0, 4, ENC_BIG_ENDIAN);
6214 proto_tree_add_item(c15ch_inc_gwe_cl_refer_tree, hf_c15ch_inc_gwe_cl_refer_ip_gwe_conn_num,
6215 tvb, 4, 4, ENC_BIG_ENDIAN);
6216 add_digits_string(hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_digits, tvb, c15ch_inc_gwe_cl_refer_tree,
6217 9, trgt_num_digits, 32, 1);
6218 ti = proto_tree_add_item(c15ch_inc_gwe_cl_refer_tree, hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_ni_tn,
6219 tvb, 41, 8, ENC_BIG_ENDIAN);
6220 sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_third_level_inc_gwe_sub1);
6221 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_ni,
6222 tvb, 41, 4, ENC_BIG_ENDIAN);
6223 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_tn,
6224 tvb, 45, 4, ENC_BIG_ENDIAN);
6226 return tvb_reported_length(tvb);
6229 static int dissect_c15ch_inc_gwe_cl_rel(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6231 proto_item * ti = NULL;
6232 proto_tree * c15ch_inc_gwe_cl_rel_tree = NULL;
6234 if (tree)
6236 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_cl_rel, tvb, 0, 7, ENC_NA);
6237 c15ch_inc_gwe_cl_rel_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6238 proto_tree_add_item(c15ch_inc_gwe_cl_rel_tree, hf_c15ch_inc_gwe_cl_rel_ip_gwe_sua_hndl,
6239 tvb, 0, 4, ENC_BIG_ENDIAN);
6240 proto_tree_add_item(c15ch_inc_gwe_cl_rel_tree, hf_c15ch_inc_gwe_cl_rel_ip_gwe_conn_num,
6241 tvb, 4, 1, ENC_BIG_ENDIAN);
6242 proto_tree_add_item(c15ch_inc_gwe_cl_rel_tree, hf_c15ch_inc_gwe_cl_rel_ip_gwe_stat_code,
6243 tvb, 5, 1, ENC_BIG_ENDIAN);
6244 proto_tree_add_item(c15ch_inc_gwe_cl_rel_tree, hf_c15ch_inc_gwe_cl_rel_encap_isup,
6245 tvb, 6, 1, ENC_BIG_ENDIAN);
6247 return tvb_reported_length(tvb);
6251 static int dissect_c15ch_inc_gwe_cl_setup(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6253 proto_item * ti = NULL;
6254 proto_tree * c15ch_inc_gwe_cl_setup_tree = NULL;
6257 uint8_t num_digits;
6259 num_digits = tvb_get_uint8(tvb, 4);
6261 if (tree)
6263 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_cl_setup, tvb, 0, 45, ENC_NA);
6264 c15ch_inc_gwe_cl_setup_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6265 proto_tree_add_item(c15ch_inc_gwe_cl_setup_tree, hf_c15ch_inc_gwe_cl_setup_ip_gwe_sua_hndl,
6266 tvb, 0, 4, ENC_BIG_ENDIAN);
6267 add_digits_string(hf_c15ch_inc_gwe_cl_setup_ip_gwe_cled_digits,tvb,c15ch_inc_gwe_cl_setup_tree,
6268 5, num_digits, 32, 1);
6269 proto_tree_add_item(c15ch_inc_gwe_cl_setup_tree, hf_c15ch_inc_gwe_cl_setup_ip_cl_setup_lsdp,
6270 tvb, 37, 4, ENC_LITTLE_ENDIAN);
6271 proto_tree_add_item(c15ch_inc_gwe_cl_setup_tree, hf_c15ch_inc_gwe_cl_setup_ip_cl_setup_m_port,
6272 tvb, 41, 4, ENC_BIG_ENDIAN);
6274 return tvb_reported_length(tvb);
6277 static int dissect_c15ch_inc_gwe_h248_digit(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6279 proto_item * ti = NULL;
6280 proto_tree * c15ch_inc_gwe_h248_digit_tree = NULL;
6282 if (tree)
6284 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_h248_digit, tvb, 0, 2, ENC_NA);
6285 c15ch_inc_gwe_h248_digit_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6286 proto_tree_add_item(c15ch_inc_gwe_h248_digit_tree, hf_c15ch_inc_gwe_h248_digit_ip_gwe_digit,
6287 tvb, 0, 1, ENC_BIG_ENDIAN);
6288 proto_tree_add_item(c15ch_inc_gwe_h248_digit_tree, hf_c15ch_inc_gwe_h248_digit_ip_gwe_digit_method,
6289 tvb, 1, 1, ENC_BIG_ENDIAN);
6291 return tvb_reported_length(tvb);
6294 static int dissect_c15ch_inc_gwe_info(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6296 proto_item * ti = NULL;
6297 proto_tree * c15ch_inc_gwe_info_tree = NULL;
6299 if (tree)
6301 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_info, tvb, 0, 10, ENC_NA);
6302 c15ch_inc_gwe_info_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6303 proto_tree_add_item(c15ch_inc_gwe_info_tree, hf_c15ch_inc_gwe_info_ip_gwe_sua_hndl,
6304 tvb, 0, 4, ENC_BIG_ENDIAN);
6305 proto_tree_add_item(c15ch_inc_gwe_info_tree, hf_c15ch_inc_gwe_info_ip_gwe_info_type,
6306 tvb, 4, 1, ENC_BIG_ENDIAN);
6307 proto_tree_add_item(c15ch_inc_gwe_info_tree, hf_c15ch_inc_gwe_info_ip_gwe_info_digit,
6308 tvb, 5, 4, ENC_BIG_ENDIAN);
6309 proto_tree_add_item(c15ch_inc_gwe_info_tree, hf_c15ch_inc_gwe_info_encap_isup_msg_type,
6310 tvb, 9, 1, ENC_BIG_ENDIAN);
6312 return tvb_reported_length(tvb);
6315 static int dissect_c15ch_inc_gwe_inv_repl(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6317 proto_item * ti = NULL;
6318 proto_tree * c15ch_inc_gwe_inv_repl_tree = NULL;
6320 if (tree)
6322 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_inv_repl, tvb, 0, 16, ENC_NA);
6323 c15ch_inc_gwe_inv_repl_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6324 proto_tree_add_item(c15ch_inc_gwe_inv_repl_tree, hf_c15ch_inc_gwe_inv_repl_ip_gwe_sua_hndl,
6325 tvb, 0, 4, ENC_BIG_ENDIAN);
6326 proto_tree_add_item(c15ch_inc_gwe_inv_repl_tree, hf_c15ch_inc_gwe_inv_repl_ip_gwe_conn_num,
6327 tvb, 4, 4, ENC_BIG_ENDIAN);
6328 proto_tree_add_item(c15ch_inc_gwe_inv_repl_tree, hf_c15ch_inc_gwe_inv_repl_ip_inv_repl_rsdp_ip,
6329 tvb, 8, 4, ENC_LITTLE_ENDIAN);
6330 proto_tree_add_item(c15ch_inc_gwe_inv_repl_tree, hf_c15ch_inc_gwe_inv_repl_ip_inv_repl_rsdp_port,
6331 tvb, 12, 4, ENC_BIG_ENDIAN);
6333 return tvb_reported_length(tvb);
6337 static int dissect_c15ch_inc_gwe_mgcp_dlcx(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6339 proto_item * ti = NULL;
6340 proto_tree * c15ch_inc_gwe_mgcp_dlcx_tree = NULL;
6342 if (tree)
6344 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_mgcp_dlcx, tvb, 0, 4, ENC_NA);
6345 c15ch_inc_gwe_mgcp_dlcx_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6346 proto_tree_add_item(c15ch_inc_gwe_mgcp_dlcx_tree, hf_c15ch_inc_gwe_mgcp_dlcx_err_code,
6347 tvb, 0, 4, ENC_BIG_ENDIAN);
6349 return tvb_reported_length(tvb);
6352 static int dissect_c15ch_inc_gwe_notify(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6354 proto_item * ti = NULL;
6355 proto_tree * c15ch_inc_gwe_notify_tree = NULL;
6358 uint8_t num_digits;
6360 num_digits = tvb_get_uint8(tvb, 4);
6362 if (tree)
6364 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_notify, tvb, 0, 37, ENC_NA);
6365 c15ch_inc_gwe_notify_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6366 proto_tree_add_item(c15ch_inc_gwe_notify_tree, hf_c15ch_inc_gwe_notify_ip_gwe_mwi_stat,
6367 tvb, 0, 4, ENC_BIG_ENDIAN);
6368 add_digits_string(hf_c15ch_inc_gwe_notify_ip_gwe_digits,tvb,c15ch_inc_gwe_notify_tree,
6369 5, num_digits, 32, 1);
6371 return tvb_reported_length(tvb);
6375 static int dissect_c15ch_inc_gwe_ntwk_mod(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6377 proto_item * ti = NULL;
6378 proto_tree * c15ch_inc_gwe_ntwk_mod_tree = NULL;
6380 if (tree)
6382 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_ntwk_mod, tvb, 0, 22, ENC_NA);
6383 c15ch_inc_gwe_ntwk_mod_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6384 proto_tree_add_item(c15ch_inc_gwe_ntwk_mod_tree, hf_c15ch_inc_gwe_ntwk_mod_ip_gwe_sua_hndl,
6385 tvb, 0, 4, ENC_BIG_ENDIAN);
6386 proto_tree_add_item(c15ch_inc_gwe_ntwk_mod_tree, hf_c15ch_inc_gwe_ntwk_mod_ip_gwe_conn_num,
6387 tvb, 4, 1, ENC_BIG_ENDIAN);
6388 proto_tree_add_item(c15ch_inc_gwe_ntwk_mod_tree, hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_lsdp,
6389 tvb, 5, 4, ENC_LITTLE_ENDIAN);
6390 proto_tree_add_item(c15ch_inc_gwe_ntwk_mod_tree, hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_l_m_port,
6391 tvb, 9, 4, ENC_BIG_ENDIAN);
6392 proto_tree_add_item(c15ch_inc_gwe_ntwk_mod_tree, hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_rsdp,
6393 tvb, 13, 4, ENC_LITTLE_ENDIAN);
6394 proto_tree_add_item(c15ch_inc_gwe_ntwk_mod_tree, hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_r_m_port,
6395 tvb, 17, 4, ENC_BIG_ENDIAN);
6396 proto_tree_add_item(c15ch_inc_gwe_ntwk_mod_tree, hf_c15ch_inc_gwe_ntwk_mod_ip_gwe_stat_code,
6397 tvb, 21, 1, ENC_BIG_ENDIAN);
6400 return tvb_reported_length(tvb);
6403 static int dissect_c15ch_inc_gwe_ptrk_setup(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6405 proto_item * ti = NULL;
6406 proto_tree * c15ch_inc_gwe_ptrk_setup_tree = NULL;
6409 uint8_t cled_num_digits, clng_num_digits, redir_num_digits, ocn_num_digits, chrg_num_digits,
6410 rn_num_digits, cic_num_digits;
6412 if (tree)
6414 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_ptrk_setup, tvb, 0, 172, ENC_NA);
6415 c15ch_inc_gwe_ptrk_setup_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6416 /* CLED */
6417 cled_num_digits = tvb_get_uint8(tvb, 4);
6419 /* CLNG */
6420 clng_num_digits = tvb_get_uint8(tvb, 46);
6422 /* REDIR */
6423 redir_num_digits = tvb_get_uint8(tvb, 85);
6425 /* OCN */
6426 ocn_num_digits = tvb_get_uint8(tvb, 103);
6428 /* CHRG */
6429 chrg_num_digits = tvb_get_uint8(tvb, 119);
6431 /* RN */
6432 rn_num_digits = tvb_get_uint8(tvb, 133);
6434 /* CIC */
6435 cic_num_digits = tvb_get_uint8(tvb, 166);
6437 proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_sua_hndl,
6438 tvb, 0, 4, ENC_BIG_ENDIAN);
6439 add_digits_string(hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_cled_digits,tvb,c15ch_inc_gwe_ptrk_setup_tree,
6440 5,cled_num_digits, 32, 1);
6441 proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_cl_setup_lsdp,
6442 tvb, 37, 4, ENC_LITTLE_ENDIAN);
6443 proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_cl_setup_m_port,
6444 tvb, 41, 4, ENC_BIG_ENDIAN);
6445 proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clid_pri,
6446 tvb, 45, 1, ENC_BIG_ENDIAN);
6447 add_digits_string(hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clng_digits,tvb,c15ch_inc_gwe_ptrk_setup_tree,
6448 47,clng_num_digits, 32, 1);
6449 proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clng_ton,
6450 tvb, 79, 1, ENC_BIG_ENDIAN);
6451 proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clng_np,
6452 tvb, 80, 1, ENC_BIG_ENDIAN);
6454 proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_alert_info,
6455 tvb, 81, 4, ENC_BIG_ENDIAN);
6457 add_digits_string(hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_redir_digits,tvb,c15ch_inc_gwe_ptrk_setup_tree,
6458 86,redir_num_digits, 15, 1);
6459 proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_redir_ton,
6460 tvb, 101, 1, ENC_BIG_ENDIAN);
6461 proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_redir_np,
6462 tvb, 102, 1, ENC_BIG_ENDIAN);
6464 add_digits_string(hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_ocn_digits,tvb,c15ch_inc_gwe_ptrk_setup_tree,
6465 104,ocn_num_digits, 15, 1);
6467 add_digits_string(hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_chrg_digits,tvb,c15ch_inc_gwe_ptrk_setup_tree,
6468 120,chrg_num_digits, 10, 1);
6469 proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_chrg_noa,
6470 tvb, 130, 1, ENC_BIG_ENDIAN);
6471 proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_chrg_npi,
6472 tvb, 131, 1, ENC_BIG_ENDIAN);
6474 proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_npdi,
6475 tvb, 132, 1, ENC_BIG_ENDIAN);
6477 add_digits_string(hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_rn_digits,tvb,c15ch_inc_gwe_ptrk_setup_tree,
6478 134,rn_num_digits, 32, 1);
6480 add_digits_string(hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_cic_digits,tvb,c15ch_inc_gwe_ptrk_setup_tree,
6481 167,cic_num_digits, 4, 1);
6483 proto_tree_add_item(c15ch_inc_gwe_ptrk_setup_tree, hf_c15ch_inc_gwe_ptrk_setup_encap_isup,
6484 tvb, 171, 1, ENC_BIG_ENDIAN);
6486 return tvb_reported_length(tvb);
6490 static int dissect_c15ch_inc_gwe_reply(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6492 proto_item * ti = NULL;
6493 proto_tree * c15ch_inc_gwe_reply_tree = NULL;
6495 if (tree)
6497 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_reply, tvb, 0, 28, ENC_NA);
6498 c15ch_inc_gwe_reply_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6499 proto_tree_add_item(c15ch_inc_gwe_reply_tree, hf_c15ch_inc_gwe_reply_ip_gwe_msg_type,
6500 tvb, 0, 4, ENC_BIG_ENDIAN);
6501 proto_tree_add_item(c15ch_inc_gwe_reply_tree, hf_c15ch_inc_gwe_reply_ip_gwe_stat_code,
6502 tvb, 4, 4, ENC_BIG_ENDIAN);
6503 proto_tree_add_item(c15ch_inc_gwe_reply_tree, hf_c15ch_inc_gwe_reply_ip_gwe_conn_num,
6504 tvb, 8, 4, ENC_BIG_ENDIAN);
6505 proto_tree_add_item(c15ch_inc_gwe_reply_tree, hf_c15ch_inc_gwe_reply_nw_mdcn_lsdp_ip,
6506 tvb, 12, 4, ENC_LITTLE_ENDIAN);
6507 proto_tree_add_item(c15ch_inc_gwe_reply_tree, hf_c15ch_inc_gwe_reply_nw_mdcn_lsdp_port,
6508 tvb, 16, 4, ENC_BIG_ENDIAN);
6509 proto_tree_add_item(c15ch_inc_gwe_reply_tree, hf_c15ch_inc_gwe_reply_nw_mdcn_rsdp_ip,
6510 tvb, 20, 4, ENC_LITTLE_ENDIAN);
6511 proto_tree_add_item(c15ch_inc_gwe_reply_tree, hf_c15ch_inc_gwe_reply_nw_mdcn_rsdp_port,
6512 tvb, 24, 4, ENC_BIG_ENDIAN);
6515 return tvb_reported_length(tvb);
6518 static int dissect_c15ch_inc_gwe_rv_avail(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6520 proto_item * ti = NULL;
6521 proto_tree * c15ch_inc_gwe_rv_avail_tree = NULL;
6523 if (tree)
6525 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_rv_avail, tvb, 0, 12, ENC_NA);
6526 c15ch_inc_gwe_rv_avail_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6527 proto_tree_add_item(c15ch_inc_gwe_rv_avail_tree, hf_c15ch_inc_gwe_rv_avail_ip_gwe_sua_hndl,
6528 tvb, 0, 4, ENC_BIG_ENDIAN);
6529 proto_tree_add_item(c15ch_inc_gwe_rv_avail_tree, hf_c15ch_inc_gwe_rv_avail_ip_gwe_conn_num,
6530 tvb, 4, 4, ENC_BIG_ENDIAN);
6531 proto_tree_add_item(c15ch_inc_gwe_rv_avail_tree, hf_c15ch_inc_gwe_rv_avail_ip_gwe_info_len,
6532 tvb, 8, 4, ENC_BIG_ENDIAN);
6535 return tvb_reported_length(tvb);
6538 static int dissect_c15ch_inc_gwe_sua_reply(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6540 proto_item * ti = NULL;
6541 proto_tree * c15ch_inc_gwe_sua_reply_tree = NULL;
6543 if (tree)
6545 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_sua_reply, tvb, 0, 32, ENC_NA);
6546 c15ch_inc_gwe_sua_reply_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6547 proto_tree_add_item(c15ch_inc_gwe_sua_reply_tree, hf_c15ch_inc_gwe_sua_reply_ip_gwe_sua_hndl,
6548 tvb, 0, 4, ENC_BIG_ENDIAN);
6549 proto_tree_add_item(c15ch_inc_gwe_sua_reply_tree, hf_c15ch_inc_gwe_sua_reply_ip_gwe_msg_type,
6550 tvb, 4, 4, ENC_BIG_ENDIAN);
6551 proto_tree_add_item(c15ch_inc_gwe_sua_reply_tree, hf_c15ch_inc_gwe_sua_reply_ip_gwe_stat_code,
6552 tvb, 8, 4, ENC_BIG_ENDIAN);
6553 proto_tree_add_item(c15ch_inc_gwe_sua_reply_tree, hf_c15ch_inc_gwe_sua_reply_ip_gwe_conn_num,
6554 tvb, 12, 4, ENC_BIG_ENDIAN);
6555 proto_tree_add_item(c15ch_inc_gwe_sua_reply_tree, hf_c15ch_inc_gwe_sua_reply_nw_mdcn_lsdp_ip,
6556 tvb, 16, 4, ENC_LITTLE_ENDIAN);
6557 proto_tree_add_item(c15ch_inc_gwe_sua_reply_tree, hf_c15ch_inc_gwe_sua_reply_nw_mdcn_lsdp_port,
6558 tvb, 20, 4, ENC_BIG_ENDIAN);
6559 proto_tree_add_item(c15ch_inc_gwe_sua_reply_tree, hf_c15ch_inc_gwe_sua_reply_nw_mdcn_rsdp_ip,
6560 tvb, 24, 4, ENC_LITTLE_ENDIAN);
6561 proto_tree_add_item(c15ch_inc_gwe_sua_reply_tree, hf_c15ch_inc_gwe_sua_reply_nw_mdcn_rsdp_port,
6562 tvb, 28, 4, ENC_BIG_ENDIAN);
6565 return tvb_reported_length(tvb);
6569 static int dissect_c15ch_inc_gwe_subs_chg_hndl(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6571 proto_item * ti = NULL;
6572 proto_tree * c15ch_inc_gwe_subs_chg_hndl_tree = NULL;
6573 proto_tree * sub_ni_tn_tree = NULL;
6575 if (tree)
6577 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_subs_chg_hndl, tvb, 0, 16, ENC_NA);
6578 c15ch_inc_gwe_subs_chg_hndl_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6579 proto_tree_add_item(c15ch_inc_gwe_subs_chg_hndl_tree, hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_sua_hndl,
6580 tvb, 0, 4, ENC_BIG_ENDIAN);
6581 proto_tree_add_item(c15ch_inc_gwe_subs_chg_hndl_tree, hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_new_hndl,
6582 tvb, 4, 4, ENC_BIG_ENDIAN);
6584 ti = proto_tree_add_item(c15ch_inc_gwe_subs_chg_hndl_tree, hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_med_ni_tn,
6585 tvb, 8, 16, ENC_BIG_ENDIAN);
6586 sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_third_level_inc_gwe_sub1);
6587 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_med_ni,
6588 tvb, 8, 4, ENC_BIG_ENDIAN);
6589 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_med_tn,
6590 tvb, 12, 4, ENC_BIG_ENDIAN);
6592 return tvb_reported_length(tvb);
6595 static int dissect_c15ch_inc_gwe_sua_hndl(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6597 proto_item * ti = NULL;
6598 proto_tree * c15ch_inc_gwe_sua_hndl_tree = NULL;
6600 if (tree)
6602 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_sua_hndl, tvb, 0, 4, ENC_NA);
6603 c15ch_inc_gwe_sua_hndl_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6604 proto_tree_add_item(c15ch_inc_gwe_sua_hndl_tree, hf_c15ch_inc_gwe_sua_hndl_ip_gwe_sua_hndl,
6605 tvb, 0, 4, ENC_BIG_ENDIAN);
6607 return tvb_reported_length(tvb);
6611 static int dissect_c15ch_inc_gwe_tgh_stat(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6613 proto_item * ti = NULL;
6614 proto_tree * c15ch_inc_gwe_tgh_stat_tree = NULL;
6616 if (tree)
6618 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_tgh_stat, tvb, 0, 5, ENC_NA);
6619 c15ch_inc_gwe_tgh_stat_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6620 proto_tree_add_item(c15ch_inc_gwe_tgh_stat_tree, hf_c15ch_inc_gwe_tgh_stat_ip_gwe_sua_hndl,
6621 tvb, 0, 4, ENC_BIG_ENDIAN);
6622 proto_tree_add_item(c15ch_inc_gwe_tgh_stat_tree, hf_c15ch_inc_gwe_tgh_stat_ip_gwe_tgh_state,
6623 tvb, 4, 1, ENC_BIG_ENDIAN);
6625 return tvb_reported_length(tvb);
6628 static int dissect_c15ch_inc_gwe_voip_cot(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6630 proto_item * ti = NULL;
6631 proto_tree * c15ch_inc_gwe_voip_cot_tree = NULL;
6633 if (tree)
6635 ti = proto_tree_add_item(tree, hf_c15ch_inc_gwe_voip_cot, tvb, 0, 1, ENC_NA);
6636 c15ch_inc_gwe_voip_cot_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_inc_gwe);
6637 proto_tree_add_item(c15ch_inc_gwe_voip_cot_tree, hf_c15ch_inc_gwe_voip_cot_ip_gwe_pass_code,
6638 tvb, 0, 1, ENC_BIG_ENDIAN);
6640 return tvb_reported_length(tvb);
6644 /* second level dissection */
6645 static int dissect_c15ch_out_gwe(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
6647 proto_item * ti = NULL;
6648 proto_tree * c15ch_out_gwe_tree = NULL;
6649 proto_tree * sub_ni_tn_tree = NULL;
6651 uint8_t data_type;
6652 uint8_t msg_type;
6653 tvbuff_t * next_tvb;
6655 msg_type = tvb_get_uint8(tvb, 8);
6656 data_type = tvb_get_uint8(tvb, 14);
6657 col_clear(pinfo->cinfo, COL_INFO);
6658 col_add_fstr(pinfo->cinfo, COL_INFO, "Type: OUT_GWE, Msg Subtype: %s",
6659 val_to_str_ext(msg_type, &c15_out_gwe_msg_types_ext, "Unknown Msg Subtype: %d") );
6660 if (tree)
6662 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe, tvb, 0, 15, ENC_NA);
6663 proto_item_append_text(ti, ", Msg Subtype: %s",
6664 val_to_str_ext(msg_type, &c15_out_gwe_msg_types_ext, "Unknown Msg Subtype: %d"));
6665 c15ch_out_gwe_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
6667 ti = proto_tree_add_item(c15ch_out_gwe_tree, hf_c15ch_out_gwe_ni_tn,
6668 tvb, 0, 8, ENC_BIG_ENDIAN);
6670 sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_second_level_sub1);
6671 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_out_gwe_ni,
6672 tvb, 0, 4, ENC_BIG_ENDIAN);
6673 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_out_gwe_tn,
6674 tvb, 4, 4, ENC_BIG_ENDIAN);
6677 proto_tree_add_item(c15ch_out_gwe_tree, hf_c15ch_out_gwe_op_gwe_msg_type,
6678 tvb, 8, 1, ENC_BIG_ENDIAN);
6679 proto_tree_add_item(c15ch_out_gwe_tree, hf_c15ch_out_gwe_op_gwe_protocol,
6680 tvb, 9, 1, ENC_BIG_ENDIAN);
6681 proto_tree_add_item(c15ch_out_gwe_tree, hf_c15ch_out_gwe_op_sua_hndl,
6682 tvb, 10, 4, ENC_BIG_ENDIAN);
6683 proto_tree_add_item(c15ch_out_gwe_tree, hf_c15ch_out_gwe_gwe_data_type,
6684 tvb, 14, 1, ENC_BIG_ENDIAN);
6686 next_tvb = tvb_new_subset_remaining(tvb, 15);
6688 dissector_try_uint(c15ch_out_gwe_dissector_table, data_type, next_tvb, pinfo, tree);
6689 return tvb_reported_length(tvb);
6693 /* third level dissection */
6694 static int dissect_c15ch_out_gwe_audit_conn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6696 proto_item * ti = NULL;
6697 proto_tree * c15ch_out_gwe_audit_conn_tree = NULL;
6698 proto_tree * sub_ni_tn_tree = NULL;
6700 if (tree)
6702 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_audit_conn, tvb, 0, 12, ENC_NA);
6703 c15ch_out_gwe_audit_conn_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6704 ti = proto_tree_add_item(c15ch_out_gwe_audit_conn_tree, hf_c15ch_out_gwe_audit_conn_ni_tn,
6705 tvb, 0, 8, ENC_BIG_ENDIAN);
6706 sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_third_level_out_gwe);
6708 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_out_gwe_audit_conn_ni,
6709 tvb, 0, 4, ENC_BIG_ENDIAN);
6710 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_out_gwe_audit_conn_tn,
6711 tvb, 4, 4, ENC_BIG_ENDIAN);
6712 proto_tree_add_item(c15ch_out_gwe_audit_conn_tree, hf_c15ch_out_gwe_audit_conn_context,
6713 tvb, 8, 4, ENC_BIG_ENDIAN);
6716 return tvb_reported_length(tvb);
6720 static int dissect_c15ch_out_gwe_blf_data(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6722 proto_item * ti = NULL;
6723 proto_tree * c15ch_out_gwe_blf_data_tree = NULL;
6724 proto_tree * sub_med_ni_tn_tree = NULL;
6725 proto_tree * sub_rb_ni_tn_tree = NULL;
6727 if (tree)
6729 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_blf_data, tvb, 0, 21, ENC_NA);
6730 c15ch_out_gwe_blf_data_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6731 proto_tree_add_item(c15ch_out_gwe_blf_data_tree, hf_c15ch_out_gwe_blf_data_rb_ua_handle,
6732 tvb, 0, 4, ENC_BIG_ENDIAN);
6733 proto_tree_add_item(c15ch_out_gwe_blf_data_tree, hf_c15ch_out_gwe_blf_data_rb_type,
6734 tvb, 4, 1, ENC_BIG_ENDIAN);
6736 ti = proto_tree_add_item(c15ch_out_gwe_blf_data_tree, hf_c15ch_out_gwe_blf_data_med_ni_tn,
6737 tvb, 5, 8, ENC_BIG_ENDIAN);
6738 sub_med_ni_tn_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe_sub1);
6739 proto_tree_add_item(sub_med_ni_tn_tree, hf_c15ch_out_gwe_blf_data_med_ni,
6740 tvb, 5, 4, ENC_BIG_ENDIAN);
6741 proto_tree_add_item(sub_med_ni_tn_tree, hf_c15ch_out_gwe_blf_data_med_tn,
6742 tvb, 9, 4, ENC_BIG_ENDIAN);
6744 ti = proto_tree_add_item(c15ch_out_gwe_blf_data_tree, hf_c15ch_out_gwe_blf_data_rb_ni_tn,
6745 tvb, 13, 8, ENC_BIG_ENDIAN);
6746 sub_rb_ni_tn_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe_sub2);
6747 proto_tree_add_item(sub_rb_ni_tn_tree, hf_c15ch_out_gwe_blf_data_rb_ni,
6748 tvb, 13, 4, ENC_BIG_ENDIAN);
6749 proto_tree_add_item(sub_rb_ni_tn_tree, hf_c15ch_out_gwe_blf_data_rb_tn,
6750 tvb, 17, 4, ENC_BIG_ENDIAN);
6753 return tvb_reported_length(tvb);
6757 static int dissect_c15ch_out_gwe_call_ans(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6759 proto_item * ti = NULL;
6760 proto_tree * c15ch_out_gwe_call_ans_tree = NULL;
6762 if (tree)
6764 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_call_ans, tvb, 0, 13, ENC_NA);
6765 c15ch_out_gwe_call_ans_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6766 proto_tree_add_item(c15ch_out_gwe_call_ans_tree, hf_c15ch_out_gwe_call_ans_conn_num,
6767 tvb, 0, 4, ENC_BIG_ENDIAN);
6768 proto_tree_add_item(c15ch_out_gwe_call_ans_tree, hf_c15ch_out_gwe_call_ans_op_cl_ans_rsdp_ip,
6769 tvb, 4, 4, ENC_LITTLE_ENDIAN);
6770 proto_tree_add_item(c15ch_out_gwe_call_ans_tree, hf_c15ch_out_gwe_call_ans_op_cl_ans_rsdp_port,
6771 tvb, 8, 4, ENC_BIG_ENDIAN);
6772 proto_tree_add_item(c15ch_out_gwe_call_ans_tree, hf_c15ch_out_gwe_call_ans_encap_isup,
6773 tvb, 12, 1, ENC_BIG_ENDIAN);
6776 return tvb_reported_length(tvb);
6780 static int dissect_c15ch_out_gwe_call_notify(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6782 proto_item * ti = NULL;
6783 proto_tree * c15ch_out_gwe_call_notify_tree = NULL;
6785 if (tree)
6787 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_call_notify, tvb, 0, 8, ENC_NA);
6788 c15ch_out_gwe_call_notify_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6789 proto_tree_add_item(c15ch_out_gwe_call_notify_tree, hf_c15ch_out_gwe_call_notify_op_gwe_mwi,
6790 tvb, 0, 4, ENC_BIG_ENDIAN);
6791 proto_tree_add_item(c15ch_out_gwe_call_notify_tree, hf_c15ch_out_gwe_call_notify_status_code,
6792 tvb, 4, 4, ENC_BIG_ENDIAN);
6795 return tvb_reported_length(tvb);
6799 static int dissect_c15ch_out_gwe_call_prog(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6801 proto_item * ti = NULL;
6802 proto_tree * c15ch_out_gwe_call_prog_tree = NULL;
6804 if (tree)
6806 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_call_prog, tvb, 0, 9, ENC_NA);
6807 c15ch_out_gwe_call_prog_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6808 proto_tree_add_item(c15ch_out_gwe_call_prog_tree, hf_c15ch_out_gwe_call_prog_conn_num,
6809 tvb, 0, 4, ENC_BIG_ENDIAN);
6810 proto_tree_add_item(c15ch_out_gwe_call_prog_tree, hf_c15ch_out_gwe_call_prog_op_gwe_stat_code,
6811 tvb, 4, 4, ENC_BIG_ENDIAN);
6812 proto_tree_add_item(c15ch_out_gwe_call_prog_tree, hf_c15ch_out_gwe_call_prog_encap_isup,
6813 tvb, 8, 1, ENC_BIG_ENDIAN);
6816 return tvb_reported_length(tvb);
6820 static int dissect_c15ch_out_gwe_call_rel(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6822 proto_item * ti = NULL;
6823 proto_tree * c15ch_out_gwe_call_rel_tree = NULL;
6825 if (tree)
6827 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_call_rel, tvb, 0, 5, ENC_NA);
6828 c15ch_out_gwe_call_rel_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6829 proto_tree_add_item(c15ch_out_gwe_call_rel_tree, hf_c15ch_out_gwe_call_rel_status_code,
6830 tvb, 0, 4, ENC_BIG_ENDIAN);
6831 proto_tree_add_item(c15ch_out_gwe_call_rel_tree, hf_c15ch_out_gwe_call_rel_encap_isup,
6832 tvb, 4, 1, ENC_BIG_ENDIAN);
6835 return tvb_reported_length(tvb);
6839 static int dissect_c15ch_out_gwe_call_setup(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6841 proto_item * ti = NULL;
6842 proto_tree * c15ch_out_gwe_call_setup_tree = NULL;
6844 uint8_t redir_num_digits;
6845 uint8_t ocn_num_digits;
6846 uint8_t chrg_num_digits;
6848 if (tree)
6850 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_call_setup, tvb, 0, 60, ENC_NA);
6851 c15ch_out_gwe_call_setup_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6852 /* redir */
6853 redir_num_digits = tvb_get_uint8(tvb, 12);
6855 /* ocn */
6856 ocn_num_digits = tvb_get_uint8(tvb, 30);
6858 /* chrg */
6859 chrg_num_digits = tvb_get_uint8(tvb, 46);
6861 proto_tree_add_item(c15ch_out_gwe_call_setup_tree, hf_c15ch_out_gwe_call_setup_conn_num,
6862 tvb, 0, 4, ENC_BIG_ENDIAN);
6863 proto_tree_add_item(c15ch_out_gwe_call_setup_tree, hf_c15ch_out_gwe_call_setup_op_cl_ans_rsdp_ip,
6864 tvb, 4, 4, ENC_LITTLE_ENDIAN);
6865 proto_tree_add_item(c15ch_out_gwe_call_setup_tree, hf_c15ch_out_gwe_call_setup_op_cl_ans_rsdp_port,
6866 tvb, 8, 4, ENC_BIG_ENDIAN);
6867 add_digits_string(hf_c15ch_out_gwe_call_setup_op_gwe_redir_digits, tvb, c15ch_out_gwe_call_setup_tree,
6868 13, redir_num_digits, 15, 1);
6869 proto_tree_add_item(c15ch_out_gwe_call_setup_tree, hf_c15ch_out_gwe_call_setup_op_gwe_rdir_ton,
6870 tvb, 28, 1, ENC_BIG_ENDIAN);
6871 proto_tree_add_item(c15ch_out_gwe_call_setup_tree, hf_c15ch_out_gwe_call_setup_op_gwe_rdir_np,
6872 tvb, 29, 1, ENC_BIG_ENDIAN);
6873 add_digits_string(hf_c15ch_out_gwe_call_setup_op_gwe_ocn_digits, tvb, c15ch_out_gwe_call_setup_tree,
6874 31, ocn_num_digits, 15, 1);
6875 add_digits_string(hf_c15ch_out_gwe_call_setup_op_gwe_chrg_digits, tvb, c15ch_out_gwe_call_setup_tree,
6876 47, chrg_num_digits, 10, 1);
6877 proto_tree_add_item(c15ch_out_gwe_call_setup_tree, hf_c15ch_out_gwe_call_setup_op_gwe_chrg_noa,
6878 tvb, 57, 1, ENC_BIG_ENDIAN);
6879 proto_tree_add_item(c15ch_out_gwe_call_setup_tree, hf_c15ch_out_gwe_call_setup_op_gwe_chrg_npi,
6880 tvb, 58, 1, ENC_BIG_ENDIAN);
6881 proto_tree_add_item(c15ch_out_gwe_call_setup_tree, hf_c15ch_out_gwe_call_setup_encap_isup,
6882 tvb, 59, 1, ENC_BIG_ENDIAN);
6884 return tvb_reported_length(tvb);
6887 static int dissect_c15ch_out_gwe_conn_num(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6889 proto_item * ti = NULL;
6890 proto_tree * c15ch_out_gwe_conn_num_tree = NULL;
6892 if (tree)
6894 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_conn_num, tvb, 0, 4, ENC_NA);
6895 c15ch_out_gwe_conn_num_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6896 proto_tree_add_item(c15ch_out_gwe_conn_num_tree, hf_c15ch_out_gwe_conn_num_out_gwe_conn_num,
6897 tvb, 0, 4, ENC_BIG_ENDIAN);
6900 return tvb_reported_length(tvb);
6903 static int dissect_c15ch_out_gwe_del_subs_ua(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6905 proto_item * ti = NULL;
6906 proto_tree * c15ch_out_gwe_del_subs_ua_tree = NULL;
6908 if (tree)
6910 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_del_subs_ua, tvb, 0, 4, ENC_NA);
6911 c15ch_out_gwe_del_subs_ua_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6912 proto_tree_add_item(c15ch_out_gwe_del_subs_ua_tree, hf_c15ch_out_gwe_del_subs_ua_op_sip_ua_hndl,
6913 tvb, 0, 4, ENC_BIG_ENDIAN);
6916 return tvb_reported_length(tvb);
6920 static int dissect_c15ch_out_gwe_digit_scan(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6922 proto_item * ti = NULL;
6923 proto_tree * c15ch_out_gwe_digit_scan_tree = NULL;
6925 int str_start;
6926 int max_str_len;
6928 if (tree)
6930 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_digit_scan, tvb, 0, 255, ENC_NA);
6931 c15ch_out_gwe_digit_scan_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6932 proto_tree_add_item(c15ch_out_gwe_digit_scan_tree, hf_c15ch_out_gwe_digit_scan_voip_dgmp_override,
6933 tvb, 0, 4, ENC_BIG_ENDIAN);
6934 str_start = 1;
6935 max_str_len = 250;
6936 add_string_field( c15ch_out_gwe_digit_scan_tree, tvb, str_start, max_str_len, hf_c15ch_out_gwe_digit_scan_actv_dgmp );
6937 proto_tree_add_item(c15ch_out_gwe_digit_scan_tree, hf_c15ch_out_gwe_digit_scan_op_gwe_digit_scan_tone,
6938 tvb, 251, 1, ENC_BIG_ENDIAN);
6939 proto_tree_add_item(c15ch_out_gwe_digit_scan_tree, hf_c15ch_out_gwe_digit_scan_op_gwe_tone_type,
6940 tvb, 252, 1, ENC_BIG_ENDIAN);
6941 proto_tree_add_item(c15ch_out_gwe_digit_scan_tree, hf_c15ch_out_gwe_digit_scan_op_gwe_tone_to,
6942 tvb, 253, 1, ENC_BIG_ENDIAN);
6943 proto_tree_add_item(c15ch_out_gwe_digit_scan_tree, hf_c15ch_out_gwe_digit_scan_op_gwe_digit_flash,
6944 tvb, 254, 1, ENC_BIG_ENDIAN);
6947 return tvb_reported_length(tvb);
6951 static int dissect_c15ch_out_gwe_line_sprvsn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6953 proto_item * ti = NULL;
6954 proto_tree * c15ch_out_gwe_line_sprvsn_tree = NULL;
6956 if (tree)
6958 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_line_sprvsn, tvb, 0, 3, ENC_NA);
6959 c15ch_out_gwe_line_sprvsn_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6960 proto_tree_add_item(c15ch_out_gwe_line_sprvsn_tree, hf_c15ch_out_gwe_line_sprvsn_op_gwe_ofhk_event,
6961 tvb, 0, 1, ENC_BIG_ENDIAN);
6962 proto_tree_add_item(c15ch_out_gwe_line_sprvsn_tree, hf_c15ch_out_gwe_line_sprvsn_op_gwe_onhk_event,
6963 tvb, 1, 1, ENC_BIG_ENDIAN);
6964 proto_tree_add_item(c15ch_out_gwe_line_sprvsn_tree, hf_c15ch_out_gwe_line_sprvsn_op_gwe_flhk_event,
6965 tvb, 2, 1, ENC_BIG_ENDIAN);
6968 return tvb_reported_length(tvb);
6972 static int dissect_c15ch_out_gwe_md_conn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6974 proto_item * ti = NULL;
6975 proto_tree * c15ch_out_gwe_md_conn_tree = NULL;
6977 if (tree)
6979 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_md_conn, tvb, 0, 6, ENC_NA);
6980 c15ch_out_gwe_md_conn_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
6981 proto_tree_add_item(c15ch_out_gwe_md_conn_tree, hf_c15ch_out_gwe_md_conn_conn_num,
6982 tvb, 0, 4, ENC_BIG_ENDIAN);
6983 proto_tree_add_item(c15ch_out_gwe_md_conn_tree, hf_c15ch_out_gwe_md_conn_status_code,
6984 tvb, 4, 1, ENC_BIG_ENDIAN);
6985 proto_tree_add_item(c15ch_out_gwe_md_conn_tree, hf_c15ch_out_gwe_md_conn_op_gwe_mode,
6986 tvb, 5, 1, ENC_BIG_ENDIAN);
6989 return tvb_reported_length(tvb);
6993 static int dissect_c15ch_out_gwe_out_cot(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
6995 proto_item * ti = NULL;
6996 proto_tree * c15ch_out_gwe_out_cot_tree = NULL;
6997 proto_tree * sub_ni_tn_tree = NULL;
6999 if (tree)
7001 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_out_cot, tvb, 0, 8, ENC_NA);
7002 c15ch_out_gwe_out_cot_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
7004 ti = proto_tree_add_item(c15ch_out_gwe_out_cot_tree, hf_c15ch_out_gwe_out_cot_ni_tn,
7005 tvb, 0, 8, ENC_BIG_ENDIAN);
7006 sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_third_level_out_gwe_sub1);
7008 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_out_gwe_out_cot_ni,
7009 tvb, 0, 4, ENC_BIG_ENDIAN);
7010 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_out_gwe_out_cot_tn,
7011 tvb, 4, 4, ENC_BIG_ENDIAN);
7014 return tvb_reported_length(tvb);
7018 static int dissect_c15ch_out_gwe_mk_conn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7020 proto_item * ti = NULL;
7021 proto_tree * c15ch_out_gwe_mk_conn_tree = NULL;
7023 if (tree)
7025 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_mk_conn, tvb, 0, 12, ENC_NA);
7026 c15ch_out_gwe_mk_conn_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
7027 proto_tree_add_item(c15ch_out_gwe_mk_conn_tree, hf_c15ch_out_gwe_mk_conn_conn_num,
7028 tvb, 0, 4, ENC_BIG_ENDIAN);
7029 proto_tree_add_item(c15ch_out_gwe_mk_conn_tree, hf_c15ch_out_gwe_mk_conn_op_mk_conn_rsdp_ip,
7030 tvb, 4, 4, ENC_LITTLE_ENDIAN);
7031 proto_tree_add_item(c15ch_out_gwe_mk_conn_tree, hf_c15ch_out_gwe_mk_conn_op_mk_conn_rsdp_port,
7032 tvb, 8, 4, ENC_BIG_ENDIAN);
7035 return tvb_reported_length(tvb);
7038 static int dissect_c15ch_out_gwe_pcm_data(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7040 proto_item * ti = NULL;
7041 proto_tree * c15ch_out_gwe_pcm_data_tree = NULL;
7043 if (tree)
7045 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_pcm_data, tvb, 0, 8, ENC_NA);
7046 c15ch_out_gwe_pcm_data_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
7047 proto_tree_add_item(c15ch_out_gwe_pcm_data_tree, hf_c15ch_out_gwe_pcm_data_rb_ua_handle_near,
7048 tvb, 0, 4, ENC_BIG_ENDIAN);
7049 proto_tree_add_item(c15ch_out_gwe_pcm_data_tree, hf_c15ch_out_gwe_pcm_data_rb_ua_handle_far,
7050 tvb, 4, 4, ENC_BIG_ENDIAN);
7053 return tvb_reported_length(tvb);
7056 static int dissect_c15ch_out_gwe_ring_line(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7058 proto_item * ti = NULL;
7059 proto_tree * c15ch_out_gwe_ring_line_tree = NULL;
7061 if (tree)
7063 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_ring_line, tvb, 0, 101, ENC_NA);
7064 c15ch_out_gwe_ring_line_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
7065 proto_tree_add_item(c15ch_out_gwe_ring_line_tree, hf_c15ch_out_gwe_ring_line_op_gwe_display,
7066 tvb, 0, 1, ENC_BIG_ENDIAN);
7067 add_string_field( c15ch_out_gwe_ring_line_tree, tvb, 1, 100, hf_c15ch_out_gwe_ring_line_op_gwe_display_chars );
7070 return tvb_reported_length(tvb);
7074 static int dissect_c15ch_out_gwe_rv_subs_data(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7076 proto_item * ti = NULL;
7077 proto_tree * c15ch_out_gwe_rv_subs_data_tree = NULL;
7078 proto_tree * sub_ni_tn_tree = NULL;
7080 if (tree)
7082 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_rv_subs_data, tvb, 0, 8, ENC_NA);
7083 c15ch_out_gwe_rv_subs_data_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
7085 ti = proto_tree_add_item(c15ch_out_gwe_rv_subs_data_tree, hf_c15ch_out_gwe_rv_subs_data_rb_fe_ni_tn,
7086 tvb, 0, 8, ENC_BIG_ENDIAN);
7087 sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_third_level_out_gwe_sub1);
7088 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_out_gwe_rv_subs_data_rb_fe_ni,
7089 tvb, 0, 4, ENC_BIG_ENDIAN);
7090 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_out_gwe_rv_subs_data_rb_fe_tn,
7091 tvb, 4, 4, ENC_BIG_ENDIAN);
7094 return tvb_reported_length(tvb);
7097 static int dissect_c15ch_out_gwe_sac_notify(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7099 proto_item * ti = NULL;
7100 proto_tree * c15ch_out_gwe_sac_notify_tree = NULL;
7102 if (tree)
7104 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_sac_notify, tvb, 0, 2, ENC_NA);
7105 c15ch_out_gwe_sac_notify_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
7106 proto_tree_add_item(c15ch_out_gwe_sac_notify_tree, hf_c15ch_out_gwe_sac_notify_op_gwe_blf_state,
7107 tvb, 0, 1, ENC_BIG_ENDIAN);
7108 proto_tree_add_item(c15ch_out_gwe_sac_notify_tree, hf_c15ch_out_gwe_sac_notify_op_gwe_subs_state,
7109 tvb, 1, 1, ENC_BIG_ENDIAN);
7112 return tvb_reported_length(tvb);
7116 static int dissect_c15ch_out_gwe_sac_list_entry(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7118 proto_item * ti = NULL;
7119 proto_tree * c15ch_out_gwe_sac_list_entry_tree = NULL;
7121 if (tree)
7123 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_sac_list_entry, tvb, 0, 72, ENC_NA);
7124 c15ch_out_gwe_sac_list_entry_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
7125 add_string_field( c15ch_out_gwe_sac_list_entry_tree, tvb, 0,72,
7126 hf_c15ch_out_gwe_sac_list_entry_op_gwe_med_uri );
7129 return tvb_reported_length(tvb);
7133 static int dissect_c15ch_out_gwe_sac_sub_valid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7135 proto_item * ti = NULL;
7136 proto_tree * c15ch_out_gwe_sac_sub_valid_tree = NULL;
7138 if (tree)
7140 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_sac_sub_valid, tvb, 0, 5, ENC_NA);
7141 c15ch_out_gwe_sac_sub_valid_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
7142 proto_tree_add_item(c15ch_out_gwe_sac_sub_valid_tree, hf_c15ch_out_gwe_sac_sub_valid_op_gwe_subs_valid,
7143 tvb, 0, 1, ENC_BIG_ENDIAN);
7144 proto_tree_add_item(c15ch_out_gwe_sac_sub_valid_tree, hf_c15ch_out_gwe_sac_sub_valid_op_gwe_num_list_items,
7145 tvb, 1, 4, ENC_BIG_ENDIAN);
7148 return tvb_reported_length(tvb);
7152 static int dissect_c15ch_out_gwe_sip_info(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7154 proto_item * ti = NULL;
7155 proto_tree * c15ch_out_gwe_sip_info_tree = NULL;
7158 if (tree)
7160 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_sip_info, tvb, 0, 5, ENC_NA);
7161 c15ch_out_gwe_sip_info_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
7162 proto_tree_add_item(c15ch_out_gwe_sip_info_tree, hf_c15ch_out_gwe_sip_info_op_gwe_sip_info_type,
7163 tvb, 0, 1, ENC_BIG_ENDIAN);
7164 proto_tree_add_item(c15ch_out_gwe_sip_info_tree, hf_c15ch_out_gwe_sip_info_op_gwe_sip_info,
7165 tvb, 1, 4, ENC_BIG_ENDIAN);
7168 return tvb_reported_length(tvb);
7171 static int dissect_c15ch_out_gwe_sip_refer(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7173 proto_item * ti = NULL;
7174 proto_tree * c15ch_out_gwe_sip_refer_tree = NULL;
7176 if (tree)
7178 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_sip_refer, tvb, 0, 4, ENC_NA);
7179 c15ch_out_gwe_sip_refer_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
7180 proto_tree_add_item(c15ch_out_gwe_sip_refer_tree, hf_c15ch_out_gwe_sip_refer_op_gwe_refer_ua_hndl,
7181 tvb, 0, 4, ENC_BIG_ENDIAN);
7184 return tvb_reported_length(tvb);
7188 static int dissect_c15ch_out_gwe_update_ni_tn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7190 proto_item * ti = NULL;
7191 proto_tree * c15ch_out_gwe_update_ni_tn_tree = NULL;
7192 proto_tree * sub_ni_tn_tree = NULL;
7195 if (tree)
7197 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_update_ni_tn, tvb, 0, 8, ENC_NA);
7198 c15ch_out_gwe_update_ni_tn_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
7200 ti = proto_tree_add_item(c15ch_out_gwe_update_ni_tn_tree, hf_c15ch_out_gwe_update_ni_tn_ni_tn,
7201 tvb, 0, 8, ENC_BIG_ENDIAN);
7203 sub_ni_tn_tree = proto_item_add_subtree (ti, ett_c15ch_third_level_out_gwe_sub1);
7204 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_out_gwe_update_ni_tn_ni,
7205 tvb, 0, 4, ENC_BIG_ENDIAN);
7206 proto_tree_add_item(sub_ni_tn_tree, hf_c15ch_out_gwe_update_ni_tn_tn,
7207 tvb, 4, 4, ENC_BIG_ENDIAN);
7210 return tvb_reported_length(tvb);
7213 static int dissect_c15ch_out_gwe_update_rec_addr(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7215 proto_item * ti = NULL;
7216 proto_tree * c15ch_out_gwe_update_rec_addr_tree = NULL;
7218 if (tree)
7220 ti = proto_tree_add_item(tree, hf_c15ch_out_gwe_update_rec_addr, tvb, 0, 4, ENC_NA);
7221 c15ch_out_gwe_update_rec_addr_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_out_gwe);
7222 proto_tree_add_item(c15ch_out_gwe_update_rec_addr_tree, hf_c15ch_out_gwe_update_rec_addr_op_new_rec_addr,
7223 tvb, 0, 4, ENC_BIG_ENDIAN);
7226 return tvb_reported_length(tvb);
7229 /* tone */
7231 static int dissect_c15ch_tone(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7233 proto_item * ti = NULL;
7234 proto_tree * c15ch_tone_tree = NULL;
7236 uint8_t msg_type;
7237 tvbuff_t * next_tvb;
7238 uint32_t retv = 0;
7240 msg_type = tvb_get_uint8(tvb, 0);
7241 col_clear(pinfo->cinfo, COL_INFO);
7242 col_add_fstr(pinfo->cinfo, COL_INFO, "Type: TONE, Msg Subtype: %s",
7243 val_to_str(msg_type, c15_tone_msg_types, "Unknown Msg Subtype: %d") );
7244 if (tree)
7246 ti = proto_tree_add_item(tree, hf_c15ch_tone, tvb, 0, 1, ENC_NA);
7247 proto_item_append_text(ti, ", Msg Subtype: %s",
7248 val_to_str(msg_type, c15_tone_msg_types, "Unknown Msg Subtype: %d"));
7249 c15ch_tone_tree = proto_item_add_subtree(ti, ett_c15ch_second_level);
7250 proto_tree_add_item(c15ch_tone_tree, hf_c15ch_tone_msg_type,
7251 tvb, 0, 1, ENC_BIG_ENDIAN);
7253 next_tvb = tvb_new_subset_remaining(tvb, 1);
7254 retv = 1 + dissector_try_uint(c15ch_tone_dissector_table, msg_type, next_tvb, pinfo, tree);
7255 return retv;
7259 static int dissect_c15ch_tone_cot_control(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7261 proto_item * ti = NULL;
7262 proto_tree * c15ch_tone_cot_control_tree = NULL;
7264 if (tree)
7266 ti = proto_tree_add_item(tree, hf_c15ch_tone_cot_control, tvb, 0, 5, ENC_NA);
7267 c15ch_tone_cot_control_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_tone);
7268 proto_tree_add_item(c15ch_tone_cot_control_tree, hf_c15ch_tone_cot_control_device_id,
7269 tvb, 0, 1, ENC_BIG_ENDIAN);
7270 proto_tree_add_item(c15ch_tone_cot_control_tree, hf_c15ch_tone_cot_control_cot_task,
7271 tvb, 1, 1, ENC_BIG_ENDIAN);
7272 proto_tree_add_item(c15ch_tone_cot_control_tree, hf_c15ch_tone_cot_control_dest_h248,
7273 tvb, 2, 1, ENC_BIG_ENDIAN);
7274 proto_tree_add_item(c15ch_tone_cot_control_tree, hf_c15ch_tone_cot_control_srce_h248,
7275 tvb, 3, 1, ENC_BIG_ENDIAN);
7276 proto_tree_add_item(c15ch_tone_cot_control_tree, hf_c15ch_tone_cot_control_svc_channel,
7277 tvb, 4, 1, ENC_BIG_ENDIAN);
7280 return tvb_reported_length(tvb);
7283 static int dissect_c15ch_tone_cpm(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7285 proto_item * ti = NULL;
7286 proto_tree * c15ch_tone_cpm_tree = NULL;
7288 if (tree)
7290 ti = proto_tree_add_item(tree, hf_c15ch_tone_cpm, tvb, 0, 3, ENC_NA);
7291 c15ch_tone_cpm_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_tone);
7292 proto_tree_add_item(c15ch_tone_cpm_tree, hf_c15ch_tone_cpm_loop_type,
7293 tvb, 0, 1, ENC_BIG_ENDIAN);
7294 proto_tree_add_item(c15ch_tone_cpm_tree, hf_c15ch_tone_cpm_device_id,
7295 tvb, 1, 1, ENC_BIG_ENDIAN);
7296 proto_tree_add_item(c15ch_tone_cpm_tree, hf_c15ch_tone_cpm_tone_type,
7297 tvb, 2, 1, ENC_BIG_ENDIAN);
7300 return tvb_reported_length(tvb);
7304 static int dissect_c15ch_tone_give_tone(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7306 proto_item * ti = NULL;
7307 proto_tree * c15ch_tone_give_tone_tree = NULL;
7309 if (tree)
7311 ti = proto_tree_add_item(tree, hf_c15ch_tone_give_tone, tvb, 0, 2, ENC_NA);
7312 c15ch_tone_give_tone_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_tone);
7313 proto_tree_add_item(c15ch_tone_give_tone_tree, hf_c15ch_tone_give_tone_tone_id,
7314 tvb, 0, 1, ENC_BIG_ENDIAN);
7315 proto_tree_add_item(c15ch_tone_give_tone_tree, hf_c15ch_tone_give_tone_tone_type,
7316 tvb, 1, 1, ENC_BIG_ENDIAN);
7319 return tvb_reported_length(tvb);
7322 static int dissect_c15ch_tone_madn_ring(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7324 proto_item * ti = NULL;
7325 proto_tree * c15ch_tone_madn_ring_tree = NULL;
7327 if (tree)
7329 ti = proto_tree_add_item(tree, hf_c15ch_tone_madn_ring, tvb, 0, 2, ENC_NA);
7330 c15ch_tone_madn_ring_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_tone);
7331 proto_tree_add_item(c15ch_tone_madn_ring_tree, hf_c15ch_tone_madn_ring_device_id,
7332 tvb, 0, 1, ENC_BIG_ENDIAN);
7333 proto_tree_add_item(c15ch_tone_madn_ring_tree, hf_c15ch_tone_madn_ring_tone_type,
7334 tvb, 1, 1, ENC_BIG_ENDIAN);
7337 return tvb_reported_length(tvb);
7341 static int dissect_c15ch_tone_opls(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7343 proto_item * ti = NULL;
7344 proto_tree * c15ch_tone_opls_tree = NULL;
7345 proto_tree * to_ni_tn_tree = NULL;
7347 uint8_t num_digits;
7348 num_digits = tvb_get_uint8(tvb, 12);
7350 if (tree)
7352 ti = proto_tree_add_item(tree, hf_c15ch_tone_opls, tvb, 0, 67, ENC_NA);
7353 c15ch_tone_opls_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_tone);
7354 proto_tree_add_item(c15ch_tone_opls_tree, hf_c15ch_tone_opls_svce_from_ni,
7355 tvb, 0, 4, ENC_BIG_ENDIAN);
7356 ti = proto_tree_add_item(c15ch_tone_opls_tree, hf_c15ch_tone_opls_svce_to_ni_tn,
7357 tvb, 4, 8, ENC_BIG_ENDIAN);
7358 to_ni_tn_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_tone_sub1);
7359 proto_tree_add_item(to_ni_tn_tree, hf_c15ch_tone_opls_svce_to_ni,
7360 tvb, 4, 4, ENC_BIG_ENDIAN);
7361 proto_tree_add_item(to_ni_tn_tree, hf_c15ch_tone_opls_svce_to_tn,
7362 tvb, 8, 4, ENC_BIG_ENDIAN);
7363 /* digits */
7364 add_digits_string(hf_c15ch_tone_opls_digits, tvb, c15ch_tone_opls_tree,
7365 13, num_digits, 54, 1);
7368 return tvb_reported_length(tvb);
7372 static int dissect_c15ch_tone_rcvr(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7374 proto_item * ti = NULL;
7375 proto_tree * c15ch_tone_rcvr_tree = NULL;
7376 proto_tree * ni_tn_tree = NULL;
7379 if (tree)
7381 ti = proto_tree_add_item(tree, hf_c15ch_tone_rcvr, tvb, 0, 9, ENC_NA);
7382 c15ch_tone_rcvr_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_tone);
7383 proto_tree_add_item(c15ch_tone_rcvr_tree, hf_c15ch_tone_rcvr_rcvr_id,
7384 tvb, 0, 1, ENC_BIG_ENDIAN);
7385 ti = proto_tree_add_item(c15ch_tone_rcvr_tree, hf_c15ch_tone_rcvr_conn_to_ni_tn,
7386 tvb, 1, 8, ENC_BIG_ENDIAN);
7387 ni_tn_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_tone_sub1);
7388 proto_tree_add_item(ni_tn_tree, hf_c15ch_tone_rcvr_conn_to_ni,
7389 tvb, 1, 4, ENC_BIG_ENDIAN);
7390 proto_tree_add_item(ni_tn_tree, hf_c15ch_tone_rcvr_conn_to_tn,
7391 tvb, 5, 4, ENC_BIG_ENDIAN);
7394 return tvb_reported_length(tvb);
7398 static int dissect_c15ch_tone_timeout(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7400 proto_item * ti = NULL;
7401 proto_tree * c15ch_tone_timeout_tree = NULL;
7402 proto_tree * ni_tn_tree = NULL;
7404 if (tree)
7406 ti = proto_tree_add_item(tree, hf_c15ch_tone_timeout, tvb, 0, 15, ENC_NA);
7407 c15ch_tone_timeout_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_tone);
7408 proto_tree_add_item(c15ch_tone_timeout_tree, hf_c15ch_tone_timeout_device_id,
7409 tvb, 0, 1, ENC_BIG_ENDIAN);
7410 proto_tree_add_item(c15ch_tone_timeout_tree, hf_c15ch_tone_timeout_service_pm,
7411 tvb, 1, 1, ENC_BIG_ENDIAN);
7413 ti = proto_tree_add_item(c15ch_tone_timeout_tree, hf_c15ch_tone_timeout_service_ni_tn,
7414 tvb, 2, 8, ENC_BIG_ENDIAN);
7415 ni_tn_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_tone_sub1);
7416 proto_tree_add_item(ni_tn_tree, hf_c15ch_tone_timeout_service_ni,
7417 tvb, 2, 4, ENC_BIG_ENDIAN);
7418 proto_tree_add_item(ni_tn_tree, hf_c15ch_tone_timeout_service_tn,
7419 tvb, 6, 4, ENC_BIG_ENDIAN);
7421 proto_tree_add_item(c15ch_tone_timeout_tree, hf_c15ch_tone_timeout_gw_provided,
7422 tvb, 10, 1, ENC_BIG_ENDIAN);
7423 proto_tree_add_item(c15ch_tone_timeout_tree, hf_c15ch_tone_timeout_gw_service_tone_type_or_from_ni,
7424 tvb, 11, 4, ENC_BIG_ENDIAN);
7427 return tvb_reported_length(tvb);
7430 static int dissect_c15ch_tone_tone_control(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void *data _U_)
7432 proto_item * ti = NULL;
7433 proto_tree * c15ch_tone_tone_control_tree = NULL;
7435 if (tree)
7437 ti = proto_tree_add_item(tree, hf_c15ch_tone_tone_control, tvb, 0, 2, ENC_NA);
7438 c15ch_tone_tone_control_tree = proto_item_add_subtree(ti, ett_c15ch_third_level_tone);
7439 proto_tree_add_item(c15ch_tone_tone_control_tree, hf_c15ch_tone_tone_control_device_id,
7440 tvb, 0, 1, ENC_BIG_ENDIAN);
7441 proto_tree_add_item(c15ch_tone_tone_control_tree, hf_c15ch_tone_tone_control_tone_type,
7442 tvb, 1, 1, ENC_BIG_ENDIAN);
7445 return tvb_reported_length(tvb);
7448 /* Second level for new Generic Messages */
7449 /* Generic Message 1 is for a 1232 character ASCII string */
7450 static int dissect_c15ch_c15_generic_msg_1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7452 proto_item * ti = NULL;
7453 proto_tree * c15ch_c15_generic_msg_1_tree = NULL;
7454 int length = 0;
7456 length = tvb_reported_length(tvb);
7458 if (length > 0)
7460 ti = proto_tree_add_item( tree, hf_c15ch_c15_generic_msg_1, tvb, 0, length, ENC_NA );
7461 col_append_fstr(pinfo->cinfo, COL_INFO, ", Length: %d", length);
7462 c15ch_c15_generic_msg_1_tree = proto_item_add_subtree( ti, ett_c15ch_second_level );
7463 proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_parm_1,
7464 tvb, 0, 4, ENC_BIG_ENDIAN);
7465 proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_parm_2,
7466 tvb, 4, 4, ENC_BIG_ENDIAN);
7467 proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_parm_3,
7468 tvb, 8, 4, ENC_BIG_ENDIAN);
7469 proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_parm_4,
7470 tvb, 12, 4, ENC_BIG_ENDIAN);
7471 proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_parm_5,
7472 tvb, 16, 4, ENC_BIG_ENDIAN);
7473 proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_data_len,
7474 tvb, 20, 4, ENC_BIG_ENDIAN);
7475 proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_cr_ptr_val,
7476 tvb, 24, 4, ENC_BIG_ENDIAN);
7477 proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_dr_ptr_val,
7478 tvb, 28, 4, ENC_BIG_ENDIAN);
7479 proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_spr_int_1,
7480 tvb, 32, 4, ENC_BIG_ENDIAN);
7481 proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_spr_int_2,
7482 tvb, 36, 4, ENC_BIG_ENDIAN);
7483 proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_spr_uptr_1,
7484 tvb, 40, 4, ENC_BIG_ENDIAN);
7485 proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_spr_uptr_2,
7486 tvb, 44, 4, ENC_BIG_ENDIAN);
7487 proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_spr_pptr_1,
7488 tvb, 48, 4, ENC_BIG_ENDIAN);
7489 proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_spr_pptr_2,
7490 tvb, 52, 4, ENC_BIG_ENDIAN);
7491 proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_gen_msg_field_1,
7492 tvb, 56, 4, ENC_BIG_ENDIAN);
7493 proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_gen_msg_field_2,
7494 tvb, 60, 4, ENC_BIG_ENDIAN);
7495 proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_gen_msg_field_3,
7496 tvb, 64, 4, ENC_BIG_ENDIAN);
7497 proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_gen_msg_field_4,
7498 tvb, 68, 4, ENC_BIG_ENDIAN);
7499 proto_tree_add_item(c15ch_c15_generic_msg_1_tree, hf_c15ch_c15_generic_msg_gen_msg_field_5,
7500 tvb, 72, 4, ENC_BIG_ENDIAN);
7501 add_string_field(c15ch_c15_generic_msg_1_tree, tvb, 76, 1232,
7502 hf_c15ch_c15_generic_msg_gen_msg_string);
7505 return length;
7508 /* Generic Message 2 is for a 1232 hex bytes */
7509 static int dissect_c15ch_c15_generic_msg_2(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7511 proto_item * ti = NULL;
7512 proto_tree * c15ch_c15_generic_msg_2_tree = NULL;
7513 int length = 0;
7515 length = tvb_reported_length(tvb);
7517 if (length > 0)
7519 ti = proto_tree_add_item( tree, hf_c15ch_c15_generic_msg_2, tvb, 0, length, ENC_NA );
7520 col_append_fstr(pinfo->cinfo, COL_INFO, ", Length: %d", length);
7521 c15ch_c15_generic_msg_2_tree = proto_item_add_subtree( ti, ett_c15ch_second_level );
7522 proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_parm_1,
7523 tvb, 0, 4, ENC_BIG_ENDIAN);
7524 proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_parm_2,
7525 tvb, 4, 4, ENC_BIG_ENDIAN);
7526 proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_parm_3,
7527 tvb, 8, 4, ENC_BIG_ENDIAN);
7528 proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_parm_4,
7529 tvb, 12, 4, ENC_BIG_ENDIAN);
7530 proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_parm_5,
7531 tvb, 16, 4, ENC_BIG_ENDIAN);
7532 proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_data_len,
7533 tvb, 20, 4, ENC_BIG_ENDIAN);
7534 proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_cr_ptr_val,
7535 tvb, 24, 4, ENC_BIG_ENDIAN);
7536 proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_dr_ptr_val,
7537 tvb, 28, 4, ENC_BIG_ENDIAN);
7538 proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_spr_int_1,
7539 tvb, 32, 4, ENC_BIG_ENDIAN);
7540 proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_spr_int_2,
7541 tvb, 36, 4, ENC_BIG_ENDIAN);
7542 proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_spr_uptr_1,
7543 tvb, 40, 4, ENC_BIG_ENDIAN);
7544 proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_spr_uptr_2,
7545 tvb, 44, 4, ENC_BIG_ENDIAN);
7546 proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_spr_pptr_1,
7547 tvb, 48, 4, ENC_BIG_ENDIAN);
7548 proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_spr_pptr_2,
7549 tvb, 52, 4, ENC_BIG_ENDIAN);
7550 proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_gen_msg_field_1,
7551 tvb, 56, 4, ENC_BIG_ENDIAN);
7552 proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_gen_msg_field_2,
7553 tvb, 60, 4, ENC_BIG_ENDIAN);
7554 proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_gen_msg_field_3,
7555 tvb, 64, 4, ENC_BIG_ENDIAN);
7556 proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_gen_msg_field_4,
7557 tvb, 68, 4, ENC_BIG_ENDIAN);
7558 proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_gen_msg_field_5,
7559 tvb, 72, 4, ENC_BIG_ENDIAN);
7560 proto_tree_add_item(c15ch_c15_generic_msg_2_tree, hf_c15ch_c15_generic_msg_gen_data_large,
7561 tvb, 76, 1232, ENC_NA);
7564 return length;
7567 /* Generic Message 3 is for a 616 character string - 616 hex bytes */
7568 static int dissect_c15ch_c15_generic_msg_3(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7570 proto_item * ti = NULL;
7571 proto_tree * c15ch_c15_generic_msg_3_tree = NULL;
7572 int length = 0;
7574 length = tvb_reported_length(tvb);
7576 if (length > 0)
7578 ti = proto_tree_add_item( tree, hf_c15ch_c15_generic_msg_3, tvb, 0, length, ENC_NA );
7579 col_append_fstr(pinfo->cinfo, COL_INFO, ", Length: %d", length);
7580 c15ch_c15_generic_msg_3_tree = proto_item_add_subtree( ti, ett_c15ch_second_level );
7581 proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_parm_1,
7582 tvb, 0, 4, ENC_BIG_ENDIAN);
7583 proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_parm_2,
7584 tvb, 4, 4, ENC_BIG_ENDIAN);
7585 proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_parm_3,
7586 tvb, 8, 4, ENC_BIG_ENDIAN);
7587 proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_parm_4,
7588 tvb, 12, 4, ENC_BIG_ENDIAN);
7589 proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_parm_5,
7590 tvb, 16, 4, ENC_BIG_ENDIAN);
7591 proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_data_len,
7592 tvb, 20, 4, ENC_BIG_ENDIAN);
7593 proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_cr_ptr_val,
7594 tvb, 24, 4, ENC_BIG_ENDIAN);
7595 proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_dr_ptr_val,
7596 tvb, 28, 4, ENC_BIG_ENDIAN);
7597 proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_spr_int_1,
7598 tvb, 32, 4, ENC_BIG_ENDIAN);
7599 proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_spr_int_2,
7600 tvb, 36, 4, ENC_BIG_ENDIAN);
7601 proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_spr_uptr_1,
7602 tvb, 40, 4, ENC_BIG_ENDIAN);
7603 proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_spr_uptr_2,
7604 tvb, 44, 4, ENC_BIG_ENDIAN);
7605 proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_spr_pptr_1,
7606 tvb, 48, 4, ENC_BIG_ENDIAN);
7607 proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_spr_pptr_2,
7608 tvb, 52, 4, ENC_BIG_ENDIAN);
7609 proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_gen_msg_field_1,
7610 tvb, 56, 4, ENC_BIG_ENDIAN);
7611 proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_gen_msg_field_2,
7612 tvb, 60, 4, ENC_BIG_ENDIAN);
7613 proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_gen_msg_field_3,
7614 tvb, 64, 4, ENC_BIG_ENDIAN);
7615 proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_gen_msg_field_4,
7616 tvb, 68, 4, ENC_BIG_ENDIAN);
7617 proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_gen_msg_field_5,
7618 tvb, 72, 4, ENC_BIG_ENDIAN);
7619 add_string_field(c15ch_c15_generic_msg_3_tree, tvb, 76, 616,
7620 hf_c15ch_c15_generic_msg_gen_msg_string);
7621 proto_tree_add_item(c15ch_c15_generic_msg_3_tree, hf_c15ch_c15_generic_msg_gen_data_large,
7622 tvb, 692, 616, ENC_NA);
7625 return length;
7628 /* Generic Message 4 is for a 924 character string - 308 hex bytes */
7629 static int dissect_c15ch_c15_generic_msg_4(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7631 proto_item * ti = NULL;
7632 proto_tree * c15ch_c15_generic_msg_4_tree = NULL;
7633 int length = 0;
7635 length = tvb_reported_length(tvb);
7637 if (length > 0)
7639 ti = proto_tree_add_item( tree, hf_c15ch_c15_generic_msg_4, tvb, 0, length, ENC_NA );
7640 col_append_fstr(pinfo->cinfo, COL_INFO, ", Length: %d", length);
7641 c15ch_c15_generic_msg_4_tree = proto_item_add_subtree( ti, ett_c15ch_second_level );
7642 proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_parm_1,
7643 tvb, 0, 4, ENC_BIG_ENDIAN);
7644 proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_parm_2,
7645 tvb, 4, 4, ENC_BIG_ENDIAN);
7646 proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_parm_3,
7647 tvb, 8, 4, ENC_BIG_ENDIAN);
7648 proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_parm_4,
7649 tvb, 12, 4, ENC_BIG_ENDIAN);
7650 proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_parm_5,
7651 tvb, 16, 4, ENC_BIG_ENDIAN);
7652 proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_data_len,
7653 tvb, 20, 4, ENC_BIG_ENDIAN);
7654 proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_cr_ptr_val,
7655 tvb, 24, 4, ENC_BIG_ENDIAN);
7656 proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_dr_ptr_val,
7657 tvb, 28, 4, ENC_BIG_ENDIAN);
7658 proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_spr_int_1,
7659 tvb, 32, 4, ENC_BIG_ENDIAN);
7660 proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_spr_int_2,
7661 tvb, 36, 4, ENC_BIG_ENDIAN);
7662 proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_spr_uptr_1,
7663 tvb, 40, 4, ENC_BIG_ENDIAN);
7664 proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_spr_uptr_2,
7665 tvb, 44, 4, ENC_BIG_ENDIAN);
7666 proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_spr_pptr_1,
7667 tvb, 48, 4, ENC_BIG_ENDIAN);
7668 proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_spr_pptr_2,
7669 tvb, 52, 4, ENC_BIG_ENDIAN);
7670 proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_gen_msg_field_1,
7671 tvb, 56, 4, ENC_BIG_ENDIAN);
7672 proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_gen_msg_field_2,
7673 tvb, 60, 4, ENC_BIG_ENDIAN);
7674 proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_gen_msg_field_3,
7675 tvb, 64, 4, ENC_BIG_ENDIAN);
7676 proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_gen_msg_field_4,
7677 tvb, 68, 4, ENC_BIG_ENDIAN);
7678 proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_gen_msg_field_5,
7679 tvb, 72, 4, ENC_BIG_ENDIAN);
7680 add_string_field(c15ch_c15_generic_msg_4_tree, tvb, 76, 924,
7681 hf_c15ch_c15_generic_msg_gen_msg_string);
7682 proto_tree_add_item(c15ch_c15_generic_msg_4_tree, hf_c15ch_c15_generic_msg_gen_data_large,
7683 tvb, 1000, 308, ENC_NA);
7686 return length;
7689 /* Generic Message 5 is for a 308 character string - 924 hex bytes */
7690 static int dissect_c15ch_c15_generic_msg_5(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7692 proto_item * ti = NULL;
7693 proto_tree * c15ch_c15_generic_msg_5_tree = NULL;
7694 int length = 0;
7696 length = tvb_reported_length(tvb);
7698 if (length > 0)
7700 ti = proto_tree_add_item( tree, hf_c15ch_c15_generic_msg_5, tvb, 0, length, ENC_NA );
7701 col_append_fstr(pinfo->cinfo, COL_INFO, ", Length: %d", length);
7702 c15ch_c15_generic_msg_5_tree = proto_item_add_subtree( ti, ett_c15ch_second_level );
7703 proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_parm_1,
7704 tvb, 0, 4, ENC_BIG_ENDIAN);
7705 proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_parm_2,
7706 tvb, 4, 4, ENC_BIG_ENDIAN);
7707 proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_parm_3,
7708 tvb, 8, 4, ENC_BIG_ENDIAN);
7709 proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_parm_4,
7710 tvb, 12, 4, ENC_BIG_ENDIAN);
7711 proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_parm_5,
7712 tvb, 16, 4, ENC_BIG_ENDIAN);
7713 proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_data_len,
7714 tvb, 20, 4, ENC_BIG_ENDIAN);
7715 proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_cr_ptr_val,
7716 tvb, 24, 4, ENC_BIG_ENDIAN);
7717 proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_dr_ptr_val,
7718 tvb, 28, 4, ENC_BIG_ENDIAN);
7719 proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_spr_int_1,
7720 tvb, 32, 4, ENC_BIG_ENDIAN);
7721 proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_spr_int_2,
7722 tvb, 36, 4, ENC_BIG_ENDIAN);
7723 proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_spr_uptr_1,
7724 tvb, 40, 4, ENC_BIG_ENDIAN);
7725 proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_spr_uptr_2,
7726 tvb, 44, 4, ENC_BIG_ENDIAN);
7727 proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_spr_pptr_1,
7728 tvb, 48, 4, ENC_BIG_ENDIAN);
7729 proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_spr_pptr_2,
7730 tvb, 52, 4, ENC_BIG_ENDIAN);
7731 proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_gen_msg_field_1,
7732 tvb, 56, 4, ENC_BIG_ENDIAN);
7733 proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_gen_msg_field_2,
7734 tvb, 60, 4, ENC_BIG_ENDIAN);
7735 proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_gen_msg_field_3,
7736 tvb, 64, 4, ENC_BIG_ENDIAN);
7737 proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_gen_msg_field_4,
7738 tvb, 68, 4, ENC_BIG_ENDIAN);
7739 proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_gen_msg_field_5,
7740 tvb, 72, 4, ENC_BIG_ENDIAN);
7741 add_string_field(c15ch_c15_generic_msg_5_tree, tvb, 76, 308,
7742 hf_c15ch_c15_generic_msg_gen_msg_string);
7743 proto_tree_add_item(c15ch_c15_generic_msg_5_tree, hf_c15ch_c15_generic_msg_gen_data_large,
7744 tvb, 384, 924, ENC_NA);
7747 return length;
7750 /* CORRELATE MSG */
7751 static int dissect_c15ch_c15_correlate_msg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7753 proto_item * ti = NULL;
7754 proto_tree * c15ch_c15_correlate_msg_tree = NULL;
7755 int length = 0;
7757 length = tvb_reported_length(tvb);
7759 if (length > 0)
7761 ti = proto_tree_add_item( tree, hf_c15ch_c15_correlate_msg, tvb, 0, length, ENC_NA );
7762 col_append_fstr(pinfo->cinfo, COL_INFO, ", Length: %d", length);
7763 c15ch_c15_correlate_msg_tree = proto_item_add_subtree( ti, ett_c15ch_second_level );
7764 proto_tree_add_item(c15ch_c15_correlate_msg_tree, hf_c15ch_call_ref,
7765 tvb, 0, 4, ENC_BIG_ENDIAN);
7766 proto_tree_add_item(c15ch_c15_correlate_msg_tree, hf_c15ch_c15_usage_id,
7767 tvb, 4, 4, ENC_BIG_ENDIAN);
7768 proto_tree_add_item(c15ch_c15_correlate_msg_tree, hf_c15ch_c15_opt_parm_2,
7769 tvb, 8, 4, ENC_BIG_ENDIAN);
7770 proto_tree_add_item(c15ch_c15_correlate_msg_tree, hf_c15ch_c15_opt_parm_3,
7771 tvb, 12, 4, ENC_BIG_ENDIAN);
7772 proto_tree_add_item(c15ch_c15_correlate_msg_tree, hf_c15ch_c15_opt_parm_4,
7773 tvb, 16, 4, ENC_BIG_ENDIAN);
7774 proto_tree_add_item(c15ch_c15_correlate_msg_tree, hf_c15ch_c15_opt_parm_5,
7775 tvb, 20, 4, ENC_BIG_ENDIAN);
7776 proto_tree_add_item(c15ch_c15_correlate_msg_tree, hf_c15ch_c15_opt_parm_6_ptr,
7777 tvb, 24, 4, ENC_BIG_ENDIAN);
7778 proto_tree_add_item(c15ch_c15_correlate_msg_tree, hf_c15ch_c15_opt_parm_7_ptr,
7779 tvb, 28, 4, ENC_BIG_ENDIAN);
7780 proto_tree_add_item(c15ch_c15_correlate_msg_tree, hf_c15ch_c15_opt_parm_8_ptr,
7781 tvb, 32, 4, ENC_BIG_ENDIAN);
7782 proto_tree_add_item(c15ch_c15_correlate_msg_tree, hf_c15ch_c15_opt_parm_9_ptr,
7783 tvb, 36, 4, ENC_BIG_ENDIAN);
7784 proto_tree_add_item(c15ch_c15_correlate_msg_tree, hf_c15ch_c15_generic_msg_cr_ptr_val,
7785 tvb, 40, 4, ENC_BIG_ENDIAN);
7786 add_string_field(c15ch_c15_correlate_msg_tree, tvb, 44, 129,
7787 hf_c15ch_c15_opt_string_parm_8);
7788 add_string_field(c15ch_c15_correlate_msg_tree, tvb, 173, 129,
7789 hf_c15ch_c15_opt_string_parm_9);
7792 return length;
7795 /* SIP REG SUBS report */
7796 static int dissect_c15ch_c15_sip_reg_subs_report(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7798 proto_item * ti = NULL;
7799 proto_tree * c15ch_c15_sip_reg_subs_report_tree = NULL;
7800 int length = 0;
7801 char * report_type;
7802 int str_start;
7803 int report_type_str_len;
7805 length = tvb_reported_length(tvb);
7807 if (length > 0)
7809 ti = proto_tree_add_item( tree, hf_c15ch_c15_sip_reg_subs_report, tvb, 0, length, ENC_NA );
7810 col_append_fstr(pinfo->cinfo, COL_INFO, ", Length: %d", length);
7811 c15ch_c15_sip_reg_subs_report_tree = proto_item_add_subtree( ti, ett_c15ch_second_level );
7813 /* report type */
7814 str_start = 0;
7815 report_type = tvb_get_stringz_enc(pinfo->pool, tvb, str_start, &report_type_str_len, ENC_ASCII);
7817 add_string_field(c15ch_c15_sip_reg_subs_report_tree, tvb, 0, 12,
7818 hf_c15ch_c15_sip_report_type);
7819 proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_rate,
7820 tvb, 12, 4, ENC_BIG_ENDIAN);
7821 proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_hour,
7822 tvb, 16, 4, ENC_BIG_ENDIAN);
7823 proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_peak_min,
7824 tvb, 20, 4, ENC_BIG_ENDIAN);
7825 proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_peak_sec,
7826 tvb, 24, 4, ENC_BIG_ENDIAN);
7827 if ( g_strcmp0( "REGISTER", report_type) == 0 )
7829 proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_auth_good,
7830 tvb, 28, 4, ENC_BIG_ENDIAN);
7831 proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_auth_fail,
7832 tvb, 32, 4, ENC_BIG_ENDIAN);
7833 proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_ovd084,
7834 tvb, 36, 4, ENC_BIG_ENDIAN);
7835 proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_ovd086,
7836 tvb, 40, 4, ENC_BIG_ENDIAN);
7837 proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_ovd088,
7838 tvb, 44, 4, ENC_BIG_ENDIAN);
7839 proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_sip104,
7840 tvb, 48, 4, ENC_BIG_ENDIAN);
7841 proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_reg_spare_1,
7842 tvb, 52, 4, ENC_BIG_ENDIAN);
7843 proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_reg_spare_2,
7844 tvb, 56, 4, ENC_BIG_ENDIAN);
7845 proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_reg_spare_3,
7846 tvb, 60, 4, ENC_BIG_ENDIAN);
7848 else
7850 proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_status_200_cnt,
7851 tvb, 28, 4, ENC_BIG_ENDIAN);
7852 proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_status_202_cnt,
7853 tvb, 32, 4, ENC_BIG_ENDIAN);
7854 proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_status_405_cnt,
7855 tvb, 36, 4, ENC_BIG_ENDIAN);
7856 proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_subs_spare_1,
7857 tvb, 40, 4, ENC_BIG_ENDIAN);
7858 proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_subs_spare_2,
7859 tvb, 44, 4, ENC_BIG_ENDIAN);
7860 proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_subs_spare_3,
7861 tvb, 48, 4, ENC_BIG_ENDIAN);
7862 proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_subs_spare_4,
7863 tvb, 52, 4, ENC_BIG_ENDIAN);
7864 proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_subs_spare_5,
7865 tvb, 56, 4, ENC_BIG_ENDIAN);
7866 proto_tree_add_item(c15ch_c15_sip_reg_subs_report_tree, hf_c15ch_c15_subs_spare_6,
7867 tvb, 60, 4, ENC_BIG_ENDIAN);
7871 return length;
7874 /* SYS ALARM */
7875 static int dissect_c15ch_c15_sys_alarm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7877 proto_item * ti = NULL;
7878 proto_tree * c15ch_c15_sys_alarm_tree = NULL;
7879 int length = 0;
7881 length = tvb_reported_length(tvb);
7883 if (length > 0)
7885 ti = proto_tree_add_item( tree, hf_c15ch_c15_sys_alarm, tvb, 0, length, ENC_NA );
7886 col_append_fstr(pinfo->cinfo, COL_INFO, ", Length: %d", length);
7887 c15ch_c15_sys_alarm_tree = proto_item_add_subtree( ti, ett_c15ch_second_level );
7888 add_string_field(c15ch_c15_sys_alarm_tree, tvb, 0, 7,
7889 hf_c15ch_c15_omm_tag_code);
7890 add_string_field(c15ch_c15_sys_alarm_tree, tvb, 7, 5,
7891 hf_c15ch_c15_alarm_class);
7892 add_string_field(c15ch_c15_sys_alarm_tree, tvb, 12, 4,
7893 hf_c15ch_c15_alarm_status);
7894 add_string_field(c15ch_c15_sys_alarm_tree, tvb, 16, 5,
7895 hf_c15ch_c15_site_name);
7896 add_string_field(c15ch_c15_sys_alarm_tree, tvb, 21, 5,
7897 hf_c15ch_c15_system);
7900 return length;
7903 /* TTY MSG */
7904 static int dissect_c15ch_c15_tty_msg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
7906 proto_item * ti = NULL;
7907 proto_tree * c15ch_c15_tty_msg_tree = NULL;
7908 int length = 0;
7910 length = tvb_reported_length(tvb);
7912 if (length > 0)
7914 ti = proto_tree_add_item( tree, hf_c15ch_c15_tty_msg, tvb, 0, length, ENC_NA );
7915 col_append_fstr(pinfo->cinfo, COL_INFO, ", Length: %d", length);
7916 c15ch_c15_tty_msg_tree = proto_item_add_subtree( ti, ett_c15ch_second_level );
7917 proto_tree_add_item(c15ch_c15_tty_msg_tree, hf_c15ch_c15_tty_int_parm_1,
7918 tvb, 0, 4, ENC_BIG_ENDIAN);
7919 proto_tree_add_item(c15ch_c15_tty_msg_tree, hf_c15ch_c15_tty_int_parm_2,
7920 tvb, 4, 4, ENC_BIG_ENDIAN);
7921 proto_tree_add_item(c15ch_c15_tty_msg_tree, hf_c15ch_c15_tty_int_parm_3,
7922 tvb, 8, 4, ENC_BIG_ENDIAN);
7923 proto_tree_add_item(c15ch_c15_tty_msg_tree, hf_c15ch_c15_tty_int_parm_4,
7924 tvb, 12, 4, ENC_BIG_ENDIAN);
7925 add_string_field(c15ch_c15_tty_msg_tree, tvb, 16, 8,
7926 hf_c15ch_c15_omm_msg_tag);
7927 add_string_field(c15ch_c15_tty_msg_tree, tvb, 24, 40,
7928 hf_c15ch_c15_text_location);
7929 add_string_field(c15ch_c15_tty_msg_tree, tvb, 64, 40,
7930 hf_c15ch_c15_tty_text_parm_1);
7931 add_string_field(c15ch_c15_tty_msg_tree, tvb, 104, 40,
7932 hf_c15ch_c15_tty_text_parm_2);
7933 add_string_field(c15ch_c15_tty_msg_tree, tvb, 144, 40,
7934 hf_c15ch_c15_tty_text_parm_3);
7937 return length;
7940 /* register functions */
7941 /* fields for c15 heartbeat dissector */
7942 void proto_register_c15ch_hbeat(void)
7944 static hf_register_info hf[] = {
7945 { &hf_c15ch_hbeat_clli,
7946 {"CLLI", "c15hbeat.clli",
7947 FT_STRINGZ, BASE_NONE,
7948 NULL,
7949 0x0, NULL, HFILL}
7951 { &hf_c15ch_hbeat_primary,
7952 {"Primary", "c15hbeat.primary",
7953 FT_UINT8, BASE_DEC,
7954 NULL,
7955 0x0, NULL, HFILL}
7957 { &hf_c15ch_hbeat_secondary,
7958 {"Secondary", "c15hbeat.secondary",
7959 FT_UINT8, BASE_DEC,
7960 NULL,
7961 0x0, NULL, HFILL}
7963 { &hf_c15ch_hbeat_interface,
7964 {"Interface", "c15hbeat.interface",
7965 FT_STRINGZ, BASE_NONE,
7966 NULL,
7967 0x0, NULL, HFILL}
7969 }; /* close hf[] array declaration */
7971 /* Protocol subtree array */
7972 static int *ett[] = {
7973 &ett_c15ch_hbeat
7976 proto_c15ch_hbeat = proto_register_protocol("C15 Call History Heartbeat Protocol", "C15HBEAT", "c15hbeat");
7977 proto_register_field_array(proto_c15ch_hbeat, hf, array_length(hf));
7978 proto_register_subtree_array(ett, array_length(ett));
7980 c15ch_hbeat_handle = register_dissector("c15hbeat", dissect_c15ch_hbeat, proto_c15ch_hbeat);
7985 void proto_register_c15ch(void)
7987 /* fields for C15 header : base c15 dissector for non-heartbeat packets */
7988 /* first level of dissection */
7989 static hf_register_info hf[] = {
7990 { &hf_c15ch_version,
7991 {"Version", "c15.ch.version",
7992 FT_UINT32, BASE_DEC,
7993 NULL,
7994 0x0, NULL, HFILL }
7996 { &hf_c15ch_msgtype,
7997 {"Message Type", "c15.ch.msgtype",
7998 FT_UINT32, BASE_DEC|BASE_EXT_STRING,
7999 &c15_msg_types_ext,
8000 0x0, NULL, HFILL }
8002 { &hf_c15ch_size,
8003 { "Size", "c15.ch.size",
8004 FT_UINT32, BASE_DEC,
8005 NULL,
8006 0x0, NULL, HFILL }
8008 { &hf_c15ch_call_ref,
8009 {"Call Reference", "c15.ch.callref",
8010 FT_UINT32, BASE_HEX,
8011 NULL,
8012 0x0, NULL, HFILL }
8014 { &hf_c15ch_srce_ni_tn,
8015 {"Source NI/TN", "c15.ch.srce_ni_tn",
8016 FT_UINT64, BASE_HEX,
8017 NULL,
8018 0x0, NULL, HFILL }
8020 { &hf_c15ch_dest_ni_tn,
8021 {"Destination NI/TN", "c15.ch.dest_ni_tn",
8022 FT_UINT64, BASE_HEX,
8023 NULL,
8024 0x0, NULL, HFILL }
8026 { &hf_c15ch_srce_ni,
8027 {"Source NI", "c15.ch.srce_ni",
8028 FT_UINT32, BASE_HEX,
8029 NULL,
8030 0x0, NULL, HFILL }
8032 { &hf_c15ch_srce_tn,
8033 {"Source TN", "c15.ch.srce_tn",
8034 FT_UINT32, BASE_HEX,
8035 NULL,
8036 0x0, NULL, HFILL }
8038 { &hf_c15ch_dest_ni,
8039 {"Destination NI", "c15.ch.dest_ni",
8040 FT_UINT32, BASE_HEX,
8041 NULL,
8042 0x0, NULL, HFILL }
8044 { &hf_c15ch_dest_tn,
8045 {"Destination TN", "c15.ch.dest_tn",
8046 FT_UINT32, BASE_HEX,
8047 NULL,
8048 0x0, NULL, HFILL }
8050 { &hf_c15ch_realtime,
8051 {"Real Time", "c15.ch.realtime",
8052 FT_UINT32, BASE_DEC,
8053 NULL,
8054 0x0, NULL, HFILL }
8059 /* Protocol subtree array */
8060 static int *ett[] = {
8061 &ett_c15ch,
8062 &ett_src_ni_tn,
8063 &ett_dest_ni_tn
8067 static hf_register_info hf_second_level[] = {
8068 { &hf_c15ch_ama_call_code,
8069 { "Call Code", "c15.ama.call_code",
8070 FT_UINT8, BASE_DEC,
8071 NULL,
8072 0x0, NULL, HFILL}
8074 { &hf_c15ch_ama_orig_digits,
8075 { "Orig Digits", "c15.ama.orig_digits",
8076 FT_STRINGZ, BASE_NONE,
8077 NULL,
8078 0x0, NULL, HFILL}
8080 { &hf_c15ch_ama_num_dialed_digits,
8081 { "Number of Dialed Digits", "c15.ama.num_dialed_digits",
8082 FT_UINT8, BASE_DEC,
8083 NULL,
8084 0x0, NULL, HFILL}
8086 { &hf_c15ch_ama_br_prefix,
8087 { "BR Prefix", "c15.ama.br_prefix",
8088 FT_UINT8, BASE_DEC,
8089 VALS( ama_br_prefix_types ),
8090 0x0, NULL, HFILL}
8092 { &hf_c15ch_ama_dialed_digits,
8093 { "Dialed Digits", "c15.ama.dialed_digits",
8094 FT_STRINGZ, BASE_NONE,
8095 NULL,
8096 0x0, NULL, HFILL}
8098 { &hf_c15ch_ama_start_hour,
8099 { "Start Hour", "c15.ama.start_hour",
8100 FT_UINT8, BASE_DEC,
8101 NULL,
8102 0x0, NULL, HFILL}
8104 { &hf_c15ch_ama_start_minute,
8105 { "Start Minute", "c15.ama.start_minute",
8106 FT_UINT8, BASE_DEC,
8107 NULL,
8108 0x0, NULL, HFILL}
8110 { &hf_c15ch_ama_start_second,
8111 { "Start Second", "c15.ama.start_second",
8112 FT_UINT8, BASE_DEC,
8113 NULL,
8114 0x0, NULL, HFILL}
8116 { &hf_c15ch_ama_start_tenth_second,
8117 { "Start Tenth of Second", "c15.ama.start_tenth_second",
8118 FT_UINT8, BASE_DEC,
8119 NULL,
8120 0x0, NULL, HFILL}
8122 { &hf_c15ch_ama_start_day,
8123 { "Start Day", "c15.ama.start_day",
8124 FT_UINT8, BASE_DEC,
8125 NULL,
8126 0x0, NULL, HFILL}
8128 { &hf_c15ch_ama_start_month,
8129 { "Start Month", "c15.ama.start_month",
8130 FT_UINT8, BASE_DEC,
8131 NULL,
8132 0x0, NULL, HFILL}
8134 { &hf_c15ch_ama_start_year,
8135 { "Start Year", "c15.ama.start_year",
8136 FT_UINT8, BASE_DEC,
8137 NULL,
8138 0x0, NULL, HFILL}
8140 { &hf_c15ch_ama_answered,
8141 { "Answered", "c15.ama.answered",
8142 FT_BOOLEAN, BASE_NONE,
8143 TFS(&tfs_yes_no),
8144 0x0, NULL, HFILL}
8146 { &hf_c15ch_ama_elapsed_time,
8147 { "Elapsed Time (Millisec)", "c15.ama.elapsed_time",
8148 FT_UINT32, BASE_DEC,
8149 NULL,
8150 0x0, NULL, HFILL}
8152 { &hf_c15ch_ama_call_type,
8153 { "Call Type", "c15.ama.call_type",
8154 FT_UINT8, BASE_DEC|BASE_EXT_STRING,
8155 &ama_call_types_ext,
8156 0x0, NULL, HFILL}
8158 { &hf_c15ch_c15_info_text,
8159 {"C15 Info Text", "c15.info.text",
8160 FT_STRINGZ, BASE_NONE,
8161 NULL,
8162 0x0, NULL, HFILL}
8165 { &hf_c15ch_c15_info_code,
8166 {"C15 Info Code", "c15.info.code",
8167 FT_STRINGZ, BASE_NONE,
8168 NULL,
8169 0x0, NULL, HFILL}
8171 { &hf_c15ch_c15_info_level,
8172 {"C15 Info Level", "c15.info.level",
8173 FT_UINT8, BASE_DEC,
8174 VALS( c15ch_c15_info_level_types ),
8175 0x0, NULL, HFILL}
8178 { &hf_c15ch_clli_clli_string,
8179 {"CLLI", "c15.clli.clli",
8180 FT_STRINGZ, BASE_NONE,
8181 NULL,
8182 0x0, NULL, HFILL}
8184 { &hf_c15ch_clli_active_core,
8185 {"Active Core", "c15.clli.active_core",
8186 FT_UINT8, BASE_DEC,
8187 NULL,
8188 0x0, NULL, HFILL}
8190 { &hf_c15ch_clli_inactive_core,
8191 {"Inactive Core", "c15.clli.inactive_core",
8192 FT_UINT8, BASE_DEC,
8193 NULL,
8194 0x0, NULL, HFILL}
8196 { &hf_c15ch_clli_interface_string,
8197 {"Interface", "c15.clli.interface",
8198 FT_STRINGZ, BASE_NONE,
8199 NULL,
8200 0x0, NULL, HFILL}
8202 { &hf_c15ch_clli_seconds,
8203 {"Seconds", "c15.clli.seconds",
8204 FT_UINT32, BASE_DEC,
8205 NULL,
8206 0x0, NULL, HFILL}
8208 { &hf_c15ch_clli_microseconds,
8209 {"Microseconds", "c15.clli.microseconds",
8210 FT_UINT32, BASE_DEC,
8211 NULL,
8212 0x0, NULL, HFILL}
8215 { &hf_c15ch_conn_connfrom,
8216 { "Conn From", "c15.conn.connfrom",
8217 FT_UINT32, BASE_DEC,
8218 VALS( c15_conn_from_types),
8219 0x0, NULL, HFILL}
8221 { &hf_c15ch_conn_conntype,
8222 { "Conn Type", "c15.conn.conntype",
8223 FT_UINT32, BASE_DEC,
8224 NULL,
8225 0x0, NULL, HFILL }
8227 { &hf_c15ch_conn_perphtype,
8228 { "Perph Type", "c15.conn.perphtype",
8229 FT_UINT32, BASE_DEC,
8230 NULL,
8231 0x0, NULL, HFILL}
8233 { &hf_c15ch_conn_intra,
8234 { "Intra", "c15.conn.intra",
8235 FT_UINT8, BASE_DEC,
8236 NULL,
8237 0x0, NULL, HFILL}
8239 { &hf_c15ch_conn_srceni,
8240 { "Source NI", "c15.conn.srceni",
8241 FT_UINT32, BASE_HEX,
8242 NULL,
8243 0x0, NULL, HFILL}
8245 { &hf_c15ch_conn_srcetn,
8246 { "Source TN", "c15.conn.srcetn",
8247 FT_UINT32, BASE_HEX,
8248 NULL,
8249 0x0, NULL, HFILL}
8251 { &hf_c15ch_conn_srcenitn,
8252 { "Source NI/TN", "c15.conn.srcenitn",
8253 FT_UINT64, BASE_HEX,
8254 NULL,
8255 0x0, NULL, HFILL}
8257 { &hf_c15ch_conn_destni,
8258 {"Destination NI", "c15.conn.destni",
8259 FT_UINT32, BASE_HEX,
8260 NULL,
8261 0x0, NULL, HFILL}
8263 { &hf_c15ch_conn_desttn,
8264 { "Destination TN", "c15.conn.desttn",
8265 FT_UINT32, BASE_HEX,
8266 NULL,
8267 0x0, NULL, HFILL}
8269 { &hf_c15ch_conn_destnitn,
8270 {"Destination NI/TN", "c15.conn.destnitn",
8271 FT_UINT64, BASE_HEX,
8272 NULL,
8273 0x0, NULL, HFILL}
8275 { &hf_c15ch_conn_interlinknum,
8276 { "Interlink Number", "c15.conn.interlinknum",
8277 FT_UINT32, BASE_DEC,
8278 NULL,
8279 0x0, NULL, HFILL}
8281 { &hf_c15ch_conn_fromport,
8282 { "From Port", "c15.conn.fromport",
8283 FT_UINT32, BASE_DEC,
8284 NULL,
8285 0x0, NULL, HFILL}
8287 { &hf_c15ch_conn_fromslot,
8288 { "From Slot", "c15.conn.fromslot",
8289 FT_UINT32, BASE_DEC,
8290 NULL,
8291 0x0, NULL, HFILL}
8293 { &hf_c15ch_conn_toport,
8294 { "From Port", "c15.conn.fromport",
8295 FT_UINT32, BASE_DEC,
8296 NULL,
8297 0x0, NULL, HFILL}
8299 { &hf_c15ch_conn_toslot,
8300 { "To Slot", "c15.conn.toslot",
8301 FT_UINT32, BASE_DEC,
8302 NULL,
8303 0x0, NULL, HFILL}
8305 { &hf_c15ch_conn_hubcallid,
8306 { "Hub Call ID", "c15.conn.hubcallid",
8307 FT_UINT32, BASE_DEC,
8308 NULL,
8309 0x0, NULL, HFILL}
8312 { &hf_c15ch_cp_state_ch_oldpm,
8313 {"Old Progress Mark", "c15.cpsc.oldpm",
8314 FT_UINT32, BASE_DEC|BASE_EXT_STRING,
8315 &c15_cp_state_pm_types_ext,
8316 0x0, NULL, HFILL }
8318 { &hf_c15ch_cp_state_ch_newpm,
8319 {"New Progress Mark", "c15.cpsc.newpm",
8320 FT_UINT32, BASE_DEC|BASE_EXT_STRING,
8321 &c15_cp_state_pm_types_ext,
8322 0x0, NULL, HFILL }
8324 { &hf_c15ch_cp_state_ch_subpm,
8325 {"Sub Progress Mark", "c15.cpsc.subpm",
8326 FT_UINT32, BASE_DEC,
8327 NULL,
8328 0x0, NULL, HFILL }
8330 { &hf_c15ch_cp_state_ch_trkpm,
8331 {"Trunk Progress Mark", "c15.cpsc.trkpm",
8332 FT_UINT32, BASE_DEC,
8333 NULL,
8334 0x0, NULL, HFILL }
8336 { &hf_c15ch_cp_state_ch_slepm,
8337 {"SLE Progress Mark", "c15.cpsc.slepm",
8338 FT_UINT32, BASE_DEC,
8339 NULL,
8340 0x0, NULL, HFILL }
8342 { &hf_c15ch_cp_state_ch_flags,
8343 {"Flags", "c15.cpsc.flags",
8344 FT_UINT32, BASE_HEX,
8345 NULL,
8346 0x0, NULL, HFILL }
8348 { &hf_c15ch_cp_state_ch_oldrtetype,
8349 {"Old RTE Type", "c15.cpsc.oldrtetype",
8350 FT_UINT32, BASE_DEC,
8351 NULL,
8352 0x0, NULL, HFILL }
8354 { &hf_c15ch_cp_state_ch_oldrteidx,
8355 {"Old RTE Index", "c15.cpsc.oldrteidx",
8356 FT_UINT32, BASE_DEC,
8357 NULL,
8358 0x0, NULL, HFILL }
8360 { &hf_c15ch_cp_state_ch_newrtetype,
8361 {"New RTE Type", "c15.cpsc.newrtetype",
8362 FT_UINT32, BASE_DEC,
8363 NULL,
8364 0x0, NULL, HFILL}
8366 { &hf_c15ch_cp_state_ch_newrteidx,
8367 {"New RTE Index", "c15.cpsc.newrteidx",
8368 FT_UINT32, BASE_DEC,
8369 NULL,
8370 0x0, NULL, HFILL }
8373 { &hf_c15ch_dest_digits_digits,
8374 { "Digits", "c15.dest_digits.digits",
8375 FT_STRINGZ, BASE_NONE,
8376 NULL,
8377 0x0, NULL, HFILL}
8379 { &hf_c15ch_echo_cancel_ni,
8380 {"NI", "c15.echo_cancel.ni",
8381 FT_UINT32, BASE_HEX,
8382 NULL,
8383 0x0, NULL, HFILL }
8386 { &hf_c15ch_echo_cancel_tn,
8387 {"TN", "c15.echo_cancel.tn",
8388 FT_UINT32, BASE_HEX,
8389 NULL,
8390 0x0, NULL, HFILL }
8392 { &hf_c15ch_echo_cancel_ni_tn,
8393 {"NI/TN", "c15.echo_cancel.ni_tn",
8394 FT_UINT64, BASE_HEX,
8395 NULL,
8396 0x0, NULL, HFILL }
8398 { &hf_c15ch_echo_cancel_old_l2_mode,
8399 {"Old L2 Mode", "c15.echo_cancel.old_l2_mode",
8400 FT_UINT8, BASE_DEC,
8401 VALS( c15_echo_cancel_l2_mode_types ),
8402 0x0, NULL, HFILL }
8404 { &hf_c15ch_echo_cancel_old_channel_mode,
8405 {"Old Channel Mode", "c15.echo_cancel.old_channel_mode",
8406 FT_UINT32, BASE_DEC,
8407 VALS( c15_echo_cancel_channel_mode_types ),
8408 0x0, NULL, HFILL }
8410 { &hf_c15ch_echo_cancel_old_ecan_mode,
8411 {"Old Ecan Mode", "c15.echo_cancel.old_ecan_mode",
8412 FT_UINT32, BASE_DEC,
8413 VALS( c15_echo_cancel_ecan_mode_types ),
8414 0x0, NULL, HFILL }
8416 { &hf_c15ch_echo_cancel_new_l2_mode,
8417 {"New L2 Mode", "c15.echo_cancel.new_l2_mode",
8418 FT_UINT8, BASE_DEC,
8419 VALS( c15_echo_cancel_l2_mode_types ),
8420 0x0, NULL, HFILL }
8422 { &hf_c15ch_echo_cancel_new_channel_mode,
8423 {"New Channel Mode", "c15.echo_cancel.new_channel_mode",
8424 FT_UINT32, BASE_DEC,
8425 VALS( c15_echo_cancel_channel_mode_types ),
8426 0x0, NULL, HFILL }
8428 { &hf_c15ch_echo_cancel_new_ecan_mode,
8429 {"New Ecan Mode", "c15.echo_cancel.new_ecan_mode",
8430 FT_UINT32, BASE_DEC,
8431 VALS( c15_echo_cancel_ecan_mode_types ),
8432 0x0, NULL, HFILL }
8434 { &hf_c15ch_echo_cancel_tone_id,
8435 {"Tone ID", "c15.echo_cancel.tone_id",
8436 FT_UINT32, BASE_DEC,
8437 NULL,
8438 0x0, NULL, HFILL }
8440 { &hf_c15ch_echo_cancel_pm,
8441 {"PM", "c15.echo_cancel.pm",
8442 FT_UINT32, BASE_DEC,
8443 NULL,
8444 0x0, NULL, HFILL }
8446 { &hf_c15ch_echo_cancel_pc,
8447 {"PC", "c15.echo_cancel.pc",
8448 FT_UINT32, BASE_DEC,
8449 NULL,
8450 0x0, NULL, HFILL }
8452 { &hf_c15ch_echo_cancel_loop,
8453 {"Loop", "c15.echo_cancel.loop",
8454 FT_UINT32, BASE_DEC,
8455 NULL,
8456 0x0, NULL, HFILL }
8458 { &hf_c15ch_echo_cancel_slot,
8459 {"Slot", "c15.echo_cancel.slot",
8460 FT_UINT32, BASE_DEC,
8461 NULL,
8462 0x0, NULL, HFILL }
8464 { &hf_c15ch_echo_cancel_location,
8465 {"Location", "c15.echo_cancel.location",
8466 FT_STRINGZ, BASE_NONE,
8467 NULL,
8468 0x0, NULL, HFILL }
8471 { &hf_c15ch_encap_isup_direction,
8472 {"Direction", "c15.encap_isup.direction",
8473 FT_UINT8, BASE_DEC,
8474 NULL,
8475 0x0, NULL, HFILL }
8477 { &hf_c15ch_encap_isup_isup_msg_length,
8478 {"Message Type", "c15.encap_isup.isup_msg_length",
8479 FT_UINT32, BASE_DEC,
8480 NULL,
8481 0x0, NULL, HFILL }
8484 { &hf_c15ch_isup_direction,
8485 {"Direction", "c15.isup.direction",
8486 FT_UINT8, BASE_DEC,
8487 VALS( c15_isup_direction_types ),
8488 0x0, NULL, HFILL }
8490 { &hf_c15ch_isup_msgtype,
8491 {"Message Type", "c15.isup.msgtype",
8492 FT_UINT8, BASE_DEC|BASE_EXT_STRING,
8493 &c15_isup_types_ext,
8494 0x0, NULL, HFILL }
8496 { &hf_c15ch_isup_cic,
8497 { "CIC", "c15.isup.cic",
8498 FT_UINT32, BASE_DEC,
8499 NULL,
8500 0x0, NULL, HFILL }
8502 { &hf_c15ch_isup_opcmember,
8503 { "OPC Member", "c15.isup.opcmember",
8504 FT_UINT8, BASE_DEC,
8505 NULL,
8506 0x0, NULL, HFILL}
8508 { &hf_c15ch_isup_opccluster,
8509 { "OPC Cluster", "c15.isup.opccluster",
8510 FT_UINT8, BASE_DEC,
8511 NULL,
8512 0x0, NULL, HFILL}
8514 { &hf_c15ch_isup_opcnetwork,
8515 { "OPC Network", "c15.isup.opcnetwork",
8516 FT_UINT8, BASE_DEC,
8517 NULL,
8518 0x0, NULL, HFILL}
8520 { &hf_c15ch_isup_dpcmember,
8521 {"DPC Member", "c15.isup.dpcmember",
8522 FT_UINT8, BASE_DEC,
8523 NULL,
8524 0x0, NULL, HFILL }
8526 { &hf_c15ch_isup_dpccluster,
8527 { "DPC Cluster", "c15.isup.dpccluster",
8528 FT_UINT8, BASE_DEC,
8529 NULL,
8530 0x0, NULL, HFILL}
8532 { &hf_c15ch_isup_dpcnetwork,
8533 { "DPC Network", "c15.isup.dpcnetwork",
8534 FT_UINT8, BASE_DEC,
8535 NULL,
8536 0x0, NULL, HFILL}
8538 { &hf_c15ch_isup_level3index,
8539 { "Level 3 Index", "c15.isup.level3index",
8540 FT_UINT8, BASE_DEC,
8541 NULL,
8542 0x0, NULL, HFILL}
8544 { &hf_c15ch_isup_ni,
8545 { "NI", "c15.isup.ni",
8546 FT_UINT32, BASE_HEX,
8547 NULL,
8548 0x0, NULL, HFILL}
8550 { &hf_c15ch_isup_tn,
8551 { "TN", "c15.isup.tn",
8552 FT_UINT32, BASE_HEX,
8553 NULL,
8554 0x0, NULL, HFILL}
8556 { &hf_c15ch_isup_ni_tn,
8557 {"NI/TN", "c15.isup.ni_tn",
8558 FT_UINT64, BASE_HEX,
8559 NULL,
8560 0x0, NULL, HFILL }
8562 { &hf_c15ch_isup_c15hdr,
8563 { "C15 Header", "c15.isup.c15hdr",
8564 FT_BYTES, BASE_NONE,
8565 NULL,
8566 0x0, NULL, HFILL}
8568 { &hf_c15ch_isup_layer2hdr,
8569 { "Layer 2 Header", "c15.isup.layer2hdr",
8570 FT_BYTES, BASE_NONE,
8571 NULL,
8572 0x0, NULL, HFILL}
8574 { &hf_c15ch_isup_layer3hdr,
8575 { "Layer 3 Header", "c15.isup.layer3hdr",
8576 FT_BYTES, BASE_NONE,
8577 NULL,
8578 0x0, NULL, HFILL}
8580 { &hf_c15ch_isup_iptime,
8581 {"IP Time", "c15.isup.iptime",
8582 FT_UINT32, BASE_HEX,
8583 NULL,
8584 0x0, NULL, HFILL}
8587 { &hf_c15ch_mkbrk_makebreak,
8588 { "Make Break", "c15.mkbrk.makebreak",
8589 FT_UINT8, BASE_DEC,
8590 NULL,
8591 0x0, NULL, HFILL}
8593 { &hf_c15ch_mkbrk_nshlf,
8594 { "Nshlf", "c15.mkbrk.nshlf",
8595 FT_UINT8, BASE_DEC,
8596 NULL,
8597 0x0, NULL, HFILL}
8599 { &hf_c15ch_mkbrk_stm,
8600 { "Stm", "c15.mkbrk.stm",
8601 FT_UINT8, BASE_DEC,
8602 NULL,
8603 0x0, NULL, HFILL}
8605 { &hf_c15ch_mkbrk_caddr,
8606 { "C Address", "c15.mkbrk.caddr",
8607 FT_UINT32, BASE_DEC,
8608 NULL,
8609 0x0, NULL, HFILL}
8611 { &hf_c15ch_mkbrk_cdata,
8612 { "C Data", "c15.mkbrk.cdata",
8613 FT_UINT32, BASE_DEC,
8614 NULL,
8615 0x0, NULL, HFILL}
8618 { &hf_c15ch_nitnxlate_ni,
8619 {"NI", "c15.nitnxlate.ni",
8620 FT_UINT32, BASE_HEX,
8621 NULL,
8622 0x0, NULL, HFILL}
8624 { &hf_c15ch_nitnxlate_tn,
8625 { "TN", "c15.nitnxlate.tn",
8626 FT_UINT32, BASE_HEX,
8627 NULL,
8628 0x0, NULL, HFILL }
8630 { &hf_c15ch_nitnxlate_ni_tn,
8631 {"NI/TN", "c15.nitnxlate.ni_tn",
8632 FT_UINT64, BASE_HEX,
8633 NULL,
8634 0x0, NULL, HFILL }
8636 { &hf_c15ch_nitnxlate_equiptype,
8637 { "Equipment Type", "c15.nitnxlate.equiptype",
8638 FT_UINT32, BASE_DEC|BASE_EXT_STRING,
8639 &ett_c15ch_nitnxlate_equip_types_ext,
8640 0x0, NULL, HFILL}
8642 { &hf_c15ch_nitnxlate_sitestring,
8643 { "Site String", "c15.nitnxlate.sitestring",
8644 FT_STRINGZ, BASE_NONE,
8645 NULL,
8646 0x0, NULL, HFILL}
8648 { &hf_c15ch_nitnxlate_concat_string,
8649 { "ID String", "c15.nitnxlate.id_string",
8650 FT_STRINGZ, BASE_NONE,
8651 NULL,
8652 0x0, NULL, HFILL}
8654 { &hf_c15ch_nitnxlate_subsitestring,
8655 { "Subsite String", "c15.nitnxlate.subsitestring",
8656 FT_STRINGZ, BASE_NONE,
8657 NULL,
8658 0x0, NULL, HFILL}
8660 { &hf_c15ch_nitnxlate_equipname,
8661 { "Equipment Name", "c15.nitnxlate.equipname",
8662 FT_STRINGZ, BASE_NONE,
8663 NULL,
8664 0x0, NULL, HFILL}
8666 { &hf_c15ch_nitnxlate_gw_type,
8667 { "GW Type", "c15.nitnxlate.gw_type",
8668 FT_UINT32, BASE_DEC,
8669 VALS( ett_c15ch_nitnxlate_gwe_types ),
8670 0x0, NULL, HFILL}
8672 { &hf_c15ch_nitnxlate_parm_1,
8673 { "Parm 1", "c15.nitnxlate.parm_1",
8674 FT_UINT32, BASE_DEC,
8675 NULL,
8676 0x0, NULL, HFILL}
8678 { &hf_c15ch_nitnxlate_parm_2,
8679 { "Parm 2", "c15.nitnxlate.parm_2",
8680 FT_UINT32, BASE_DEC,
8681 NULL,
8682 0x0, NULL, HFILL}
8684 { &hf_c15ch_nitnxlate_parm_3,
8685 { "Parm 3", "c15.nitnxlate.parm_3",
8686 FT_UINT32, BASE_DEC,
8687 NULL,
8688 0x0, NULL, HFILL}
8690 { &hf_c15ch_nitnxlate_parm_4,
8691 { "Parm 4", "c15.nitnxlate.parm_4",
8692 FT_UINT32, BASE_DEC,
8693 NULL,
8694 0x0, NULL, HFILL}
8696 { &hf_c15ch_nitnxlate_key,
8697 { "Key", "c15.nitnxlate.key",
8698 FT_UINT32, BASE_DEC,
8699 NULL,
8700 0x0, NULL, HFILL}
8702 { &hf_c15ch_nitnxlate_gateway,
8703 { "Gateway", "c15.nitnxlate.gateway",
8704 FT_UINT32, BASE_DEC,
8705 NULL,
8706 0x0, NULL, HFILL}
8708 { &hf_c15ch_nitnxlate_line,
8709 { "Line", "c15.nitnxlate.line",
8710 FT_UINT32, BASE_DEC,
8711 NULL,
8712 0x0, NULL, HFILL}
8714 { &hf_c15ch_nitnxlate_bay,
8715 { "Bay", "c15.nitnxlate.bay",
8716 FT_UINT32, BASE_DEC,
8717 NULL,
8718 0x0, NULL, HFILL}
8720 { &hf_c15ch_nitnxlate_shelf,
8721 { "Shelf", "c15.nitnxlate.shelf",
8722 FT_UINT32, BASE_DEC,
8723 NULL,
8724 0x0, NULL, HFILL}
8726 { &hf_c15ch_nitnxlate_lsg,
8727 { "LSG", "c15.nitnxlate.lsg",
8728 FT_UINT32, BASE_DEC,
8729 NULL,
8730 0x0, NULL, HFILL}
8732 { &hf_c15ch_nitnxlate_idt_rdt,
8733 { "IDT/RDT", "c15.nitnxlate.idt_rdt",
8734 FT_UINT32, BASE_DEC,
8735 NULL,
8736 0x0, NULL, HFILL}
8738 { &hf_c15ch_nitnxlate_pm,
8739 { "PM", "c15.nitnxlate.pm",
8740 FT_UINT32, BASE_DEC,
8741 NULL,
8742 0x0, NULL, HFILL}
8744 { &hf_c15ch_nitnxlate_ptrk,
8745 { "Ptrk", "c15.nitnxlate.ptrk",
8746 FT_UINT32, BASE_DEC,
8747 NULL,
8748 0x0, NULL, HFILL}
8750 { &hf_c15ch_nitnxlate_channel,
8751 { "Channel", "c15.nitnxlate.channel",
8752 FT_UINT32, BASE_DEC,
8753 NULL,
8754 0x0, NULL, HFILL}
8756 { &hf_c15ch_nitnxlate_pc_sts1,
8757 { "PC or STS1", "c15.nitnxlate.pc_sts1",
8758 FT_UINT32, BASE_DEC,
8759 NULL,
8760 0x0, NULL, HFILL}
8762 { &hf_c15ch_nitnxlate_port_vt15,
8763 { "Port or VT15", "c15.nitnxlate.port_vt15",
8764 FT_UINT32, BASE_DEC,
8765 NULL,
8766 0x0, NULL, HFILL}
8768 { &hf_c15ch_nitnxlate_user_tid,
8769 { "User TID", "c15.nitnxlate.user_tid",
8770 FT_STRINGZ, BASE_NONE,
8771 NULL,
8772 0x0, NULL, HFILL}
8774 { &hf_c15ch_nitnxlate_host,
8775 { "Host", "c15.nitnxlate.host",
8776 FT_STRINGZ, BASE_NONE,
8777 NULL,
8778 0x0, NULL, HFILL}
8780 { &hf_c15ch_nitnxlate_sip_call_id_64,
8781 { "SIP Call-ID-64", "c15.nitnxlate.sip_call_id-64", /* Output for SIP Call-ID */
8782 FT_STRINGZ, BASE_NONE,
8783 NULL,
8784 0x0, NULL, HFILL}
8786 { &hf_c15ch_nitnxlate_tg_num,
8787 { "Target Group Num", "c15.nitnxlate.tg_num",
8788 FT_UINT32, BASE_DEC,
8789 NULL,
8790 0x0, NULL, HFILL}
8792 { &hf_c15ch_nitnxlate_mgcp_line_id,
8793 { "MGCP Line ID", "c15.nitnxlate.mgcp_line_id",
8794 FT_STRINGZ, BASE_NONE,
8795 NULL,
8796 0x0, NULL, HFILL}
8799 { &hf_c15ch_ntwk_conn_pathtype,
8800 { "Path Type", "c15.ntwkconn.pathtype",
8801 FT_UINT8, BASE_DEC,
8802 VALS( ett_c15ch_ntwk_conn_path_types ),
8803 0x0, NULL, HFILL}
8805 { &hf_c15ch_ntwk_conn_conntype,
8806 { "Conn Type", "c15.ntwkconn.conntype",
8807 FT_UINT8, BASE_DEC,
8808 VALS( ett_c15ch_ntwk_conn_conn_types ),
8809 0x0, NULL, HFILL}
8811 { &hf_c15ch_ntwk_conn_fromoptimized,
8812 { "From Optimized", "c15.ntwkconn.fromoptimized",
8813 FT_BOOLEAN, BASE_NONE,
8814 TFS(&tfs_yes_no),
8815 0x0, NULL, HFILL}
8817 { &hf_c15ch_ntwk_conn_fromsite,
8818 { "From Site", "c15.ntwkconn.fromsite",
8819 FT_STRINGZ, BASE_NONE,
8820 NULL,
8821 0x0, NULL, HFILL}
8823 { &hf_c15ch_ntwk_conn_frompm,
8824 { "From PM", "c15.ntwkconn.frompm",
8825 FT_UINT8, BASE_DEC,
8826 NULL,
8827 0x0, NULL, HFILL}
8829 { &hf_c15ch_ntwk_conn_frompc,
8830 { "From PC", "c15.ntwkconn.frompc",
8831 FT_UINT8, BASE_DEC,
8832 NULL,
8833 0x0, NULL, HFILL}
8835 { &hf_c15ch_ntwk_conn_fromloop,
8836 { "From Loop", "c15.ntwkconn.fromloop",
8837 FT_UINT8, BASE_DEC,
8838 NULL,
8839 0x0, NULL, HFILL}
8841 { &hf_c15ch_ntwk_conn_fromslot,
8842 { "From Slot", "c15.ntwkconn.fromslot",
8843 FT_UINT8, BASE_DEC,
8844 NULL,
8845 0x0, NULL, HFILL}
8847 { &hf_c15ch_ntwk_conn_fromlocation,
8848 { "From Location", "c15.ntwkconn.fromlocation",
8849 FT_STRINGZ, BASE_NONE,
8850 NULL,
8851 0x0, NULL, HFILL}
8853 { &hf_c15ch_ntwk_conn_fromcnx,
8854 { "From CNX", "c15.ntwkconn.fromcnx",
8855 FT_UINT32, BASE_DEC,
8856 NULL,
8857 0x0, NULL, HFILL}
8859 { &hf_c15ch_ntwk_conn_fromntwkni,
8860 { "From Ntwk NI", "c15.ntwkconn.fromntwkni",
8861 FT_UINT32, BASE_HEX,
8862 NULL,
8863 0x0, NULL, HFILL}
8865 { &hf_c15ch_ntwk_conn_fromntwktn,
8866 { "From Ntwk TN", "c15.ntwkconn.fromntwktn",
8867 FT_UINT32, BASE_HEX,
8868 NULL,
8869 0x0, NULL, HFILL}
8871 { &hf_c15ch_ntwk_conn_fromntwknitn,
8872 { "From Ntwk NI/TN", "c15.ntwkconn.fromntwknitn",
8873 FT_UINT64, BASE_HEX,
8874 NULL,
8875 0x0, NULL, HFILL}
8877 { &hf_c15ch_ntwk_conn_mbshold,
8878 { "MBS Hold", "c15.ntwkconn.mbshold",
8879 FT_UINT8, BASE_DEC,
8880 NULL,
8881 0x0, NULL, HFILL}
8883 { &hf_c15ch_ntwk_conn_tooptimized,
8884 { "To Optimized", "c15.ntwkconn.tooptimized",
8885 FT_BOOLEAN, BASE_NONE,
8886 TFS(&tfs_yes_no),
8887 0x0, NULL, HFILL}
8889 { &hf_c15ch_ntwk_conn_tosite,
8890 { "To Site", "c15.ntwkconn.tosite",
8891 FT_STRINGZ, BASE_NONE,
8892 NULL,
8893 0x0, NULL, HFILL}
8895 { &hf_c15ch_ntwk_conn_topm,
8896 { "To PM", "c15.ntwkconn.topm",
8897 FT_UINT8, BASE_DEC,
8898 NULL,
8899 0x0, NULL, HFILL}
8901 { &hf_c15ch_ntwk_conn_topc,
8902 { "To PC", "c15.ntwkconn.topc",
8903 FT_UINT8, BASE_DEC,
8904 NULL,
8905 0x0, NULL, HFILL}
8907 { &hf_c15ch_ntwk_conn_toloop,
8908 { "To Loop", "c15.ntwkconn.toloop",
8909 FT_UINT8, BASE_DEC,
8910 NULL,
8911 0x0, NULL, HFILL}
8913 { &hf_c15ch_ntwk_conn_tolocation,
8914 { "To Location", "c15.ntwkconn.tolocation",
8915 FT_STRINGZ, BASE_NONE,
8916 NULL,
8917 0x0, NULL, HFILL}
8919 { &hf_c15ch_ntwk_conn_toslot,
8920 { "To Slot", "c15.ntwkconn.toslot",
8921 FT_UINT8, BASE_DEC,
8922 NULL,
8923 0x0, NULL, HFILL}
8925 { &hf_c15ch_ntwk_conn_tocnx,
8926 { "To CNX", "c15.ntwkconn.tocnx",
8927 FT_UINT32, BASE_DEC,
8928 NULL,
8929 0x0, NULL, HFILL}
8932 { &hf_c15ch_orig_tnblocktype,
8933 { "TN Block Type", "c15.orig.tnblocktype",
8934 FT_UINT32, BASE_DEC|BASE_EXT_STRING,
8935 &c15ch_orig_block_types_ext,
8936 0x0, NULL, HFILL}
8938 { &hf_c15ch_orig_ni,
8939 { "NI", "c15.orig.ni",
8940 FT_UINT32, BASE_HEX,
8941 NULL,
8942 0x0, NULL, HFILL}
8944 { &hf_c15ch_orig_tn,
8945 { "TN", "c15.orig.tn",
8946 FT_UINT32, BASE_HEX,
8947 NULL,
8948 0x0, NULL, HFILL}
8950 { &hf_c15ch_orig_ni_tn,
8951 {"NI/TN", "c15.orig.ni_tn",
8952 FT_UINT64, BASE_HEX,
8953 NULL,
8954 0x0, NULL, HFILL }
8956 { &hf_c15ch_orig_dndigits,
8957 { "DN Digits", "c15.orig.dndigits",
8958 FT_STRINGZ, BASE_NONE,
8959 NULL,
8960 0x0, NULL, HFILL}
8962 { &hf_c15ch_orig_nidscrn,
8963 { "Nid Scrn", "c15.orig.nidscrn",
8964 FT_UINT8, BASE_DEC,
8965 NULL,
8966 0x0, NULL, HFILL}
8968 { &hf_c15ch_orig_nidaddrtype,
8969 { "Nid Address Type", "c15.orig.nidaddrtype",
8970 FT_UINT8, BASE_DEC,
8971 NULL,
8972 0x0, NULL, HFILL}
8974 { &hf_c15ch_orig_nidnmbrplan,
8975 { "Nid Number Plan", "c15.orig.nidnmbrplan",
8976 FT_UINT8, BASE_DEC,
8977 NULL,
8978 0x0, NULL, HFILL}
8980 { &hf_c15ch_orig_nidprivind,
8981 { "Nid Priv Ind", "c15.orig.nidprivind",
8982 FT_UINT8, BASE_DEC,
8983 NULL,
8984 0x0, NULL, HFILL}
8986 { &hf_c15ch_orig_upnsaved,
8987 { "UPN Saved", "c15.orig.upnsaved",
8988 FT_UINT8, BASE_DEC,
8989 NULL,
8990 0x0, NULL, HFILL}
8992 { &hf_c15ch_orig_upndigits,
8993 { "UPN Digits", "c15.orig.upndigits",
8994 FT_STRINGZ, BASE_NONE,
8995 NULL,
8996 0x0, NULL, HFILL}
8998 { &hf_c15ch_orig_upnscrn,
8999 { "UPN Scrn", "c15.orig.upnscrn",
9000 FT_UINT8, BASE_DEC,
9001 NULL,
9002 0x0, NULL, HFILL}
9004 { &hf_c15ch_orig_upnaddrtype,
9005 { "UPN Address Type", "c15.orig.upnaddrtype",
9006 FT_UINT8, BASE_DEC,
9007 NULL,
9008 0x0, NULL, HFILL}
9010 { &hf_c15ch_orig_upnnmbrplan,
9011 { "UPN Nmbr Plan", "c15.orig.upnnmbrplan",
9012 FT_UINT8, BASE_DEC,
9013 NULL,
9014 0x0, NULL, HFILL}
9016 { &hf_c15ch_orig_upnprivind,
9017 { "UPN Priv Ind", "c15.orig.upnprivind",
9018 FT_UINT8, BASE_DEC,
9019 NULL,
9020 0x0, NULL, HFILL}
9022 { &hf_c15ch_orig_rnpsaved,
9023 { "RNP Saved", "c15.orig.rnpsaved",
9024 FT_UINT8, BASE_DEC,
9025 NULL,
9026 0x0, NULL, HFILL}
9028 { &hf_c15ch_orig_rnpdigits,
9029 { "RNP Digits", "c15.orig.rnpdigits",
9030 FT_STRINGZ, BASE_NONE,
9031 NULL,
9032 0x0, NULL, HFILL}
9034 { &hf_c15ch_orig_rnpscrn,
9035 { "RNP Scrn", "c15.orig.rnpscrn",
9036 FT_UINT8, BASE_DEC,
9037 NULL,
9038 0x0, NULL, HFILL}
9040 { &hf_c15ch_orig_rnpaddrtype,
9041 { "RNP Address Type", "c15.orig.rnpaddrtype",
9042 FT_UINT8, BASE_DEC,
9043 NULL,
9044 0x0, NULL, HFILL}
9046 { &hf_c15ch_orig_rnpnmbrplan,
9047 { "RNP Number Plan", "c15.orig.rnpnmbrplan",
9048 FT_UINT8, BASE_DEC,
9049 NULL,
9050 0x0, NULL, HFILL}
9052 { &hf_c15ch_orig_rnpprivind,
9053 { "RNP Priv Ind", "c15.orig.rnpprivind",
9054 FT_UINT8, BASE_DEC,
9055 NULL,
9056 0x0, NULL, HFILL}
9058 { &hf_c15ch_orig_iptime,
9059 { "IP Time", "c15.orig.iptime",
9060 FT_UINT32, BASE_HEX,
9061 NULL,
9062 0x0, NULL, HFILL}
9065 { &hf_c15ch_outgwebc_pbc_conn_ni,
9066 { "PBC Conn NI", "c15.out_gwe_bc.pbc.conn.ni",
9067 FT_UINT32, BASE_HEX,
9068 NULL,
9069 0x0, NULL, HFILL}
9071 { &hf_c15ch_outgwebc_pbc_conn_tn,
9072 { "PBC Conn TN", "c15.out_gwe_bc.pbc_conn.tn",
9073 FT_UINT32, BASE_HEX,
9074 NULL,
9075 0x0, NULL, HFILL}
9077 { &hf_c15ch_outgwebc_pbc_conn_ni_tn,
9078 {"PBC Conn NI/TN", "c15.out_gwe_bc.pbc_conn.ni_tn",
9079 FT_UINT64, BASE_HEX,
9080 NULL,
9081 0x0, NULL, HFILL }
9083 { &hf_c15ch_outgwebc_pbc_conn_num,
9084 { "PBC Conn Num", "c15.out_gwe_bc.pbc_conn.num",
9085 FT_UINT32, BASE_DEC,
9086 NULL,
9087 0x0, NULL, HFILL}
9089 { &hf_c15ch_outgwebc_pbc_conn_type,
9090 { "PBC Conn Type", "c15.out_gwe_bc.pbc_conn.type",
9091 FT_UINT8, BASE_DEC,
9092 NULL,
9093 0x0, NULL, HFILL}
9095 { &hf_c15ch_outgwebc_bc_msg_type,
9096 { "BC Msg Type", "c15.out_gwe_bc.bc_msg_type",
9097 FT_UINT8, BASE_DEC,
9098 NULL,
9099 0x0, NULL, HFILL}
9101 { &hf_c15ch_outgwebc_op_bc_sdp_ip,
9102 { "OP BC SDP IP", "c15.out_gwe_bc.op_bc_sdp.ip",
9103 FT_IPv4, BASE_NONE,
9104 NULL,
9105 0x0, NULL, HFILL}
9107 { &hf_c15ch_outgwebc_op_bc_sdp_port,
9108 { "OP BC SDP Port", "c15.out_gwe_bc.op_bc_sdp.port",
9109 FT_UINT32, BASE_DEC,
9110 NULL,
9111 0x0, NULL, HFILL}
9113 { &hf_c15ch_outgwebc_pbc_mdrp_mode,
9114 { "PBC MDRP Mode", "c15.out_gwe_bc.pbc.mdrp_mode",
9115 FT_UINT8, BASE_DEC,
9116 NULL,
9117 0x0, NULL, HFILL}
9119 { &hf_c15ch_outgwebc_pbc_tst_flags,
9120 { "PBC TST Flags", "c15.out_gwe_bc.pbc.tst_flags",
9121 FT_UINT32, BASE_HEX,
9122 NULL,
9123 0x0, NULL, HFILL}
9126 { &hf_c15ch_pathfind_vds30,
9127 {"VDS30", "c15.pathfind.vds30",
9128 FT_UINT8, BASE_DEC,
9129 VALS( c15ch_pathfind_vds30_types),
9130 0x0, NULL, HFILL}
9132 { &hf_c15ch_pathfind_fromgweni,
9133 { "From GWE NI", "c15.pathfind.fromgweni",
9134 FT_UINT32, BASE_HEX,
9135 NULL,
9136 0x0, NULL, HFILL}
9138 { &hf_c15ch_pathfind_fromgwetn,
9139 { "From GWE TN", "c15.pathfind.fromgwetn",
9140 FT_UINT32, BASE_HEX,
9141 NULL,
9142 0x0, NULL, HFILL}
9144 { &hf_c15ch_pathfind_fromgwenitn,
9145 { "From GWE NI/TN", "c15.pathfind.fromgwenitn",
9146 FT_UINT64, BASE_HEX,
9147 NULL,
9148 0x0, NULL, HFILL}
9150 { &hf_c15ch_pathfind_fromoptimized,
9151 { "From Optimized", "c15.pathfind.fromoptimized",
9152 FT_UINT8, BASE_DEC,
9153 NULL,
9154 0x0, NULL, HFILL}
9156 { &hf_c15ch_pathfind_fromsite,
9157 { "From Site", "c15.pathfind.fromsite",
9158 FT_STRINGZ, BASE_NONE,
9159 NULL,
9160 0x0, NULL, HFILL}
9162 { &hf_c15ch_pathfind_frompm,
9163 { "From Port Module", "c15.pathfind.frompm",
9164 FT_UINT8, BASE_DEC,
9165 NULL,
9166 0x0, NULL, HFILL}
9168 { &hf_c15ch_pathfind_frompc,
9169 { "From Port Controller", "c15.pathfind.frompc",
9170 FT_UINT8, BASE_DEC,
9171 NULL,
9172 0x0, NULL, HFILL}
9174 { &hf_c15ch_pathfind_fromloop,
9175 { "From Loop", "c15.pathfind.fromloop",
9176 FT_UINT32, BASE_DEC,
9177 NULL,
9178 0x0, NULL, HFILL}
9180 { &hf_c15ch_pathfind_fromslot,
9181 { "From Slot", "c15.pathfind.fromslot",
9182 FT_UINT32, BASE_DEC,
9183 NULL,
9184 0x0, NULL, HFILL}
9186 { &hf_c15ch_pathfind_fromcnx,
9187 { "From CNX", "c15.pathfind.fromcnx",
9188 FT_UINT32, BASE_DEC,
9189 NULL,
9190 0x0, NULL, HFILL}
9192 { &hf_c15ch_pathfind_fromni,
9193 { "From NI", "c15.pathfind.fromni",
9194 FT_UINT32, BASE_HEX,
9195 NULL,
9196 0x0, NULL, HFILL}
9198 { &hf_c15ch_pathfind_fromtn,
9199 { "From TN", "c15.pathfind.fromtn",
9200 FT_UINT32, BASE_HEX,
9201 NULL,
9202 0x0, NULL, HFILL}
9204 { &hf_c15ch_pathfind_fromnitn,
9205 { "From NI/TN", "c15.pathfind.fromnitn",
9206 FT_UINT64, BASE_HEX,
9207 NULL,
9208 0x0, NULL, HFILL}
9210 { &hf_c15ch_pathfind_togweni,
9211 { "To GWE NI", "c15.pathfind.togweni",
9212 FT_UINT32, BASE_HEX,
9213 NULL,
9214 0x0, NULL, HFILL}
9216 { &hf_c15ch_pathfind_togwetn,
9217 { "To GWE TN", "c15.pathfind.togwetn",
9218 FT_UINT32, BASE_HEX,
9219 NULL,
9220 0x0, NULL, HFILL}
9222 { &hf_c15ch_pathfind_togwenitn,
9223 { "To GWE TN", "c15.pathfind.togwenitn",
9224 FT_UINT64, BASE_HEX,
9225 NULL,
9226 0x0, NULL, HFILL}
9228 { &hf_c15ch_pathfind_tooptimized,
9229 { "To Optimized", "c15.pathfind.tooptimized",
9230 FT_UINT8, BASE_DEC,
9231 NULL,
9232 0x0, NULL, HFILL}
9234 { &hf_c15ch_pathfind_tosite,
9235 { "To Site", "c15.pathfind.tosite",
9236 FT_STRINGZ, BASE_NONE,
9237 NULL,
9238 0x0, NULL, HFILL}
9240 { &hf_c15ch_pathfind_topm,
9241 { "To Port Module", "c15.pathfind.topm",
9242 FT_UINT8, BASE_DEC,
9243 NULL,
9244 0x0, NULL, HFILL}
9246 { &hf_c15ch_pathfind_topc,
9247 { "To Port Controller", "c15.pathfind.topc",
9248 FT_UINT8, BASE_DEC,
9249 NULL,
9250 0x0, NULL, HFILL}
9252 { &hf_c15ch_pathfind_toloop,
9253 { "To Loop", "c15.pathfind.toloop",
9254 FT_UINT32, BASE_DEC,
9255 NULL,
9256 0x0, NULL, HFILL}
9258 { &hf_c15ch_pathfind_toslot,
9259 { "To Slot", "c15.pathfind.toslot",
9260 FT_UINT32, BASE_DEC,
9261 NULL,
9262 0x0, NULL, HFILL}
9264 { &hf_c15ch_pathfind_tocnx,
9265 { "To CNX", "c15.pathfind.tocnx",
9266 FT_UINT32, BASE_DEC,
9267 NULL,
9268 0x0, NULL, HFILL}
9270 { &hf_c15ch_pathfind_toni,
9271 { "To NI", "c15.pathfind.toni",
9272 FT_UINT32, BASE_HEX,
9273 NULL,
9274 0x0, NULL, HFILL}
9276 { &hf_c15ch_pathfind_totn,
9277 { "To TN", "c15.pathfind.totn",
9278 FT_UINT32, BASE_HEX,
9279 NULL,
9280 0x0, NULL, HFILL}
9282 { &hf_c15ch_pathfind_tonitn,
9283 { "To NI/TN", "c15.pathfind.tonitn",
9284 FT_UINT64, BASE_HEX,
9285 NULL,
9286 0x0, NULL, HFILL}
9289 { &hf_c15ch_pathidle_vds30,
9290 {"VDS30", "c15.pathidle.vds30",
9291 FT_UINT8, BASE_DEC,
9292 VALS( c15ch_pathidle_vds30_types ),
9293 0x0, NULL, HFILL}
9295 { &hf_c15ch_pathidle_idlecode,
9296 {"Idle Code", "c15.pathidle.idlecode",
9297 FT_UINT8, BASE_DEC,
9298 VALS( c15ch_pathidle_idle_types ),
9299 0x0, NULL, HFILL}
9301 { &hf_c15ch_pathidle_pathtype,
9302 { "Path Type", "c15.pathidle.pathtype",
9303 FT_UINT8, BASE_DEC,
9304 VALS( c15ch_pathidle_path_types ),
9305 0x0, NULL, HFILL}
9307 { &hf_c15ch_pathidle_fromgweni,
9308 { "From GWE NI", "c15.pathidle.fromgweni",
9309 FT_UINT32, BASE_HEX,
9310 NULL,
9311 0x0, NULL, HFILL}
9313 { &hf_c15ch_pathidle_fromgwetn,
9314 { "From GWE TN", "c15.pathidle.fromgwetn",
9315 FT_UINT32, BASE_HEX,
9316 NULL,
9317 0x0, NULL, HFILL}
9319 { &hf_c15ch_pathidle_fromgwenitn,
9320 { "From GWE NI/TN", "c15.pathidle.fromgwenitn",
9321 FT_UINT64, BASE_HEX,
9322 NULL,
9323 0x0, NULL, HFILL}
9325 { &hf_c15ch_pathidle_fromsite,
9326 { "From Site", "c15.pathidle.fromsite",
9327 FT_STRINGZ, BASE_NONE,
9328 NULL,
9329 0x0, NULL, HFILL}
9331 { &hf_c15ch_pathidle_frompm,
9332 { "From Port Module", "c15.pathidle.frompm",
9333 FT_UINT8, BASE_DEC,
9334 NULL,
9335 0x0, NULL, HFILL}
9337 { &hf_c15ch_pathidle_frompc,
9338 { "From Port Controller", "c15.pathidle.frompc",
9339 FT_UINT8, BASE_DEC,
9340 NULL,
9341 0x0, NULL, HFILL}
9343 { &hf_c15ch_pathidle_fromloop,
9344 { "From Loop", "c15.pathidle.fromloop",
9345 FT_UINT32, BASE_DEC,
9346 NULL,
9347 0x0, NULL, HFILL}
9349 { &hf_c15ch_pathidle_fromslot,
9350 { "From Slot", "c15.pathidle.fromslot",
9351 FT_UINT32, BASE_DEC,
9352 NULL,
9353 0x0, NULL, HFILL}
9355 { &hf_c15ch_pathidle_fromcnx,
9356 { "From CNX", "c15.pathidle.fromcnx",
9357 FT_UINT32, BASE_DEC,
9358 NULL,
9359 0x0, NULL, HFILL}
9361 { &hf_c15ch_pathidle_fromni,
9362 { "From NI", "c15.pathidle.fromni",
9363 FT_UINT32, BASE_HEX,
9364 NULL,
9365 0x0, NULL, HFILL}
9367 { &hf_c15ch_pathidle_fromtn,
9368 { "From TN", "c15.pathidle.fromtn",
9369 FT_UINT32, BASE_HEX,
9370 NULL,
9371 0x0, NULL, HFILL}
9373 { &hf_c15ch_pathidle_fromnitn,
9374 { "From NI/TN", "c15.pathidle.fromnitn",
9375 FT_UINT64, BASE_HEX,
9376 NULL,
9377 0x0, NULL, HFILL}
9379 { &hf_c15ch_pathidle_togweni,
9380 { "To GWE NI", "c15.pathidle.togweni",
9381 FT_UINT32, BASE_HEX,
9382 NULL,
9383 0x0, NULL, HFILL}
9385 { &hf_c15ch_pathidle_togwenitn,
9386 { "To GWE NI/TN", "c15.pathidle.togwenitn",
9387 FT_UINT64, BASE_HEX,
9388 NULL,
9389 0x0, NULL, HFILL}
9391 { &hf_c15ch_pathidle_togwetn,
9392 { "To GWE TN", "c15.pathidle.togwetn",
9393 FT_UINT32, BASE_HEX,
9394 NULL,
9395 0x0, NULL, HFILL}
9397 { &hf_c15ch_pathidle_tosite,
9398 { "To Site", "c15.pathidle.tosite",
9399 FT_STRINGZ, BASE_NONE,
9400 NULL,
9401 0x0, NULL, HFILL}
9403 { &hf_c15ch_pathidle_topm,
9404 { "To Port Module", "c15.pathidle.topm",
9405 FT_UINT8, BASE_DEC,
9406 NULL,
9407 0x0, NULL, HFILL}
9409 { &hf_c15ch_pathidle_topc,
9410 { "To Port Controller", "c15.pathidle.topc",
9411 FT_UINT8, BASE_DEC,
9412 NULL,
9413 0x0, NULL, HFILL}
9415 { &hf_c15ch_pathidle_toloop,
9416 { "To Loop", "c15.pathidle.toloop",
9417 FT_UINT32, BASE_DEC,
9418 NULL,
9419 0x0, NULL, HFILL}
9421 { &hf_c15ch_pathidle_toslot,
9422 { "To Slot", "c15.pathidle.toslot",
9423 FT_UINT32, BASE_DEC,
9424 NULL,
9425 0x0, NULL, HFILL}
9427 { &hf_c15ch_pathidle_tocnx,
9428 {"To CNX", "c15.pathidle.tocnx",
9429 FT_UINT32, BASE_DEC,
9430 NULL,
9431 0x0, NULL, HFILL}
9433 { &hf_c15ch_pathidle_toni,
9434 { "To NI", "c15.pathidle.toni",
9435 FT_UINT32, BASE_HEX,
9436 NULL,
9437 0x0, NULL, HFILL}
9439 { &hf_c15ch_pathidle_totn,
9440 { "From TN", "c15.pathidle.totn",
9441 FT_UINT32, BASE_HEX,
9442 NULL,
9443 0x0, NULL, HFILL}
9445 { &hf_c15ch_pathidle_tonitn,
9446 { "To NI/TN", "c15.pathidle.tonitn",
9447 FT_UINT64, BASE_HEX,
9448 NULL,
9449 0x0, NULL, HFILL}
9452 { &hf_c15ch_q931_direction,
9453 { "Direction", "c15.q931.direction",
9454 FT_UINT8, BASE_DEC,
9455 VALS( c15ch_q931_direction_types ),
9456 0x0, NULL, HFILL}
9458 { &hf_c15ch_q931_ni,
9459 { "NI", "c15.q931.ni",
9460 FT_UINT32, BASE_HEX,
9461 NULL,
9462 0x0, NULL, HFILL}
9464 { &hf_c15ch_q931_tn,
9465 { "TN", "c15.q931.tn",
9466 FT_UINT32, BASE_HEX,
9467 NULL,
9468 0x0, NULL, HFILL}
9470 { &hf_c15ch_q931_ni_tn,
9471 { "NI/TN", "c15.q931.ni_tn",
9472 FT_UINT64, BASE_HEX,
9473 NULL,
9474 0x0, NULL, HFILL}
9476 { &hf_c15ch_q931_msglength,
9477 { "Message Length", "c15.q931.msglength",
9478 FT_UINT32, BASE_DEC,
9479 NULL,
9480 0x0, NULL, HFILL}
9482 { &hf_c15ch_q931,
9483 { "C15 Q931", "c15.q931",
9484 FT_PROTOCOL, BASE_NONE,
9485 NULL,
9486 0x0, NULL, HFILL}
9488 { &hf_c15ch_qos_ni,
9489 { "NI", "c15.qos.ni",
9490 FT_UINT32, BASE_HEX,
9491 NULL,
9492 0x0, NULL, HFILL}
9494 { &hf_c15ch_qos_tn,
9495 { "TN", "c15.qos.tn",
9496 FT_UINT32, BASE_HEX,
9497 NULL,
9498 0x0, NULL, HFILL}
9500 { &hf_c15ch_qos_ni_tn,
9501 { "NI/TN", "c15.qos.ni_tn",
9502 FT_UINT64, BASE_HEX,
9503 NULL,
9504 0x0, NULL, HFILL}
9506 { &hf_c15ch_qos_rtcp_call_id,
9507 { "RTCP Call ID", "c15.qos.rtcp_call_id",
9508 FT_UINT32, BASE_DEC,
9509 NULL,
9510 0x0, NULL, HFILL}
9512 { &hf_c15ch_qos_register_type,
9513 { "Register Type", "c15.qos.register_type",
9514 FT_UINT32, BASE_DEC,
9515 NULL,
9516 0x0, NULL, HFILL}
9518 { &hf_c15ch_qos_tg_num,
9519 { "TG Num", "c15.qos.tg_num",
9520 FT_UINT32, BASE_DEC,
9521 NULL,
9522 0x0, NULL, HFILL}
9524 { &hf_c15ch_qos_trk_type,
9525 { "Trunk Type", "c15.qos.trk_type",
9526 FT_UINT32, BASE_DEC,
9527 NULL,
9528 0x0, NULL, HFILL}
9530 { &hf_c15ch_qos_status,
9531 { "Status", "c15.qos.status",
9532 FT_UINT32, BASE_DEC,
9533 VALS( ett_c15ch_qos_status_types ),
9534 0x0, NULL, HFILL}
9536 { &hf_c15ch_qos_codec,
9537 { "Codec", "c15.qos.codec",
9538 FT_UINT32, BASE_DEC,
9539 NULL,
9540 0x0, NULL, HFILL}
9542 { &hf_c15ch_qos_given_ip,
9543 { "Given IP", "c15.qos.given_ip",
9544 FT_IPv4, BASE_NONE,
9545 NULL,
9546 0x0, NULL, HFILL}
9548 { &hf_c15ch_qos_real_ip,
9549 { "Real IP", "c15.qos.real_ip",
9550 FT_IPv4, BASE_NONE,
9551 NULL,
9552 0x0, NULL, HFILL}
9554 { &hf_c15ch_qos_local_ip,
9555 { "Local IP", "c15.qos.local_ip",
9556 FT_IPv4, BASE_NONE,
9557 NULL,
9558 0x0, NULL, HFILL}
9560 { &hf_c15ch_qos_tx_pkts,
9561 { "Tx Packets", "c15.qos.tx_pkts",
9562 FT_UINT32, BASE_DEC,
9563 NULL,
9564 0x0, NULL, HFILL}
9566 { &hf_c15ch_qos_lost_pkts,
9567 { "Lost Packets", "c15.qos.lost_pkts",
9568 FT_UINT32, BASE_DEC,
9569 NULL,
9570 0x0, NULL, HFILL}
9572 { &hf_c15ch_qos_lost_pct,
9573 { "Lost Percent", "c15.qos.lost_pct",
9574 FT_UINT32, BASE_DEC,
9575 NULL,
9576 0x0, NULL, HFILL}
9578 { &hf_c15ch_qos_jitter,
9579 { "Jitter", "c15.qos.jitter",
9580 FT_UINT32, BASE_DEC,
9581 NULL,
9582 0x0, NULL, HFILL}
9584 { &hf_c15ch_qos_rtt,
9585 { "Round Trip Time", "c15.qos.rtt",
9586 FT_UINT32, BASE_DEC,
9587 NULL,
9588 0x0, NULL, HFILL}
9590 { &hf_c15ch_qos_avg_rtt,
9591 { "Average Round Trip Time", "c15.qos.avg_rtt",
9592 FT_UINT32, BASE_DEC,
9593 NULL,
9594 0x0, NULL, HFILL}
9596 { &hf_c15ch_qos_duration,
9597 { "Duration", "c15.qos.duration",
9598 FT_UINT32, BASE_DEC,
9599 NULL,
9600 0x0, NULL, HFILL}
9602 { &hf_c15ch_qos_mos,
9603 { "MOS", "c15.qos.mos",
9604 FT_FLOAT, BASE_NONE,
9605 NULL,
9606 0x0, NULL, HFILL}
9608 { &hf_c15ch_qos_ep_type,
9609 { "EP Type", "c15.qos.ep_type",
9610 FT_UINT32, BASE_DEC,
9611 NULL,
9612 0x0, NULL, HFILL}
9614 { &hf_c15ch_qos_dn_or_tg,
9615 { "DN or TG", "c15.qos.dn_or_tg",
9616 FT_STRINGZ, BASE_NONE,
9617 NULL,
9618 0x0, NULL, HFILL}
9620 { &hf_c15ch_qos_pm,
9621 { "Port Module", "c15.qos.pm",
9622 FT_UINT8, BASE_DEC,
9623 NULL,
9624 0x0, NULL, HFILL}
9626 { &hf_c15ch_qos_pc,
9627 { "Port Controller", "c15.qos.pc",
9628 FT_UINT8, BASE_DEC,
9629 NULL,
9630 0x0, NULL, HFILL}
9632 { &hf_c15ch_qos_hour,
9633 { "Hour", "c15.qos.hour",
9634 FT_UINT8, BASE_DEC,
9635 NULL,
9636 0x0, NULL, HFILL}
9638 { &hf_c15ch_qos_min,
9639 { "Minutes", "c15.qos.min",
9640 FT_UINT8, BASE_DEC,
9641 NULL,
9642 0x0, NULL, HFILL}
9644 { &hf_c15ch_qos_sec,
9645 { "Seconds", "c15.qos.sec",
9646 FT_UINT8, BASE_DEC,
9647 NULL,
9648 0x0, NULL, HFILL}
9650 { &hf_c15ch_qos_tenth_sec,
9651 { "Tenths of Seconds", "c15.qos.tenth_sec",
9652 FT_UINT8, BASE_DEC,
9653 NULL,
9654 0x0, NULL, HFILL}
9656 { &hf_c15ch_qos_year,
9657 { "Year", "c15.qos.year",
9658 FT_UINT32, BASE_DEC,
9659 NULL,
9660 0x0, NULL, HFILL}
9662 { &hf_c15ch_qos_month,
9663 { "Month", "c15.qos.month",
9664 FT_UINT8, BASE_DEC,
9665 NULL,
9666 0x0, NULL, HFILL}
9668 { &hf_c15ch_qos_day,
9669 { "Day", "c15.qos.day",
9670 FT_UINT8, BASE_DEC,
9671 NULL,
9672 0x0, NULL, HFILL}
9674 { &hf_c15ch_qos_day_of_week,
9675 { "Day of Week", "c15.qos.day_of_week",
9676 FT_UINT8, BASE_DEC,
9677 NULL,
9678 0x0, NULL, HFILL}
9681 { &hf_c15ch_route_number,
9682 { "Number", "c15.route.number",
9683 FT_UINT32, BASE_DEC,
9684 NULL,
9685 0x0, NULL, HFILL}
9687 { &hf_c15ch_route_type,
9688 { "Type", "c15.route.type",
9689 FT_UINT32, BASE_DEC|BASE_EXT_STRING,
9690 &c15_route_types_ext,
9691 0x0, NULL, HFILL}
9693 { &hf_c15ch_route_subpm,
9694 { "Sub Progress Mark", "c15.route.subpm",
9695 FT_UINT32, BASE_DEC,
9696 NULL,
9697 0x0, NULL, HFILL}
9699 { &hf_c15ch_route_trkpm,
9700 { "Trk Progress Mark", "c15.route.trkpm",
9701 FT_UINT32, BASE_DEC,
9702 NULL,
9703 0x0, NULL, HFILL}
9705 { &hf_c15ch_route_strtaindo,
9706 { "START AIN DO", "c15.route.strtaindo",
9707 FT_UINT8, BASE_DEC,
9708 VALS( c15_route_strt_ain_do_types ),
9709 0x0, NULL, HFILL}
9711 { &hf_c15ch_route_cr_rte_adv,
9712 { "CR RTE Adv", "c15.route.cr_rte_adv",
9713 FT_UINT32, BASE_DEC,
9714 NULL,
9715 0x0, NULL, HFILL}
9717 { &hf_c15ch_route_cause,
9718 { "Cause", "c15.route.cause",
9719 FT_UINT32, BASE_DEC,
9720 NULL,
9721 0x0, NULL, HFILL}
9724 { &hf_c15ch_sccp_direction,
9725 { "Direction", "c15.sccp.direction",
9726 FT_UINT8, BASE_DEC,
9727 VALS( c15ch_sccp_direction_types ),
9728 0x0, NULL, HFILL}
9730 { &hf_c15ch_sccp_msgtype,
9731 { "Message Type", "c15.sccp.msgtype",
9732 FT_UINT8, BASE_DEC,
9733 VALS( c15ch_sccp_msg_types ),
9734 0x0, NULL, HFILL}
9736 { &hf_c15ch_sccp_hopcount,
9737 { "Hop Count", "c15.sccp.hopcount",
9738 FT_UINT8, BASE_DEC,
9739 NULL,
9740 0x0, NULL, HFILL}
9742 { &hf_c15ch_sccp_transactionnum,
9743 { "Transaction Number", "c15.sccp.transactionnum",
9744 FT_UINT32, BASE_DEC,
9745 NULL,
9746 0x0, NULL, HFILL}
9748 { &hf_c15ch_sccp_opcmember,
9749 { "OPC Member", "c15.sccp.opcmember",
9750 FT_UINT8, BASE_DEC,
9751 NULL,
9752 0x0, NULL, HFILL}
9754 { &hf_c15ch_sccp_opccluster,
9755 { "OPC Cluster", "c15.sccp.opccluster",
9756 FT_UINT8, BASE_DEC,
9757 NULL,
9758 0x0, NULL, HFILL}
9760 { &hf_c15ch_sccp_opcnetwork,
9761 { "OPC Network", "c15.sccp.opcnetwork",
9762 FT_UINT8, BASE_DEC,
9763 NULL,
9764 0x0, NULL, HFILL}
9766 { &hf_c15ch_sccp_dpcmember,
9767 { "DPC Member", "c15.sccp.dpcmember",
9768 FT_UINT8, BASE_DEC,
9769 NULL,
9770 0x0, NULL, HFILL}
9772 { &hf_c15ch_sccp_dpccluster,
9773 { "DPC Cluster", "c15.sccp.dpccluster",
9774 FT_UINT8, BASE_DEC,
9775 NULL,
9776 0x0, NULL, HFILL}
9778 { &hf_c15ch_sccp_dpcnetwork,
9779 { "DPC Network", "c15.sccp.dpcnetwork",
9780 FT_UINT8, BASE_DEC,
9781 NULL,
9782 0x0, NULL, HFILL}
9784 { &hf_c15ch_sccp_level3index,
9785 { "Level 3 Index", "c15.sccp.level3index",
9786 FT_UINT8, BASE_DEC,
9787 NULL,
9788 0x0, NULL, HFILL}
9790 { &hf_c15ch_sccp_ni,
9791 { "NI", "c15.sccp.ni",
9792 FT_UINT32, BASE_HEX,
9793 NULL,
9794 0x0, NULL, HFILL}
9796 { &hf_c15ch_sccp_tn,
9797 { "TN", "c15.sccp.tn",
9798 FT_UINT32, BASE_HEX,
9799 NULL,
9800 0x0, NULL, HFILL}
9802 { &hf_c15ch_sccp_ni_tn,
9803 { "NI/TN", "c15.sccp.ni_tn",
9804 FT_UINT64, BASE_HEX,
9805 NULL,
9806 0x0, NULL, HFILL}
9808 { &hf_c15ch_sccp_sls,
9809 { "SLS", "c15.sccp.sls",
9810 FT_UINT8, BASE_DEC,
9811 NULL,
9812 0x0, NULL, HFILL}
9814 { &hf_c15ch_sccp_iptime,
9815 { "IP Time", "c15.sccp.iptime",
9816 FT_UINT32, BASE_HEX,
9817 NULL,
9818 0x0, NULL, HFILL}
9821 { &hf_c15ch_srcedest_conntype,
9822 { "Connection Type", "c15.srcedest.conntype",
9823 FT_UINT8, BASE_DEC,
9824 VALS( c15_srcedest_conn_types ),
9825 0x0, NULL, HFILL}
9827 { &hf_c15ch_srcedest_pathtype,
9828 { "Path Type", "c15.srcedest.pathtype",
9829 FT_UINT8, BASE_DEC,
9830 VALS( c15_srcedest_path_types ),
9831 0x0, NULL, HFILL}
9833 { &hf_c15ch_srcedest_pathdirect,
9834 { "Path Direction", "c15.srcedest.pathdirect",
9835 FT_UINT8, BASE_DEC,
9836 NULL,
9837 0x0, NULL, HFILL}
9840 { &hf_c15ch_tcap_direction,
9841 { "Direction", "c15.tcap.direction",
9842 FT_UINT8, BASE_DEC,
9843 VALS( c15ch_tcap_direction_types ),
9844 0x0, NULL, HFILL }
9846 { &hf_c15ch_tcap_action,
9847 { "Action", "c15.tcap.action",
9848 FT_UINT8, BASE_DEC,
9849 VALS( c15ch_tcap_action_types ),
9850 0x0, NULL, HFILL }
9852 { &hf_c15ch_tcap_package_type,
9853 { "Package Type", "c15.tcap.package_type",
9854 FT_UINT8, BASE_DEC,
9855 VALS( c15ch_tcap_package_types ),
9856 0x0, NULL, HFILL }
9858 { &hf_c15ch_tcap_ssn,
9859 { "SSN", "c15.tcap.ssn",
9860 FT_UINT8, BASE_DEC,
9861 NULL,
9862 0x0, NULL, HFILL }
9864 { &hf_c15ch_tcap_local_ssn,
9865 { "Local SSN", "c15.tcap.local_ssn",
9866 FT_UINT8, BASE_DEC,
9867 VALS( c15ch_tcap_local_ssn_types ),
9868 0x0, NULL, HFILL }
9870 { &hf_c15ch_tcap_result_err_code,
9871 { "Result Error Code", "c15.tcap.result_err_code",
9872 FT_UINT8, BASE_DEC,
9873 VALS( c15ch_tcap_err_code_types ),
9874 0x0, NULL, HFILL }
9876 { &hf_c15ch_tcap_return_reason,
9877 { "Return Reason", "c15.tcap.return_reason",
9878 FT_UINT8, BASE_DEC,
9879 VALS( c15ch_tcap_ret_reason_types ),
9880 0x0, NULL, HFILL }
9882 { &hf_c15ch_tcap_feat_id,
9883 { "Feat ID", "c15.tcap.feat_id",
9884 FT_UINT8, BASE_DEC,
9885 VALS( c15ch_tcap_feat_id_types ),
9886 0x0, NULL, HFILL }
9888 { &hf_c15ch_tcap_feat_req,
9889 { "Feat Req", "c15.tcap.feat_req",
9890 FT_UINT8, BASE_DEC,
9891 VALS( c15ch_tcap_feat_req_types ),
9892 0x0, NULL, HFILL }
9894 { &hf_c15ch_tcap_cl_comp_result,
9895 { "CL Comp Result", "c15.tcap.cl_comp_result",
9896 FT_UINT8, BASE_DEC,
9897 NULL,
9898 0x0, NULL, HFILL }
9900 { &hf_c15ch_tcap_release_bit,
9901 { "Release Bit", "c15.tcap.release_bit",
9902 FT_UINT8, BASE_DEC,
9903 VALS( c15ch_tcap_rel_bit_types ),
9904 0x0, NULL, HFILL }
9906 { &hf_c15ch_tcap_term_cl_request,
9907 { "Term CL Request", "c15.tcap.term_cl_request",
9908 FT_UINT8, BASE_DEC,
9909 NULL,
9910 0x0, NULL, HFILL }
9912 { &hf_c15ch_tcap_opc_index,
9913 { "OPC Index", "c15.tcap.opc_index",
9914 FT_UINT8, BASE_DEC,
9915 NULL,
9916 0x0, NULL, HFILL }
9918 { &hf_c15ch_tcap_dpc_mem,
9919 { "DPC Mem", "c15.tcap.dpc_mem",
9920 FT_UINT8, BASE_DEC,
9921 NULL,
9922 0x0, NULL, HFILL }
9924 { &hf_c15ch_tcap_dpc_clus,
9925 { "DPC Clus", "c15.tcap.dpc_clus",
9926 FT_UINT8, BASE_DEC,
9927 NULL,
9928 0x0, NULL, HFILL }
9930 { &hf_c15ch_tcap_dpc_net,
9931 { "DPC Net", "c15.tcap.dpc_net",
9932 FT_UINT8, BASE_DEC,
9933 NULL,
9934 0x0, NULL, HFILL }
9936 { &hf_c15ch_tcap_cp_id,
9937 { "CP ID", "c15.tcap.cp_id",
9938 FT_UINT32, BASE_HEX,
9939 NULL,
9940 0x0, NULL, HFILL }
9943 { &hf_c15ch_twc_rswch_pm,
9944 { "Progress Mark", "c15.twc_rswch.pm",
9945 FT_UINT32, BASE_DEC,
9946 NULL,
9947 0x0, NULL, HFILL}
9949 { &hf_c15ch_twc_rswch_subpm,
9950 { "Sub Progress Mark", "c15.twc_rswch.subpm",
9951 FT_UINT32, BASE_DEC,
9952 NULL,
9953 0x0, NULL, HFILL}
9955 { &hf_c15ch_twc_rswch_trkpm,
9956 { "Trunk Progress Mark", "c15.twc_rswch.trkpm",
9957 FT_UINT32, BASE_DEC,
9958 NULL,
9959 0x0, NULL, HFILL}
9961 { &hf_c15ch_twc_rswch_devid,
9962 { "Device ID", "c15.twc_rswch.devid",
9963 FT_UINT32, BASE_DEC,
9964 NULL,
9965 0x0, NULL, HFILL}
9967 { &hf_c15ch_twc_rswch_event,
9968 { "Event", "c15.twc_rswch.event",
9969 FT_UINT32, BASE_DEC,
9970 NULL,
9971 0x0, NULL, HFILL}
9973 { &hf_c15ch_twc_rswch_parm,
9974 { "Parameter", "c15.twc_rswch.parm",
9975 FT_UINT32, BASE_DEC,
9976 NULL,
9977 0x0, NULL, HFILL}
9979 { &hf_c15ch_twc_rswch_iptime,
9980 { "IP Time", "c15.twc_rswch.iptime",
9981 FT_UINT32, BASE_DEC,
9982 NULL,
9983 0x0, NULL, HFILL}
9986 { &hf_c15ch_cp_event_pm,
9987 { "Progress Mark", "c15.cpe.pm",
9988 FT_UINT32, BASE_DEC|BASE_EXT_STRING,
9989 &c15_pm_types_ext,
9990 0x0, NULL, HFILL}
9992 { &hf_c15ch_cp_event_subpm,
9993 { "Sub Progress Mark", "c15.cpe.subpm",
9994 FT_UINT32, BASE_DEC,
9995 NULL,
9996 0x0, NULL, HFILL }
9998 { &hf_c15ch_cp_event_subpm_orig,
9999 { "Sub Progress Mark (Orig)", "c15.cpe.subpm_orig",
10000 FT_UINT32, BASE_DEC,
10001 VALS( subpm_orig_types),
10002 0x0, NULL, HFILL }
10004 { &hf_c15ch_cp_event_subpm_disc_time,
10005 { "Sub Progress Mark (Disc Time)", "c15.cpe.subpm_disc_time",
10006 FT_UINT32, BASE_DEC,
10007 VALS( subpm_disc_time_types),
10008 0x0, NULL, HFILL }
10010 { &hf_c15ch_cp_event_subpm_revert,
10011 { "Sub Progress Mark (Revertive)", "c15.cpe.subpm_revert",
10012 FT_UINT32, BASE_DEC,
10013 VALS( subpm_revert_types),
10014 0x0, NULL, HFILL }
10016 { &hf_c15ch_cp_event_subpm_orig_dt,
10017 { "Sub Progress Mark (Orig DT)", "c15.cpe.subpm_orig_dt",
10018 FT_UINT32, BASE_DEC,
10019 VALS( subpm_orig_dt_types),
10020 0x0, NULL, HFILL }
10022 { &hf_c15ch_cp_event_subpm_orig_ws,
10023 { "Sub Progress Mark (Orig WS)", "c15.cpe.subpm_orig_ws",
10024 FT_UINT32, BASE_DEC,
10025 VALS( subpm_orig_ws_types),
10026 0x0, NULL, HFILL }
10028 { &hf_c15ch_cp_event_subpm_orig_dd,
10029 { "Sub Progress Mark (Orig DD)", "c15.cpe.subpm_orig_dd",
10030 FT_UINT32, BASE_DEC,
10031 VALS( subpm_orig_dd_types),
10032 0x0, NULL, HFILL }
10034 { &hf_c15ch_cp_event_subpm_orig_id,
10035 { "Sub Progress Mark (Orig ID)", "c15.cpe.subpm_orig_id",
10036 FT_UINT32, BASE_DEC,
10037 VALS( subpm_orig_id_types),
10038 0x0, NULL, HFILL }
10040 { &hf_c15ch_cp_event_subpm_no_test,
10041 { "Sub Progress Mark (No Test)", "c15.cpe.subpm_no_test",
10042 FT_UINT32, BASE_DEC,
10043 VALS( subpm_no_test_types),
10044 0x0, NULL, HFILL }
10046 { &hf_c15ch_cp_event_subpm_dialing,
10047 { "Sub Progress Mark (Dialing)", "c15.cpe.subpm_dialing",
10048 FT_UINT32, BASE_DEC,
10049 VALS( subpm_dialing_types),
10050 0x0, NULL, HFILL }
10052 { &hf_c15ch_cp_event_subpm_rebuilt,
10053 { "Sub Progress Mark (Rebuilt)", "c15.cpe.subpm_rebuilt",
10054 FT_UINT32, BASE_DEC,
10055 VALS( subpm_rebuilt_types),
10056 0x0, NULL, HFILL }
10058 { &hf_c15ch_cp_event_subpm_acfw_reac,
10059 { "Sub Progress Mark (ACFW Reac)", "c15.cpe.subpm_acfw_reac",
10060 FT_UINT32, BASE_DEC,
10061 VALS( subpm_acfw_reac_types),
10062 0x0, NULL, HFILL }
10064 { &hf_c15ch_cp_event_subpm_process_route,
10065 { "Sub Progress Mark (Process Route)", "c15.cpe.subpm_process_route",
10066 FT_UINT32, BASE_DEC,
10067 VALS( subpm_process_route_types),
10068 0x0, NULL, HFILL }
10070 { &hf_c15ch_cp_event_subpm_rte_line,
10071 { "Sub Progress Mark (Rte Line)", "c15.cpe.subpm_rte_line",
10072 FT_UINT32, BASE_DEC,
10073 VALS( subpm_rte_line_types),
10074 0x0, NULL, HFILL }
10076 { &hf_c15ch_cp_event_subpm_mtce,
10077 { "Sub Progress Mark (MTCE)", "c15.cpe.subpm_mtce",
10078 FT_UINT32, BASE_DEC,
10079 VALS( subpm_mtce_types),
10080 0x0, NULL, HFILL }
10082 { &hf_c15ch_cp_event_subpm_aux_tone,
10083 { "Sub Progress Mark (AUXT)", "c15.cpe.subpm_aux_tone",
10084 FT_UINT32, BASE_DEC,
10085 VALS( subpm_aux_tone_types),
10086 0x0, NULL, HFILL }
10088 { &hf_c15ch_cp_event_subpm_noller,
10089 { "Sub Progress Mark (NOLLER)", "c15.cpe.subpm_noller",
10090 FT_UINT32, BASE_DEC,
10091 VALS( subpm_noller_types),
10092 0x0, NULL, HFILL }
10094 { &hf_c15ch_cp_event_subpm_ittk,
10095 { "Sub Progress Mark (ITTK)", "c15.cpe.subpm_ittk",
10096 FT_UINT32, BASE_DEC,
10097 VALS( subpm_ittk_types),
10098 0x0, NULL, HFILL }
10100 { &hf_c15ch_cp_event_subpm_alm_send,
10101 { "Sub Progress Mark (Alarm Send)", "c15.cpe.subpm_alm_send",
10102 FT_UINT32, BASE_DEC,
10103 VALS( subpm_alm_send_types),
10104 0x0, NULL, HFILL }
10106 { &hf_c15ch_cp_event_subpm_ani_spill,
10107 { "Sub Progress Mark (ANI Spill)", "c15.cpe.subpm_ani_spill",
10108 FT_UINT32, BASE_DEC,
10109 VALS( subpm_ani_spill_types),
10110 0x0, NULL, HFILL }
10112 { &hf_c15ch_cp_event_subpm_trunk_term,
10113 { "Sub Progress Mark (Trunk Term)", "c15.cpe.subpm_trunk_term",
10114 FT_UINT32, BASE_DEC,
10115 VALS( subpm_trunk_term_types),
10116 0x0, NULL, HFILL }
10118 { &hf_c15ch_cp_event_subpm_line_term,
10119 { "Sub Progress Mark (Line Term)", "c15.cpe.subpm_line_term",
10120 FT_UINT32, BASE_DEC,
10121 VALS( subpm_line_term_types),
10122 0x0, NULL, HFILL }
10124 { &hf_c15ch_cp_event_subpm_non_cp,
10125 { "Sub Progress Mark (Non CP)", "c15.cpe.subpm_non_cp",
10126 FT_UINT32, BASE_DEC,
10127 VALS( subpm_non_cp_types),
10128 0x0, NULL, HFILL }
10130 { &hf_c15ch_cp_event_subpm_3wc,
10131 { "Sub Progress Mark (3wc)", "c15.cpe.subpm_3wc",
10132 FT_UINT32, BASE_DEC,
10133 VALS( subpm_twc_types),
10134 0x0, NULL, HFILL }
10136 { &hf_c15ch_cp_event_subpm_held_3wc,
10137 { "Sub Progress Mark (Held 3WC)", "c15.cpe.subpm_held_3wc",
10138 FT_UINT32, BASE_DEC,
10139 VALS( subpm_held_3wc_types),
10140 0x0, NULL, HFILL }
10142 { &hf_c15ch_cp_event_subpm_cwt,
10143 { "Sub Progress Mark (CWT)", "c15.cpe.subpm_cwt",
10144 FT_UINT32, BASE_DEC,
10145 VALS( subpm_cwt_types),
10146 0x0, NULL, HFILL }
10148 { &hf_c15ch_cp_event_subpm_held_cwt,
10149 { "Sub Progress Mark (Held CWT)", "c15.cpe.subpm_held_cwt",
10150 FT_UINT32, BASE_DEC,
10151 VALS( subpm_held_cwt_types),
10152 0x0, NULL, HFILL }
10154 { &hf_c15ch_cp_event_subpm_update_sc,
10155 { "Sub Progress Mark (Update SC)", "c15.cpe.subpm_update_sc",
10156 FT_UINT32, BASE_DEC,
10157 VALS( subpm_update_sc_types),
10158 0x0, NULL, HFILL }
10160 { &hf_c15ch_cp_event_subpm_orig_spdt,
10161 { "Sub Progress Mark (Orig SPDT)", "c15.cpe.subpm_orig_spdt",
10162 FT_UINT32, BASE_DEC,
10163 VALS( subpm_orig_dt_types),
10164 0x0, NULL, HFILL }
10166 { &hf_c15ch_cp_event_subpm_acfw_retm,
10167 { "Sub Progress Mark (ACFW RETM)", "c15.cpe.subpm_acfw_retm",
10168 FT_UINT32, BASE_DEC,
10169 VALS( subpm_acfw_retm_types),
10170 0x0, NULL, HFILL }
10172 { &hf_c15ch_cp_event_subpm_cfw_busy,
10173 { "Sub Progress Mark (CFW Busy)", "c15.cpe.subpm_cfw_busy",
10174 FT_UINT32, BASE_DEC,
10175 VALS( subpm_cfw_busy_types),
10176 0x0, NULL, HFILL }
10178 { &hf_c15ch_cp_event_subpm_cfw,
10179 { "Sub Progress Mark (CFW)", "c15.cpe.subpm_cfw",
10180 FT_UINT32, BASE_DEC,
10181 VALS( subpm_cfw_types),
10182 0x0, NULL, HFILL }
10184 { &hf_c15ch_cp_event_subpm_cfw_deact,
10185 { "Sub Progress Mark (CFW Deact)", "c15.cpe.subpm_cfw_deact",
10186 FT_UINT32, BASE_DEC,
10187 VALS( subpm_cfw_deact_types),
10188 0x0, NULL, HFILL }
10190 { &hf_c15ch_cp_event_subpm_rcfw,
10191 { "Sub Progress Mark (RCFW)", "c15.cpe.subpm_rcfw",
10192 FT_UINT32, BASE_DEC,
10193 VALS( subpm_rcfw_types),
10194 0x0, NULL, HFILL }
10196 { &hf_c15ch_cp_event_subpm_rotl_tp,
10197 { "Sub Progress Mark (ROTL TP)", "c15.cpe.subpm_rotl_tp",
10198 FT_UINT32, BASE_DEC,
10199 VALS( subpm_rotl_tp_types),
10200 0x0, NULL, HFILL }
10202 { &hf_c15ch_cp_event_subpm_chdt,
10203 { "Sub Progress Mark (CHD DT)", "c15.cpe.subpm_chdt",
10204 FT_UINT32, BASE_DEC,
10205 VALS( subpm_chdt_types),
10206 0x0, NULL, HFILL }
10208 { &hf_c15ch_cp_event_subpm_chd,
10209 { "Sub Progress Mark (Call Hold)", "c15.cpe.subpm_chd",
10210 FT_UINT32, BASE_DEC,
10211 VALS( subpm_chd_types),
10212 0x0, NULL, HFILL }
10214 { &hf_c15ch_cp_event_subpm_cheld,
10215 { "Sub Progress Mark (Call Held)", "c15.cpe.subpm_cheld",
10216 FT_UINT32, BASE_DEC,
10217 VALS( subpm_cheld_types),
10218 0x0, NULL, HFILL }
10220 { &hf_c15ch_cp_event_subpm_3wch,
10221 { "Sub Progress Mark (3WCH)", "c15.cpe.subpm_3wch",
10222 FT_UINT32, BASE_DEC,
10223 VALS( subpm_twc_types),
10224 0x0, NULL, HFILL }
10226 { &hf_c15ch_cp_event_subpm_3wcw,
10227 { "Sub Progress Mark (3WCW)", "c15.cpe.subpm_3wcw",
10228 FT_UINT32, BASE_DEC,
10229 VALS( subpm_twc_types),
10230 0x0, NULL, HFILL }
10232 { &hf_c15ch_cp_event_subpm_cslt,
10233 { "Sub Progress Mark (CSLT)", "c15.cpe.subpm_cslt",
10234 FT_UINT32, BASE_DEC,
10235 VALS( subpm_held_3wc_types ),
10236 0x0, NULL, HFILL }
10238 { &hf_c15ch_cp_event_subpm_dig_ckt_test,
10239 { "Sub Progress Mark (Dig CKT Test)", "c15.cpe.subpm_dig_ckt",
10240 FT_UINT32, BASE_DEC,
10241 VALS( subpm_dig_ckt_test_types),
10242 0x0, NULL, HFILL }
10244 { &hf_c15ch_cp_event_dig_ckt_test_subpm_sp,
10245 { "Sub Progress Mark (Dig CKT Test, Single Party)", "c15.cpe.dig_ckt_test_subpm_sp",
10246 FT_UINT32, BASE_DEC,
10247 VALS( dig_ckt_test_subpm_sp_types),
10248 0x0, NULL, HFILL }
10250 { &hf_c15ch_cp_event_dig_ckt_test_subpm_mp,
10251 { "Sub Progress Mark (Dig CKT Test, Multi Party)", "c15.cpe.dig_ckt_test_subpm_mp",
10252 FT_UINT32, BASE_DEC,
10253 VALS( dig_ckt_test_subpm_mp_types),
10254 0x0, NULL, HFILL }
10256 { &hf_c15ch_cp_event_dig_ckt_test_subpm_coin,
10257 { "Sub Progress Mark (Dig CKT Test, Coin)", "c15.cpe.dig_ckt_test_subpm_coin",
10258 FT_UINT32, BASE_DEC,
10259 VALS( dig_ckt_test_subpm_coin_types),
10260 0x0, NULL, HFILL }
10262 { &hf_c15ch_cp_event_dig_ckt_test_subpm_isdn,
10263 { "Sub Progress Mark (Dig CKT Test, ISDN)", "c15.cpe.dig_ckt_test_subpm_isdn",
10264 FT_UINT32, BASE_DEC,
10265 VALS( dig_ckt_test_subpm_isdn_types),
10266 0x0, NULL, HFILL }
10268 { &hf_c15ch_cp_event_dig_ckt_test_subpm_trc,
10269 { "Sub Progress Mark (Dig CKT Test, TRC)", "c15.cpe.dig_ckt_test_subpm_trc",
10270 FT_UINT32, BASE_DEC,
10271 VALS( dig_ckt_test_subpm_trc_types),
10272 0x0, NULL, HFILL }
10274 { &hf_c15ch_cp_event_dig_ckt_test_subpm_disc,
10275 { "Sub Progress Mark (Dig CKT Test, Disc)", "c15.cpe.dig_ckt_test_subpm_disc",
10276 FT_UINT32, BASE_DEC,
10277 VALS( dig_ckt_test_subpm_disc_types),
10278 0x0, NULL, HFILL }
10280 { &hf_c15ch_cp_event_subpm_nail,
10281 { "Sub Progress Mark (NAIL)", "c15.cpe.subpm_nail",
10282 FT_UINT32, BASE_DEC,
10283 VALS( subpm_nail_types),
10284 0x0, NULL, HFILL }
10286 { &hf_c15ch_cp_event_subpm_dcbi,
10287 { "Sub Progress Mark (DCBI)", "c15.cpe.subpm_dcbi",
10288 FT_UINT32, BASE_DEC,
10289 VALS( subpm_dcbi_types),
10290 0x0, NULL, HFILL }
10292 { &hf_c15ch_cp_event_subpm_rag_confirm,
10293 { "Sub Progress Mark (RAG Confirm)", "c15.cpe.subpm_rag_confirm",
10294 FT_UINT32, BASE_DEC,
10295 VALS( subpm_rag_confirm_types),
10296 0x0, NULL, HFILL }
10298 { &hf_c15ch_cp_event_subpm_rag_process,
10299 { "Sub Progress Mark (RAG Process)", "c15.cpe.subpm_rag_process",
10300 FT_UINT32, BASE_DEC,
10301 VALS( subpm_rag_process_types),
10302 0x0, NULL, HFILL }
10304 { &hf_c15ch_cp_event_subpm_e800,
10305 { "Sub Progress Mark (E800 Db)", "c15.cpe.subpm_e800",
10306 FT_UINT32, BASE_DEC,
10307 VALS( subpm_e800_types),
10308 0x0, NULL, HFILL }
10310 { &hf_c15ch_cp_event_subpm_cfra,
10311 { "Sub Progress Mark (CFRA)", "c15.cpe.subpm_cfra",
10312 FT_UINT32, BASE_DEC,
10313 VALS( subpm_cfra_types),
10314 0x0, NULL, HFILL }
10316 { &hf_c15ch_cp_event_subpm_mwi_deac,
10317 { "Sub Progress Mark (MWI Deac)", "c15.cpe.subpm_mwi_deac",
10318 FT_UINT32, BASE_DEC,
10319 VALS( subpm_mwi_deac_types),
10320 0x0, NULL, HFILL }
10322 { &hf_c15ch_cp_event_subpm_acar_cp,
10323 { "Sub Progress Mark (ACAR CP)", "c15.cpe.subpm_acar_cp",
10324 FT_UINT32, BASE_DEC,
10325 VALS( subpm_acar_cp_types),
10326 0x0, NULL, HFILL }
10328 { &hf_c15ch_cp_event_subpm_acar_rering,
10329 { "Sub Progress Mark (ACAR Rering)", "c15.cpe.subpm_acar_rering",
10330 FT_UINT32, BASE_DEC,
10331 VALS( subpm_acar_rering_types),
10332 0x0, NULL, HFILL }
10334 { &hf_c15ch_cp_event_subpm_acar_ann,
10335 { "Sub Progress Mark (ACAR Ann)", "c15.cpe.subpm_acar_ann",
10336 FT_UINT32, BASE_DEC,
10337 VALS( subpm_acar_ann_types),
10338 0x0, NULL, HFILL }
10340 { &hf_c15ch_cp_event_subpm_sle,
10341 { "Sub Progress Mark (CP SLE)", "c15.cpe.subpm_sle",
10342 FT_UINT32, BASE_DEC,
10343 VALS( subpm_sle_types),
10344 0x0, NULL, HFILL }
10346 { &hf_c15ch_cp_event_subpm_perform_cot,
10347 { "Sub Progress Mark (Perform COT)", "c15.cpe.subpm_perform_cot",
10348 FT_UINT32, BASE_DEC,
10349 VALS( subpm_perform_cot_types),
10350 0x0, NULL, HFILL }
10352 { &hf_c15ch_cp_event_subpm_clid,
10353 { "Sub Progress Mark (CLID)", "c15.cpe.subpm_clid",
10354 FT_UINT32, BASE_DEC,
10355 VALS( subpm_clid_types),
10356 0x0, NULL, HFILL }
10358 { &hf_c15ch_cp_event_subpm_xpm,
10359 { "Sub Progress Mark (XPM)", "c15.cpe.subpm_xpm",
10360 FT_UINT32, BASE_DEC,
10361 VALS( subpm_xpm_types),
10362 0x0, NULL, HFILL }
10364 { &hf_c15ch_cp_event_subpm_mwil,
10365 { "Sub Progress Mark (MWIL)", "c15.cpe.subpm_mwil",
10366 FT_UINT32, BASE_DEC,
10367 VALS( subpm_mwil_types),
10368 0x0, NULL, HFILL }
10370 { &hf_c15ch_cp_event_subpm_ldbs,
10371 { "Sub Progress Mark (LDBS)", "c15.cpe.subpm_ldbs",
10372 FT_UINT32, BASE_DEC,
10373 VALS( subpm_ldbs_types),
10374 0x0, NULL, HFILL }
10376 { &hf_c15ch_cp_event_subpm_acr,
10377 { "Sub Progress Mark (ACR)", "c15.cpe.subpm_acr",
10378 FT_UINT32, BASE_DEC,
10379 VALS( subpm_acr_types),
10380 0x0, NULL, HFILL }
10382 { &hf_c15ch_cp_event_subpm_call_park,
10383 { "Sub Progress Mark (Call Park)", "c15.cpe.subpm_call_park",
10384 FT_UINT32, BASE_DEC,
10385 VALS( subpm_call_park_types),
10386 0x0, NULL, HFILL }
10388 { &hf_c15ch_cp_event_subpm_camp_on_recall,
10389 { "Sub Progress Mark (Camp On Recall)", "c15.cpe.subpm_camp_on_recall",
10390 FT_UINT32, BASE_DEC,
10391 VALS( subpm_camp_on_recall_types),
10392 0x0, NULL, HFILL }
10394 { &hf_c15ch_cp_event_subpm_cff,
10395 { "Sub Progress Mark (Call Fwrd Fixed Dest)", "c15.cpe.subpm_cff",
10396 FT_UINT32, BASE_DEC,
10397 VALS( subpm_cff_types),
10398 0x0, NULL, HFILL }
10400 { &hf_c15ch_cp_event_subpm_ibert,
10401 { "Sub Progress Mark (IBERT)", "c15.cpe.subpm_ibert",
10402 FT_UINT32, BASE_DEC,
10403 VALS( subpm_ibert_types),
10404 0x0, NULL, HFILL }
10406 { &hf_c15ch_cp_event_subpm_ain,
10407 { "Sub Progress Mark (AIN)", "c15.cpe.subpm_ain",
10408 FT_UINT32, BASE_DEC,
10409 VALS( subpm_ain_types),
10410 0x0, NULL, HFILL }
10412 { &hf_c15ch_cp_event_subpm_ain_sit,
10413 { "Sub Progress Mark (AIN SIT)", "c15.cpe.subpm_ain_sit",
10414 FT_UINT32, BASE_DEC,
10415 VALS( subpm_ain_sit_types),
10416 0x0, NULL, HFILL }
10418 { &hf_c15ch_cp_event_subpm_ain_rtg,
10419 { "Sub Progress Mark (AIN RTG)", "c15.cpe.subpm_ain_rtg",
10420 FT_UINT32, BASE_DEC,
10421 VALS( subpm_ain_rtg_types),
10422 0x0, NULL, HFILL }
10424 { &hf_c15ch_cp_event_subpm_nail_bcon,
10425 { "Sub Progress Mark (NAIL BCON)", "c15.cpe.subpm_nail_bcon",
10426 FT_UINT32, BASE_DEC,
10427 VALS( subpm_nail_bcon_types),
10428 0x0, NULL, HFILL }
10430 { &hf_c15ch_cp_event_subpm_nail_dcon,
10431 { "Sub Progress Mark (NAIL DCON)", "c15.cpe.subpm_nail_dcon",
10432 FT_UINT32, BASE_DEC,
10433 VALS( subpm_nail_dcon_types),
10434 0x0, NULL, HFILL }
10436 { &hf_c15ch_cp_event_subpm_qtrn_trvr,
10437 { "Sub Progress Mark (QTRN TRVR)", "c15.cpe.subpm_qtrn_trvr",
10438 FT_UINT32, BASE_DEC,
10439 VALS( subpm_qtrn_trvr_types),
10440 0x0, NULL, HFILL }
10442 { &hf_c15ch_cp_event_subpm_ekts,
10443 { "Sub Progress Mark (EKTS)", "c15.cpe.subpm_ekts",
10444 FT_UINT32, BASE_DEC,
10445 VALS( subpm_ekts_types),
10446 0x0, NULL, HFILL }
10448 { &hf_c15ch_cp_event_subpm_alt,
10449 { "Sub Progress Mark (ALT)", "c15.cpe.subpm_alt",
10450 FT_UINT32, BASE_DEC,
10451 VALS( subpm_alt_types),
10452 0x0, NULL, HFILL }
10454 { &hf_c15ch_cp_event_subpm_calea,
10455 { "Sub Progress Mark (CALEA)", "c15.cpe.subpm_calea",
10456 FT_UINT32, BASE_DEC,
10457 VALS( subpm_calea_types),
10458 0x0, NULL, HFILL }
10460 { &hf_c15ch_cp_event_subpm_sim_ring,
10461 { "Sub Progress Mark (Sim Ring)", "c15.cpe.subpm_sim_ring",
10462 FT_UINT32, BASE_DEC,
10463 VALS( subpm_sim_ring_types),
10464 0x0, NULL, HFILL }
10466 { &hf_c15ch_cp_event_subpm_lta,
10467 { "Sub Progress Mark (LTA)", "c15.cpe.subpm_lta",
10468 FT_UINT32, BASE_DEC,
10469 VALS( subpm_lta_types),
10470 0x0, NULL, HFILL }
10472 { &hf_c15ch_cp_event_subpm_hgq,
10473 { "Sub Progress Mark (HGQ)", "c15.cpe.subpm_hgq",
10474 FT_UINT32, BASE_DEC,
10475 VALS( subpm_hgq_types),
10476 0x0, NULL, HFILL }
10478 { &hf_c15ch_cp_event_subpm_idle,
10479 { "Sub Progress Mark (Idle)", "c15.cpe.subpm_idle",
10480 FT_UINT32, BASE_DEC,
10481 VALS( subpm_idle_types),
10482 0x0, NULL, HFILL }
10484 { &hf_c15ch_cp_event_subpm_sig,
10485 { "Sub Progress Mark (Sig)", "c15.cpe.subpm_sig",
10486 FT_UINT32, BASE_DEC,
10487 VALS( subpm_sig_types),
10488 0x0, NULL, HFILL }
10490 { &hf_c15ch_cp_event_subpm_sig_dest,
10491 { "Sub Progress Mark (Sig Dest)", "c15.cpe.subpm_sig_dest",
10492 FT_UINT32, BASE_DEC,
10493 VALS( subpm_sig_dest_types),
10494 0x0, NULL, HFILL }
10496 { &hf_c15ch_cp_event_subpm_agl_splrg,
10497 { "Sub Progress Mark (AGL Splash Ring)", "c15.cpe.subpm_agl_splrg",
10498 FT_UINT32, BASE_DEC,
10499 VALS( subpm_agl_splrg_types),
10500 0x0, NULL, HFILL }
10502 { &hf_c15ch_cp_event_trkpm,
10503 { "Trunk Progress Mark", "c15.cpe.trkpm",
10504 FT_UINT32, BASE_DEC,
10505 NULL,
10506 0x0, NULL, HFILL}
10508 { &hf_c15ch_cp_event_dig_ckt_test_trkpm,
10509 { "Trunk Progress Mark (Dig CKT Test)", "c15.cpe.dig_ckt_test_trkpm",
10510 FT_UINT32, BASE_DEC,
10511 VALS( trkpm_dig_ckt_test_types),
10512 0x0, NULL, HFILL}
10514 { &hf_c15ch_cp_event_devid,
10515 { "Device ID", "c15.cpe.devid",
10516 FT_UINT32, BASE_DEC|BASE_EXT_STRING,
10517 &c15_dev_types_ext,
10518 0x0, NULL, HFILL}
10520 { &hf_c15ch_cp_event_event,
10521 { "Event", "c15.cpe.event",
10522 FT_UINT32, BASE_DEC|BASE_EXT_STRING,
10523 &c15_event_types_ext,
10524 0x0, NULL, HFILL}
10526 { &hf_c15ch_cp_event_parm,
10527 { "Parm", "c15.cpe.parm",
10528 FT_UINT32, BASE_DEC,
10529 NULL,
10530 0x0, NULL, HFILL}
10532 { &hf_c15ch_cp_event_iptime,
10533 { "IP Time", "c15.cpe.iptime",
10534 FT_UINT32, BASE_DEC,
10535 NULL,
10536 0x0, NULL, HFILL}
10538 { &hf_c15ch_inc_gwe_ni,
10539 { "NI", "c15.inc_gwe.ni",
10540 FT_UINT32, BASE_HEX,
10541 NULL,
10542 0x0, NULL, HFILL}
10544 { &hf_c15ch_inc_gwe_tn,
10545 { "TN", "c15.inc_gwe.tn",
10546 FT_UINT32, BASE_HEX,
10547 NULL,
10548 0x0, NULL, HFILL}
10550 { &hf_c15ch_inc_gwe_ni_tn,
10551 {"NI/TN", "c15.inc_gwe.ni_tn",
10552 FT_UINT64, BASE_HEX,
10553 NULL,
10554 0x0, NULL, HFILL }
10556 { &hf_c15ch_inc_gwe_taskid,
10557 { "Task ID", "c15.inc_gwe.taskid",
10558 FT_UINT8, BASE_DEC,
10559 VALS( c15inc_gwe_task_types ),
10560 0x0, NULL, HFILL}
10562 { &hf_c15ch_inc_gwe_fiatid_invalid,
10563 { "Fiat ID (Invalid)", "c15.inc_gwe.fiatid_invalid",
10564 FT_UINT8, BASE_DEC,
10565 NULL,
10566 0x0, NULL, HFILL}
10568 { &hf_c15ch_inc_gwe_fiatid_bc,
10569 { "Fiat ID (Bearer Control)", "c15.inc_gwe.fiatid_bc",
10570 FT_UINT8, BASE_DEC,
10571 VALS( c15inc_gwe_bc_fiat_types ),
10572 0x0, NULL, HFILL}
10574 { &hf_c15ch_inc_gwe_fiatid_mtce,
10575 { "Fiat ID (MTCE)", "c15.inc_gwe.fiatid_mtce",
10576 FT_UINT8, BASE_DEC,
10577 VALS( c15inc_gwe_mtce_fiat_types ),
10578 0x0, NULL, HFILL}
10580 { &hf_c15ch_inc_gwe_fiatid_om,
10581 { "Fiat ID (OM)", "c15.inc_gwe.fiatid_om",
10582 FT_UINT8, BASE_DEC,
10583 VALS( c15inc_gwe_om_fiat_types ),
10584 0x0, NULL, HFILL}
10586 { &hf_c15ch_inc_gwe_fiatid_h248,
10587 { "Fiat ID (H248)", "c15.inc_gwe.fiatid_h248",
10588 FT_UINT8, BASE_DEC,
10589 VALS( c15inc_gwe_h248_fiat_types ),
10590 0x0, NULL, HFILL}
10592 { &hf_c15ch_inc_gwe_fiatid_sua,
10593 { "Fiat ID (SUA)", "c15.inc_gwe.fiatid_sua",
10594 FT_UINT8, BASE_DEC,
10595 VALS( c15inc_gwe_sua_fiat_types ),
10596 0x0, NULL, HFILL}
10598 { &hf_c15ch_inc_gwe_fiatid_mgcp,
10599 { "Fiat ID (MGCP)", "c15.inc_gwe.fiatid_mgcp",
10600 FT_UINT8, BASE_DEC,
10601 VALS( c15inc_gwe_mgcp_fiat_types ),
10602 0x0, NULL, HFILL}
10604 { &hf_c15ch_inc_gwe_fiatid_sip_notify,
10605 { "Fiat ID (SIP Notify)", "c15.inc_gwe.fiatid_sip_notify",
10606 FT_UINT8, BASE_DEC,
10607 VALS( c15inc_gwe_sip_notify_fiat_types ),
10608 0x0, NULL, HFILL}
10610 { &hf_c15ch_inc_gwe_fiatid_admn,
10611 { "Fiat ID (Admn)", "c15.inc_gwe.fiatid_admn",
10612 FT_UINT8, BASE_DEC,
10613 VALS( c15inc_gwe_admn_fiat_types ),
10614 0x0, NULL, HFILL}
10616 { &hf_c15ch_inc_gwe_datatype,
10617 { "Datatype", "c15.inc_gwe.datatype",
10618 FT_UINT8, BASE_DEC|BASE_EXT_STRING,
10619 &c15inc_gwe_types_ext,
10620 0x0, NULL, HFILL}
10623 { &hf_c15ch_out_gwe_ni,
10624 { "NI", "c15.out_gwe.ni",
10625 FT_UINT32, BASE_HEX,
10626 NULL,
10627 0x0, NULL, HFILL}
10629 { &hf_c15ch_out_gwe_tn,
10630 { "TN", "c15.out_gwe.tn",
10631 FT_UINT32, BASE_HEX,
10632 NULL,
10633 0x0, NULL, HFILL}
10635 { &hf_c15ch_out_gwe_ni_tn,
10636 {"NI/TN", "c15.out_gwe.ni_tn",
10637 FT_UINT64, BASE_HEX,
10638 NULL,
10639 0x0, NULL, HFILL }
10641 { &hf_c15ch_out_gwe_op_gwe_msg_type,
10642 { "OP GWE Msg Type", "c15.out_gwe.op_gwe_msg_type",
10643 FT_UINT8, BASE_DEC|BASE_EXT_STRING,
10644 &c15_out_gwe_msg_types_ext,
10645 0x0, NULL, HFILL}
10647 { &hf_c15ch_out_gwe_op_gwe_protocol,
10648 { "OP GWE Protocol", "c15.out_gwe.op_gwe_protocol",
10649 FT_UINT8, BASE_DEC,
10650 VALS( c15_out_gwe_protocol_types ),
10651 0x0, NULL, HFILL}
10653 { &hf_c15ch_out_gwe_op_sua_hndl,
10654 { "Sip User Agent Handle", "c15.out_gwe.sua_hndl",
10655 FT_UINT32, BASE_HEX,
10656 NULL,
10657 0x0, NULL, HFILL}
10659 { &hf_c15ch_out_gwe_gwe_data_type,
10660 { "GWE Datatype", "c15.out_gwe.gwe_data_type",
10661 FT_UINT8, BASE_DEC|BASE_EXT_STRING,
10662 &c15_out_gwe_data_types_ext,
10663 0x0, NULL, HFILL}
10666 { &hf_c15ch_tone_msg_type,
10667 { "Msg Type", "c15.tone.msg_type",
10668 FT_UINT8, BASE_DEC,
10669 VALS( c15_tone_msg_types ),
10670 0x0, NULL, HFILL}
10672 { &hf_c15ch_cp_state_ch,
10673 { "C15 CP State Change", "c15.cpsc",
10674 FT_PROTOCOL, BASE_NONE,
10675 NULL,
10676 0x0, NULL, HFILL}
10678 { &hf_c15ch_cp_event,
10679 { "C15 CP Event", "c15.cpe",
10680 FT_PROTOCOL, BASE_NONE,
10681 NULL,
10682 0x0, NULL, HFILL}
10684 { &hf_c15ch_isup,
10685 { "C15 ISUP", "c15.isup",
10686 FT_PROTOCOL, BASE_NONE,
10687 NULL,
10688 0x0, NULL, HFILL}
10690 { &hf_c15ch_nitnxlate,
10691 { "C15 NITN Xlate", "c15.nitnxlate",
10692 FT_PROTOCOL, BASE_NONE,
10693 NULL,
10694 0x0, NULL, HFILL}
10696 { &hf_c15ch_sccp,
10697 { "C15 SCCP", "c15.sccp",
10698 FT_PROTOCOL, BASE_NONE,
10699 NULL,
10700 0x0, NULL, HFILL}
10702 { &hf_c15ch_orig,
10703 { "C15 CP Orig", "c15.orig",
10704 FT_PROTOCOL, BASE_NONE,
10705 NULL,
10706 0x0, NULL, HFILL}
10708 { &hf_c15ch_conn,
10709 { "C15 Conn", "c15.conn",
10710 FT_PROTOCOL, BASE_NONE,
10711 NULL,
10712 0x0, NULL, HFILL}
10714 { &hf_c15ch_ntwk_conn,
10715 { "C15 Network Conn", "c15.ntwkconn",
10716 FT_PROTOCOL, BASE_NONE,
10717 NULL,
10718 0x0, NULL, HFILL}
10720 { &hf_c15ch_mkbrk,
10721 { "C15 Make Break", "c15.mkbrk",
10722 FT_PROTOCOL, BASE_NONE,
10723 NULL,
10724 0x0, NULL, HFILL}
10726 { &hf_c15ch_pathfind,
10727 { "C15 Path Find", "c15.pathfind",
10728 FT_PROTOCOL, BASE_NONE,
10729 NULL,
10730 0x0, NULL, HFILL}
10732 { &hf_c15ch_pathidle,
10733 { "C15 Path Idle", "c15.pathidle",
10734 FT_PROTOCOL, BASE_NONE,
10735 NULL,
10736 0x0, NULL, HFILL}
10738 { &hf_c15ch_dest_digits,
10739 { "C15 Destination Digits", "c15.dest_digits",
10740 FT_PROTOCOL, BASE_NONE,
10741 NULL,
10742 0x0, NULL, HFILL}
10744 { &hf_c15ch_twc_rswch,
10745 { "C15 TWC Rswch", "c15.twc_rswch",
10746 FT_PROTOCOL, BASE_NONE,
10747 NULL,
10748 0x0, NULL, HFILL}
10750 { &hf_c15ch_srcedest,
10751 { "C15 Source Destination", "c15.srcedest",
10752 FT_PROTOCOL, BASE_NONE,
10753 NULL,
10754 0x0, NULL, HFILL}
10756 { &hf_c15ch_route,
10757 { "C15 Route", "c15.route",
10758 FT_PROTOCOL, BASE_NONE,
10759 NULL,
10760 0x0, NULL, HFILL}
10762 { &hf_c15ch_inc_gwe,
10763 { "C15 Incoming GWE", "c15.inc_gwe",
10764 FT_PROTOCOL, BASE_NONE,
10765 NULL,
10766 0x0, NULL, HFILL}
10768 { &hf_c15ch_out_gwe,
10769 { "C15 Outgoing GWE", "c15.out_gwe",
10770 FT_PROTOCOL, BASE_NONE,
10771 NULL,
10772 0x0, NULL, HFILL}
10774 { &hf_c15ch_outgwebc,
10775 { "C15 Out GWE Bearer Control", "c15.out_gwe_bc",
10776 FT_PROTOCOL, BASE_NONE,
10777 NULL,
10778 0x0, NULL, HFILL}
10780 { &hf_c15ch_ama,
10781 { "C15 AMA", "c15.ama",
10782 FT_PROTOCOL, BASE_NONE,
10783 NULL,
10784 0x0, NULL, HFILL}
10786 { &hf_c15ch_qos,
10787 { "C15 Quality of Service", "c15.qos",
10788 FT_PROTOCOL, BASE_NONE,
10789 NULL,
10790 0x0, NULL, HFILL}
10792 { &hf_c15ch_echo_cancel,
10793 { "C15 Echo Cancel", "c15.echo_cancel",
10794 FT_PROTOCOL, BASE_NONE,
10795 NULL,
10796 0x0, NULL, HFILL}
10798 { &hf_c15ch_tone,
10799 { "C15 Tone", "c15.tone",
10800 FT_PROTOCOL, BASE_NONE,
10801 NULL,
10802 0x0, NULL, HFILL}
10804 { &hf_c15ch_encap_isup,
10805 { "C15 Encapsulated ISUP", "c15.encap_isup",
10806 FT_PROTOCOL, BASE_NONE,
10807 NULL,
10808 0x0, NULL, HFILL}
10810 { &hf_c15ch_tcap,
10811 { "C15 TCAP", "c15.tcap",
10812 FT_PROTOCOL, BASE_NONE,
10813 NULL,
10814 0x0, NULL, HFILL}
10816 { &hf_c15ch_clli,
10817 { "C15 CLLI", "c15.clli",
10818 FT_PROTOCOL, BASE_NONE,
10819 NULL,
10820 0x0, NULL, HFILL}
10822 { &hf_c15ch_c15_info,
10823 { "C15 Info", "c15.info",
10824 FT_PROTOCOL, BASE_NONE,
10825 NULL,
10826 0x0, NULL, HFILL}
10828 /* new Generic Messages */
10829 { &hf_c15ch_c15_generic_msg_1,
10830 { "C15 Generic Message 1", "c15.generic_msg_1",
10831 FT_PROTOCOL, BASE_NONE,
10832 NULL,
10833 0x0, NULL, HFILL}
10835 { &hf_c15ch_c15_generic_msg_2,
10836 { "C15 Generic Message 2", "c15.generic_msg_2",
10837 FT_PROTOCOL, BASE_NONE,
10838 NULL,
10839 0x0, NULL, HFILL}
10841 { &hf_c15ch_c15_generic_msg_3,
10842 { "C15 Generic Message 3", "c15.generic_msg_3",
10843 FT_PROTOCOL, BASE_NONE,
10844 NULL,
10845 0x0, NULL, HFILL}
10847 { &hf_c15ch_c15_generic_msg_4,
10848 { "C15 Generic Message 4", "c15.generic_msg_4",
10849 FT_PROTOCOL, BASE_NONE,
10850 NULL,
10851 0x0, NULL, HFILL}
10853 { &hf_c15ch_c15_generic_msg_5,
10854 { "C15 Generic Message 5", "c15.generic_msg_5",
10855 FT_PROTOCOL, BASE_NONE,
10856 NULL,
10857 0x0, NULL, HFILL}
10859 { &hf_c15ch_c15_correlate_msg,
10860 { "C15 Correlate Message", "c15.correlate_msg",
10861 FT_PROTOCOL, BASE_NONE,
10862 NULL,
10863 0x0, NULL, HFILL}
10865 { &hf_c15ch_c15_generic_msg_parm_1,
10866 { "Parameter 1", "c15.parm_1",
10867 FT_UINT32, BASE_DEC,
10868 NULL,
10869 0x0, NULL, HFILL}
10871 { &hf_c15ch_c15_generic_msg_parm_2,
10872 { "Parameter 2", "c15.parm_2",
10873 FT_UINT32, BASE_DEC,
10874 NULL,
10875 0x0, NULL, HFILL}
10877 { &hf_c15ch_c15_generic_msg_parm_3,
10878 { "Parameter 3", "c15.parm_3",
10879 FT_UINT32, BASE_DEC,
10880 NULL,
10881 0x0, NULL, HFILL}
10883 { &hf_c15ch_c15_generic_msg_parm_4,
10884 { "Parameter 4", "c15.parm_4",
10885 FT_UINT32, BASE_HEX,
10886 NULL,
10887 0x0, NULL, HFILL}
10889 { &hf_c15ch_c15_generic_msg_parm_5,
10890 { "Parameter 5", "c15.parm_5",
10891 FT_UINT32, BASE_HEX,
10892 NULL,
10893 0x0, NULL, HFILL}
10895 { &hf_c15ch_c15_generic_msg_data_len,
10896 { "Data Length", "c15.data_len",
10897 FT_UINT32, BASE_DEC,
10898 NULL,
10899 0x0, NULL, HFILL}
10901 { &hf_c15ch_c15_generic_msg_cr_ptr_val,
10902 { "CR Pointer Value", "c15.cr_ptr_val",
10903 FT_UINT32, BASE_HEX,
10904 NULL,
10905 0x0, NULL, HFILL }
10907 { &hf_c15ch_c15_generic_msg_dr_ptr_val,
10908 { "DR Pointer Value", "c15.dr_ptr_val",
10909 FT_UINT32, BASE_HEX,
10910 NULL,
10911 0x0, NULL, HFILL }
10913 { &hf_c15ch_c15_generic_msg_spr_int_1,
10914 { "Optional Integer 1", "c15.spr_int_1",
10915 FT_UINT32, BASE_DEC,
10916 NULL,
10917 0x0, NULL, HFILL }
10919 { &hf_c15ch_c15_generic_msg_spr_int_2,
10920 { "Optional Integer 2", "c15.spr_int_2",
10921 FT_UINT32, BASE_DEC,
10922 NULL,
10923 0x0, NULL, HFILL }
10925 { &hf_c15ch_c15_generic_msg_spr_uptr_1,
10926 { "Optional Unprotected Pointer 1", "c15.spr_uptr_1",
10927 FT_UINT32, BASE_HEX,
10928 NULL,
10929 0x0, NULL, HFILL }
10931 { &hf_c15ch_c15_generic_msg_spr_uptr_2,
10932 { "Optional Unprotected Pointer 2", "c15.spr_uptr_2",
10933 FT_UINT32, BASE_HEX,
10934 NULL,
10935 0x0, NULL, HFILL }
10937 { &hf_c15ch_c15_generic_msg_spr_pptr_1,
10938 { "Optional Protected Pointer 1", "c15.spr_pptr_1",
10939 FT_UINT32, BASE_HEX,
10940 NULL,
10941 0x0, NULL, HFILL }
10943 { &hf_c15ch_c15_generic_msg_spr_pptr_2,
10944 { "Optional Protected Pointer 2", "c15.spr_pptr_2",
10945 FT_UINT32, BASE_HEX,
10946 NULL,
10947 0x0, NULL, HFILL }
10949 { &hf_c15ch_c15_generic_msg_gen_msg_field_1,
10950 { "Generic Message Field 1", "c15.gen_msg_field_1",
10951 FT_UINT32, BASE_DEC,
10952 NULL,
10953 0x0, NULL, HFILL}
10955 { &hf_c15ch_c15_generic_msg_gen_msg_field_2,
10956 { "Generic Message Field 2", "c15.gen_msg_field_2",
10957 FT_UINT32, BASE_DEC,
10958 NULL,
10959 0x0, NULL, HFILL}
10961 { &hf_c15ch_c15_generic_msg_gen_msg_field_3,
10962 { "Generic Message Field 3", "c15.gen_msg_field_3",
10963 FT_UINT32, BASE_DEC,
10964 NULL,
10965 0x0, NULL, HFILL}
10967 { &hf_c15ch_c15_generic_msg_gen_msg_field_4,
10968 { "Generic Message Field 4", "c15.gen_msg_field_4",
10969 FT_UINT32, BASE_DEC,
10970 NULL,
10971 0x0, NULL, HFILL}
10973 { &hf_c15ch_c15_generic_msg_gen_msg_field_5,
10974 { "Generic Message Field 5", "c15.gen_msg_field_5",
10975 FT_UINT32, BASE_DEC,
10976 NULL,
10977 0x0, NULL, HFILL}
10979 { &hf_c15ch_c15_generic_msg_gen_msg_string,
10980 { "Message", "c15.msg_string",
10981 FT_STRINGZ, BASE_NONE,
10982 NULL,
10983 0x0, NULL, HFILL}
10985 { &hf_c15ch_c15_generic_msg_gen_data_large,
10986 { "Hex Message", "c15.data_large",
10987 FT_BYTES, BASE_NONE,
10988 NULL,
10989 0x0, NULL, HFILL }
10991 { &hf_c15ch_c15_usage_id,
10992 { "Usage ID", "c15.usage_id",
10993 FT_UINT32, BASE_DEC,
10994 NULL,
10995 0x0, NULL, HFILL}
10997 { &hf_c15ch_c15_opt_parm_2,
10998 { "Optional Parameter 2", "c15.opt_parm_2",
10999 FT_UINT32, BASE_DEC,
11000 NULL,
11001 0x0, NULL, HFILL}
11003 { &hf_c15ch_c15_opt_parm_3,
11004 { "Optional Parameter 3", "c15.opt_parm_3",
11005 FT_UINT32, BASE_DEC,
11006 NULL,
11007 0x0, NULL, HFILL}
11009 { &hf_c15ch_c15_opt_parm_4,
11010 { "Optional Parameter 4", "c15.opt_parm_4",
11011 FT_UINT32, BASE_DEC,
11012 NULL,
11013 0x0, NULL, HFILL}
11015 { &hf_c15ch_c15_opt_parm_5,
11016 { "Optional Parameter 5", "c15.opt_parm_5",
11017 FT_UINT32, BASE_DEC,
11018 NULL,
11019 0x0, NULL, HFILL}
11021 { &hf_c15ch_c15_opt_parm_6_ptr,
11022 { "Optional Parameter 6 Pointer", "c15.opt_parm_6_ptr",
11023 FT_UINT32, BASE_HEX,
11024 NULL,
11025 0x0, NULL, HFILL}
11027 { &hf_c15ch_c15_opt_parm_7_ptr,
11028 { "Optional Parameter 7 Pointer", "c15.opt_parm_7_ptr",
11029 FT_UINT32, BASE_HEX,
11030 NULL,
11031 0x0, NULL, HFILL}
11033 { &hf_c15ch_c15_opt_parm_8_ptr,
11034 { "Optional Parameter 8 Pointer", "c15.opt_parm_8_ptr",
11035 FT_UINT32, BASE_HEX,
11036 NULL,
11037 0x0, NULL, HFILL}
11039 { &hf_c15ch_c15_opt_parm_9_ptr,
11040 { "Optional Parameter 9 Pointer", "c15.opt_parm_9_ptr",
11041 FT_UINT32, BASE_HEX,
11042 NULL,
11043 0x0, NULL, HFILL}
11045 { &hf_c15ch_c15_opt_string_parm_8,
11046 { "String Parameter 8", "c15.opt_string_parm_8",
11047 FT_STRINGZ, BASE_NONE,
11048 NULL,
11049 0x0, NULL, HFILL}
11051 { &hf_c15ch_c15_opt_string_parm_9,
11052 { "String Parameter 9", "c15.opt_string_parm_9",
11053 FT_STRINGZ, BASE_NONE,
11054 NULL,
11055 0x0, NULL, HFILL}
11057 { &hf_c15ch_c15_sip_reg_subs_report,
11058 { "C15 SIP REG SUBS Report", "c15.sip_reg_subs_report",
11059 FT_PROTOCOL, BASE_NONE,
11060 NULL,
11061 0x0, NULL, HFILL}
11063 { &hf_c15ch_c15_sip_report_type,
11064 { "SIP Report Type", "c15.sip_report_type",
11065 FT_STRINGZ, BASE_NONE,
11066 NULL,
11067 0x0, NULL, HFILL}
11069 { &hf_c15ch_c15_rate,
11070 { "Rate", "c15.rate",
11071 FT_UINT32, BASE_DEC,
11072 NULL,
11073 0x0, NULL, HFILL}
11075 { &hf_c15ch_c15_hour,
11076 { "Hour", "c15.hour",
11077 FT_UINT32, BASE_DEC,
11078 NULL,
11079 0x0, NULL, HFILL}
11081 { &hf_c15ch_c15_peak_min,
11082 { "Peak Minute", "c15.peak_min",
11083 FT_UINT32, BASE_DEC,
11084 NULL,
11085 0x0, NULL, HFILL}
11087 { &hf_c15ch_c15_peak_sec,
11088 { "Peak Second", "c15.peak_sec",
11089 FT_UINT32, BASE_DEC,
11090 NULL,
11091 0x0, NULL, HFILL}
11093 { &hf_c15ch_c15_auth_good,
11094 { "Good Authentications in Last Hour", "c15.auth_good",
11095 FT_UINT32, BASE_DEC,
11096 NULL,
11097 0x0, NULL, HFILL}
11099 { &hf_c15ch_c15_auth_fail,
11100 { "Failed Authentications in Last Hour", "c15.auth_fail",
11101 FT_UINT32, BASE_DEC,
11102 NULL,
11103 0x0, NULL, HFILL}
11105 { &hf_c15ch_c15_ovd084,
11106 { "OVD084 Occurrences in Last Hour", "c15.ovd084",
11107 FT_UINT32, BASE_DEC,
11108 NULL,
11109 0x0, NULL, HFILL}
11111 { &hf_c15ch_c15_ovd086,
11112 { "OVD086 Occurrences in Last Hour", "c15.ovd086",
11113 FT_UINT32, BASE_DEC,
11114 NULL,
11115 0x0, NULL, HFILL}
11117 { &hf_c15ch_c15_ovd088,
11118 { "OVD088 Occurrences in Last Hour", "c15.ovd088",
11119 FT_UINT32, BASE_DEC,
11120 NULL,
11121 0x0, NULL, HFILL}
11123 { &hf_c15ch_c15_sip104,
11124 { "SIP104 Occurrences in Last Hour", "c15.sip104",
11125 FT_UINT32, BASE_DEC,
11126 NULL,
11127 0x0, NULL, HFILL}
11129 { &hf_c15ch_c15_reg_spare_1,
11130 { "REGISTER Optional Parameter 1", "c15.reg_spare_1",
11131 FT_UINT32, BASE_DEC,
11132 NULL,
11133 0x0, NULL, HFILL}
11135 { &hf_c15ch_c15_reg_spare_2,
11136 { "REGISTER Optional Parameter 2", "c15.reg_spare_2",
11137 FT_UINT32, BASE_DEC,
11138 NULL,
11139 0x0, NULL, HFILL}
11141 { &hf_c15ch_c15_reg_spare_3,
11142 { "REGISTER Optional Parameter 3", "c15.reg_spare_3",
11143 FT_UINT32, BASE_HEX,
11144 NULL,
11145 0x0, NULL, HFILL}
11147 { &hf_c15ch_c15_status_200_cnt,
11148 { "Status 200 in Last Hour", "c15.status_200_cnt",
11149 FT_UINT32, BASE_DEC,
11150 NULL,
11151 0x0, NULL, HFILL}
11153 { &hf_c15ch_c15_status_202_cnt,
11154 { "Status 202 in Last Hour", "c15.status_202_cnt",
11155 FT_UINT32, BASE_DEC,
11156 NULL,
11157 0x0, NULL, HFILL}
11159 { &hf_c15ch_c15_status_405_cnt,
11160 { "Status 405 in Last Hour", "c15.status_405_cnt",
11161 FT_UINT32, BASE_DEC,
11162 NULL,
11163 0x0, NULL, HFILL}
11165 { &hf_c15ch_c15_subs_spare_1,
11166 { "SUBSCRIBE Optional Parameter 1", "c15.subs_spare_1",
11167 FT_UINT32, BASE_DEC,
11168 NULL,
11169 0x0, NULL, HFILL}
11171 { &hf_c15ch_c15_subs_spare_2,
11172 { "SUBSCRIBE Optional Parameter 2", "c15.subs_spare_2",
11173 FT_UINT32, BASE_DEC,
11174 NULL,
11175 0x0, NULL, HFILL}
11177 { &hf_c15ch_c15_subs_spare_3,
11178 { "SUBSCRIBE Optional Parameter 3", "c15.subs_spare_3",
11179 FT_UINT32, BASE_DEC,
11180 NULL,
11181 0x0, NULL, HFILL}
11183 { &hf_c15ch_c15_subs_spare_4,
11184 { "SUBSCRIBE Optional Parameter 4", "c15.subs_spare_4",
11185 FT_UINT32, BASE_DEC,
11186 NULL,
11187 0x0, NULL, HFILL}
11189 { &hf_c15ch_c15_subs_spare_5,
11190 { "SUBSCRIBE Optional Parameter 5", "c15.subs_spare_5",
11191 FT_UINT32, BASE_HEX,
11192 NULL,
11193 0x0, NULL, HFILL}
11195 { &hf_c15ch_c15_subs_spare_6,
11196 { "SUBSCRIBE Optional Parameter 6", "c15.subs_spare_6",
11197 FT_UINT32, BASE_HEX,
11198 NULL,
11199 0x0, NULL, HFILL}
11201 { &hf_c15ch_c15_sys_alarm,
11202 { "C15 SYSTEM ALARM", "c15.sys_alarm",
11203 FT_PROTOCOL, BASE_NONE,
11204 NULL,
11205 0x0, NULL, HFILL}
11207 { &hf_c15ch_c15_omm_tag_code,
11208 { "C15 ALARM Code", "c15.omm_tag_code",
11209 FT_STRINGZ, BASE_NONE,
11210 NULL,
11211 0x0, NULL, HFILL}
11213 { &hf_c15ch_c15_alarm_class,
11214 { "C15 ALARM Class", "c15.alarm_class",
11215 FT_STRINGZ, BASE_NONE,
11216 NULL,
11217 0x0, NULL, HFILL}
11219 { &hf_c15ch_c15_alarm_status,
11220 { "C15 ALARM Status", "c15.alarm_status",
11221 FT_STRINGZ, BASE_NONE,
11222 NULL,
11223 0x0, NULL, HFILL}
11225 { &hf_c15ch_c15_site_name,
11226 { "C15 Site Name", "c15.site_name",
11227 FT_STRINGZ, BASE_NONE,
11228 NULL,
11229 0x0, NULL, HFILL}
11231 { &hf_c15ch_c15_system,
11232 { "C15 System", "c15.system",
11233 FT_STRINGZ, BASE_NONE,
11234 NULL,
11235 0x0, NULL, HFILL}
11237 { &hf_c15ch_c15_tty_msg,
11238 { "C15 TTY MESSAGE", "c15.tty_msg",
11239 FT_PROTOCOL, BASE_NONE,
11240 NULL,
11241 0x0, NULL, HFILL}
11243 { &hf_c15ch_c15_tty_int_parm_1,
11244 { "TTY Optional Parameter 1", "c15.int_parm_1",
11245 FT_UINT32, BASE_DEC,
11246 NULL,
11247 0x0, NULL, HFILL}
11249 { &hf_c15ch_c15_tty_int_parm_2,
11250 { "TTY Optional Parameter 2", "c15.int_parm_2",
11251 FT_UINT32, BASE_DEC,
11252 NULL,
11253 0x0, NULL, HFILL}
11255 { &hf_c15ch_c15_tty_int_parm_3,
11256 { "TTY Optional Parameter 3", "c15.int_parm_3",
11257 FT_UINT32, BASE_HEX,
11258 NULL,
11259 0x0, NULL, HFILL}
11261 { &hf_c15ch_c15_tty_int_parm_4,
11262 { "TTY Optional Parameter 4", "c15.int_parm_4",
11263 FT_UINT32, BASE_HEX,
11264 NULL,
11265 0x0, NULL, HFILL}
11267 { &hf_c15ch_c15_omm_msg_tag,
11268 { "C15 TTY OMM Message Tag", "c15.omm_msg_tag",
11269 FT_STRINGZ, BASE_NONE,
11270 NULL,
11271 0x0, NULL, HFILL}
11273 { &hf_c15ch_c15_text_location,
11274 { "C15 TTY Location", "c15.text_location",
11275 FT_STRINGZ, BASE_NONE,
11276 NULL,
11277 0x0, NULL, HFILL}
11279 { &hf_c15ch_c15_tty_text_parm_1,
11280 { "C15 TTY Text Parameter 1", "c15.tty_text_parm_1",
11281 FT_STRINGZ, BASE_NONE,
11282 NULL,
11283 0x0, NULL, HFILL}
11285 { &hf_c15ch_c15_tty_text_parm_2,
11286 { "C15 TTY Text Parameter 2", "c15.tty_text_parm_2",
11287 FT_STRINGZ, BASE_NONE,
11288 NULL,
11289 0x0, NULL, HFILL}
11291 { &hf_c15ch_c15_tty_text_parm_3,
11292 { "C15 TTY Text Parameter 3", "c15.tty_text_parm_3",
11293 FT_STRINGZ, BASE_NONE,
11294 NULL,
11295 0x0, NULL, HFILL}
11298 static int *ett_second_level[] = {
11299 &ett_c15ch_second_level,
11300 &ett_c15ch_second_level_sub1,
11301 &ett_c15ch_second_level_sub2,
11302 &ett_c15ch_second_level_sub3,
11303 &ett_c15ch_second_level_sub4
11305 /* third level */
11306 /* tone */
11308 static hf_register_info hf_third_level_tone[] = {
11309 { &hf_c15ch_tone_cot_control_device_id,
11310 { "Device ID", "c15.tone.cot_control.device_id",
11311 FT_UINT8, BASE_DEC,
11312 NULL,
11313 0x0, NULL, HFILL}
11315 { &hf_c15ch_tone_cot_control_cot_task,
11316 { "COT Task", "c15.tone.cot_control.cot_task",
11317 FT_UINT8, BASE_DEC,
11318 NULL,
11319 0x0, NULL, HFILL}
11321 { &hf_c15ch_tone_cot_control_dest_h248,
11322 { "Destination H248", "c15.tone.cot_control.dest_h248",
11323 FT_UINT8, BASE_DEC,
11324 NULL,
11325 0x0, NULL, HFILL}
11327 { &hf_c15ch_tone_cot_control_srce_h248,
11328 { "Source H248", "c15.tone.cot_control.srce_h248",
11329 FT_UINT8, BASE_DEC,
11330 NULL,
11331 0x0, NULL, HFILL}
11333 { &hf_c15ch_tone_cot_control_svc_channel,
11334 { "Svc Channel", "c15.tone.cot_control.svc_channel",
11335 FT_UINT8, BASE_DEC,
11336 NULL,
11337 0x0, NULL, HFILL}
11339 { &hf_c15ch_tone_give_tone_tone_id,
11340 { "Tone ID", "c15.tone.give_tone.tone_id",
11341 FT_UINT8, BASE_DEC,
11342 NULL,
11343 0x0, NULL, HFILL}
11345 { &hf_c15ch_tone_give_tone_tone_type,
11346 { "Tone Type", "c15.tone.give_tone.tone_type",
11347 FT_UINT8, BASE_DEC|BASE_EXT_STRING,
11348 &tone_types_ext,
11349 0x0, NULL, HFILL}
11352 { &hf_c15ch_tone_madn_ring_device_id,
11353 { "Device ID", "c15.tone.madn_ring.device_id",
11354 FT_UINT8, BASE_DEC,
11355 NULL,
11356 0x0, NULL, HFILL}
11358 { &hf_c15ch_tone_madn_ring_tone_type,
11359 { "Tone Type", "c15.tone.madn_ring.tone_type",
11360 FT_UINT8, BASE_DEC|BASE_EXT_STRING,
11361 &tone_types_ext,
11362 0x0, NULL, HFILL}
11364 { &hf_c15ch_tone_opls_svce_from_ni,
11365 { "Svce From NI", "c15.tone.opls.svce_from_ni",
11366 FT_UINT32, BASE_HEX,
11367 NULL,
11368 0x0, NULL, HFILL}
11370 { &hf_c15ch_tone_opls_svce_to_ni,
11371 { "Svce To NI", "c15.tone.opls.svce_to_ni",
11372 FT_UINT32, BASE_HEX,
11373 NULL,
11374 0x0, NULL, HFILL}
11376 { &hf_c15ch_tone_opls_svce_to_tn,
11377 { "Svce To TN", "c15.tone.opls.svce_to_tn",
11378 FT_UINT32, BASE_HEX,
11379 NULL,
11380 0x0, NULL, HFILL}
11382 { &hf_c15ch_tone_opls_svce_to_ni_tn,
11383 { "Svce To NI/TN", "c15.tone.opls.svce_to_ni_tn",
11384 FT_UINT64, BASE_HEX,
11385 NULL,
11386 0x0, NULL, HFILL}
11388 { &hf_c15ch_tone_opls_digits,
11389 { "Digits", "c15.tone.opls.digits",
11390 FT_STRINGZ, BASE_NONE,
11391 NULL,
11392 0x0, NULL, HFILL}
11394 { &hf_c15ch_tone_rcvr_rcvr_id,
11395 { "Receiver ID", "c15.tone.rcvr.rcvr_id",
11396 FT_UINT8, BASE_DEC,
11397 NULL,
11398 0x0, NULL, HFILL}
11400 { &hf_c15ch_tone_rcvr_conn_to_ni,
11401 { "Conn to NI", "c15.tone.rcvr.conn_to_ni",
11402 FT_UINT32, BASE_HEX,
11403 NULL,
11404 0x0, NULL, HFILL}
11406 { &hf_c15ch_tone_rcvr_conn_to_tn,
11407 { "Conn to TN", "c15.tone.rcvr.conn_to_tn",
11408 FT_UINT32, BASE_HEX,
11409 NULL,
11410 0x0, NULL, HFILL}
11412 { &hf_c15ch_tone_rcvr_conn_to_ni_tn,
11413 { "Conn to NI/TN", "c15.tone.rcvr.conn_to_ni_tn",
11414 FT_UINT64, BASE_HEX,
11415 NULL,
11416 0x0, NULL, HFILL}
11418 { &hf_c15ch_tone_timeout_device_id,
11419 { "Device ID", "c15.tone.timeout.device_id",
11420 FT_UINT8, BASE_DEC,
11421 NULL,
11422 0x0, NULL, HFILL}
11424 { &hf_c15ch_tone_timeout_service_pm,
11425 { "Service PM", "c15.tone.timeout.service_pm",
11426 FT_UINT8, BASE_DEC,
11427 NULL,
11428 0x0, NULL, HFILL}
11430 { &hf_c15ch_tone_timeout_service_ni,
11431 { "Service NI", "c15.tone.timeout.service_ni",
11432 FT_UINT32, BASE_DEC,
11433 NULL,
11434 0x0, NULL, HFILL}
11436 { &hf_c15ch_tone_timeout_service_tn,
11437 { "Service TN", "c15.tone.timeout.service_tn",
11438 FT_UINT32, BASE_DEC,
11439 NULL,
11440 0x0, NULL, HFILL}
11442 { &hf_c15ch_tone_timeout_service_ni_tn,
11443 { "Service NI/TN", "c15.tone.timeout.service_ni_tn",
11444 FT_UINT64, BASE_HEX,
11445 NULL,
11446 0x0, NULL, HFILL}
11448 { &hf_c15ch_tone_timeout_gw_provided,
11449 { "GW Provided", "c15.tone.timeout.gw_provided",
11450 FT_UINT8, BASE_DEC,
11451 NULL,
11452 0x0, NULL, HFILL}
11454 { &hf_c15ch_tone_timeout_gw_service_tone_type_or_from_ni,
11455 { "GW Service Tone Type or From NI", "c15.tone.timeout.gw_service_tone_type_or_from_ni",
11456 FT_UINT32, BASE_DEC,
11457 NULL,
11458 0x0, NULL, HFILL}
11460 { &hf_c15ch_tone_tone_control_device_id,
11461 { "Device ID", "c15.tone.tone_control.device_id",
11462 FT_UINT8, BASE_DEC,
11463 NULL,
11464 0x0, NULL, HFILL}
11466 { &hf_c15ch_tone_tone_control_tone_type,
11467 { "Tone Type", "c15.tone.tone_control.tone_type",
11468 FT_UINT8, BASE_DEC|BASE_EXT_STRING,
11469 &tone_types_ext,
11470 0x0, NULL, HFILL}
11473 { &hf_c15ch_tone_cpm_loop_type,
11474 { "Loop Type", "c15.tone.cpm.loop_type",
11475 FT_UINT8, BASE_DEC,
11476 VALS( loop_types ),
11477 0x0, NULL, HFILL}
11479 { &hf_c15ch_tone_cpm_device_id,
11480 { "Device ID", "c15.tone.cpm.device_id",
11481 FT_UINT8, BASE_DEC|BASE_EXT_STRING,
11482 &device_types_ext,
11483 0x0, NULL, HFILL}
11485 { &hf_c15ch_tone_cpm_tone_type,
11486 { "Tone Type", "c15.tone.cpm.tone_type",
11487 FT_UINT8, BASE_DEC|BASE_EXT_STRING,
11488 &tone_types_ext,
11489 0x0, NULL, HFILL}
11491 { &hf_c15ch_tone_tone_control,
11492 { "C15 Tone Control", "c15.tone.tone_control",
11493 FT_PROTOCOL, BASE_NONE,
11494 NULL,
11495 0x0, NULL, HFILL}
11497 { &hf_c15ch_tone_give_tone,
11498 { "C15 Give Tone", "c15.tone.give_tone",
11499 FT_PROTOCOL, BASE_NONE,
11500 NULL,
11501 0x0, NULL, HFILL}
11503 { &hf_c15ch_tone_opls,
11504 { "C15 Tone OPLS", "c15.tone.opls",
11505 FT_PROTOCOL, BASE_NONE,
11506 NULL,
11507 0x0, NULL, HFILL}
11509 { &hf_c15ch_tone_cot_control,
11510 { "C15 Tone COT Control", "c15.tone.cot_control",
11511 FT_PROTOCOL, BASE_NONE,
11512 NULL,
11513 0x0, NULL, HFILL}
11515 { &hf_c15ch_tone_cpm,
11516 { "C15 Tone CPM", "c15.tone.cpm",
11517 FT_PROTOCOL, BASE_NONE,
11518 NULL,
11519 0x0, NULL, HFILL}
11521 { &hf_c15ch_tone_rcvr,
11522 { "C15 Tone Receiver", "c15.tone.rcvr",
11523 FT_PROTOCOL, BASE_NONE,
11524 NULL,
11525 0x0, NULL, HFILL}
11527 { &hf_c15ch_tone_madn_ring,
11528 { "C15 Tone MADN Ring", "c15.tone.madn_ring",
11529 FT_PROTOCOL, BASE_NONE,
11530 NULL,
11531 0x0, NULL, HFILL}
11533 { &hf_c15ch_tone_timeout,
11534 { "C15 Tone Timeout", "c15.tone.timeout",
11535 FT_PROTOCOL, BASE_NONE,
11536 NULL,
11537 0x0, NULL, HFILL}
11542 static int *ett_third_level_tone[] = {
11543 &ett_c15ch_third_level_tone,
11544 &ett_c15ch_third_level_tone_sub1
11547 static hf_register_info hf_third_level_inc_gwe[] = {
11549 { &hf_c15ch_inc_gwe_reply_ip_gwe_msg_type,
11550 { "IP GWE Msg Type", "c15.inc_gwe.reply.ip_gwe_msg_type",
11551 FT_UINT32, BASE_DEC,
11552 NULL,
11553 0x0, NULL, HFILL}
11555 { &hf_c15ch_inc_gwe_reply_ip_gwe_stat_code,
11556 { "IP GWE Stat Code", "c15.inc_gwe.reply.ip_gwe_stat_code",
11557 FT_UINT32, BASE_DEC,
11558 NULL,
11559 0x0, NULL, HFILL}
11561 { &hf_c15ch_inc_gwe_reply_ip_gwe_conn_num,
11562 { "IP GWE Connection Number", "c15.inc_gwe.reply.ip_gwe_conn_num",
11563 FT_UINT32, BASE_DEC,
11564 NULL,
11565 0x0, NULL, HFILL}
11567 { &hf_c15ch_inc_gwe_reply_nw_mdcn_lsdp_ip,
11568 { "NW MDCN LSDP IP", "c15.inc_gwe.reply.nw_mdcn_lsdp_ip",
11569 FT_IPv4, BASE_NONE,
11570 NULL,
11571 0x0, NULL, HFILL}
11573 { &hf_c15ch_inc_gwe_reply_nw_mdcn_lsdp_port,
11574 { "NW MDCN LSDP Port", "c15.inc_gwe.reply.nw_mdcn_lsdp_port",
11575 FT_UINT32, BASE_DEC,
11576 NULL,
11577 0x0, NULL, HFILL}
11579 { &hf_c15ch_inc_gwe_reply_nw_mdcn_rsdp_ip,
11580 { "NW MDCN RSDP IP", "c15.inc_gwe.reply.nw_mdcn_rsdp_ip",
11581 FT_IPv4, BASE_NONE,
11582 NULL,
11583 0x0, NULL, HFILL}
11585 { &hf_c15ch_inc_gwe_reply_nw_mdcn_rsdp_port,
11586 { "NW MDCN RSDP Port", "c15.inc_gwe.reply.nw_mdcn_rsdp_port",
11587 FT_UINT32, BASE_DEC,
11588 NULL,
11589 0x0, NULL, HFILL}
11591 { &hf_c15ch_inc_gwe_bc_pgi_pbc_conn_num,
11592 { "PBC Connection Number", "c15.inc_gwe.bc_pgi.pbc_conn_num",
11593 FT_UINT32, BASE_DEC,
11594 NULL,
11595 0x0, NULL, HFILL}
11597 { &hf_c15ch_inc_gwe_bc_pgi_pbc_conn_type,
11598 { "PBC Connection Type", "c15.inc_gwe.bc_pgi.pbc_conn_type",
11599 FT_UINT8, BASE_DEC,
11600 VALS( c15_inc_gwe_bc_pgi_pbc_conn_types ),
11601 0x0, NULL, HFILL}
11603 { &hf_c15ch_inc_gwe_bc_pgi_pbc_msg_type,
11604 { "PBC Message Type", "c15.inc_gwe.bc_pgi.pbc_msg_type",
11605 FT_UINT8, BASE_DEC,
11606 NULL,
11607 0x0, NULL, HFILL}
11609 { &hf_c15ch_inc_gwe_bc_pgi_bc_mode,
11610 { "BC Mode", "c15.inc_gwe.bc_pgi.bc_mode",
11611 FT_UINT8, BASE_DEC,
11612 NULL,
11613 0x0, NULL, HFILL}
11615 { &hf_c15ch_inc_gwe_bc_pgi_bc_pgi_sdp,
11616 { "BC PGI SDP", "c15.inc_gwe.bc_pgi.bc_pgi_sdp",
11617 FT_IPv4, BASE_NONE,
11618 NULL,
11619 0x0, NULL, HFILL}
11621 { &hf_c15ch_inc_gwe_bc_pgi_bc_pgi_m_port,
11622 { "BC PGI M Port", "c15.inc_gwe.bc_pgi.bc_pgi_m_port",
11623 FT_UINT32, BASE_DEC,
11624 NULL,
11625 0x0, NULL, HFILL}
11627 { &hf_c15ch_inc_gwe_bc_pgi_pbc_tst_flags,
11628 { "PBC TST Flags", "c15.inc_gwe.bc_pgi.pbc_tst_flags",
11629 FT_UINT32, BASE_HEX,
11630 NULL,
11631 0x0, NULL, HFILL}
11633 { &hf_c15ch_inc_gwe_mgcp_dlcx_err_code,
11634 { "Error Code", "c15.inc_gwe.mgcp_dlcx.err_code",
11635 FT_UINT32, BASE_DEC,
11636 NULL,
11637 0x0, NULL, HFILL}
11639 { &hf_c15ch_inc_gwe_h248_digit_ip_gwe_digit,
11640 { "IP GWE Digit", "c15.inc_gwe.h248_digit.ip_gwe_digit",
11641 FT_UINT8, BASE_DEC,
11642 NULL,
11643 0x0, NULL, HFILL}
11645 { &hf_c15ch_inc_gwe_h248_digit_ip_gwe_digit_method,
11646 { "IP GWE Digit Method", "c15.inc_gwe.h248_digit.ip_gwe_digit_method",
11647 FT_UINT8, BASE_DEC,
11648 NULL,
11649 0x0, NULL, HFILL}
11651 { &hf_c15ch_inc_gwe_voip_cot_ip_gwe_pass_code,
11652 { "IP GWE Digit", "c15.inc_gwe.voip_cot.ip_gwe_pass_code",
11653 FT_BOOLEAN, BASE_NONE,
11654 TFS( &c15_inc_gwe_voip_cot_ip_gwe_pass_code_types),
11655 0x0, NULL, HFILL}
11657 { &hf_c15ch_inc_gwe_notify_ip_gwe_mwi_stat,
11658 { "IP GWE Message Waiting Indicator Stat", "c15.inc_gwe.notify.ip_gwe_mwi_stat",
11659 FT_UINT32, BASE_DEC,
11660 NULL,
11661 0x0, NULL, HFILL}
11663 { &hf_c15ch_inc_gwe_notify_ip_gwe_digits,
11664 { "IP GWE Digits", "c15.inc_gwe.notify.ip_gwe_digits",
11665 FT_STRINGZ, BASE_NONE,
11666 NULL,
11667 0x0, NULL, HFILL}
11669 { &hf_c15ch_inc_gwe_admn_updt_ip_gwe_med_ni,
11670 { "IP GWE Med NI", "c15.inc_gwe.admn_updt.ip_gwe_med_ni",
11671 FT_UINT32, BASE_HEX,
11672 NULL,
11673 0x0, NULL, HFILL}
11675 { &hf_c15ch_inc_gwe_admn_updt_ip_gwe_med_tn,
11676 { "IP GWE Med TN", "c15.inc_gwe.admn_updt.ip_gwe_med_tn",
11677 FT_UINT32, BASE_HEX,
11678 NULL,
11679 0x0, NULL, HFILL}
11681 { &hf_c15ch_inc_gwe_admn_updt_ip_gwe_med_ni_tn,
11682 {"IP GWE Med NI/TN", "c15.inc_gwe.admn_updt.ip_gwe_med_ni_tn",
11683 FT_UINT64, BASE_HEX,
11684 NULL,
11685 0x0, NULL, HFILL }
11687 { &hf_c15ch_inc_gwe_admn_updt_ip_ns_iface,
11688 { "IP NS Interface", "c15.inc_gwe.admn_updt.ip_ns_iface",
11689 FT_UINT32, BASE_DEC,
11690 NULL,
11691 0x0, NULL, HFILL}
11693 { &hf_c15ch_inc_gwe_admn_updt_ip_ns_terminal,
11694 { "IP NS Terminal", "c15.inc_gwe.admn_updt.ip_ns_terminal",
11695 FT_UINT32, BASE_DEC,
11696 NULL,
11697 0x0, NULL, HFILL}
11699 { &hf_c15ch_inc_gwe_admn_updt_ip_gwe_new_rec_addr,
11700 { "IP GWE New Rec Addr", "c15.inc_gwe.admn_updt.ip_gwe_new_rec_addr",
11701 FT_UINT32, BASE_HEX,
11702 NULL,
11703 0x0, NULL, HFILL}
11705 { &hf_c15ch_inc_gwe_cl_setup_ip_gwe_sua_hndl,
11706 { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.cl_setup.ip_gwe_sua_hndl",
11707 FT_UINT32, BASE_HEX,
11708 NULL,
11709 0x0, NULL, HFILL}
11711 { &hf_c15ch_inc_gwe_cl_setup_ip_gwe_cled_digits,
11712 { "IP GWE CLED Digits", "c15.inc_gwe.cl_setup.ip_gwe_cled_digits",
11713 FT_STRINGZ, BASE_NONE,
11714 NULL,
11715 0x0, NULL, HFILL}
11717 { &hf_c15ch_inc_gwe_cl_setup_ip_cl_setup_lsdp,
11718 { "IP CL Setup LSDP", "c15.inc_gwe.cl_setup.ip_cl_setup_lsdp",
11719 FT_IPv4, BASE_NONE,
11720 NULL,
11721 0x0, NULL, HFILL}
11723 { &hf_c15ch_inc_gwe_cl_setup_ip_cl_setup_m_port,
11724 { "IP CL Setup M Port", "c15.inc_gwe.cl_setup.ip_cl_setup_m_port",
11725 FT_UINT32, BASE_DEC,
11726 NULL,
11727 0x0, NULL, HFILL}
11729 { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_sua_hndl,
11730 { "IP GWE SipUserAgent Handle", "c15.iinc_gwe.ptrk_setup.ip_gwe_sua_hndl",
11731 FT_UINT32, BASE_HEX,
11732 NULL,
11733 0x0, NULL, HFILL}
11735 { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_cled_digits,
11736 { "IP GWE CLED Digits", "c15.iinc_gwe.ptrk_setup.ip_gwe_cled_digits",
11737 FT_STRINGZ, BASE_NONE,
11738 NULL,
11739 0x0, NULL, HFILL}
11741 { &hf_c15ch_inc_gwe_ptrk_setup_ip_cl_setup_lsdp,
11742 { "IP CL SETUP LSDP", "c15.iinc_gwe.ptrk_setup.ip_cl_setup_lsdp",
11743 FT_IPv4, BASE_NONE,
11744 NULL,
11745 0x0, NULL, HFILL}
11747 { &hf_c15ch_inc_gwe_ptrk_setup_ip_cl_setup_m_port,
11748 { "IP CL SETUP M Port", "c15.iinc_gwe.ptrk_setup.ip_cl_setup_m_port",
11749 FT_UINT32, BASE_DEC,
11750 NULL,
11751 0x0, NULL, HFILL}
11753 { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clid_pri,
11754 { "IP GWE CLID PRI", "c15.iinc_gwe.ptrk_setup.ip_gwe_clid_pri",
11755 FT_UINT8, BASE_DEC,
11756 NULL,
11757 0x0, NULL, HFILL}
11759 { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clng_digits,
11760 { "IP GWE CLNG Digits", "c15.iinc_gwe.ptrk_setup.ip_gwe_clng_digits",
11761 FT_STRINGZ, BASE_NONE,
11762 NULL,
11763 0x0, NULL, HFILL}
11765 { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clng_ton,
11766 { "IP GWE CLNG TON", "c15.iinc_gwe.ptrk_setup.ip_gwe_clng_ton",
11767 FT_UINT8, BASE_DEC,
11768 NULL,
11769 0x0, NULL, HFILL}
11771 { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_clng_np,
11772 { "IP GWE CLNG NP", "c15.iinc_gwe.ptrk_setup.ip_gwe_clng_np",
11773 FT_UINT8, BASE_DEC,
11774 NULL,
11775 0x0, NULL, HFILL}
11777 { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_alert_info,
11778 { "IP GWE Alert Info", "c15.iinc_gwe.ptrk_setup.ip_gwe_alert_info",
11779 FT_UINT32, BASE_DEC,
11780 NULL,
11781 0x0, NULL, HFILL}
11783 { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_redir_digits,
11784 { "IP GWE REDIR Digits", "c15.iinc_gwe.ptrk_setup.ip_gwe_redir_digits",
11785 FT_STRINGZ, BASE_NONE,
11786 NULL,
11787 0x0, NULL, HFILL}
11789 { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_redir_ton,
11790 { "IP GWE REDIR TON", "c15.iinc_gwe.ptrk_setup.ip_gwe_redir_ton",
11791 FT_UINT8, BASE_DEC,
11792 NULL,
11793 0x0, NULL, HFILL}
11795 { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_redir_np,
11796 { "IP GWE REDIR NP", "c15.iinc_gwe.ptrk_setup.ip_gwe_redir_np",
11797 FT_UINT8, BASE_DEC,
11798 NULL,
11799 0x0, NULL, HFILL}
11801 { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_ocn_digits,
11802 { "IP GWE OCN Digits", "c15.iinc_gwe.ptrk_setup.ip_gwe_ocn_digits",
11803 FT_STRINGZ, BASE_NONE,
11804 NULL,
11805 0x0, NULL, HFILL}
11807 { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_chrg_digits,
11808 { "IP GWE CHRG Digits", "c15.iinc_gwe.ptrk_setup.ip_gwe_chrg_digits",
11809 FT_STRINGZ, BASE_NONE,
11810 NULL,
11811 0x0, NULL, HFILL}
11813 { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_chrg_noa,
11814 { "IP GWE CHRG noa", "c15.iinc_gwe.ptrk_setup.ip_gwe_chrg_noa",
11815 FT_UINT8, BASE_DEC,
11816 NULL,
11817 0x0, NULL, HFILL}
11819 { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_chrg_npi,
11820 { "IP GWE CHRG NPI", "c15.iinc_gwe.ptrk_setup.ip_gwe_chrg_npi",
11821 FT_UINT8, BASE_DEC,
11822 NULL,
11823 0x0, NULL, HFILL}
11825 { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_npdi,
11826 { "IP GWE NPDI", "c15.iinc_gwe.ptrk_setup.ip_gwe_npdi",
11827 FT_UINT8, BASE_DEC,
11828 NULL,
11829 0x0, NULL, HFILL}
11831 { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_rn_digits,
11832 { "IP GWE RN Digits", "c15.iinc_gwe.ptrk_setup.ip_gwe_rn_digits",
11833 FT_STRINGZ, BASE_NONE,
11834 NULL,
11835 0x0, NULL, HFILL}
11837 { &hf_c15ch_inc_gwe_ptrk_setup_ip_gwe_cic_digits,
11838 { "IP GWE CIC Digits", "c15.iinc_gwe.ptrk_setup.ip_gwe_cic_digits",
11839 FT_STRINGZ, BASE_NONE,
11840 NULL,
11841 0x0, NULL, HFILL}
11843 { &hf_c15ch_inc_gwe_ptrk_setup_encap_isup,
11844 { "Encapsulated ISUP", "c15.iinc_gwe.ptrk_setup.encap_isup",
11845 FT_UINT8, BASE_DEC,
11846 NULL,
11847 0x0, NULL, HFILL}
11849 { &hf_c15ch_inc_gwe_cl_prog_ip_gwe_sua_hndl,
11850 { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.cl_prog.ip_gwe_sua_hndl",
11851 FT_UINT32, BASE_HEX,
11852 NULL,
11853 0x0, NULL, HFILL}
11855 { &hf_c15ch_inc_gwe_cl_prog_ip_gwe_conn_num,
11856 { "IP GWE Connection Number", "c15.inc_gwe.cl_prog.ip_gwe_conn_num",
11857 FT_UINT8, BASE_DEC,
11858 NULL,
11859 0x0, NULL, HFILL}
11861 { &hf_c15ch_inc_gwe_cl_prog_ip_cl_prog_lsdp,
11862 { "IP CL Prog LSDP", "c15.inc_gwe.cl_prog.ip_cl_prog_lsdp",
11863 FT_IPv4, BASE_NONE,
11864 NULL,
11865 0x0, NULL, HFILL}
11867 { &hf_c15ch_inc_gwe_cl_prog_ip_cl_prog_m_port,
11868 { "IP CL Prog M Port", "c15.inc_gwe.cl_prog.ip_cl_prog_m_port",
11869 FT_UINT32, BASE_DEC,
11870 NULL,
11871 0x0, NULL, HFILL}
11873 { &hf_c15ch_inc_gwe_cl_prog_ip_gwe_stat_code,
11874 { "IP GWE Stat Code", "c15.inc_gwe.cl_prog.ip_gwe_stat_code",
11875 FT_UINT8, BASE_DEC,
11876 NULL,
11877 0x0, NULL, HFILL}
11879 { &hf_c15ch_inc_gwe_cl_prog_encap_isup,
11880 { "Encapsulated ISUP", "c15.inc_gwe.cl_prog.encap_isup",
11881 FT_UINT8, BASE_DEC,
11882 NULL,
11883 0x0, NULL, HFILL}
11885 { &hf_c15ch_inc_gwe_reply,
11886 { "C15 Incoming GWE Reply", "c15.inc_gwe.reply",
11887 FT_PROTOCOL, BASE_NONE,
11888 NULL,
11889 0x0, NULL, HFILL}
11891 { &hf_c15ch_inc_gwe_bc_pgi,
11892 { "C15 Incoming GWE Bearer Control PGI", "c15.inc_gwe.bc_pgi",
11893 FT_PROTOCOL, BASE_NONE,
11894 NULL,
11895 0x0, NULL, HFILL}
11897 { &hf_c15ch_inc_gwe_mgcp_dlcx,
11898 { "C15 Incoming GWE MGCP DLCX", "c15.inc_gwe.mgcp_dlcx",
11899 FT_PROTOCOL, BASE_NONE,
11900 NULL,
11901 0x0, NULL, HFILL}
11903 { &hf_c15ch_inc_gwe_h248_digit,
11904 { "C15 Incoming GWE H248 Digit", "c15.inc_gwe.h248_digit",
11905 FT_PROTOCOL, BASE_NONE,
11906 NULL,
11907 0x0, NULL, HFILL}
11909 { &hf_c15ch_inc_gwe_voip_cot,
11910 { "C15 Incoming GWE VOIP COT", "c15.inc_gwe.voip_cot",
11911 FT_PROTOCOL, BASE_NONE,
11912 NULL,
11913 0x0, NULL, HFILL}
11915 { &hf_c15ch_inc_gwe_notify,
11916 { "C15 Incoming GWE Notify", "c15.inc_gwe.notify",
11917 FT_PROTOCOL, BASE_NONE,
11918 NULL,
11919 0x0, NULL, HFILL}
11921 { &hf_c15ch_inc_gwe_admn_updt,
11922 { "C15 Incoming GWE Admn Update", "c15.inc_gwe.admn_updt",
11923 FT_PROTOCOL, BASE_NONE,
11924 NULL,
11925 0x0, NULL, HFILL}
11927 { &hf_c15ch_inc_gwe_cl_setup,
11928 { "C15 Incoming GWE CL Setup", "c15.inc_gwe.cl_setup",
11929 FT_PROTOCOL, BASE_NONE,
11930 NULL,
11931 0x0, NULL, HFILL}
11933 { &hf_c15ch_inc_gwe_ptrk_setup,
11934 { "C15 Incoming GWE Packet Trunk Setup", "c15.inc_gwe.ptrk_setup",
11935 FT_PROTOCOL, BASE_NONE,
11936 NULL,
11937 0x0, NULL, HFILL}
11939 { &hf_c15ch_inc_gwe_cl_prog,
11940 { "C15 Incoming GWE CL Prog", "c15.inc_gwe.cl_prog",
11941 FT_PROTOCOL, BASE_NONE,
11942 NULL,
11943 0x0, NULL, HFILL}
11945 { &hf_c15ch_inc_gwe_cl_ans_ip_gwe_sua_hndl,
11946 { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.cl_ans.ip_gwe_sua_hndl",
11947 FT_UINT32, BASE_HEX,
11948 NULL,
11949 0x0, NULL, HFILL}
11951 { &hf_c15ch_inc_gwe_cl_ans_ip_gwe_conn_num,
11952 { "IP GWE Connection Number", "c15.inc_gwe.cl_ans.ip_gwe_conn_num",
11953 FT_UINT8, BASE_DEC,
11954 NULL,
11955 0x0, NULL, HFILL}
11957 { &hf_c15ch_inc_gwe_cl_ans_ip_cl_ans_lsdp,
11958 { "IP CL Prog LSDP", "c15.inc_gwe.cl_ans.ip_cl_ans_lsdp",
11959 FT_IPv4, BASE_NONE,
11960 NULL,
11961 0x0, NULL, HFILL}
11963 { &hf_c15ch_inc_gwe_cl_ans_ip_cl_ans_m_port,
11964 { "IP CL Prog M Port", "c15.inc_gwe.cl_ans.ip_cl_ans_m_port",
11965 FT_UINT32, BASE_DEC,
11966 NULL,
11967 0x0, NULL, HFILL}
11969 { &hf_c15ch_inc_gwe_cl_ans_encap_isup,
11970 { "Encapsulated ISUP", "c15.inc_gwe.cl_ans.encap_isup",
11971 FT_UINT8, BASE_DEC,
11972 NULL,
11973 0x0, NULL, HFILL},
11975 { &hf_c15ch_inc_gwe_cl_ans,
11976 { "C15 Incoming GWE CL Ans", "c15.inc_gwe.cl_ans",
11977 FT_PROTOCOL, BASE_NONE,
11978 NULL,
11979 0x0, NULL, HFILL},
11981 { &hf_c15ch_inc_gwe_cl_rel_ip_gwe_sua_hndl,
11982 { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.cl_rel.ip_gwe_sua_hndl",
11983 FT_UINT32, BASE_HEX,
11984 NULL,
11985 0x0, NULL, HFILL}
11987 { &hf_c15ch_inc_gwe_cl_rel_ip_gwe_conn_num,
11988 { "IP GWE Connection Number", "c15.inc_gwe.cl_rel.ip_gwe_conn_num",
11989 FT_UINT8, BASE_DEC,
11990 NULL,
11991 0x0, NULL, HFILL}
11993 { &hf_c15ch_inc_gwe_cl_rel_ip_gwe_stat_code,
11994 { "IP GWE Stat Code", "c15.inc_gwe.cl_rel.ip_gwe_stat_code",
11995 FT_UINT8, BASE_DEC,
11996 NULL,
11997 0x0, NULL, HFILL}
11999 { &hf_c15ch_inc_gwe_cl_rel_encap_isup,
12000 { "Encapsulated ISUP", "c15.inc_gwe.cl_rel.encap_isup",
12001 FT_UINT8, BASE_DEC,
12002 NULL,
12003 0x0, NULL, HFILL},
12005 { &hf_c15ch_inc_gwe_cl_rel,
12006 { "C15 Incoming GWE CL Release", "c15.inc_gwe.cl_rel",
12007 FT_PROTOCOL, BASE_NONE,
12008 NULL,
12009 0x0, NULL, HFILL},
12011 { &hf_c15ch_inc_gwe_ntwk_mod_ip_gwe_sua_hndl,
12012 { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.ntwk_mod.ip_gwe_sua_hndl",
12013 FT_UINT32, BASE_HEX,
12014 NULL,
12015 0x0, NULL, HFILL}
12017 { &hf_c15ch_inc_gwe_ntwk_mod_ip_gwe_conn_num,
12018 { "IP GWE Connection Number", "c15.inc_gwe.ntwk_mod.ip_gwe_conn_num",
12019 FT_UINT8, BASE_DEC,
12020 NULL,
12021 0x0, NULL, HFILL}
12023 { &hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_lsdp,
12024 { "IP Network Mod LSDP", "c15.inc_gwe.ntwk_mod.ip_ntwk_mod_lsdp",
12025 FT_IPv4, BASE_NONE,
12026 NULL,
12027 0x0, NULL, HFILL}
12029 { &hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_l_m_port,
12030 { "IP Network Mod L M PORT", "c15.inc_gwe.ntwk_mod.ip_ntwk_mod_l_m_port",
12031 FT_UINT32, BASE_DEC,
12032 NULL,
12033 0x0, NULL, HFILL}
12035 { &hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_rsdp,
12036 { "IP Network Mod RSDP", "c15.inc_gwe.ntwk_mod.ip_ntwk_mod_rsdp",
12037 FT_IPv4, BASE_NONE,
12038 NULL,
12039 0x0, NULL, HFILL}
12041 { &hf_c15ch_inc_gwe_ntwk_mod_ip_ntwk_mod_r_m_port,
12042 { "IP Network Mod R M PORT", "c15.inc_gwe.ntwk_mod.ip_ntwk_mod_r_m_port",
12043 FT_UINT32, BASE_DEC,
12044 NULL,
12045 0x0, NULL, HFILL}
12047 { &hf_c15ch_inc_gwe_ntwk_mod_ip_gwe_stat_code,
12048 { "IP GWE Stat Code", "c15.inc_gwe.ntwk_mod.ip_gwe_stat_code",
12049 FT_UINT8, BASE_DEC,
12050 NULL,
12051 0x0, NULL, HFILL}
12053 { &hf_c15ch_inc_gwe_ntwk_mod,
12054 { "C15 Incoming GWE Network Mod", "c15.inc_gwe.ntwk_mod",
12055 FT_PROTOCOL, BASE_NONE,
12056 NULL,
12057 0x0, NULL, HFILL}
12059 { &hf_c15ch_inc_gwe_rv_avail_ip_gwe_sua_hndl,
12060 { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.rv_avail.ip_gwe_sua_hndl",
12061 FT_UINT32, BASE_HEX,
12062 NULL,
12063 0x0, NULL, HFILL}
12065 { &hf_c15ch_inc_gwe_rv_avail_ip_gwe_conn_num,
12066 { "IP GWE Connection Number", "c15.inc_gwe.rv_avail.ip_gwe_conn_num",
12067 FT_UINT32, BASE_DEC,
12068 NULL,
12069 0x0, NULL, HFILL}
12071 { &hf_c15ch_inc_gwe_rv_avail_ip_gwe_info_len,
12072 { "IP GWE Info Length", "c15.inc_gwe.rv_avail.ip_gwe_info_len",
12073 FT_UINT32, BASE_DEC,
12074 NULL,
12075 0x0, NULL, HFILL}
12077 { &hf_c15ch_inc_gwe_rv_avail,
12078 { "C15 Incoming GWE RV Avail", "c15.inc_gwe.rv_avail",
12079 FT_PROTOCOL, BASE_NONE,
12080 NULL,
12081 0x0, NULL, HFILL}
12083 { &hf_c15ch_inc_gwe_cl_redir_ip_gwe_sua_hndl,
12084 { "IP GWE SipUserAgent Handle", "c15.inc_gwe.cl_redir.ip_gwe_sua_hndl",
12085 FT_UINT32, BASE_HEX,
12086 NULL,
12087 0x0, NULL, HFILL}
12089 { &hf_c15ch_inc_gwe_cl_redir_ip_gwe_conn_num,
12090 { "IP GWE Connection Number", "c15.inc_gwe.cl_redir.ip_gwe_conn_num",
12091 FT_UINT32, BASE_HEX,
12092 NULL,
12093 0x0, NULL, HFILL}
12095 { &hf_c15ch_inc_gwe_cl_redir_ip_gwe_redir_digits,
12096 { "IP GWE Redir Digits", "c15.inc_gwe.cl_redir.ip_gwe_redir_digits",
12097 FT_STRINGZ, BASE_NONE,
12098 NULL,
12099 0x0, NULL, HFILL}
12101 { &hf_c15ch_inc_gwe_cl_redir,
12102 { "C15 Incoming GWE CL Redir", "c15.inc_gwe.cl_redir",
12103 FT_PROTOCOL, BASE_NONE,
12104 NULL,
12105 0x0, NULL, HFILL}
12107 { &hf_c15ch_inc_gwe_cl_refer_ip_gwe_sua_hndl,
12108 { "IP GWE SipUserAgent Handle", "c15.inc_gwe.cl_refer.ip_gwe_sua_hndl",
12109 FT_UINT32, BASE_HEX,
12110 NULL,
12111 0x0, NULL, HFILL}
12113 { &hf_c15ch_inc_gwe_cl_refer_ip_gwe_conn_num,
12114 { "IP GWE Connection Number", "c15.inc_gwe.cl_refer.ip_gwe_conn_num",
12115 FT_UINT32, BASE_DEC,
12116 NULL,
12117 0x0, NULL, HFILL}
12119 { &hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_digits,
12120 { "IP GWE TRGT Digits", "c15.inc_gwe.cl_refer.ip_gwe_trgt_digits",
12121 FT_STRINGZ, BASE_NONE,
12122 NULL,
12123 0x0, NULL, HFILL}
12125 { &hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_tn,
12126 { "IP GWE TRGT TN", "c15.inc_gwe.cl_refer.ip_gwe_trgt_tn",
12127 FT_UINT32, BASE_HEX,
12128 NULL,
12129 0x0, NULL, HFILL}
12131 { &hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_ni,
12132 { "IP GWE TRGT NI", "c15.inc_gwe.cl_refer.ip_gwe_trgt_ni",
12133 FT_UINT32, BASE_HEX,
12134 NULL,
12135 0x0, NULL, HFILL}
12137 { &hf_c15ch_inc_gwe_cl_refer_ip_gwe_trgt_ni_tn,
12138 {"IP GWE TRGT NI/TN", "c15.inc_gwe.cl_refer.ip_gwe_trgt_tn_ni",
12139 FT_UINT64, BASE_HEX,
12140 NULL,
12141 0x0, NULL, HFILL }
12143 { &hf_c15ch_inc_gwe_cl_refer,
12144 {"C15 Incoming GWE CL Refer", "c15.inc_gwe.cl_refer",
12145 FT_PROTOCOL, BASE_NONE,
12146 NULL,
12147 0x0, NULL, HFILL }
12149 { &hf_c15ch_inc_gwe_chg_hndl_ip_gwe_sua_hndl,
12150 { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.chg_hndl.ip_gwe_sua_hndl",
12151 FT_UINT32, BASE_HEX,
12152 NULL,
12153 0x0, NULL, HFILL}
12155 { &hf_c15ch_inc_gwe_chg_hndl_ip_gwe_new_hndl,
12156 { "IP GWE Message New Sip User Agent Handle", "c15.inc_gwe.chg_hndl.ip_gwe_new_hndl",
12157 FT_UINT32, BASE_HEX,
12158 NULL,
12159 0x0, NULL, HFILL}
12161 { &hf_c15ch_inc_gwe_chg_hndl,
12162 { "C15 Incoming GWE Change Handle", "c15.inc_gwe.chg_hndl",
12163 FT_PROTOCOL, BASE_NONE,
12164 NULL,
12165 0x0, NULL, HFILL}
12167 { &hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_sua_hndl,
12168 { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.subs_chg_hndl.ip_gwe_sua_hndl",
12169 FT_UINT32, BASE_HEX,
12170 NULL,
12171 0x0, NULL, HFILL}
12173 { &hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_new_hndl,
12174 { "IP GWE Message New Sip User Agent Handle", "c15.inc_gwe.subs_chg_hndl.ip_gwe_new_hndl",
12175 FT_UINT32, BASE_HEX,
12176 NULL,
12177 0x0, NULL, HFILL}
12179 { &hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_med_ni,
12180 { "IP GWE Med NI", "c15.inc_gwe.subs_chg_hndl.ip_gwe_med_ni",
12181 FT_UINT32, BASE_HEX,
12182 NULL,
12183 0x0, NULL, HFILL}
12185 { &hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_med_tn,
12186 { "IP GWE Med TN", "c15.inc_gwe.subs_chg_hndl.ip_gwe_med_TN",
12187 FT_UINT32, BASE_HEX,
12188 NULL,
12189 0x0, NULL, HFILL}
12191 { &hf_c15ch_inc_gwe_subs_chg_hndl_ip_gwe_med_ni_tn,
12192 {"IP GWE Med NI/TN", "c15.inc_gwe.subs_chg_hndl.ip_gwe_med_ni_tn",
12193 FT_UINT64, BASE_HEX,
12194 NULL,
12195 0x0, NULL, HFILL }
12197 { &hf_c15ch_inc_gwe_subs_chg_hndl,
12198 {"C15 Incoming GWE Subscription Change Handle", "c15.inc_gwe.subs_chg_hndl",
12199 FT_PROTOCOL, BASE_NONE,
12200 NULL,
12201 0x0, NULL, HFILL }
12203 { &hf_c15ch_inc_gwe_info_ip_gwe_sua_hndl,
12204 { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.info.ip_gwe_sua_hndl",
12205 FT_UINT32, BASE_HEX,
12206 NULL,
12207 0x0, NULL, HFILL}
12209 { &hf_c15ch_inc_gwe_info_ip_gwe_info_type,
12210 { "IP GWE Info Type", "c15.inc_gwe.info.ip_gwe_info_type",
12211 FT_UINT8, BASE_DEC,
12212 NULL,
12213 0x0, NULL, HFILL}
12215 { &hf_c15ch_inc_gwe_info_ip_gwe_info_digit,
12216 { "IP GWE Info Digit", "c15.inc_gwe.info.ip_gwe_info_digit",
12217 FT_UINT32, BASE_DEC,
12218 NULL,
12219 0x0, NULL, HFILL}
12221 { &hf_c15ch_inc_gwe_info_encap_isup_msg_type,
12222 { "IP GWE Encapsulated ISUP Message Type", "c15.inc_gwe.info.encap_isup_msg_type",
12223 FT_UINT8, BASE_DEC,
12224 VALS( c15ch_inc_gwe_info_encap_isup_msg_types ),
12225 0x0, NULL, HFILL}
12227 { &hf_c15ch_inc_gwe_info,
12228 { "C15 Incoming GWE Info", "c15.inc_gwe.info",
12229 FT_PROTOCOL, BASE_NONE,
12230 NULL,
12231 0x0, NULL, HFILL}
12233 { &hf_c15ch_inc_gwe_inv_repl_ip_gwe_sua_hndl,
12234 { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.inv_repl.ip_gwe_sua_hndl",
12235 FT_UINT32, BASE_HEX,
12236 NULL,
12237 0x0, NULL, HFILL}
12239 { &hf_c15ch_inc_gwe_inv_repl_ip_gwe_conn_num,
12240 { "IP GWE Connection Number", "c15.inc_gwe.inv_repl.ip_gwe_conn_num",
12241 FT_UINT32, BASE_DEC,
12242 NULL,
12243 0x0, NULL, HFILL}
12245 { &hf_c15ch_inc_gwe_inv_repl_ip_inv_repl_rsdp_ip,
12246 { "IP Inv Repl RSDP IP", "c15.inc_gwe.inv_repl.ip_gwe_inv_repl_rsdp_ip",
12247 FT_IPv4, BASE_NONE,
12248 NULL,
12249 0x0, NULL, HFILL}
12251 { &hf_c15ch_inc_gwe_inv_repl_ip_inv_repl_rsdp_port,
12252 { "IP Inv Repl RSDP Port", "c15.inc_gwe.inv_repl.ip_gwe_inv_repl_rsdp_port",
12253 FT_UINT32, BASE_DEC,
12254 NULL,
12255 0x0, NULL, HFILL}
12257 { &hf_c15ch_inc_gwe_inv_repl,
12258 { "C15 Incoming GWE Inv Repl", "c15.inc_gwe.inv_repl",
12259 FT_PROTOCOL, BASE_NONE,
12260 NULL,
12261 0x0, NULL, HFILL}
12263 { &hf_c15ch_inc_gwe_admn_dn_ip_gwe_sua_hndl,
12264 { "IP GWE SipUserAgent Handle", "c15.inc_gwe.admn_dn.ip_gwe_sua_hndl",
12265 FT_UINT32, BASE_HEX,
12266 NULL,
12267 0x0, NULL, HFILL}
12269 { &hf_c15ch_inc_gwe_admn_dn_ip_gwe_digits,
12270 { "IP GWE Digits", "c15.inc_gwe.admn_dn.ip_gwe_digits",
12271 FT_STRINGZ, BASE_NONE,
12272 NULL,
12273 0x0, NULL, HFILL}
12275 { &hf_c15ch_inc_gwe_admn_dn,
12276 { "C15 Incoming GWE Admn DN", "c15.inc_gwe.admn_dn",
12277 FT_PROTOCOL, BASE_NONE,
12278 NULL,
12279 0x0, NULL, HFILL}
12281 { &hf_c15ch_inc_gwe_sua_reply_ip_gwe_sua_hndl,
12282 { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.sua_reply.ip_gwe_sua_hndl",
12283 FT_UINT32, BASE_HEX,
12284 NULL,
12285 0x0, NULL, HFILL}
12287 { &hf_c15ch_inc_gwe_sua_reply_ip_gwe_msg_type,
12288 { "IP GWE Message Type", "c15.inc_gwe.sua_reply.ip_gwe_msg_type",
12289 FT_UINT32, BASE_DEC,
12290 NULL,
12291 0x0, NULL, HFILL}
12293 { &hf_c15ch_inc_gwe_sua_reply_ip_gwe_stat_code,
12294 { "IP GWE Stat Code", "c15.inc_gwe.sua_reply.ip_gwe_stat_code",
12295 FT_UINT32, BASE_DEC,
12296 NULL,
12297 0x0, NULL, HFILL}
12299 { &hf_c15ch_inc_gwe_sua_reply_ip_gwe_conn_num,
12300 { "IP GWE Connection Number", "c15.inc_gwe.sua_reply.ip_gwe_conn_num",
12301 FT_UINT32, BASE_DEC,
12302 NULL,
12303 0x0, NULL, HFILL}
12305 { &hf_c15ch_inc_gwe_sua_reply_nw_mdcn_lsdp_ip,
12306 { "NW MDCN LSDP IP", "c15.inc_gwe.sua_reply.nw_mdcn_lsdp_ip",
12307 FT_IPv4, BASE_NONE,
12308 NULL,
12309 0x0, NULL, HFILL}
12311 { &hf_c15ch_inc_gwe_sua_reply_nw_mdcn_lsdp_port,
12312 { "NW MDCN LSDP Port", "c15.inc_gwe.sua_reply.nw_mdcn_lsdp_port",
12313 FT_UINT32, BASE_DEC,
12314 NULL,
12315 0x0, NULL, HFILL}
12317 { &hf_c15ch_inc_gwe_sua_reply_nw_mdcn_rsdp_ip,
12318 { "NW MDCN RSDP IP", "c15.inc_gwe.sua_reply.nw_mdcn_rsdp_ip",
12319 FT_IPv4, BASE_NONE,
12320 NULL,
12321 0x0, NULL, HFILL}
12323 { &hf_c15ch_inc_gwe_sua_reply_nw_mdcn_rsdp_port,
12324 { "NW MDCN RSDP Port", "c15.inc_gwe.sua_reply.nw_mdcn_rsdp_port",
12325 FT_UINT32, BASE_DEC,
12326 NULL,
12327 0x0, NULL, HFILL}
12329 { &hf_c15ch_inc_gwe_sua_reply,
12330 { "C15 Incoming GWE Sip User Agent Reply", "c15.inc_gwe.sua_reply",
12331 FT_PROTOCOL, BASE_NONE,
12332 NULL,
12333 0x0, NULL, HFILL}
12335 { &hf_c15ch_inc_gwe_sua_hndl_ip_gwe_sua_hndl,
12336 { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.sua_hndl.ip_gwe_sua_hndl",
12337 FT_UINT32, BASE_HEX,
12338 NULL,
12339 0x0, NULL, HFILL}
12341 { &hf_c15ch_inc_gwe_sua_hndl,
12342 { "C15 Incoming GWE Sip User Agent Handle", "c15.inc_gwe.sua_hndl",
12343 FT_PROTOCOL, BASE_NONE,
12344 NULL,
12345 0x0, NULL, HFILL}
12347 { &hf_c15ch_inc_gwe_tgh_stat_ip_gwe_sua_hndl,
12348 { "IP GWE Message Sip User Agent Handle", "c15.inc_gwe.sua_tgh_stat.ip_gwe_sua_hndl",
12349 FT_UINT32, BASE_HEX,
12350 NULL,
12351 0x0, NULL, HFILL}
12353 { &hf_c15ch_inc_gwe_tgh_stat_ip_gwe_tgh_state,
12354 { "IP GWE TGH State", "c15.inc_gwe.sua_tgh_stat.ip_gwe_tgh_state",
12355 FT_UINT8, BASE_HEX,
12356 VALS( tgh_state_types ),
12357 0x0, NULL, HFILL}
12359 { &hf_c15ch_inc_gwe_tgh_stat,
12360 { "C15 Incoming GWE Sipu User Agent TGH State", "c15.inc_gwe.sua_tgh_stat",
12361 FT_PROTOCOL, BASE_NONE,
12362 NULL,
12363 0x0, NULL, HFILL}
12367 static int *ett_third_level_inc_gwe[] = {
12368 &ett_c15ch_third_level_inc_gwe,
12369 &ett_c15ch_third_level_inc_gwe_sub1
12372 static hf_register_info hf_third_level_out_gwe[] = {
12373 /* TODO */
12374 { &hf_c15ch_out_gwe_digit_scan_voip_dgmp_override,
12375 { "VOIP DGMP Override", "c15.out_gwe.digit_scan.voip_dgmp_override",
12376 FT_UINT32, BASE_DEC,
12377 NULL,
12378 0x0, NULL, HFILL}
12380 { &hf_c15ch_out_gwe_digit_scan_actv_dgmp,
12381 { "Actv DGMP", "c15.out_gwe.digit_scan.actv_dgmp",
12382 FT_STRINGZ, BASE_NONE,
12383 NULL,
12384 0x0, NULL, HFILL}
12386 { &hf_c15ch_out_gwe_digit_scan_op_gwe_digit_scan_tone,
12387 { "OP GWE Digit Scan Tone", "c15.out_gwe.digit_scan.op_gwe_digit_scan_tone",
12388 FT_UINT8, BASE_DEC,
12389 NULL,
12390 0x0, NULL, HFILL}
12392 { &hf_c15ch_out_gwe_digit_scan_op_gwe_tone_type,
12393 { "OP GWE Digit Tone Type", "c15.out_gwe.digit_scan.op_gwe_digit_tone_type",
12394 FT_UINT8, BASE_DEC,
12395 NULL,
12396 0x0, NULL, HFILL}
12398 { &hf_c15ch_out_gwe_digit_scan_op_gwe_tone_to,
12399 { "OP GWE Digit Tone To", "c15.out_gwe.digit_scan.op_gwe_digit_tone_to",
12400 FT_UINT8, BASE_DEC,
12401 NULL,
12402 0x0, NULL, HFILL}
12404 { &hf_c15ch_out_gwe_digit_scan_op_gwe_digit_flash,
12405 { "OP GWE Digit Flash", "c15.out_gwe.digit_scan.op_gwe_digit_flash",
12406 FT_UINT8, BASE_DEC,
12407 NULL,
12408 0x0, NULL, HFILL}
12410 { &hf_c15ch_out_gwe_digit_scan,
12411 { "C15 Outgoing GWE Digit Scan", "c15.out_gwe.digit_scan",
12412 FT_PROTOCOL, BASE_NONE,
12413 NULL,
12414 0x0, NULL, HFILL}
12416 { &hf_c15ch_out_gwe_conn_num_out_gwe_conn_num,
12417 { "Outgoing GWE Connection Number", "c15.out_gwe.conn_num.out_gwe_conn_num",
12418 FT_UINT32, BASE_DEC,
12419 NULL,
12420 0x0, NULL, HFILL}
12422 { &hf_c15ch_out_gwe_conn_num,
12423 { "C15 Outgoing GWE Connection Number", "c15.out_gwe.conn_num",
12424 FT_PROTOCOL, BASE_NONE,
12425 NULL,
12426 0x0, NULL, HFILL}
12428 { &hf_c15ch_out_gwe_mk_conn_conn_num,
12429 { "Connection Number", "c15.out_gwe.mk_conn.conn_num",
12430 FT_UINT32, BASE_DEC,
12431 NULL,
12432 0x0, NULL, HFILL}
12434 { &hf_c15ch_out_gwe_mk_conn_op_mk_conn_rsdp_ip,
12435 { "OP MK Conn RSDP IP", "c15.out_gwe.mk_conn.op_mk_conn_rsdp_ip",
12436 FT_IPv4, BASE_NONE,
12437 NULL,
12438 0x0, NULL, HFILL}
12440 { &hf_c15ch_out_gwe_mk_conn_op_mk_conn_rsdp_port,
12441 { "OP MK Conn RSDP Port", "c15.out_gwe.mk_conn.op_mk_conn_rsdp_port",
12442 FT_UINT32, BASE_DEC,
12443 NULL,
12444 0x0, NULL, HFILL}
12446 { &hf_c15ch_out_gwe_mk_conn,
12447 { "C15 Outgoing GWE Mk Connection", "c15.out_gwe.mk_conn",
12448 FT_PROTOCOL, BASE_NONE,
12449 NULL,
12450 0x0, NULL, HFILL}
12452 { &hf_c15ch_out_gwe_md_conn_conn_num,
12453 { "Connection Number", "c15.out_gwe.md_conn.conn_num",
12454 FT_UINT32, BASE_DEC,
12455 NULL,
12456 0x0, NULL, HFILL}
12458 { &hf_c15ch_out_gwe_md_conn_status_code,
12459 { "Status Code", "c15.out_gwe.md_conn.status_code",
12460 FT_UINT8, BASE_DEC,
12461 NULL,
12462 0x0, NULL, HFILL}
12464 { &hf_c15ch_out_gwe_md_conn_op_gwe_mode,
12465 { "OP GWE Mode", "c15.out_gwe.md_conn.op_md_conn_op_gwe_mode",
12466 FT_UINT8, BASE_DEC,
12467 NULL,
12468 0x0, NULL, HFILL}
12470 { &hf_c15ch_out_gwe_md_conn,
12471 { "C15 Outgoing GWE MD Connection", "c15.out_gwe.md_conn",
12472 FT_PROTOCOL, BASE_NONE,
12473 NULL,
12474 0x0, NULL, HFILL}
12476 { &hf_c15ch_out_gwe_call_ans_conn_num,
12477 { "Connection Number", "c15.out_gwe.call_ans.conn_num",
12478 FT_UINT32, BASE_DEC,
12479 NULL,
12480 0x0, NULL, HFILL}
12482 { &hf_c15ch_out_gwe_call_ans_op_cl_ans_rsdp_ip,
12483 { "OP Call Answer RSDP IP", "c15.out_gwe.call_ans.op_cl_ans_rsdp_ip",
12484 FT_IPv4, BASE_NONE,
12485 NULL,
12486 0x0, NULL, HFILL}
12488 { &hf_c15ch_out_gwe_call_ans_op_cl_ans_rsdp_port,
12489 { "OP Call Answer RSDP Port", "c15.out_gwe.call_ans.op_cl_ans_rsdp_port",
12490 FT_UINT32, BASE_DEC,
12491 NULL,
12492 0x0, NULL, HFILL}
12494 { &hf_c15ch_out_gwe_call_ans_encap_isup,
12495 { "Encapsulated ISUP", "c15.out_gwe.call_ans.encap_isup",
12496 FT_UINT8, BASE_DEC,
12497 NULL,
12498 0x0, NULL, HFILL}
12500 { &hf_c15ch_out_gwe_call_ans,
12501 { "C15 Outgoing GWE Call Answer", "c15.out_gwe.call_ans",
12502 FT_PROTOCOL, BASE_NONE,
12503 NULL,
12504 0x0, NULL, HFILL}
12506 { &hf_c15ch_out_gwe_call_setup_conn_num,
12507 { "Connection Number", "c15.out_gwe.call_setup.conn_num",
12508 FT_UINT32, BASE_HEX,
12509 NULL,
12510 0x0, NULL, HFILL}
12512 { &hf_c15ch_out_gwe_call_setup_op_cl_ans_rsdp_ip,
12513 { "OP Cl Ans RSDP IP", "c15.out_gwe.call_setup.op_cl_ans_rsdp_ip",
12514 FT_IPv4, BASE_NONE,
12515 NULL,
12516 0x0, NULL, HFILL}
12518 { &hf_c15ch_out_gwe_call_setup_op_cl_ans_rsdp_port,
12519 { "OP Cl Ans RSDP Port", "c15.out_gwe.call_setup.op_cl_ans_rsdp_port",
12520 FT_UINT32, BASE_DEC,
12521 NULL,
12522 0x0, NULL, HFILL}
12524 { &hf_c15ch_out_gwe_call_setup_op_gwe_redir_digits,
12525 { "OP GWE Redir Digits", "c15.out_gwe.call_setup.op_gwe_redir_digits",
12526 FT_STRINGZ, BASE_NONE,
12527 NULL,
12528 0x0, NULL, HFILL}
12530 { &hf_c15ch_out_gwe_call_setup_op_gwe_rdir_ton,
12531 { "OP GWE Redirect TON", "c15.out_gwe.call_setup.op_gwe_rdir_ton",
12532 FT_UINT8, BASE_DEC,
12533 NULL,
12534 0x0, NULL, HFILL}
12536 { &hf_c15ch_out_gwe_call_setup_op_gwe_rdir_np,
12537 { "OP GWE Redirect NP", "c15.out_gwe.call_setup.op_gwe_rdir_np",
12538 FT_UINT8, BASE_DEC,
12539 NULL,
12540 0x0, NULL, HFILL}
12542 { &hf_c15ch_out_gwe_call_setup_op_gwe_ocn_digits,
12543 { "OP GWE OCN Digits", "c15.out_gwe.call_setup.op_gwe_ocn_digits",
12544 FT_STRINGZ, BASE_NONE,
12545 NULL,
12546 0x0, NULL, HFILL}
12548 { &hf_c15ch_out_gwe_call_setup_op_gwe_chrg_digits,
12549 { "OP GWE CHRG Digits", "c15.out_gwe.call_setup.op_gwe_chrg_digits",
12550 FT_STRINGZ, BASE_NONE,
12551 NULL,
12552 0x0, NULL, HFILL}
12554 { &hf_c15ch_out_gwe_call_setup_op_gwe_chrg_noa,
12555 { "OP GWE CHRG NOA", "c15.out_gwe.call_setup.op_gwe_chrg_noa",
12556 FT_UINT8, BASE_DEC,
12557 NULL,
12558 0x0, NULL, HFILL}
12560 { &hf_c15ch_out_gwe_call_setup_op_gwe_chrg_npi,
12561 { "OP GWE CHRG NPI", "c15.out_gwe.call_setup.op_gwe_chrg_npi",
12562 FT_UINT8, BASE_DEC,
12563 NULL,
12564 0x0, NULL, HFILL}
12566 { &hf_c15ch_out_gwe_call_setup_encap_isup,
12567 { "Encapsulated ISUP", "c15.out_gwe.call_setup.encap_isup",
12568 FT_UINT8, BASE_DEC,
12569 NULL,
12570 0x0, NULL, HFILL}
12572 { &hf_c15ch_out_gwe_call_setup,
12573 { "C15 Outgoing GWE Call Setup", "c15.out_gwe.call_setup",
12574 FT_PROTOCOL, BASE_NONE,
12575 NULL,
12576 0x0, NULL, HFILL}
12578 { &hf_c15ch_out_gwe_call_prog_conn_num,
12579 { "Connection Number", "c15.out_gwe.call_prog.conn_num",
12580 FT_UINT32, BASE_DEC,
12581 NULL,
12582 0x0, NULL, HFILL}
12584 { &hf_c15ch_out_gwe_call_prog_op_gwe_stat_code,
12585 { "OP GWE Stat Code", "c15.out_gwe.call_prog.op_gwe_stat_code",
12586 FT_UINT32, BASE_DEC,
12587 NULL,
12588 0x0, NULL, HFILL}
12590 { &hf_c15ch_out_gwe_call_prog_encap_isup,
12591 { "Encapsulated ISUP", "c15.out_gwe.call_prog.encap_isup",
12592 FT_UINT8, BASE_DEC,
12593 NULL,
12594 0x0, NULL, HFILL}
12596 { &hf_c15ch_out_gwe_call_prog,
12597 { "C15 Outgoing GWE Call Prog", "c15.out_gwe.call_prog",
12598 FT_PROTOCOL, BASE_NONE,
12599 NULL,
12600 0x0, NULL, HFILL}
12602 { &hf_c15ch_out_gwe_call_notify_op_gwe_mwi,
12603 { "OP GWE MWI", "c15.out_gwe.call_notify.op_gwe_mwi",
12604 FT_UINT32, BASE_DEC,
12605 NULL,
12606 0x0, NULL, HFILL}
12608 { &hf_c15ch_out_gwe_call_notify_status_code,
12609 { "Status Code", "c15.out_gwe.call_notify.status_code",
12610 FT_UINT32, BASE_DEC,
12611 NULL,
12612 0x0, NULL, HFILL}
12614 { &hf_c15ch_out_gwe_call_notify,
12615 { "C15 Outgoing GWE Call Notify", "c15.out_gwe.call_notify",
12616 FT_PROTOCOL, BASE_NONE,
12617 NULL,
12618 0x0, NULL, HFILL}
12620 { &hf_c15ch_out_gwe_call_rel_status_code,
12621 { "Status Code", "c15.out_gwe.call_rel.status_code",
12622 FT_UINT32, BASE_DEC,
12623 NULL,
12624 0x0, NULL, HFILL}
12626 { &hf_c15ch_out_gwe_call_rel_encap_isup,
12627 { "Encapsulated ISUP", "c15.out_gwe.call_rel.encap_isup",
12628 FT_UINT8, BASE_DEC,
12629 NULL,
12630 0x0, NULL, HFILL}
12632 { &hf_c15ch_out_gwe_call_rel,
12633 { "C15 Outgoing GWE Call Release", "c15.out_gwe.call_rel",
12634 FT_PROTOCOL, BASE_NONE,
12635 NULL,
12636 0x0, NULL, HFILL}
12638 { &hf_c15ch_out_gwe_update_ni_tn_ni,
12639 { "NI", "c15.out_gwe.update_ni_tn.ni",
12640 FT_UINT32, BASE_HEX,
12641 NULL,
12642 0x0, NULL, HFILL}
12644 { &hf_c15ch_out_gwe_update_ni_tn_tn,
12645 { "TN", "c15.out_gwe.update_ni_tn.tn",
12646 FT_UINT32, BASE_HEX,
12647 NULL,
12648 0x0, NULL, HFILL}
12650 { &hf_c15ch_out_gwe_update_ni_tn_ni_tn,
12651 { "TN", "c15.out_gwe.update_ni_tn.ni_tn",
12652 FT_UINT64, BASE_HEX,
12653 NULL,
12654 0x0, NULL, HFILL}
12656 { &hf_c15ch_out_gwe_update_ni_tn,
12657 { "C15 Outgoing GWE Update NI and TN", "c15.out_gwe.update_ni_tn",
12658 FT_PROTOCOL, BASE_NONE,
12659 NULL,
12660 0x0, NULL, HFILL}
12662 { &hf_c15ch_out_gwe_pcm_data_rb_ua_handle_near,
12663 { "RB User Agent Handle (Near)", "c15.out_gwe.pcm_data.rb_ua_handle_near",
12664 FT_UINT32, BASE_HEX,
12665 NULL,
12666 0x0, NULL, HFILL}
12668 { &hf_c15ch_out_gwe_pcm_data_rb_ua_handle_far,
12669 { "RB User Agent Handle (Far)", "c15.out_gwe.pcm_data.rb_ua_handle_far",
12670 FT_UINT32, BASE_HEX,
12671 NULL,
12672 0x0, NULL, HFILL}
12674 { &hf_c15ch_out_gwe_pcm_data,
12675 { "C15 Outgoing GWE PCM Data", "c15.out_gwe.pcm_data",
12676 FT_PROTOCOL, BASE_NONE,
12677 NULL,
12678 0x0, NULL, HFILL}
12680 { &hf_c15ch_out_gwe_blf_data_rb_ua_handle,
12681 { "RB User Agent Handle", "c15.out_gwe.blf_data.rb_ua_handle",
12682 FT_UINT32, BASE_HEX,
12683 NULL,
12684 0x0, NULL, HFILL}
12686 { &hf_c15ch_out_gwe_blf_data_rb_type,
12687 { "RB Type", "c15.out_gwe.blf_data.rb_type",
12688 FT_UINT8, BASE_DEC,
12689 NULL,
12690 0x0, NULL, HFILL}
12692 { &hf_c15ch_out_gwe_blf_data_med_ni,
12693 { "Med NI", "c15.out_gwe.blf_data.med_ni",
12694 FT_UINT32, BASE_HEX,
12695 NULL,
12696 0x0, NULL, HFILL}
12698 { &hf_c15ch_out_gwe_blf_data_med_tn,
12699 { "Med TN", "c15.out_gwe.blf_data.med_tn",
12700 FT_UINT32, BASE_HEX,
12701 NULL,
12702 0x0, NULL, HFILL}
12704 { &hf_c15ch_out_gwe_blf_data_med_ni_tn,
12705 {"Med NI/TN", "c15.out_gwe.blf_data.med_ni_tn",
12706 FT_UINT64, BASE_HEX,
12707 NULL,
12708 0x0, NULL, HFILL }
12710 { &hf_c15ch_out_gwe_blf_data_rb_ni,
12711 { "RB NI", "c15.out_gwe.blf_data.rb_ni",
12712 FT_UINT32, BASE_HEX,
12713 NULL,
12714 0x0, NULL, HFILL}
12716 { &hf_c15ch_out_gwe_blf_data_rb_tn,
12717 { "RB TN", "c15.out_gwe.blf_data.rb_tn",
12718 FT_UINT32, BASE_HEX,
12719 NULL,
12720 0x0, NULL, HFILL}
12722 { &hf_c15ch_out_gwe_blf_data_rb_ni_tn,
12723 {"RB NI/TN", "c15.out_gwe.blf_data.rb_ni_tn",
12724 FT_UINT64, BASE_HEX,
12725 NULL,
12726 0x0, NULL, HFILL }
12728 { &hf_c15ch_out_gwe_blf_data,
12729 {"C15 Outgoing GWE BLF Data", "c15.out_gwe.blf_data",
12730 FT_PROTOCOL, BASE_NONE,
12731 NULL,
12732 0x0, NULL, HFILL }
12734 { &hf_c15ch_out_gwe_out_cot_ni,
12735 { "NI", "c15.out_gwe.out_cot.ni",
12736 FT_UINT32, BASE_HEX,
12737 NULL,
12738 0x0, NULL, HFILL}
12740 { &hf_c15ch_out_gwe_out_cot_tn,
12741 { "TN", "c15.out_gwe.out_cot.tn",
12742 FT_UINT32, BASE_HEX,
12743 NULL,
12744 0x0, NULL, HFILL}
12746 { &hf_c15ch_out_gwe_out_cot_ni_tn,
12747 {"NI/TN", "c15.out_gwe.out_cot.ni_tn",
12748 FT_UINT64, BASE_HEX,
12749 NULL,
12750 0x0, NULL, HFILL }
12752 { &hf_c15ch_out_gwe_out_cot,
12753 {"C15 Outgoing GWE Out COT", "c15.out_gwe.out_cot",
12754 FT_PROTOCOL, BASE_NONE,
12755 NULL,
12756 0x0, NULL, HFILL }
12758 { &hf_c15ch_out_gwe_ring_line_op_gwe_display,
12759 { "OP GWE Display", "c15.out_gwe.ring_line.op_gwe_display",
12760 FT_UINT8, BASE_DEC,
12761 NULL,
12762 0x0, NULL, HFILL}
12764 { &hf_c15ch_out_gwe_ring_line_op_gwe_display_chars,
12765 { "OP GWE Display Chars", "c15.out_gwe.ring_line.op_gwe_display_chars",
12766 FT_STRINGZ, BASE_NONE,
12767 NULL,
12768 0x0, NULL, HFILL}
12770 { &hf_c15ch_out_gwe_ring_line,
12771 { "C15 Outgoing GWE Ring Line", "c15.out_gwe.ring_line",
12772 FT_PROTOCOL, BASE_NONE,
12773 NULL,
12774 0x0, NULL, HFILL}
12776 { &hf_c15ch_out_gwe_audit_conn_ni,
12777 { "NI", "c15.out_gwe.audit_conn.ni",
12778 FT_UINT32, BASE_HEX,
12779 NULL,
12780 0x0, NULL, HFILL}
12782 { &hf_c15ch_out_gwe_audit_conn_tn,
12783 { "TN", "c15.out_gwe.audit_conn.tn",
12784 FT_UINT32, BASE_HEX,
12785 NULL,
12786 0x0, NULL, HFILL}
12788 { &hf_c15ch_out_gwe_audit_conn_ni_tn,
12789 {"NI/TN", "c15.out_gwe.audit_conn.ni_tn",
12790 FT_UINT64, BASE_HEX,
12791 NULL,
12792 0x0, NULL, HFILL }
12794 { &hf_c15ch_out_gwe_audit_conn_context,
12795 { "Context", "c15.out_gwe.audit_conn.context",
12796 FT_UINT32, BASE_DEC,
12797 NULL,
12798 0x0, NULL, HFILL}
12800 { &hf_c15ch_out_gwe_audit_conn,
12801 { "C15 Outgoing GWE Audit Connection", "c15.out_gwe.audit_conn",
12802 FT_PROTOCOL, BASE_NONE,
12803 NULL,
12804 0x0, NULL, HFILL}
12806 { &hf_c15ch_out_gwe_sac_sub_valid_op_gwe_subs_valid,
12807 { "OP GWE Subs Valid", "c15.out_gwe.sac_sub_valid.op_gwe_subs_valid",
12808 FT_UINT8, BASE_DEC,
12809 NULL,
12810 0x0, NULL, HFILL}
12812 { &hf_c15ch_out_gwe_sac_sub_valid_op_gwe_num_list_items,
12813 { "OP GWE Num List Items", "c15.out_gwe.sac_sub_valid.op_gwe_num_list_items",
12814 FT_UINT32, BASE_DEC,
12815 NULL,
12816 0x0, NULL, HFILL}
12818 { &hf_c15ch_out_gwe_sac_sub_valid,
12819 { "C15 Outgoing GWE SAC Subscription Valid", "c15.out_gwe.sac_sub_valid",
12820 FT_PROTOCOL, BASE_NONE,
12821 NULL,
12822 0x0, NULL, HFILL}
12824 { &hf_c15ch_out_gwe_sac_notify_op_gwe_blf_state,
12825 { "OP GWE BLF State", "c15.out_gwe.sac_notify.op_gwe_blf_state",
12826 FT_UINT8, BASE_DEC,
12827 NULL,
12828 0x0, NULL, HFILL}
12830 { &hf_c15ch_out_gwe_sac_notify_op_gwe_subs_state,
12831 { "OP GWE Subscription State", "c15.out_gwe.sac_notify.op_gwe_subs_state",
12832 FT_UINT8, BASE_DEC,
12833 NULL,
12834 0x0, NULL, HFILL}
12836 { &hf_c15ch_out_gwe_sac_notify,
12837 { "C15 Outgoing GWE SAC Notify", "c15.out_gwe.sac_notify",
12838 FT_PROTOCOL, BASE_NONE,
12839 NULL,
12840 0x0, NULL, HFILL}
12842 { &hf_c15ch_out_gwe_sac_list_entry_op_gwe_med_uri,
12843 { "OP GWE Med URI", "c15.out_gwe.sac_list_entry.op_gwe_med_uri",
12844 FT_STRINGZ, BASE_NONE,
12845 NULL,
12846 0x0, NULL, HFILL}
12848 { &hf_c15ch_out_gwe_sac_list_entry,
12849 { "C15 Outgoing GWE SAC List Entry", "c15.out_gwe.sac_list_entry",
12850 FT_PROTOCOL, BASE_NONE,
12851 NULL,
12852 0x0, NULL, HFILL}
12854 { &hf_c15ch_out_gwe_rv_subs_data_rb_fe_ni,
12855 { "RB Fe NI", "c15.out_gwe.rv_subs_data.rb_fe_ni",
12856 FT_UINT32, BASE_HEX,
12857 NULL,
12858 0x0, NULL, HFILL}
12860 { &hf_c15ch_out_gwe_rv_subs_data_rb_fe_tn,
12861 { "RB Fe TN", "c15.out_gwe.rv_subs_data.rb_fe_tn",
12862 FT_UINT32, BASE_HEX,
12863 NULL,
12864 0x0, NULL, HFILL}
12866 { &hf_c15ch_out_gwe_rv_subs_data_rb_fe_ni_tn,
12867 {"Rb Fe NI/TN", "c15.out_gwe.rv_subs_data.rb_fe_ni_tn",
12868 FT_UINT64, BASE_HEX,
12869 NULL,
12870 0x0, NULL, HFILL }
12872 { &hf_c15ch_out_gwe_rv_subs_data,
12873 {"C15 Outgoing GWE Radvision Subscription Data", "c15.out_gwe.rv_subs_data",
12874 FT_PROTOCOL, BASE_NONE,
12875 NULL,
12876 0x0, NULL, HFILL }
12878 { &hf_c15ch_out_gwe_update_rec_addr_op_new_rec_addr,
12879 { "OP New Rec Addr", "c15.out_gwe.update_rec_addr.op_new_rec_addr",
12880 FT_UINT32, BASE_HEX,
12881 NULL,
12882 0x0, NULL, HFILL}
12884 { &hf_c15ch_out_gwe_update_rec_addr,
12885 { "C15 Outgoing GWE Update Rec Address", "c15.out_gwe.update_rec_addr",
12886 FT_PROTOCOL, BASE_NONE,
12887 NULL,
12888 0x0, NULL, HFILL}
12890 { &hf_c15ch_out_gwe_del_subs_ua_op_sip_ua_hndl,
12891 { "OP SIP UA Handle", "c15.out_gwe.del_subs_ua.op_sip_ua_hndl",
12892 FT_UINT32, BASE_HEX,
12893 NULL,
12894 0x0, NULL, HFILL}
12896 { &hf_c15ch_out_gwe_del_subs_ua,
12897 { "C15 Outgoing GWE Delete Subscription User Agent", "c15.out_gwe.del_subs_ua",
12898 FT_PROTOCOL, BASE_NONE,
12899 NULL,
12900 0x0, NULL, HFILL}
12902 { &hf_c15ch_out_gwe_line_sprvsn_op_gwe_ofhk_event,
12903 { "OP GWE Off-Hook Event", "c15.out_gwe.line_sprvsn.op_gwe_ofhk_event",
12904 FT_UINT8, BASE_DEC,
12905 NULL,
12906 0x0, NULL, HFILL}
12908 { &hf_c15ch_out_gwe_line_sprvsn_op_gwe_onhk_event,
12909 { "OP GWE On-Hook Event", "c15.out_gwe.line_sprvsn.op_gwe_onhk_event",
12910 FT_UINT8, BASE_DEC,
12911 NULL,
12912 0x0, NULL, HFILL}
12914 { &hf_c15ch_out_gwe_line_sprvsn_op_gwe_flhk_event,
12915 { "OP GWE Flash-Hook Event", "c15.out_gwe.line_sprvsn.op_gwe_flhk_event",
12916 FT_UINT8, BASE_DEC,
12917 NULL,
12918 0x0, NULL, HFILL}
12920 { &hf_c15ch_out_gwe_line_sprvsn,
12921 { "C15 Outgoing GWE Line SPRVSN", "c15.out_gwe.line_sprvsn",
12922 FT_PROTOCOL, BASE_NONE,
12923 NULL,
12924 0x0, NULL, HFILL}
12926 { &hf_c15ch_out_gwe_sip_info_op_gwe_sip_info_type,
12927 { "OP GWE SIP Info Type", "c15.out_gwe.sip_info.op_gwe_sip_info_type",
12928 FT_UINT8, BASE_DEC,
12929 NULL,
12930 0x0, NULL, HFILL}
12932 { &hf_c15ch_out_gwe_sip_info_op_gwe_sip_info,
12933 { "OP GWE SIP Info", "c15.out_gwe.sip_info.op_gwe_sip_info",
12934 FT_UINT32, BASE_DEC,
12935 NULL,
12936 0x0, NULL, HFILL}
12938 { &hf_c15ch_out_gwe_sip_info,
12939 { "C15 Outgoing GWE SIP Info", "c15.out_gwe.sip_info",
12940 FT_PROTOCOL, BASE_NONE,
12941 NULL,
12942 0x0, NULL, HFILL}
12944 { &hf_c15ch_out_gwe_sip_refer_op_gwe_refer_ua_hndl,
12945 { "OP GWE Refer User Agent Handle", "c15.out_gwe.sip_refer.op_gwe_refer_ua_hndl",
12946 FT_UINT32, BASE_HEX,
12947 NULL,
12948 0x0, NULL, HFILL}
12950 { &hf_c15ch_out_gwe_sip_refer,
12951 { "C15 Outgoing GWE SIP Refer", "c15.out_gwe.sip_refer",
12952 FT_PROTOCOL, BASE_NONE,
12953 NULL,
12954 0x0, NULL, HFILL}
12958 static int *ett_third_level_out_gwe[] = {
12959 &ett_c15ch_third_level_out_gwe,
12960 &ett_c15ch_third_level_out_gwe_sub1,
12961 &ett_c15ch_third_level_out_gwe_sub2
12963 /* protocols */
12965 /* first level: Call History Common Header */
12966 proto_c15ch = proto_register_protocol("C15 Call History Common Header Protocol", "C15.ch", "c15.ch");
12967 proto_register_field_array(proto_c15ch, hf, array_length(hf));
12968 proto_register_subtree_array(ett, array_length(ett));
12970 c15ch_handle = register_dissector("c15.ch", dissect_c15ch, proto_c15ch);
12972 /* second level dissector */
12973 proto_c15ch_second_level = proto_register_protocol("C15 Call History Protocol", "C15", "c15");
12974 proto_register_field_array(proto_c15ch_second_level, hf_second_level, array_length(hf_second_level));
12975 proto_register_subtree_array(ett_second_level, array_length(ett_second_level));
12976 c15ch_dissector_table = register_dissector_table("c15", "C15", proto_c15ch, FT_UINT32, BASE_DEC);
12978 /* third level */
12979 /* tone */
12980 proto_c15ch_third_level_tone = proto_register_protocol("C15 Tone", "C15.TONE", "c15.tone");
12981 proto_register_field_array(proto_c15ch_third_level_tone, hf_third_level_tone, array_length(hf_third_level_tone));
12982 proto_register_subtree_array(ett_third_level_tone, array_length(ett_third_level_tone));
12983 c15ch_tone_dissector_table = register_dissector_table("c15.tone", "C15.TONE", proto_c15ch_third_level_tone, FT_UINT32, BASE_DEC);
12985 /* inc gwe */
12986 proto_c15ch_third_level_inc_gwe = proto_register_protocol("C15 Incoming GWE", "C15.INC_GWE", "c15.inc_gwe");
12987 proto_register_field_array(proto_c15ch_third_level_inc_gwe, hf_third_level_inc_gwe, array_length(hf_third_level_inc_gwe));
12988 proto_register_subtree_array(ett_third_level_inc_gwe, array_length(ett_third_level_inc_gwe));
12989 c15ch_inc_gwe_dissector_table = register_dissector_table("c15.inc_gwe", "C15.INC_GWE", proto_c15ch_third_level_inc_gwe, FT_UINT32, BASE_DEC);
12991 /* out gwe */
12992 proto_c15ch_third_level_out_gwe = proto_register_protocol("C15 Outgoing GWE", "C15.out_gwe", "c15.out_gwe");
12993 proto_register_field_array(proto_c15ch_third_level_out_gwe, hf_third_level_out_gwe, array_length(hf_third_level_out_gwe));
12994 proto_register_subtree_array(ett_third_level_out_gwe, array_length(ett_third_level_out_gwe));
12995 c15ch_out_gwe_dissector_table = register_dissector_table("c15.out_gwe", "C15.out_gwe", proto_c15ch_third_level_out_gwe, FT_UINT32, BASE_DEC);
12999 /* handoff */
13000 /* heartbeat dissector */
13001 void proto_reg_handoff_c15ch_hbeat(void)
13003 dissector_add_uint("ethertype", ETHERTYPE_C15_HBEAT, c15ch_hbeat_handle);
13006 /* c15 non-heartbeat dissectors : first-level, second-level, and third-level */
13007 void proto_reg_handoff_c15ch(void)
13009 dissector_handle_t c15ch_second_level_handle;
13010 dissector_handle_t c15ch_third_level_handle;
13011 /* first level */
13012 dissector_add_uint("ethertype", ETHERTYPE_C15_CH, c15ch_handle);
13014 /* second_level */
13015 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_cp_state_ch, proto_c15ch_second_level);
13016 dissector_add_uint("c15", C15_CP_STATE_CH, c15ch_second_level_handle);
13018 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_cp_event, proto_c15ch_second_level);
13019 dissector_add_uint("c15", C15_CP_EVENT, c15ch_second_level_handle);
13021 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_isup, proto_c15ch_second_level);
13022 dissector_add_uint("c15", C15_ISUP, c15ch_second_level_handle);
13024 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_nitnxlate, proto_c15ch_second_level);
13025 dissector_add_uint("c15", C15_NITN_XLATE, c15ch_second_level_handle);
13027 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_route, proto_c15ch_second_level);
13028 dissector_add_uint("c15", C15_ROUTE, c15ch_second_level_handle);
13030 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_sccp, proto_c15ch_second_level);
13031 dissector_add_uint("c15", C15_SCCP, c15ch_second_level_handle);
13033 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_orig, proto_c15ch_second_level);
13034 dissector_add_uint("c15", C15_CP_ORIG, c15ch_second_level_handle);
13036 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_conn, proto_c15ch_second_level);
13037 dissector_add_uint("c15", C15_CONN, c15ch_second_level_handle);
13039 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_ntwk_conn, proto_c15ch_second_level);
13040 dissector_add_uint("c15", C15_NTWK_CONN, c15ch_second_level_handle);
13042 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_mkbrk, proto_c15ch_second_level);
13043 dissector_add_uint("c15", C15_MK_BRK, c15ch_second_level_handle);
13045 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_pathfind, proto_c15ch_second_level);
13046 dissector_add_uint("c15", C15_PATH_FIND, c15ch_second_level_handle);
13048 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_pathidle, proto_c15ch_second_level);
13049 dissector_add_uint("c15", C15_PATH_IDLE, c15ch_second_level_handle);
13051 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_dest_digits, proto_c15ch_second_level);
13052 dissector_add_uint("c15", C15_DEST_DIGITS, c15ch_second_level_handle);
13054 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_twc_rswch, proto_c15ch_second_level);
13055 dissector_add_uint("c15", C15_TWC_RSWCH, c15ch_second_level_handle);
13057 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_srcedest, proto_c15ch_second_level);
13058 dissector_add_uint("c15", C15_SRCE_DEST, c15ch_second_level_handle);
13060 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe, proto_c15ch_second_level);
13061 dissector_add_uint("c15", C15_INC_GWE, c15ch_second_level_handle);
13063 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_out_gwe, proto_c15ch_second_level);
13064 dissector_add_uint("c15", C15_OUT_GWE, c15ch_second_level_handle);
13066 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_outgwebc, proto_c15ch_second_level);
13067 dissector_add_uint("c15", C15_OUT_GWE_BC, c15ch_second_level_handle);
13069 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_q931, proto_c15ch_second_level);
13070 dissector_add_uint("c15", C15_Q931, c15ch_second_level_handle);
13072 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_ama, proto_c15ch_second_level);
13073 dissector_add_uint("c15", C15_AMA, c15ch_second_level_handle);
13075 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_qos, proto_c15ch_second_level);
13076 dissector_add_uint("c15", C15_QOS, c15ch_second_level_handle);
13078 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_echo_cancel, proto_c15ch_second_level);
13079 dissector_add_uint("c15", C15_ECHO_CANCEL, c15ch_second_level_handle);
13081 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_tone, proto_c15ch_second_level);
13082 dissector_add_uint("c15", C15_TONE, c15ch_second_level_handle);
13084 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_encap_isup, proto_c15ch_second_level);
13085 dissector_add_uint("c15", C15_ENCAP_ISUP, c15ch_second_level_handle);
13087 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_tcap, proto_c15ch_second_level);
13088 dissector_add_uint("c15", C15_TCAP, c15ch_second_level_handle);
13090 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_clli, proto_c15ch_second_level);
13091 dissector_add_uint("c15", C15_CLLI, c15ch_second_level_handle);
13093 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_info, proto_c15ch_second_level);
13094 dissector_add_uint("c15", C15_INFO, c15ch_second_level_handle);
13096 /* Second level for new Generic Messages, Correlate Messages, Alarm Messages, and TTY Messages */
13097 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_generic_msg_1, proto_c15ch_second_level);
13098 dissector_add_uint("c15", C15_GENERIC_MSG_1, c15ch_second_level_handle);
13100 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_generic_msg_2, proto_c15ch_second_level);
13101 dissector_add_uint("c15", C15_GENERIC_MSG_2, c15ch_second_level_handle);
13103 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_generic_msg_3, proto_c15ch_second_level);
13104 dissector_add_uint("c15", C15_GENERIC_MSG_3, c15ch_second_level_handle);
13106 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_generic_msg_4, proto_c15ch_second_level);
13107 dissector_add_uint("c15", C15_GENERIC_MSG_4, c15ch_second_level_handle);
13109 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_generic_msg_5, proto_c15ch_second_level);
13110 dissector_add_uint("c15", C15_GENERIC_MSG_5, c15ch_second_level_handle);
13112 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_correlate_msg, proto_c15ch_second_level);
13113 dissector_add_uint("c15", C15_CORRELATE_MSG, c15ch_second_level_handle);
13115 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_sip_reg_subs_report, proto_c15ch_second_level);
13116 dissector_add_uint("c15", C15_SIP_REG_SUBS_REPORT, c15ch_second_level_handle);
13118 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_sys_alarm, proto_c15ch_second_level);
13119 dissector_add_uint("c15", C15_SYS_ALARM, c15ch_second_level_handle);
13121 c15ch_second_level_handle = create_dissector_handle(dissect_c15ch_c15_tty_msg, proto_c15ch_second_level);
13122 dissector_add_uint("c15", C15_TTY_MSG, c15ch_second_level_handle);
13124 /* third level */
13125 /* tone */
13126 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_cot_control, proto_c15ch_third_level_tone);
13127 dissector_add_uint("c15.tone", C15_TONE_COT, c15ch_third_level_handle);
13129 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_cpm, proto_c15ch_third_level_tone);
13130 dissector_add_uint("c15.tone", C15_TONE_CPM, c15ch_third_level_handle);
13132 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_give_tone, proto_c15ch_third_level_tone);
13133 dissector_add_uint("c15.tone", C15_TONE_GIVE_TONE, c15ch_third_level_handle);
13135 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_madn_ring, proto_c15ch_third_level_tone);
13136 dissector_add_uint("c15.tone", C15_TONE_MADN_RING, c15ch_third_level_handle);
13138 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_opls, proto_c15ch_third_level_tone);
13139 dissector_add_uint("c15.tone", C15_TONE_OPLS, c15ch_third_level_handle);
13141 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_rcvr, proto_c15ch_third_level_tone);
13142 dissector_add_uint("c15.tone", C15_TONE_RCVR, c15ch_third_level_handle);
13144 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_timeout, proto_c15ch_third_level_tone);
13145 dissector_add_uint("c15.tone", C15_TONE_TIMEOUT, c15ch_third_level_handle);
13147 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_tone_tone_control, proto_c15ch_third_level_tone);
13148 dissector_add_uint("c15.tone", C15_TONE_TONE_CONTROL, c15ch_third_level_handle);
13150 /* inc gwe */
13151 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_reply, proto_c15ch_third_level_inc_gwe);
13152 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_REPLY, c15ch_third_level_handle);
13154 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_bc_pgi, proto_c15ch_third_level_inc_gwe);
13155 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_BC_PGI, c15ch_third_level_handle);
13157 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_mgcp_dlcx, proto_c15ch_third_level_inc_gwe);
13158 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_MGCP_DLCX, c15ch_third_level_handle);
13160 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_h248_digit, proto_c15ch_third_level_inc_gwe);
13161 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_H248_DIGIT, c15ch_third_level_handle);
13163 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_voip_cot, proto_c15ch_third_level_inc_gwe);
13164 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_VOIP_COT, c15ch_third_level_handle);
13166 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_notify, proto_c15ch_third_level_inc_gwe);
13167 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_NOTIFY, c15ch_third_level_handle);
13169 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_admn_updt, proto_c15ch_third_level_inc_gwe);
13170 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_ADMN_UPDT_REC, c15ch_third_level_handle);
13172 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_cl_setup, proto_c15ch_third_level_inc_gwe);
13173 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_CL_SETUP, c15ch_third_level_handle);
13175 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_ptrk_setup, proto_c15ch_third_level_inc_gwe);
13176 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_PTRK_SETUP, c15ch_third_level_handle);
13178 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_cl_prog, proto_c15ch_third_level_inc_gwe);
13179 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_CL_PROG, c15ch_third_level_handle);
13181 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_cl_ans, proto_c15ch_third_level_inc_gwe);
13182 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_CL_ANS, c15ch_third_level_handle);
13184 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_cl_rel, proto_c15ch_third_level_inc_gwe);
13185 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_CL_REL, c15ch_third_level_handle);
13187 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_ntwk_mod, proto_c15ch_third_level_inc_gwe);
13188 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_NTWK_MOD, c15ch_third_level_handle);
13190 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_rv_avail, proto_c15ch_third_level_inc_gwe);
13191 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_RV_AVAIL, c15ch_third_level_handle);
13193 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_cl_redir, proto_c15ch_third_level_inc_gwe);
13194 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_CL_REDIR, c15ch_third_level_handle);
13196 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_cl_refer, proto_c15ch_third_level_inc_gwe);
13197 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_CL_REFER, c15ch_third_level_handle);
13199 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_chg_hndl, proto_c15ch_third_level_inc_gwe);
13200 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_CHG_HDL, c15ch_third_level_handle);
13202 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_subs_chg_hndl, proto_c15ch_third_level_inc_gwe);
13203 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_SUBS_CHG_HDL, c15ch_third_level_handle);
13205 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_info, proto_c15ch_third_level_inc_gwe);
13206 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_INFO, c15ch_third_level_handle);
13208 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_inv_repl, proto_c15ch_third_level_inc_gwe);
13209 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_INV_REPL, c15ch_third_level_handle);
13211 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_admn_dn, proto_c15ch_third_level_inc_gwe);
13212 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_ADMN_DN, c15ch_third_level_handle);
13214 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_sua_reply, proto_c15ch_third_level_inc_gwe);
13215 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_SUA_REPLY, c15ch_third_level_handle);
13217 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_sua_hndl, proto_c15ch_third_level_inc_gwe);
13218 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_SUA_HNDL, c15ch_third_level_handle);
13220 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_inc_gwe_tgh_stat, proto_c15ch_third_level_inc_gwe);
13221 dissector_add_uint("c15.inc_gwe", C15_INC_GWE_SUA_TGH_STAT, c15ch_third_level_handle);
13223 /* out gwe */
13224 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_digit_scan, proto_c15ch_third_level_out_gwe);
13225 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_DIGIT_SCAN, c15ch_third_level_handle);
13227 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_conn_num, proto_c15ch_third_level_out_gwe);
13228 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_CONN_NUM, c15ch_third_level_handle);
13230 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_mk_conn, proto_c15ch_third_level_out_gwe);
13231 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_MK_CONN, c15ch_third_level_handle);
13233 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_md_conn, proto_c15ch_third_level_out_gwe);
13234 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_MD_CONN, c15ch_third_level_handle);
13236 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_call_ans, proto_c15ch_third_level_out_gwe);
13237 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_CALL_ANS, c15ch_third_level_handle);
13239 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_call_setup, proto_c15ch_third_level_out_gwe);
13240 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_CALL_SETUP, c15ch_third_level_handle);
13242 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_call_prog, proto_c15ch_third_level_out_gwe);
13243 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_CALL_PROG, c15ch_third_level_handle);
13245 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_call_notify, proto_c15ch_third_level_out_gwe);
13246 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_CALL_NOTIFY, c15ch_third_level_handle);
13248 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_call_rel, proto_c15ch_third_level_out_gwe);
13249 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_CALL_REL, c15ch_third_level_handle);
13251 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_update_ni_tn, proto_c15ch_third_level_out_gwe);
13252 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_UPDT_NI_TN, c15ch_third_level_handle);
13254 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_pcm_data, proto_c15ch_third_level_out_gwe);
13255 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_PCM_DATA, c15ch_third_level_handle);
13257 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_blf_data, proto_c15ch_third_level_out_gwe);
13258 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_BLF_DATA, c15ch_third_level_handle);
13260 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_out_cot, proto_c15ch_third_level_out_gwe);
13261 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_COT, c15ch_third_level_handle);
13263 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_ring_line, proto_c15ch_third_level_out_gwe);
13264 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_RING_LINE, c15ch_third_level_handle);
13266 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_audit_conn, proto_c15ch_third_level_out_gwe);
13267 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_AUDIT_CONN, c15ch_third_level_handle);
13269 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_sac_sub_valid, proto_c15ch_third_level_out_gwe);
13270 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_SAC_SUB_VALID, c15ch_third_level_handle);
13272 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_sac_notify, proto_c15ch_third_level_out_gwe);
13273 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_SAC_NOTIFY, c15ch_third_level_handle);
13275 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_sac_list_entry, proto_c15ch_third_level_out_gwe);
13276 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_SAC_LIST_ENTRY, c15ch_third_level_handle);
13278 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_rv_subs_data, proto_c15ch_third_level_out_gwe);
13279 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_RV_SUBS_DATA, c15ch_third_level_handle);
13281 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_update_rec_addr, proto_c15ch_third_level_out_gwe);
13282 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_UPDT_REC_ADDR, c15ch_third_level_handle);
13284 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_del_subs_ua, proto_c15ch_third_level_out_gwe);
13285 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_DEL_SUBS_UA, c15ch_third_level_handle);
13287 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_line_sprvsn, proto_c15ch_third_level_out_gwe);
13288 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_LINE_SPRVSN, c15ch_third_level_handle);
13290 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_sip_info, proto_c15ch_third_level_out_gwe);
13291 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_SIP_INFO, c15ch_third_level_handle);
13293 c15ch_third_level_handle = create_dissector_handle(dissect_c15ch_out_gwe_sip_refer, proto_c15ch_third_level_out_gwe);
13294 dissector_add_uint("c15.out_gwe", C15_OUT_GWE_SIP_REFER, c15ch_third_level_handle);
13296 /* find external dissectors */
13297 general_isup_handle = find_dissector_add_dependency("isup", proto_c15ch);
13298 general_sccp_handle = find_dissector_add_dependency("sccp", proto_c15ch);
13299 general_q931_handle = find_dissector_add_dependency("q931", proto_c15ch);
13304 * Editor modelines - https://www.wireshark.org/tools/modelines.html
13306 * Local variables:
13307 * c-basic-offset: 4
13308 * tab-width: 8
13309 * indent-tabs-mode: nil
13310 * End:
13312 * vi: set shiftwidth=4 tabstop=8 expandtab:
13313 * :indentSize=4:tabSize=8:noTabs=true: