FIXUP: WIP: verification_trailer
[wireshark-wip.git] / epan / dissectors / packet-h248_annex_c.c
blob8afc8c3970707d2310f900a0c6f96175cd235b28
1 /*
2 * packet-h248-annex_c.c
3 * H.248 annex C
5 * (c) 2006, Luis E. Garcia Ontanon <luis@ontanon.org>
7 * $Id$
9 * Wireshark - Network traffic analyzer
10 * By Gerald Combs <gerald@wireshark.org>
11 * Copyright 1998 Gerald Combs
13 * This program is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License
15 * as published by the Free Software Foundation; either version 2
16 * of the License, or (at your option) any later version.
18 * This program is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU General Public License for more details.
23 * You should have received a copy of the GNU General Public License
24 * along with this program; if not, write to the Free Software
25 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
28 #include "config.h"
30 #include <epan/wmem/wmem.h>
32 #include "packet-h248.h"
33 #define PNAME "H.248 Annex C"
34 #define PSNAME "H248C"
35 #define PFNAME "h248c"
37 /* H.248 Annex C */
38 static int proto_h248_pkg_annexc = -1;
40 static int hf_h248_pkg_annexc_media = -1;
41 static int hf_h248_pkg_annexc_ACodec = -1;
42 static int hf_h248_pkg_annexc_Mediatx = -1;
43 static int hf_h248_pkg_annexc_NSAP = -1;
44 static int hf_h248_pkg_annexc_BIR = -1;
45 static int hf_h248_pkg_annexc_transmission_mode = -1;
46 static int hf_h248_pkg_annexc_num_of_channels = -1;
47 static int hf_h248_pkg_annexc_sampling_rate = -1;
48 static int hf_h248_pkg_annexc_bit_rate = -1;
49 static int hf_h248_pkg_annexc_samplepp = -1;
50 static int hf_h248_pkg_annexc_silence_supp = -1;
51 static int hf_h248_pkg_annexc_encrypt_type = -1;
52 static int hf_h248_pkg_annexc_encrypt_key = -1;
53 static int hf_h248_pkg_annexc_gain = -1;
54 static int hf_h248_pkg_annexc_jitterbuf = -1;
55 static int hf_h248_pkg_annexc_propdelay = -1;
56 static int hf_h248_pkg_annexc_rtp_payload = -1;
58 static int hf_h248_pkg_annexc_h222 = -1;
59 static int hf_h248_pkg_annexc_h223 = -1;
60 static int hf_h248_pkg_annexc_v76 = -1;
61 static int hf_h248_pkg_annexc_h2250 = -1;
63 static int hf_h248_pkg_annexc_aesa = -1;
64 static int hf_h248_pkg_annexc_vp = -1;
65 static int hf_h248_pkg_annexc_vc = -1;
66 static int hf_h248_pkg_annexc_sc = -1;
67 static int hf_h248_pkg_annexc_bcob = -1;
68 static int hf_h248_pkg_annexc_bbtc = -1;
69 static int hf_h248_pkg_annexc_atc = -1;
70 static int hf_h248_pkg_annexc_stc = -1;
71 static int hf_h248_pkg_annexc_uppc = -1;
72 static int hf_h248_pkg_annexc_pcr0 = -1;
73 static int hf_h248_pkg_annexc_scr0 = -1;
74 static int hf_h248_pkg_annexc_mbs0 = -1;
75 static int hf_h248_pkg_annexc_pcr1 = -1;
76 static int hf_h248_pkg_annexc_scr1 = -1;
77 static int hf_h248_pkg_annexc_mbs1 = -1;
78 static int hf_h248_pkg_annexc_bei = -1;
79 static int hf_h248_pkg_annexc_ti = -1;
80 static int hf_h248_pkg_annexc_fd = -1;
81 static int hf_h248_pkg_annexc_a2pcdv = -1;
82 static int hf_h248_pkg_annexc_c2pcdv = -1;
83 static int hf_h248_pkg_annexc_appcdv = -1;
84 static int hf_h248_pkg_annexc_cppcdv = -1;
85 static int hf_h248_pkg_annexc_aclr = -1;
86 static int hf_h248_pkg_annexc_meetd = -1;
87 static int hf_h248_pkg_annexc_ceetd = -1;
88 static int hf_h248_pkg_annexc_QosClass = -1;
89 static int hf_h248_pkg_annexc_AALtype = -1;
91 static int hf_h248_pkg_annexc_dlci = -1;
92 static int hf_h248_pkg_annexc_cid = -1;
93 static int hf_h248_pkg_annexc_sid = -1;
94 static int hf_h248_pkg_annexc_ppt = -1;
96 static int hf_h248_pkg_annexc_ipv4 = -1;
97 static int hf_h248_pkg_annexc_ipv6 = -1;
98 static int hf_h248_pkg_annexc_port = -1;
99 static int hf_h248_pkg_annexc_porttype = -1;
101 static int hf_h248_pkg_annexc_alc = -1;
102 static int hf_h248_pkg_annexc_sut = -1;
103 static int hf_h248_pkg_annexc_tci = -1;
104 static int hf_h248_pkg_annexc_timer_cu = -1;
105 static int hf_h248_pkg_annexc_maxcpssdu = -1;
107 static int hf_h248_pkg_annexc_aal1st = -1;
108 static int hf_h248_pkg_annexc_cbrr = -1;
109 static int hf_h248_pkg_annexc_scri = -1;
110 static int hf_h248_pkg_annexc_ecm = -1;
111 static int hf_h248_pkg_annexc_sdbt = -1;
112 static int hf_h248_pkg_annexc_pfci = -1;
114 static int hf_h248_pkg_annexc_tmr = -1;
115 static int hf_h248_pkg_annexc_tmrsr = -1;
116 static int hf_h248_pkg_annexc_contcheck = -1;
117 static int hf_h248_pkg_annexc_itc = -1;
118 static int hf_h248_pkg_annexc_transmode = -1;
119 static int hf_h248_pkg_annexc_transrate = -1;
120 static int hf_h248_pkg_annexc_mult = -1;
121 static int hf_h248_pkg_annexc_syncasync = -1;
122 static int hf_h248_pkg_annexc_negotiation = -1;
123 static int hf_h248_pkg_annexc_userrate = -1;
124 static int hf_h248_pkg_annexc_intrate = -1;
125 static int hf_h248_pkg_annexc_nictx = -1;
126 static int hf_h248_pkg_annexc_nicrx = -1;
127 static int hf_h248_pkg_annexc_flowconttx = -1;
128 static int hf_h248_pkg_annexc_flowcontrx = -1;
129 static int hf_h248_pkg_annexc_rateadapthdr = -1;
130 static int hf_h248_pkg_annexc_multiframe = -1;
131 static int hf_h248_pkg_annexc_opmode = -1;
132 static int hf_h248_pkg_annexc_llidnegot = -1;
133 static int hf_h248_pkg_annexc_assign = -1;
134 static int hf_h248_pkg_annexc_inbandneg = -1;
135 static int hf_h248_pkg_annexc_stopbits = -1;
136 static int hf_h248_pkg_annexc_databits = -1;
137 static int hf_h248_pkg_annexc_parity = -1;
138 static int hf_h248_pkg_annexc_duplexmode = -1;
139 static int hf_h248_pkg_annexc_modem = -1;
140 static int hf_h248_pkg_annexc_layer2prot = -1;
141 static int hf_h248_pkg_annexc_layer3prot = -1;
142 static int hf_h248_pkg_annexc_addlayer3prot = -1;
143 static int hf_h248_pkg_annexc_dialedn = -1;
144 static int hf_h248_pkg_annexc_dialingn = -1;
145 static int hf_h248_pkg_annexc_echoci = -1;
146 static int hf_h248_pkg_annexc_nci = -1;
147 static int hf_h248_pkg_annexc_USI = -1;
149 static int hf_h248_pkg_annexc_fmsdu = -1;
150 static int hf_h248_pkg_annexc_bmsdu = -1;
151 static int hf_h248_pkg_annexc_sscs = -1;
153 static int hf_h248_pkg_annexc_sdp_v = -1;
154 static int hf_h248_pkg_annexc_sdp_o = -1;
155 static int hf_h248_pkg_annexc_sdp_s = -1;
156 static int hf_h248_pkg_annexc_sdp_i = -1;
157 static int hf_h248_pkg_annexc_sdp_u = -1;
158 static int hf_h248_pkg_annexc_sdp_e = -1;
159 static int hf_h248_pkg_annexc_sdp_p = -1;
160 static int hf_h248_pkg_annexc_sdp_c = -1;
161 static int hf_h248_pkg_annexc_sdp_b = -1;
162 static int hf_h248_pkg_annexc_sdp_z = -1;
163 static int hf_h248_pkg_annexc_sdp_k = -1;
164 static int hf_h248_pkg_annexc_sdp_a = -1;
165 static int hf_h248_pkg_annexc_sdp_t = -1;
166 static int hf_h248_pkg_annexc_sdp_r = -1;
167 static int hf_h248_pkg_annexc_sdp_m = -1;
169 static int hf_h248_pkg_annexc_olc = -1;
170 static int hf_h248_pkg_annexc_olcack = -1;
171 static int hf_h248_pkg_annexc_olccnf = -1;
172 static int hf_h248_pkg_annexc_olcrej = -1;
173 static int hf_h248_pkg_annexc_clc = -1;
174 static int hf_h248_pkg_annexc_clcack = -1;
178 static gint ett_annexc = -1;
179 static gint ett_vpvc = -1;
180 static gint ett_codec = -1;
182 static const value_string h248_annexc_package_properties_vals[] = {
183 { 0x0000, "Media stream properties H.248.1 Annex C" },
184 { 0x1001, "media" },
185 { 0x1002, "transmission mode" },
186 { 0x1003, "num_of_channels" },
187 { 0x1004, "sampling_rate" },
188 { 0x1005, "bit_rate" },
189 { 0x1006, "ACodec" },
190 { 0x1007, "samplepp" },
191 { 0x1008, "silence_supp" },
192 { 0x1009, "encrypt_type" },
193 { 0x100A, "encrypt_key" },
194 { 0x100B, "echo canceller" },
195 { 0x100C, "gain" },
196 { 0x100D, "jitterbuf" },
197 { 0x100E, "propdelay" },
198 { 0x100F, "rtp_payload" },
200 { 0x2001, "h222" },
201 { 0x2002, "h223" },
202 { 0x2003, "v76" },
203 { 0x2004, "h2250" },
205 { 0x3001, "Mediatx" },
206 { 0x3002, "BIR" },
207 { 0x3003, "NSAP" },
209 { 0x4001, "aesa" },
210 { 0x4002, "vp" },
211 { 0x4003, "sc" },
212 { 0x4004, "bcob" },
213 { 0x4005, "bbtc" },
214 { 0x4006, "atc" },
215 { 0x4007, "stc" },
216 { 0x4008, "uppc" },
217 { 0x4009, "pcr0" },
218 { 0x400a, "scr0" },
219 { 0x400b, "mbs0" },
220 { 0x400c, "pcr1" },
221 { 0x400d, "scr1" },
222 { 0x400e, "mbs1" },
223 { 0x400f, "bei" },
224 { 0x4010, "ti" },
225 { 0x4011, "fd" },
226 { 0x4012, "a2pcdv" },
227 { 0x4013, "c2pcdv" },
228 { 0x4014, "appcdv" },
229 { 0x4015, "cppcdv" },
230 { 0x4016, "aclr" },
231 { 0x4017, "meetd" },
232 { 0x4018, "ceetd" },
233 { 0x4019, "QosClass" },
234 { 0x401a, "AALtype" },
236 { 0x5001, "DLCI" },
237 { 0x5002, "CID" },
238 { 0x5003, "SID/Noiselevel" },
239 { 0x5004, "PPT" },
241 { 0x6001, "IPv4" },
242 { 0x6002, "IPv6" },
243 { 0x6003, "Port" },
244 { 0x6004, "Porttype" },
246 { 0x7001, "AESA" },
247 { 0x7002, "ALC" },
248 { 0x7003, "SSCS" },
249 { 0x7004, "SUT" },
250 { 0x7005, "TCI" },
251 { 0x7006, "Timer_CU" },
252 { 0x7007, "MaxCPSSDU" },
253 { 0x7008, "CID" },
255 { 0x8001, "AAL1ST" },
256 { 0x8002, "CBRR" },
257 { 0x8003, "SCRI" },
258 { 0x8004, "ECM" },
259 { 0x8005, "SDTB" },
260 { 0x8006, "PFCI" },
262 { 0x9001, "TMR" },
263 { 0x9008, "USI" },
264 { 0x9009, "syncasync" },
265 { 0x900a, "negotiation" },
266 { 0x900b, "userrate" },
267 { 0x900c, "intrate" },
268 { 0x900d, "nictx" },
269 { 0x900e, "nicrx" },
270 { 0x900f, "flowconttx" },
271 { 0x9010, "flowcontrx" },
272 { 0x9011, "rateadapthdr" },
273 { 0x9012, "multiframe" },
274 { 0x9013, "opmode" },
275 { 0x9014, "llnegot" },
276 { 0x9015, "assign" },
277 { 0x9016, "inbandneg" },
278 { 0x9017, "stopbits" },
279 { 0x9018, "databits" },
280 { 0x9019, "parity" },
281 { 0x901a, "duplexmode" },
282 { 0x901b, "modem" },
283 { 0x901c, "layer2prot" },
284 { 0x901d, "layer3prot" },
285 { 0x901e, "addlayer3prot" },
286 { 0x901f, "DialledN" },
287 { 0x9020, "DiallingN" },
288 { 0x9021, "ECHOCI" },
289 { 0x9022, "NCI" },
290 { 0x9023, "USI" },
292 { 0xA001, "FMSDU" },
293 { 0xA002, "BMSDU" },
295 { 0xB001, "SDP_V (Protocol Version)" },
296 { 0xB002, "SDP_O (Owner/creator)" },
297 { 0xB003, "SDP_S (Session Name)" },
298 { 0xB004, "SDP_I (Session Identifier)" },
299 { 0xB005, "SDP_U (URI)" },
300 { 0xB006, "SDP_E (email address)" },
301 { 0xB007, "SDP_P (phone number)" },
302 { 0xB008, "SDP_C (connection)" },
303 { 0xB009, "SDP_B (bandwidth info)" },
304 { 0xB00A, "SDP_Z (TZ adjustment)" },
305 { 0xB00B, "SDP_K (encryption key)" },
306 { 0xB00C, "SDP_A (Session attributes)" },
307 { 0xB00D, "SDP_T (Active Session Time)" },
308 { 0xB00E, "SDP_R (Repeat times)" },
309 { 0xB00F, "SDP_M (Media type, portm transport and format)" },
311 { 0xC001, "OLC" },
312 { 0xC002, "OLCack" },
313 { 0xC003, "OLCcnf" },
314 { 0xC004, "OLCrej" },
315 { 0xC005, "CLC" },
316 { 0xC006, "CLCack" },
318 { 0, NULL }
323 static const value_string h248_annexc_media_vals[] = {
324 { 0, "Audio" },
325 { 1, "Video" },
326 { 2, "Data" },
327 { 0, NULL }
330 static const value_string h248_pkg_annexc_Mediatx_vals[] = {
331 { 0x0000, "TDM Circuit" },
332 { 0x0001, "ATM" },
333 { 0x0002, "FR" },
334 { 0x0003, "Ipv4" },
335 { 0x0004, "Ipv6" },
336 {0, NULL}
339 static const value_string h248_annexc_transmission_mode[] = {
340 {0,"Send"},
341 {1,"Receive"},
342 {2,"Send&Receive"},
343 {0,NULL}
346 static const value_string h248_pkg_annexc_sc[] _U_ = {
347 {0,"CBR"},
348 {1,"nrt-VBR1"},
349 {2,"nrt-VBR2"},
350 {3,"nrt-VBR3"},
351 {4,"rt-VBR1"},
352 {5,"rt-VBR2"},
353 {6,"rt-VBR3"},
354 {7,"UBR1"},
355 {8,"UBR2"},
356 {9,"ABR"},
357 {0,NULL}
360 static const value_string h248_pkg_annexc_atc_values[] = {
361 {0,"DBR"},
362 {1,"SBR1"},
363 {2,"SBR2"},
364 {3,"SBR3"},
365 {4,"ABT/IT"},
366 {5,"ABT/DT"},
367 {6,"ABR"},
368 {0,NULL}
371 static const value_string h248_pkg_annexc_stc_values[] = {
372 {0,"Not Susceptible to clipping"},
373 {1,"Susceptible to clipping"},
374 {0,NULL}
377 static const value_string h248_pkg_annexc_uppc_values[] = {
378 {0,"point-to-point"},
379 {1,"point-to-multipoint"},
380 {0,NULL}
383 static const value_string h248_pkg_annexc_syncasync_values[] = {
384 {0, "Synchronous Data"},
385 {1, "Asynchronous Data"},
386 {0,NULL}
389 static const value_string h248_pkg_annexc_negotiation_values[] = {
390 {0, "In-Band negotiation possible"},
391 {1, "In-Band negotiation not possible"},
392 {0,NULL}
395 static const value_string h248_pkg_annexc_userrate_values[] = {
396 {0x0,"E-Bit specified I.460 or higher negotiated in-band"},
397 {0x1,"0.6 kbps (X.1)"},
398 {0x2,"1.2 kbps"},
399 {0x3,"2.4 kbps (X.1)"},
400 {0x4,"3.6 kbps"},
401 {0x5,"4.8 kbps (X.1)"},
402 {0x6,"7.2 kbps"},
403 {0x7,"8 kbps (I.460)"},
404 {0x8,"9.6 kbps (X.1)"},
405 {0x9,"14.4 kbps"},
406 {0xa,"16 kbps (I.460)"},
407 {0xb,"19.2 kbps"},
408 {0xc,"32 kbps (I.460)"},
409 {0xd,"38.4 kbps (V.110)"},
410 {0xe,"48 kbps (X.1)"},
411 {0xf,"56 kbps"},
413 {0x12,"57.6 kbps (V.14 extended)"},
414 {0x13,"28.8 kbps (V.110)"},
415 {0x14,"24 kbps (V.110)"},
416 {0x15,"0.1345 kbps (X.1)"},
417 {0x16,"0.100 kbps (X.1)"},
418 {0x17,"0.075/1.2 kbps (X.1)"},
419 {0x18,"1.2/0.075 kbps (X.1)"},
420 {0x19,"0.050 kbps (X.1)"},
421 {0x1a,"0.075 kbps (X.1)"},
422 {0x1b,"0.110 kbps (X.1)"},
423 {0x1c,"0.150 kbps (X.1)"},
424 {0x1d,"0.200 kbps (X.1)"},
425 {0x1e,"0.300 kbps (X.1)"},
426 {0x1f,"12 kbps (X.1)"},
428 {0,NULL}
431 static const value_string h248_pkg_annexc_intrate_values[] = {
432 {0x0,"Not Used"},
433 {0x1,"8 kbps"},
434 {0x2,"16 kbps"},
435 {0x3,"32 kbps"},
436 {0,NULL}
440 static const value_string h248_pkg_annexc_nictx_values[] = {
441 {0,"Not required to transmit with NIC"},
442 {1,"Required to transmit with NIC"},
443 {0,NULL}
446 static const value_string h248_pkg_annexc_nicrx_values[] = {
447 {0,"Cannot accept data with NIC"},
448 {1,"Can accept data with NIC"},
449 {0,NULL}
453 static const value_string h248_pkg_annexc_flowconttx_values[] = {
454 {0,"Not Required"},
455 {1,"Required"},
456 {0,NULL}
459 static const value_string h248_pkg_annexc_flowcontrx_values[] = {
460 {0,"Cannot accept data with flow control mechanism"},
461 {1,"Can accept data with flow control mechanism"},
462 {0,NULL}
465 static const value_string h248_pkg_annexc_rateadapthdr_values[] = {
466 {0,"not included"},
467 {1,"included"},
468 {0,NULL}
471 static const value_string h248_pkg_annexc_multiframe_values[] = {
472 {0,"not supported"},
473 {1,"supported"},
474 {0,NULL}
477 static const value_string h248_pkg_annexc_opmode_values[] = {
478 {0,"bit transparent"},
479 {1,"protocol sensitive"},
480 {0,NULL}
483 static const value_string h248_pkg_annexc_llidnegot_values[] = {
484 {0,"Default, LLI=256 only"},
485 {1,"Full protocol negotiation"},
486 {0,NULL}
489 static const value_string h248_pkg_annexc_assign_values[] = {
490 {0,"Originator is default assignee"},
491 {1,"Originator is assignor only"},
492 {0,NULL}
495 static const value_string h248_pkg_annexc_inbandneg_values[] = {
496 {0,"negotiation on temporary signalling connection"},
497 {1,"negotiation in-band"},
498 {0,NULL}
501 static const value_string h248_pkg_annexc_stopbits_values[] = {
502 {0,"none"},
503 {1,"1 bit"},
504 {2,"1.5 bits"},
505 {3,"2 bits"},
506 {0,NULL}
510 static const value_string h248_pkg_annexc_databits_values[] = {
511 {0,"Not Used"},
512 {1,"5 bits"},
513 {2,"7 bits"},
514 {3,"8 bits"},
515 {0,NULL}
519 static const value_string h248_pkg_annexc_parity_values[] = {
520 {0,"Odd"},
521 {2,"Even"},
522 {3,"None"},
523 {4,"Forced to 0"},
524 {5,"Forced to 1"},
525 {0,NULL}
529 static const value_string h248_pkg_annexc_duplexmode_values[] = {
530 {0,"Half Duplex"},
531 {1,"Full Duplex"},
532 {0,NULL}
536 static const value_string h248_pkg_annexc_modem_values[] = {
537 {0x00,"National Use"},
538 {0x01,"National Use"},
539 {0x02,"National Use"},
540 {0x03,"National Use"},
541 {0x04,"National Use"},
542 {0x05,"National Use"},
544 {0x11,"V.21"},
545 {0x12,"V.22"},
546 {0x13,"V.22bis"},
547 {0x14,"V.23"},
548 {0x15,"V.26"},
549 {0x16,"V.26bis"},
550 {0x17,"V.26ter"},
551 {0x18,"V.27"},
552 {0x19,"V.27bis"},
553 {0x1A,"V.27ter"},
554 {0x1B,"V.29"},
555 {0x1D,"V.32"},
556 {0x1E,"V.34"},
558 {0x20,"National Use"},
559 {0x21,"National Use"},
560 {0x22,"National Use"},
561 {0x23,"National Use"},
562 {0x24,"National Use"},
563 {0x25,"National Use"},
564 {0x26,"National Use"},
565 {0x27,"National Use"},
566 {0x28,"National Use"},
567 {0x29,"National Use"},
568 {0x2a,"National Use"},
569 {0x2b,"National Use"},
570 {0x2c,"National Use"},
571 {0x2d,"National Use"},
572 {0x2e,"National Use"},
573 {0x2f,"National Use"},
575 {0x30,"User Specified"},
576 {0x31,"User Specified"},
577 {0x32,"User Specified"},
578 {0x33,"User Specified"},
579 {0x34,"User Specified"},
580 {0x35,"User Specified"},
581 {0x36,"User Specified"},
582 {0x37,"User Specified"},
583 {0x38,"User Specified"},
584 {0x39,"User Specified"},
585 {0x3a,"User Specified"},
586 {0x3b,"User Specified"},
587 {0x3c,"User Specified"},
588 {0x3d,"User Specified"},
589 {0x3e,"User Specified"},
590 {0x3f,"User Specified"},
592 {0,NULL}
596 static const value_string h248_pkg_annexc_layer2prot_values[] = {
597 {0x2,"Q.921/I.441"},
598 {0x6,"X.25, link layer"},
599 {0xC,"LLC (ISO/IEC 8802-2)"},
600 {0,NULL}
603 static const value_string h248_pkg_annexc_layer3prot_values[] = {
604 {0x2,"Q.921/I.441"},
605 {0x6,"X.25, packet layer"},
606 {0xC,"IP, ISO/IEC TR 9577"},
607 {0,NULL}
610 static const value_string h248_pkg_annexc_addlayer3prot_values[] = {
611 {0xCC,"IP (RFC 791)"},
612 {0xCF,"PPP (RFC 1661)"},
613 {0,NULL}
616 static const value_string h248_pkg_annexc_nci_satellite_values[] _U_ = {
617 {0x0,"no satellite circuit"},
618 {0x1,"one satellite circuit"},
619 {0x2,"two satellite circuits"},
620 {0x3,"spare"},
621 {0,NULL}
624 static const value_string h248_pkg_annexc_nci_continuity_values[] _U_ = {
625 {0x0,"continuity check not required"},
626 {0x1,"continuity check required on this circuit"},
627 {0x2,"continuity check performed on a previous circuit"},
628 {0x3,"spare"},
629 {0,NULL}
632 static const value_string h248_pkg_annexc_nci_echoctl_values[] _U_ = {
633 {0x0,"outgoing echo control device not included"},
634 {0x1,"outgoing echo control device included"},
635 {0,NULL}
639 static const value_string h248_pkg_annexc_QosClass_values[] = {
640 {0x0,"Default"},
641 {0x1,"Stringent"},
642 {0x2,"Tolerant"},
643 {0x3,"Bi-Level"},
644 {0x4,"Unbounded"},
645 {0x5,"Stringent Bi-level"},
646 {0,NULL}
649 static const value_string h248_pkg_annexc_AALtype_values[] = {
650 {0x0,"AAL for Voice"},
651 {0x1,"AAL1"},
652 {0x2,"AAL2"},
653 {0x3,"AAL3/4"},
654 {0x5,"AAL5"},
655 {0x10,"User Defined"},
656 {0,NULL}
659 static const value_string h248_pkg_annexc_porttype_values[] = {
660 {0x0,"TCP"},
661 {0x1,"UDP"},
662 {0x2,"SCTP"},
663 {0,NULL}
666 static const value_string h248_pkg_annexc_aal1st_values[] = {
667 {0x0,"null"},
668 {0x1,"voiceband signal transport on 64kbps"},
669 {0x2,"circuit transport"},
670 {0x4,"high quality audio signal transport"},
671 {0x5,"video signal transport"},
672 {0,NULL}
675 static const value_string h248_pkg_annexc_cbrr_values[] = {
676 {0x01,"64 kbps"},
677 {0x04,"1544 kbps"},
678 {0x05,"6312 kbps"},
679 {0x06,"32064 kbps"},
680 {0x07,"44736 kbps"},
681 {0x08,"44736 kbps"},
682 {0x10,"2048 kbps"},
683 {0x11,"8448 kbps"},
684 {0x12,"34368 kbps"},
685 {0x13,"139264 kbps"},
686 {0x40,"n * 64 kbps"},
687 {0x41,"n * 8 kbps"},
688 {0,NULL}
691 static const value_string h248_pkg_annexc_scri_values[] = {
692 {0x0,"null"},
693 {0x1,"SRTS"},
694 {0x2,"ACM"},
695 {0,NULL}
699 static const value_string h248_pkg_annexc_ecm_values[] = {
700 {0x0,"null"},
701 {0x1,"FEC - Loss"},
702 {0x2,"FEC - Delay"},
703 {0,NULL}
707 static const value_string h248_pkg_annexc_tmrsr_values[] = {
708 /* TO DO */
709 {0,NULL}
713 static const value_string h248_pkg_annexc_contcheck_values[] = {
714 /* TO DO */
715 {0,NULL}
718 static const value_string h248_pkg_annexc_itc_values[] = {
719 /* TO DO */
720 {0,NULL}
724 static const value_string h248_pkg_annexc_transmode_values[] = {
725 /* TO DO */
726 {0,NULL}
730 static const value_string h248_pkg_annexc_transrate_values[] = {
731 /* TO DO */
732 {0,NULL}
737 static void dissect_h248_annexc_acodec(proto_tree* tree,
738 tvbuff_t* tvb,
739 packet_info* pinfo,
740 int hfid,
741 h248_curr_info_t* h248_info _U_,
742 void* implicit_p ) {
743 int len;
744 tvbuff_t* new_tvb;
745 asn1_ctx_t asn1_ctx;
747 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
748 dissect_ber_octet_string(implicit_p ? *((gboolean*)implicit_p) : FALSE, &asn1_ctx, tree, tvb, 0, hfid, &new_tvb);
750 tree = proto_item_add_subtree(asn1_ctx.created_item,ett_codec);
751 len = tvb_length(new_tvb);
752 dissect_codec_mode(tree,new_tvb,0,len);
755 static void dissect_h248_annexc_BIR(proto_tree* tree,
756 tvbuff_t* tvb,
757 packet_info* pinfo,
758 int hfid,
759 h248_curr_info_t* h248_info,
760 void* implicit_p ) {
761 tvbuff_t* new_tvb = NULL;
762 asn1_ctx_t asn1_ctx;
764 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
765 dissect_ber_octet_string(implicit_p ? *((gboolean*)implicit_p) : FALSE, &asn1_ctx, tree, tvb, 0, hfid, &new_tvb);
767 if ( new_tvb && h248_info->term && ! h248_info->term->bir ) {
768 h248_info->term->bir = wmem_strdup(wmem_file_scope(), tvb_bytes_to_str(new_tvb,0,tvb_length(new_tvb)));
772 static void dissect_h248_annexc_NSAP(proto_tree* tree,
773 tvbuff_t* tvb,
774 packet_info* pinfo,
775 int hfid,
776 h248_curr_info_t* h248_info,
777 void* implicit_p ) {
778 tvbuff_t* new_tvb = NULL;
779 asn1_ctx_t asn1_ctx;
781 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
782 dissect_ber_octet_string(implicit_p ? *((gboolean*)implicit_p) : FALSE, &asn1_ctx, tree, tvb, 0, hfid, &new_tvb);
783 if (new_tvb) {
784 dissect_nsap(new_tvb, 0,tvb_length(new_tvb), tree);
785 if ( h248_info->term && ! h248_info->term->nsap) {
786 h248_info->term->nsap = wmem_strdup(wmem_file_scope(), tvb_bytes_to_str(new_tvb,0,tvb_length(new_tvb)));
791 static void dissect_h248_annexc_vpvc(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo _U_, int hfid, h248_curr_info_t* h248_info _U_, void* unused _U_) {
792 proto_item* pi = proto_tree_add_item(tree,hfid,tvb,0,2,ENC_BIG_ENDIAN);
793 proto_tree* pt = proto_item_add_subtree(pi,ett_vpvc);
794 proto_tree_add_item(pt,hf_h248_pkg_annexc_vp,tvb,0,2,ENC_BIG_ENDIAN);
795 proto_tree_add_item(pt,hf_h248_pkg_annexc_vc,tvb,2,2,ENC_BIG_ENDIAN);
798 static void dissect_h248_annexc_USI(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, int hfid, h248_curr_info_t* h248_info _U_, void* implicit_p) {
799 tvbuff_t* new_tvb = NULL;
800 asn1_ctx_t asn1_ctx;
802 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
803 dissect_ber_octet_string(implicit_p ? *((gboolean*)implicit_p) : FALSE, &asn1_ctx, tree, tvb, 0, hfid, &new_tvb);
804 if (new_tvb)
805 dissect_q931_bearer_capability_ie(new_tvb, 0, tvb_length(new_tvb), tree);
808 static void dissect_h248_annexc_SDP(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, int hfid, h248_curr_info_t* h248_info _U_, void* implicit_p _U_) {
809 asn1_ctx_t asn1_ctx;
811 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
812 dissect_ber_restricted_string( FALSE, BER_UNI_TAG_IA5String,
813 &asn1_ctx, tree, tvb, 0, hfid,
814 NULL);
817 gboolean h248_c_implicit = TRUE;
819 static h248_pkg_param_t h248_annexc_package_properties[] = {
820 { 0x1001, &hf_h248_pkg_annexc_media, h248_param_ber_integer, NULL },
821 { 0x1002, &hf_h248_pkg_annexc_transmission_mode, h248_param_ber_integer, NULL },
822 { 0x1003, &hf_h248_pkg_annexc_num_of_channels, h248_param_ber_integer, NULL },
823 { 0x1004, &hf_h248_pkg_annexc_sampling_rate, h248_param_ber_integer, NULL },
824 { 0x1005, &hf_h248_pkg_annexc_bit_rate, h248_param_ber_integer, NULL },
825 { 0x1006, &hf_h248_pkg_annexc_ACodec, dissect_h248_annexc_acodec, NULL },
826 { 0x1007, &hf_h248_pkg_annexc_samplepp, h248_param_ber_integer, NULL },
827 { 0x1008, &hf_h248_pkg_annexc_silence_supp, h248_param_ber_boolean, NULL },
828 { 0x1009, &hf_h248_pkg_annexc_encrypt_type, h248_param_ber_octetstring, NULL }, /* XXX Hand over to what in H.245? */
829 { 0x100A, &hf_h248_pkg_annexc_encrypt_key, h248_param_ber_integer, NULL },
830 { 0x100C, &hf_h248_pkg_annexc_gain, h248_param_ber_integer, NULL },
831 { 0x100D, &hf_h248_pkg_annexc_jitterbuf, h248_param_ber_integer, NULL },
832 { 0x100E, &hf_h248_pkg_annexc_propdelay, h248_param_ber_integer, NULL },
833 { 0x100F, &hf_h248_pkg_annexc_rtp_payload, h248_param_ber_integer, NULL },
835 { 0x2001, &hf_h248_pkg_annexc_h222, h248_param_ber_octetstring, NULL },
836 { 0x2002, &hf_h248_pkg_annexc_h223, h248_param_ber_octetstring, NULL },
837 { 0x2003, &hf_h248_pkg_annexc_v76, h248_param_ber_octetstring, NULL },
838 { 0x2004, &hf_h248_pkg_annexc_h2250, h248_param_ber_octetstring, NULL },
840 { 0x3001, &hf_h248_pkg_annexc_Mediatx, h248_param_ber_integer, NULL },
841 { 0x3002, &hf_h248_pkg_annexc_BIR, dissect_h248_annexc_BIR, NULL },
842 { 0x3003, &hf_h248_pkg_annexc_NSAP, dissect_h248_annexc_NSAP, NULL },
844 { 0x4001, &hf_h248_pkg_annexc_aesa, h248_param_ber_octetstring, NULL },
845 { 0x4002, &hf_h248_pkg_annexc_vp, dissect_h248_annexc_vpvc, NULL },
846 { 0x4003, &hf_h248_pkg_annexc_sc, h248_param_ber_integer, NULL },
847 { 0x4004, &hf_h248_pkg_annexc_bcob, h248_param_ber_integer, NULL },
848 { 0x4005, &hf_h248_pkg_annexc_bbtc, h248_param_ber_integer, NULL },
849 { 0x4006, &hf_h248_pkg_annexc_atc, h248_param_ber_integer, NULL },
850 { 0x4007, &hf_h248_pkg_annexc_stc, h248_param_ber_integer, NULL },
851 { 0x4008, &hf_h248_pkg_annexc_uppc, h248_param_ber_integer, NULL },
852 { 0x4009, &hf_h248_pkg_annexc_pcr0, h248_param_ber_octetstring, NULL },
853 { 0x400a, &hf_h248_pkg_annexc_scr0, h248_param_ber_octetstring, NULL },
854 { 0x400b, &hf_h248_pkg_annexc_mbs0, h248_param_ber_octetstring, NULL },
855 { 0x400c, &hf_h248_pkg_annexc_pcr1, h248_param_ber_octetstring, NULL },
856 { 0x400d, &hf_h248_pkg_annexc_scr1, h248_param_ber_octetstring, NULL },
857 { 0x400e, &hf_h248_pkg_annexc_mbs1, h248_param_ber_octetstring, NULL },
858 { 0x400f, &hf_h248_pkg_annexc_bei, h248_param_ber_boolean, NULL },
859 { 0x4010, &hf_h248_pkg_annexc_ti, h248_param_ber_boolean, NULL },
860 { 0x4011, &hf_h248_pkg_annexc_fd, h248_param_ber_boolean, NULL },
861 { 0x4012, &hf_h248_pkg_annexc_a2pcdv, h248_param_ber_octetstring, NULL },
862 { 0x4013, &hf_h248_pkg_annexc_c2pcdv, h248_param_ber_octetstring, NULL },
863 { 0x4014, &hf_h248_pkg_annexc_appcdv, h248_param_ber_octetstring, NULL },
864 { 0x4015, &hf_h248_pkg_annexc_cppcdv, h248_param_ber_octetstring, NULL },
865 { 0x4016, &hf_h248_pkg_annexc_aclr, h248_param_ber_integer, NULL },
866 { 0x4017, &hf_h248_pkg_annexc_meetd, h248_param_ber_octetstring,NULL },
867 { 0x4018, &hf_h248_pkg_annexc_ceetd, h248_param_ber_octetstring,NULL },
868 { 0x4019, &hf_h248_pkg_annexc_QosClass, h248_param_ber_integer, NULL },
869 { 0x401A, &hf_h248_pkg_annexc_AALtype, h248_param_ber_integer, NULL },
871 { 0x5001, &hf_h248_pkg_annexc_dlci, h248_param_ber_integer, NULL },
872 { 0x5002, &hf_h248_pkg_annexc_cid, h248_param_ber_integer, NULL },
873 { 0x5003, &hf_h248_pkg_annexc_sid, h248_param_ber_integer, NULL },
874 { 0x5004, &hf_h248_pkg_annexc_ppt, h248_param_ber_integer, NULL },
876 { 0x6001, &hf_h248_pkg_annexc_ipv4, h248_param_ber_octetstring, NULL },
877 { 0x6002, &hf_h248_pkg_annexc_ipv6, h248_param_ber_octetstring,NULL },
878 { 0x6003, &hf_h248_pkg_annexc_port, h248_param_ber_integer, NULL },
879 { 0x6004, &hf_h248_pkg_annexc_porttype, h248_param_ber_integer, NULL },
881 { 0x7001, &hf_h248_pkg_annexc_aesa, h248_param_ber_octetstring, NULL },
882 { 0x7002, &hf_h248_pkg_annexc_alc, h248_param_ber_octetstring,NULL }, /* from ALCAP */
883 { 0x7003, &hf_h248_pkg_annexc_sscs, h248_param_ber_octetstring, NULL },
884 { 0x7004, &hf_h248_pkg_annexc_sut, h248_param_ber_octetstring, NULL },
885 { 0x7005, &hf_h248_pkg_annexc_tci, h248_param_ber_boolean, NULL },
886 { 0x7006, &hf_h248_pkg_annexc_timer_cu, h248_param_ber_octetstring, NULL },
887 { 0x7007, &hf_h248_pkg_annexc_maxcpssdu, h248_param_ber_integer, NULL },
888 { 0x7008, &hf_h248_pkg_annexc_cid, h248_param_ber_integer, NULL },
890 { 0x8001, &hf_h248_pkg_annexc_aal1st, h248_param_ber_integer, NULL },
891 { 0x8002, &hf_h248_pkg_annexc_cbrr, h248_param_ber_integer, NULL },
892 { 0x8003, &hf_h248_pkg_annexc_scri, h248_param_ber_integer, NULL },
893 { 0x8004, &hf_h248_pkg_annexc_ecm, h248_param_ber_integer, NULL },
894 { 0x8005, &hf_h248_pkg_annexc_sdbt, h248_param_ber_octetstring,NULL },
895 { 0x8006, &hf_h248_pkg_annexc_pfci, h248_param_ber_integer, NULL },
897 { 0x9001, &hf_h248_pkg_annexc_tmr, h248_param_ber_octetstring, NULL },
898 { 0x9002, &hf_h248_pkg_annexc_tmrsr, h248_param_ber_integer, NULL },
899 { 0x9003, &hf_h248_pkg_annexc_contcheck, h248_param_ber_integer, NULL },
900 { 0x9004, &hf_h248_pkg_annexc_itc, h248_param_ber_integer, NULL },
901 { 0x9005, &hf_h248_pkg_annexc_transmode, h248_param_ber_integer, NULL },
902 { 0x9006, &hf_h248_pkg_annexc_transrate, h248_param_ber_integer, NULL },
903 { 0x9007, &hf_h248_pkg_annexc_mult, h248_param_ber_integer, NULL },
904 { 0x9008, &hf_h248_pkg_annexc_USI, dissect_h248_annexc_USI, NULL },
905 { 0x9009, &hf_h248_pkg_annexc_syncasync, h248_param_ber_integer, NULL },
906 { 0x900A, &hf_h248_pkg_annexc_negotiation, h248_param_ber_integer, NULL },
907 { 0x900B, &hf_h248_pkg_annexc_userrate, h248_param_ber_integer, NULL },
908 { 0x900C, &hf_h248_pkg_annexc_intrate, h248_param_ber_integer, NULL },
909 { 0x900D, &hf_h248_pkg_annexc_nictx, h248_param_ber_boolean, NULL },
910 { 0x900E, &hf_h248_pkg_annexc_nicrx, h248_param_ber_boolean, NULL },
911 { 0x900F, &hf_h248_pkg_annexc_flowconttx, h248_param_ber_boolean, NULL },
912 { 0x9010, &hf_h248_pkg_annexc_flowcontrx, h248_param_ber_boolean, NULL },
913 { 0x9011, &hf_h248_pkg_annexc_rateadapthdr, h248_param_ber_boolean, NULL },
914 { 0x9012, &hf_h248_pkg_annexc_multiframe, h248_param_ber_boolean, NULL },
915 { 0x9013, &hf_h248_pkg_annexc_opmode, h248_param_ber_boolean, NULL },
916 { 0x9014, &hf_h248_pkg_annexc_llidnegot, h248_param_ber_boolean, NULL },
917 { 0x9015, &hf_h248_pkg_annexc_assign, h248_param_ber_boolean, NULL },
918 { 0x9016, &hf_h248_pkg_annexc_inbandneg, h248_param_ber_boolean, NULL },
919 { 0x9017, &hf_h248_pkg_annexc_stopbits, h248_param_ber_integer, NULL },
920 { 0x9018, &hf_h248_pkg_annexc_databits, h248_param_ber_integer, NULL },
921 { 0x9019, &hf_h248_pkg_annexc_parity, h248_param_ber_integer, NULL },
922 { 0x901a, &hf_h248_pkg_annexc_duplexmode, h248_param_ber_integer, NULL },
923 { 0x901b, &hf_h248_pkg_annexc_modem, h248_param_ber_integer, NULL },
924 { 0x901c, &hf_h248_pkg_annexc_layer2prot, h248_param_ber_integer, NULL },
925 { 0x901d, &hf_h248_pkg_annexc_layer3prot, h248_param_ber_integer, NULL },
926 { 0x901e, &hf_h248_pkg_annexc_addlayer3prot, h248_param_ber_integer, NULL },
927 { 0x901f, &hf_h248_pkg_annexc_dialedn, h248_param_ber_octetstring, NULL },
928 { 0x9020, &hf_h248_pkg_annexc_dialingn, h248_param_ber_octetstring, NULL },
929 { 0x9021, &hf_h248_pkg_annexc_echoci, h248_param_ber_integer, NULL },
930 { 0x9022, &hf_h248_pkg_annexc_nci, h248_param_ber_integer, NULL },
931 { 0x9023, &hf_h248_pkg_annexc_USI, dissect_h248_annexc_USI, NULL },
933 { 0xA001, &hf_h248_pkg_annexc_fmsdu, h248_param_ber_octetstring, NULL },
934 { 0xA002, &hf_h248_pkg_annexc_bmsdu, h248_param_ber_octetstring, NULL },
935 { 0xA003, &hf_h248_pkg_annexc_sscs, NULL, NULL },
937 { 0xB001, &hf_h248_pkg_annexc_sdp_v, dissect_h248_annexc_SDP, &h248_c_implicit },
938 { 0xB002, &hf_h248_pkg_annexc_sdp_o, dissect_h248_annexc_SDP, &h248_c_implicit },
939 { 0xB003, &hf_h248_pkg_annexc_sdp_s, dissect_h248_annexc_SDP, &h248_c_implicit },
940 { 0xB004, &hf_h248_pkg_annexc_sdp_i, dissect_h248_annexc_SDP, &h248_c_implicit },
941 { 0xB005, &hf_h248_pkg_annexc_sdp_u, dissect_h248_annexc_SDP, &h248_c_implicit },
942 { 0xB006, &hf_h248_pkg_annexc_sdp_e, dissect_h248_annexc_SDP, &h248_c_implicit },
943 { 0xB007, &hf_h248_pkg_annexc_sdp_p, dissect_h248_annexc_SDP, &h248_c_implicit },
944 { 0xB008, &hf_h248_pkg_annexc_sdp_c, dissect_h248_annexc_SDP, &h248_c_implicit },
945 { 0xB009, &hf_h248_pkg_annexc_sdp_b, dissect_h248_annexc_SDP, &h248_c_implicit },
946 { 0xB00a, &hf_h248_pkg_annexc_sdp_z, dissect_h248_annexc_SDP, &h248_c_implicit },
947 { 0xB00b, &hf_h248_pkg_annexc_sdp_k, dissect_h248_annexc_SDP, &h248_c_implicit },
948 { 0xB00c, &hf_h248_pkg_annexc_sdp_a, dissect_h248_annexc_SDP, &h248_c_implicit },
949 { 0xB00d, &hf_h248_pkg_annexc_sdp_t, dissect_h248_annexc_SDP, &h248_c_implicit },
950 { 0xB00e, &hf_h248_pkg_annexc_sdp_r, dissect_h248_annexc_SDP, &h248_c_implicit },
951 { 0xB00f, &hf_h248_pkg_annexc_sdp_m, dissect_h248_annexc_SDP, &h248_c_implicit },
953 { 0xC001, &hf_h248_pkg_annexc_olc, h248_param_ber_octetstring, NULL },
954 { 0xC002, &hf_h248_pkg_annexc_olcack, h248_param_ber_octetstring, NULL },
955 { 0xC003, &hf_h248_pkg_annexc_olccnf, h248_param_ber_octetstring, NULL },
956 { 0xC004, &hf_h248_pkg_annexc_olcrej, h248_param_ber_octetstring, NULL },
957 { 0xC005, &hf_h248_pkg_annexc_clc, h248_param_ber_octetstring, NULL },
958 { 0xC006, &hf_h248_pkg_annexc_clcack, h248_param_ber_octetstring, NULL },
960 { 0, NULL, NULL, NULL }
963 static h248_package_t h248_annexc_package = {
964 0x0000,
965 &proto_h248_pkg_annexc,
966 &ett_annexc,
967 h248_annexc_package_properties_vals,
968 NULL,
969 NULL,
970 NULL,
971 h248_annexc_package_properties, /* properties */
972 NULL, /* signals */
973 NULL, /* events */
974 NULL /* statistics */
978 void proto_register_h248_annex_c(void) {
979 static hf_register_info hf[] = {
980 { &hf_h248_pkg_annexc_media,
981 { "Media", "h248.pkg.annexc.media", FT_UINT32, BASE_HEX, VALS(h248_annexc_media_vals), 0, "Media Type", HFILL }},
982 { &hf_h248_pkg_annexc_ACodec,
983 { "ACodec", "h248.pkg.annexc.ACodec",
984 FT_BYTES, BASE_NONE, NULL, 0,
985 NULL, HFILL }},
986 { &hf_h248_pkg_annexc_Mediatx,
987 { "Mediatx", "h248.pkg.annexc.Mediatx",
988 FT_UINT32, BASE_DEC, VALS(h248_pkg_annexc_Mediatx_vals), 0,
989 NULL, HFILL }},
990 { &hf_h248_pkg_annexc_BIR,
991 { "BIR", "h248.pkg.annexc.BIR",
992 FT_BYTES, BASE_NONE, NULL, 0,
993 NULL, HFILL }},
994 { &hf_h248_pkg_annexc_NSAP,
995 { "NSAP", "h248.pkg.annexc.NSAP",
996 FT_BYTES, BASE_NONE, NULL, 0,
997 NULL, HFILL }},
998 { &hf_h248_pkg_annexc_transmission_mode,
999 { "Transmission Mode", "h248.pkg.annexc.transmission_mode",
1000 FT_UINT32, BASE_DEC, VALS(h248_annexc_transmission_mode), 0,
1001 NULL, HFILL }},
1002 { &hf_h248_pkg_annexc_num_of_channels,
1003 { "Number of Channels", "h248.pkg.annexc.num_of_channels",
1004 FT_UINT32, BASE_DEC, NULL, 0,
1005 NULL, HFILL }},
1006 { &hf_h248_pkg_annexc_sampling_rate,
1007 { "Sampling Rate", "h248.pkg.annexc.sampling_rate",
1008 FT_UINT32, BASE_DEC, NULL, 0,
1009 NULL, HFILL }},
1010 { &hf_h248_pkg_annexc_bit_rate,
1011 { "Bit Rate", "h248.pkg.annexc.bit_rate",
1012 FT_UINT32, BASE_DEC, NULL, 0,
1013 NULL, HFILL }},
1014 { &hf_h248_pkg_annexc_samplepp,
1015 { "Samplepp", "h248.pkg.annexc.samplepp",
1016 FT_UINT32, BASE_DEC, NULL, 0,
1017 NULL, HFILL }},
1018 { &hf_h248_pkg_annexc_silence_supp,
1019 { "SilenceSupp", "h248.pkg.annexc.silence_supp",
1020 FT_BOOLEAN, BASE_NONE, NULL, 0x0,
1021 "Silence Suppression", HFILL }},
1022 { &hf_h248_pkg_annexc_encrypt_type,
1023 { "Encrypttype", "h248.pkg.annexc.encrypt_type",
1024 FT_BYTES, BASE_NONE, NULL, 0,
1025 "Encryption Type", HFILL }},
1026 { &hf_h248_pkg_annexc_encrypt_key,
1027 { "Encrypt Key", "h248.pkg.annexc.encrypt_key",
1028 FT_UINT32, BASE_DEC, NULL, 0,
1029 "Encryption Key", HFILL }},
1030 { &hf_h248_pkg_annexc_gain,
1031 { "Gain", "h248.pkg.annexc.gain",
1032 FT_UINT32, BASE_DEC, NULL, 0,
1033 "Gain (dB)", HFILL }},
1034 { &hf_h248_pkg_annexc_jitterbuf,
1035 { "JitterBuff", "h248.pkg.annexc.jitterbuf",
1036 FT_UINT32, BASE_DEC, NULL, 0,
1037 "Jitter Buffer Size (ms)", HFILL }},
1038 { &hf_h248_pkg_annexc_propdelay,
1039 { "Propagation Delay", "h248.pkg.annexc.encrypt_type",
1040 FT_UINT32, BASE_DEC, NULL, 0,
1041 "Propagation Delay (ms)", HFILL }},
1042 { &hf_h248_pkg_annexc_rtp_payload,
1043 { "RTP Payload type", "h248.pkg.annexc.rtp_payload",
1044 FT_UINT32, BASE_DEC, NULL, 0,
1045 "Payload type in RTP Profile", HFILL }},
1046 { &hf_h248_pkg_annexc_h222,
1047 { "H222LogicalChannelParameters", "h248.pkg.annexc.h222",
1048 FT_BYTES, BASE_NONE, NULL, 0,
1049 NULL, HFILL }},
1050 { &hf_h248_pkg_annexc_h223,
1051 { "H223LogicalChannelParameters", "h248.pkg.annexc.h223",
1052 FT_BYTES, BASE_NONE, NULL, 0,
1053 NULL, HFILL }},
1054 { &hf_h248_pkg_annexc_v76,
1055 { "V76LogicalChannelParameters", "h248.pkg.annexc.v76",
1056 FT_BYTES, BASE_NONE, NULL, 0,
1057 NULL, HFILL }},
1058 { &hf_h248_pkg_annexc_h2250,
1059 { "H2250LogicalChannelParameters", "h248.pkg.annexc.h2250",
1060 FT_BYTES, BASE_NONE, NULL, 0,
1061 NULL, HFILL }},
1062 { &hf_h248_pkg_annexc_aesa,
1063 { "AESA", "h248.pkg.annexc.aesa",
1064 FT_BYTES, BASE_NONE, NULL, 0,
1065 "ATM End System Address", HFILL }},
1066 { &hf_h248_pkg_annexc_vp,
1067 { "VPI", "h248.pkg.annexc.vpi",
1068 FT_UINT16, BASE_DEC, NULL, 0,
1069 "Virtual Path Identifier", HFILL }},
1070 { &hf_h248_pkg_annexc_vc,
1071 { "VCI", "h248.pkg.annexc.vci",
1072 FT_UINT16, BASE_DEC, NULL, 0,
1073 "Virtual Circuit Identifier", HFILL }},
1074 { &hf_h248_pkg_annexc_sc,
1075 { "Service Class", "h248.pkg.annexc.sc",
1076 FT_UINT32, BASE_DEC, NULL, 0,
1077 NULL, HFILL }},
1078 { &hf_h248_pkg_annexc_bcob,
1079 { "BCOB", "h248.pkg.annexc.bcob",
1080 FT_UINT8, BASE_DEC, NULL, 0x1F,
1081 "Broadband Bearer Class", HFILL }},
1082 { &hf_h248_pkg_annexc_bbtc,
1083 { "BBTC", "h248.pkg.annexc.bbtc",
1084 FT_UINT8, BASE_DEC, NULL, 0x3F,
1085 "Broadband Transfer Capability", HFILL }},
1086 { &hf_h248_pkg_annexc_atc,
1087 { "ATC", "h248.pkg.annexc.atc",
1088 FT_UINT32, BASE_DEC, VALS(h248_pkg_annexc_atc_values), 0x0,
1089 "ATM Traffic Capability", HFILL }},
1090 { &hf_h248_pkg_annexc_stc,
1091 { "STC", "h248.pkg.annexc.stc",
1092 FT_UINT8, BASE_DEC, VALS(h248_pkg_annexc_stc_values), 0x03,
1093 "Susceptibility to Clipping", HFILL }},
1094 { &hf_h248_pkg_annexc_uppc,
1095 { "UPPC", "h248.pkg.annexc.uppc",
1096 FT_UINT8, BASE_DEC, VALS(h248_pkg_annexc_uppc_values), 0x03,
1097 "User Plane Connection Configuration", HFILL }},
1099 { &hf_h248_pkg_annexc_pcr0,
1100 { "PCR0", "h248.pkg.annexc.pcr0",
1101 FT_UINT24, BASE_DEC, NULL, 0,
1102 "Peak Cell Rate for CLP=0", HFILL }},
1103 { &hf_h248_pkg_annexc_scr0,
1104 { "SCR0", "h248.pkg.annexc.scr0",
1105 FT_UINT24, BASE_DEC, NULL, 0,
1106 "Sustained Cell Rate for CLP=0", HFILL }},
1107 { &hf_h248_pkg_annexc_mbs0,
1108 { "MBS0", "h248.pkg.annexc.mbs0",
1109 FT_UINT24, BASE_DEC, NULL, 0,
1110 "Maximum Burst Size for CLP=0", HFILL }},
1112 { &hf_h248_pkg_annexc_pcr1,
1113 { "PCR1", "h248.pkg.annexc.pcr1",
1114 FT_UINT24, BASE_DEC, NULL, 0,
1115 "Peak Cell Rate for CLP=1", HFILL }},
1116 { &hf_h248_pkg_annexc_scr1,
1117 { "SCR1", "h248.pkg.annexc.scr1",
1118 FT_UINT24, BASE_DEC, NULL, 0,
1119 "Sustained Cell Rate for CLP=1", HFILL }},
1120 { &hf_h248_pkg_annexc_mbs1,
1121 { "MBS1", "h248.pkg.annexc.mbs1",
1122 FT_UINT24, BASE_DEC, NULL, 0,
1123 "Maximum Burst Size for CLP=1", HFILL }},
1125 { &hf_h248_pkg_annexc_bei,
1126 { "BEI", "h248.pkg.annexc.bei",
1127 FT_BOOLEAN, BASE_NONE, NULL, 0x0,
1128 "Best Effort Indicator", HFILL }},
1129 { &hf_h248_pkg_annexc_ti,
1130 { "TI", "h248.pkg.annexc.ti",
1131 FT_BOOLEAN, BASE_NONE, NULL, 0x0,
1132 "Tagging Indicator", HFILL }},
1133 { &hf_h248_pkg_annexc_fd,
1134 { "FD", "h248.pkg.annexc.fd",
1135 FT_BOOLEAN, BASE_NONE, NULL, 0x0,
1136 "Frame Discard", HFILL }},
1138 { &hf_h248_pkg_annexc_a2pcdv,
1139 { "A2PCDV", "h248.pkg.annexc.a2pcdv",
1140 FT_UINT24, BASE_DEC, NULL, 0,
1141 "Acceptable 2 point CDV", HFILL }},
1142 { &hf_h248_pkg_annexc_c2pcdv,
1143 { "C2PCDV", "h248.pkg.annexc.c2pcdv",
1144 FT_UINT24, BASE_DEC, NULL, 0,
1145 "Cumulative 2 point CDV", HFILL }},
1146 { &hf_h248_pkg_annexc_appcdv,
1147 { "APPCDV", "h248.pkg.annexc.appcdv",
1148 FT_UINT24, BASE_DEC, NULL, 0,
1149 "Acceptable Point to Point CDV", HFILL }},
1150 { &hf_h248_pkg_annexc_cppcdv,
1151 { "CPPCDV", "h248.pkg.annexc.cppcdv",
1152 FT_UINT24, BASE_DEC, NULL, 0,
1153 "Cumulative Point to Point CDV", HFILL }},
1154 { &hf_h248_pkg_annexc_aclr,
1155 { "ACLR", "h248.pkg.annexc.aclr",
1156 FT_UINT8, BASE_DEC, NULL, 0,
1157 "Acceptable Cell Loss Ratio (Q.2965.2 ATMF UNI 4.0)", HFILL }},
1159 { &hf_h248_pkg_annexc_meetd,
1160 { "MEETD", "h248.pkg.annexc.meetd",
1161 FT_UINT16, BASE_DEC, NULL, 0,
1162 "Maximum End-to-End Transit Delay (Q.2965.2 ATMF UNI 4.0)", HFILL }},
1163 { &hf_h248_pkg_annexc_ceetd,
1164 { "CEETD", "h248.pkg.annexc.ceetd",
1165 FT_UINT16, BASE_DEC, NULL, 0,
1166 "Cumulative End-to-End Transit Delay (Q.2965.2 ATMF UNI 4.0)", HFILL }},
1167 { &hf_h248_pkg_annexc_QosClass,
1168 { "QosClass", "h248.pkg.annexc.qosclass",
1169 FT_UINT16, BASE_DEC, VALS(h248_pkg_annexc_QosClass_values), 0,
1170 "QoS Class (Q.2965.1)", HFILL }},
1171 { &hf_h248_pkg_annexc_AALtype,
1172 { "AALtype", "h248.pkg.annexc.aaltype",
1173 FT_UINT8, BASE_DEC, VALS(h248_pkg_annexc_AALtype_values), 0,
1174 "AAL Type", HFILL }},
1176 { &hf_h248_pkg_annexc_dlci,
1177 { "DLCI", "h248.pkg.annexc.dlci",
1178 FT_UINT32, BASE_DEC, NULL, 0,
1179 "Data Link Connection ID (FR)", HFILL }},
1180 { &hf_h248_pkg_annexc_cid,
1181 { "CID", "h248.pkg.annexc.cid",
1182 FT_UINT32, BASE_DEC, NULL, 0,
1183 "Channel-Id", HFILL }},
1184 { &hf_h248_pkg_annexc_sid,
1185 { "SID", "h248.pkg.annexc.sid",
1186 FT_UINT32, BASE_DEC, NULL, 0,
1187 "Silence Insertion Descriptor", HFILL }},
1188 { &hf_h248_pkg_annexc_ppt,
1189 { "PPT", "h248.pkg.annexc.ppt",
1190 FT_UINT32, BASE_DEC, NULL, 0,
1191 "Primary Payload Type", HFILL }},
1193 { &hf_h248_pkg_annexc_ipv4,
1194 { "IPv4", "h248.pkg.annexc.ipv4",
1195 FT_IPv4, BASE_NONE, NULL, 0,
1196 "IPv4 Address", HFILL }},
1197 { &hf_h248_pkg_annexc_ipv6,
1198 { "IPv6", "h248.pkg.annexc.ipv6",
1199 FT_IPv6, BASE_NONE, NULL, 0,
1200 "IPv6 Address", HFILL }},
1201 { &hf_h248_pkg_annexc_port,
1202 { "Port", "h248.pkg.annexc.port",
1203 FT_UINT16, BASE_DEC, NULL, 0,
1204 NULL, HFILL }},
1205 { &hf_h248_pkg_annexc_porttype,
1206 { "PortType", "h248.pkg.annexc.porttype",
1207 FT_UINT32, BASE_DEC, VALS(h248_pkg_annexc_porttype_values), 0,
1208 "Port Type", HFILL }},
1210 { &hf_h248_pkg_annexc_alc,
1211 { "ALC", "h248.pkg.annexc.alc",
1212 FT_BYTES, BASE_NONE, NULL, 0,
1213 "AAL2 Link Characteristics", HFILL }},
1214 { &hf_h248_pkg_annexc_sut,
1215 { "SUT", "h248.pkg.annexc.sut",
1216 FT_BYTES, BASE_NONE, NULL, 0,
1217 "Served User Transport", HFILL }},
1218 { &hf_h248_pkg_annexc_tci,
1219 { "TCI", "h248.pkg.annexc.tci",
1220 FT_BOOLEAN, BASE_NONE, NULL, 0x0,
1221 "Test Connection Indicator", HFILL }},
1222 { &hf_h248_pkg_annexc_timer_cu,
1223 { "Timer CU", "h248.pkg.annexc.timer_cu",
1224 FT_UINT32, BASE_DEC, NULL, 0,
1225 "Milliseconds to hold the partially filled cell before sending", HFILL }},
1226 { &hf_h248_pkg_annexc_maxcpssdu,
1227 { "Max CPS SDU", "h248.pkg.annexc.maxcpssdu",
1228 FT_UINT8, BASE_DEC, NULL, 0,
1229 "Maximum Common Part Sublayer Service Data Unit size", HFILL }},
1231 { &hf_h248_pkg_annexc_aal1st,
1232 { "AAL1ST", "h248.pkg.annexc.aal1st",
1233 FT_UINT8, BASE_DEC, VALS(h248_pkg_annexc_aal1st_values), 0,
1234 "AAL1 subtype", HFILL }},
1235 { &hf_h248_pkg_annexc_cbrr,
1236 { "CBRR", "h248.pkg.annexc.cbrr",
1237 FT_UINT8, BASE_DEC, VALS(h248_pkg_annexc_cbrr_values), 0,
1238 "CBR rate", HFILL }},
1239 { &hf_h248_pkg_annexc_scri,
1240 { "SCRI", "h248.pkg.annexc.scri",
1241 FT_UINT8, BASE_DEC, VALS(h248_pkg_annexc_scri_values), 0,
1242 "Source Clock frequency Recovery Method", HFILL }},
1243 { &hf_h248_pkg_annexc_ecm,
1244 { "ECM", "h248.pkg.annexc.ecm",
1245 FT_UINT8, BASE_DEC, VALS(h248_pkg_annexc_ecm_values), 0,
1246 "Error Correction Method", HFILL }},
1247 { &hf_h248_pkg_annexc_sdbt,
1248 { "SDBT", "h248.pkg.annexc.sdbt",
1249 FT_UINT16, BASE_DEC, NULL, 0,
1250 "Structured Data Transfer Blocksize", HFILL }},
1251 { &hf_h248_pkg_annexc_pfci,
1252 { "PFCI", "h248.pkg.annexc.pfci",
1253 FT_UINT8, BASE_DEC, NULL, 0,
1254 "Partially Filled Cells Identifier", HFILL }},
1256 { &hf_h248_pkg_annexc_tmr,
1257 { "TMR", "h248.pkg.annexc.tmr",
1258 FT_UINT8, BASE_HEX|BASE_EXT_STRING, &isup_transmission_medium_requirement_value_ext, 0,
1259 "Transmission Medium Requirement", HFILL }},
1260 { &hf_h248_pkg_annexc_tmrsr,
1261 { "TMSR", "h248.pkg.annexc.tmsr",
1262 FT_UINT8, BASE_HEX, VALS(h248_pkg_annexc_tmrsr_values), 0,
1263 "Transmission Medium Requirement Subrate", HFILL }},
1264 { &hf_h248_pkg_annexc_contcheck,
1265 { "Continuity Check", "h248.pkg.annexc.tmsr",
1266 FT_UINT8, BASE_DEC, VALS(h248_pkg_annexc_contcheck_values), 0x0C,
1267 NULL, HFILL }},
1269 { &hf_h248_pkg_annexc_itc,
1270 { "ITC", "h248.pkg.annexc.itc",
1271 FT_UINT8, BASE_DEC, VALS(h248_pkg_annexc_itc_values), 0x1f,
1272 "Information Transfer Capability", HFILL }},
1273 { &hf_h248_pkg_annexc_transmode,
1274 { "TransMode", "h248.pkg.annexc.transmode",
1275 FT_UINT8, BASE_DEC, VALS(h248_pkg_annexc_transmode_values), 0x60,
1276 "Transfer Mode", HFILL }},
1277 { &hf_h248_pkg_annexc_transrate,
1278 { "TransRate", "h248.pkg.annexc.transrate",
1279 FT_UINT8, BASE_DEC, VALS(h248_pkg_annexc_transrate_values), 0x1f,
1280 "Transfer Rate", HFILL }},
1281 { &hf_h248_pkg_annexc_mult,
1282 { "Rate Multiplier", "h248.pkg.annexc.mult",
1283 FT_UINT8, BASE_DEC, NULL, 0,
1284 NULL, HFILL }},
1285 { &hf_h248_pkg_annexc_syncasync,
1286 { "SyncAsync", "h248.pkg.annexc.syncasync",
1287 FT_UINT8, BASE_DEC, VALS(h248_pkg_annexc_syncasync_values), 0x80,
1288 "Synchronous/Asynchronous", HFILL }},
1289 { &hf_h248_pkg_annexc_negotiation,
1290 { "UPPC", "h248.pkg.annexc.negotiation",
1291 FT_UINT8, BASE_DEC, VALS(h248_pkg_annexc_negotiation_values), 0x40,
1292 "Negotiation", HFILL }},
1294 { &hf_h248_pkg_annexc_userrate,
1295 { "Userrate", "h248.pkg.annexc.userrate",
1296 FT_UINT8, BASE_HEX, VALS(h248_pkg_annexc_userrate_values), 0x1f,
1297 "User Rate", HFILL }},
1298 { &hf_h248_pkg_annexc_intrate,
1299 { "UPPC", "h248.pkg.annexc.intrate",
1300 FT_UINT8, BASE_HEX, VALS(h248_pkg_annexc_intrate_values), 0xc0,
1301 "Intermediate Rate", HFILL }},
1302 { &hf_h248_pkg_annexc_nictx,
1303 { "nictx", "h248.pkg.annexc.nictx",
1304 FT_UINT8, BASE_HEX, VALS(h248_pkg_annexc_nictx_values), 0xc0,
1305 "Network independent clock on transmission", HFILL }},
1306 { &hf_h248_pkg_annexc_nicrx,
1307 { "nicrx", "h248.pkg.annexc.nicrx",
1308 FT_UINT8, BASE_HEX, VALS(h248_pkg_annexc_nicrx_values), 0xc0,
1309 "Network independent clock on reception", HFILL }},
1310 { &hf_h248_pkg_annexc_flowconttx,
1311 { "flowconttx", "h248.pkg.annexc.flowconttx",
1312 FT_UINT8, BASE_HEX, VALS(h248_pkg_annexc_flowconttx_values), 0xc0,
1313 "Flow Control on Transmission", HFILL }},
1314 { &hf_h248_pkg_annexc_flowcontrx,
1315 { "flowcontrx", "h248.pkg.annexc.flowcontrx",
1316 FT_UINT8, BASE_HEX, VALS(h248_pkg_annexc_flowcontrx_values), 0xc0,
1317 "Flow Control on Reception", HFILL }},
1318 { &hf_h248_pkg_annexc_rateadapthdr,
1319 { "rateadapthdr", "h248.pkg.annexc.rateadapthdr",
1320 FT_UINT8, BASE_HEX, VALS(h248_pkg_annexc_rateadapthdr_values), 0xc0,
1321 "Rate Adaptation Header/No-Header", HFILL }},
1322 { &hf_h248_pkg_annexc_multiframe,
1323 { "multiframe", "h248.pkg.annexc.multiframe",
1324 FT_UINT8, BASE_HEX, VALS(h248_pkg_annexc_multiframe_values), 0xc0,
1325 "Multiple Frame establishment support in datalink", HFILL }},
1326 { &hf_h248_pkg_annexc_opmode,
1327 { "OPMODE", "h248.pkg.annexc.opmode",
1328 FT_UINT8, BASE_HEX, VALS(h248_pkg_annexc_opmode_values), 0xc0,
1329 "Mode of operation", HFILL }},
1330 { &hf_h248_pkg_annexc_llidnegot,
1331 { "llidnegot", "h248.pkg.annexc.llidnegot",
1332 FT_UINT8, BASE_HEX, VALS(h248_pkg_annexc_llidnegot_values), 0xc0,
1333 "Logical Link Identifier negotiation", HFILL }},
1335 { &hf_h248_pkg_annexc_assign,
1336 { "llidnegot", "h248.pkg.annexc.assign",
1337 FT_UINT8, BASE_HEX, VALS(h248_pkg_annexc_assign_values), 0xc0,
1338 "Assignor/Assignee", HFILL }},
1339 { &hf_h248_pkg_annexc_inbandneg,
1340 { "inbandneg", "h248.pkg.annexc.inbandneg",
1341 FT_UINT8, BASE_HEX, VALS(h248_pkg_annexc_inbandneg_values), 0xc0,
1342 "In-band/Out-band negotiation", HFILL }},
1343 { &hf_h248_pkg_annexc_stopbits,
1344 { "stopbits", "h248.pkg.annexc.stopbits",
1345 FT_UINT8, BASE_HEX, VALS(h248_pkg_annexc_stopbits_values), 0xc0,
1346 "Number of stop bits", HFILL }},
1347 { &hf_h248_pkg_annexc_databits,
1348 { "databits", "h248.pkg.annexc.databits",
1349 FT_UINT8, BASE_HEX, VALS(h248_pkg_annexc_databits_values), 0xc0,
1350 "Number of data bits", HFILL }},
1351 { &hf_h248_pkg_annexc_parity,
1352 { "parity", "h248.pkg.annexc.parity",
1353 FT_UINT8, BASE_HEX, VALS(h248_pkg_annexc_parity_values), 0xe0,
1354 "Parity Information Bits", HFILL }},
1355 { &hf_h248_pkg_annexc_duplexmode,
1356 { "duplexmode", "h248.pkg.annexc.duplexmode",
1357 FT_UINT8, BASE_HEX, VALS(h248_pkg_annexc_duplexmode_values), 0x80,
1358 "Mode Duplex", HFILL }},
1360 { &hf_h248_pkg_annexc_modem,
1361 { "modem", "h248.pkg.annexc.modem",
1362 FT_UINT8, BASE_HEX, VALS(h248_pkg_annexc_modem_values), 0xfc,
1363 "Modem Type", HFILL }},
1364 { &hf_h248_pkg_annexc_layer2prot,
1365 { "layer2prot", "h248.pkg.annexc.layer2prot",
1366 FT_UINT8, BASE_HEX, VALS(h248_pkg_annexc_layer2prot_values), 0x80,
1367 "Layer 2 protocol", HFILL }},
1368 { &hf_h248_pkg_annexc_layer3prot,
1369 { "layer3prot", "h248.pkg.annexc.layer3prot",
1370 FT_UINT8, BASE_HEX, VALS(h248_pkg_annexc_layer3prot_values), 0x80,
1371 "Layer 3 protocol", HFILL }},
1372 { &hf_h248_pkg_annexc_addlayer3prot,
1373 { "addlayer3prot", "h248.pkg.annexc.addlayer3prot",
1374 FT_UINT8, BASE_HEX, VALS(h248_pkg_annexc_addlayer3prot_values), 0x80,
1375 "Additional User Information Layer 3 protocol", HFILL }},
1376 { &hf_h248_pkg_annexc_dialedn,
1377 { "Dialed Number", "h248.pkg.annexc.dialedn",
1378 FT_BYTES, BASE_NONE, NULL, 0,
1379 NULL, HFILL }},
1380 { &hf_h248_pkg_annexc_dialingn,
1381 { "Dialing Number", "h248.pkg.annexc.dialingn",
1382 FT_BYTES, BASE_NONE, NULL, 0,
1383 NULL, HFILL }},
1384 { &hf_h248_pkg_annexc_echoci,
1385 { "ECHOCI", "h248.pkg.annexc.echoci",
1386 FT_BYTES, BASE_NONE, NULL, 0,
1387 "Not used", HFILL }},
1388 { &hf_h248_pkg_annexc_nci,
1389 { "NCI", "h248.pkg.annexc.nci",
1390 FT_UINT8, BASE_HEX, NULL, 0xff,
1391 "Nature of Connection Indicator", HFILL }},
1394 { &hf_h248_pkg_annexc_USI,
1395 { "USI", "h248.pkg.annexc.USI",
1396 FT_BYTES, BASE_NONE, NULL, 0,
1397 "User Service Information", HFILL }},
1400 { &hf_h248_pkg_annexc_fmsdu,
1401 { "fmsdu", "h248.pkg.annexc.fmsdu",
1402 FT_BYTES, BASE_NONE, NULL, 0,
1403 NULL, HFILL }},
1404 { &hf_h248_pkg_annexc_bmsdu,
1405 { "bmsdu", "h248.pkg.annexc.bmsdu",
1406 FT_BYTES, BASE_NONE, NULL, 0,
1407 NULL, HFILL }},
1408 { &hf_h248_pkg_annexc_sscs,
1409 { "sscs", "h248.pkg.annexc.sscs",
1410 FT_BYTES, BASE_NONE, NULL, 0,
1411 NULL, HFILL }},
1414 { &hf_h248_pkg_annexc_sdp_v,
1415 { "sdp_v", "h248.pkg.annexc.sdp_v",
1416 FT_STRING, BASE_NONE, NULL, 0,
1417 "SDP V", HFILL }},
1418 { &hf_h248_pkg_annexc_sdp_o,
1419 { "sdp_o", "h248.pkg.annexc.sdp_o",
1420 FT_STRING, BASE_NONE, NULL, 0,
1421 "SDP O", HFILL }},
1422 { &hf_h248_pkg_annexc_sdp_s,
1423 { "sdp_s", "h248.pkg.annexc.sdp_s",
1424 FT_STRING, BASE_NONE, NULL, 0,
1425 "SDP S", HFILL }},
1426 { &hf_h248_pkg_annexc_sdp_i,
1427 { "sdp_i", "h248.pkg.annexc.sdp_i",
1428 FT_STRING, BASE_NONE, NULL, 0,
1429 "SDP I", HFILL }},
1430 { &hf_h248_pkg_annexc_sdp_u,
1431 { "sdp_u", "h248.pkg.annexc.sdp_u",
1432 FT_STRING, BASE_NONE, NULL, 0,
1433 "SDP U", HFILL }},
1434 { &hf_h248_pkg_annexc_sdp_e,
1435 { "sdp_e", "h248.pkg.annexc.sdp_e",
1436 FT_STRING, BASE_NONE, NULL, 0,
1437 "SDP E", HFILL }},
1438 { &hf_h248_pkg_annexc_sdp_p,
1439 { "sdp_p", "h248.pkg.annexc.sdp_p",
1440 FT_STRING, BASE_NONE, NULL, 0,
1441 "SDP P", HFILL }},
1442 { &hf_h248_pkg_annexc_sdp_c,
1443 { "sdp_c", "h248.pkg.annexc.sdp_c",
1444 FT_STRING, BASE_NONE, NULL, 0,
1445 "SDP C", HFILL }},
1446 { &hf_h248_pkg_annexc_sdp_b,
1447 { "sdp_b", "h248.pkg.annexc.sdp_b",
1448 FT_STRING, BASE_NONE, NULL, 0,
1449 "SDP B", HFILL }},
1450 { &hf_h248_pkg_annexc_sdp_z,
1451 { "sdp_z", "h248.pkg.annexc.sdp_z",
1452 FT_STRING, BASE_NONE, NULL, 0,
1453 "SDP Z", HFILL }},
1454 { &hf_h248_pkg_annexc_sdp_k,
1455 { "sdp_k", "h248.pkg.annexc.sdp_k",
1456 FT_STRING, BASE_NONE, NULL, 0,
1457 "SDP K", HFILL }},
1458 { &hf_h248_pkg_annexc_sdp_a,
1459 { "sdp_a", "h248.pkg.annexc.sdp_a",
1460 FT_STRING, BASE_NONE, NULL, 0,
1461 "SDP A", HFILL }},
1462 { &hf_h248_pkg_annexc_sdp_t,
1463 { "sdp_t", "h248.pkg.annexc.sdp_t",
1464 FT_STRING, BASE_NONE, NULL, 0,
1465 "SDP T", HFILL }},
1466 { &hf_h248_pkg_annexc_sdp_r,
1467 { "sdp_r", "h248.pkg.annexc.sdp_r",
1468 FT_STRING, BASE_NONE, NULL, 0,
1469 "SDP R", HFILL }},
1470 { &hf_h248_pkg_annexc_sdp_m,
1471 { "sdp_m", "h248.pkg.annexc.sdp_m",
1472 FT_STRING, BASE_NONE, NULL, 0,
1473 "SDP M", HFILL }},
1475 { &hf_h248_pkg_annexc_olc,
1476 { "OLC", "h248.pkg.annexc.olc",
1477 FT_BYTES, BASE_NONE, NULL, 0,
1478 "Open Logical Channel", HFILL }},
1479 { &hf_h248_pkg_annexc_olcack,
1480 { "OLCack", "h248.pkg.annexc.olcack",
1481 FT_BYTES, BASE_NONE, NULL, 0,
1482 "Open Logical Channel Acknowledge", HFILL }},
1483 { &hf_h248_pkg_annexc_olccnf,
1484 { "OLCcnf", "h248.pkg.annexc.olccnf",
1485 FT_BYTES, BASE_NONE, NULL, 0,
1486 "Open Logical Channel CNF", HFILL }},
1487 { &hf_h248_pkg_annexc_olcrej,
1488 { "OLCrej", "h248.pkg.annexc.olcrej",
1489 FT_BYTES, BASE_NONE, NULL, 0,
1490 "Open Logical Channel Reject", HFILL }},
1491 { &hf_h248_pkg_annexc_clc,
1492 { "CLC", "h248.pkg.annexc.clc",
1493 FT_BYTES, BASE_NONE, NULL, 0,
1494 "Close Logical Channel", HFILL }},
1495 { &hf_h248_pkg_annexc_clcack,
1496 { "CLCack", "h248.pkg.annexc.clcack",
1497 FT_BYTES, BASE_NONE, NULL, 0,
1498 NULL, HFILL }},
1501 static gint *ett[] = {
1502 &ett_annexc,
1503 &ett_vpvc,
1504 &ett_codec
1507 proto_h248_pkg_annexc = proto_register_protocol(PNAME, PSNAME, PFNAME);
1509 proto_register_field_array(proto_h248_pkg_annexc, hf, array_length(hf));
1511 proto_register_subtree_array(ett, array_length(ett));
1513 h248_register_package(&h248_annexc_package,MERGE_PKG_HIGH);