acd0994eddaee824e5815769c59323cd8204b8a8
[obnox/wireshark/wip.git] / epan / dissectors / packet-h245.c
1 /* Do not modify this file.                                                   */
2 /* It is created automatically by the ASN.1 to Wireshark dissector compiler   */
3 /* packet-h245.c                                                              */
4 /* ../../tools/asn2wrs.py -e -p h245 -c h245.cnf -s packet-h245-template MULTIMEDIA-SYSTEM-CONTROL.asn */
5
6 /* Input file: packet-h245-template.c */
7
8 #line 1 "packet-h245-template.c"
9 /* packet-h245_asn1.c
10  * Routines for h245 packet dissection
11  * Copyright 2004, Anders Broman <anders.broman@ericsson.com>
12  *
13  * $Id$
14  *
15  * Wireshark - Network traffic analyzer
16  * By Gerald Combs <gerald@wireshark.org>
17  * Copyright 1998 Gerald Combs
18  *
19  * This program is free software; you can redistribute it and/or
20  * modify it under the terms of the GNU General Public License
21  * as published by the Free Software Foundation; either version 2
22  * of the License, or (at your option) any later version.
23  *
24  * This program is distributed in the hope that it will be useful,
25  * but WITHOUT ANY WARRANTY; without even the implied warranty of
26  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
27  * GNU General Public License for more details.
28  *
29  * You should have received a copy of the GNU General Public License
30  * along with this program; if not, write to the Free Software
31  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
32  *
33  * To quote the author of the previous H245 dissector:
34  *   "This is a complete replacement of the previous limitied dissector
35  * that Ronnie was crazy enough to write by hand. It was a lot of time
36  * to hack it by hand, but it is incomplete and buggy and it is good when
37  * it will go away."
38  * Ronnie did a great job and all the VoIP users had made good use of it!
39  * Credit to Tomas Kukosa for developing the asn2wrs compiler.
40  *
41  */
42
43 #ifdef HAVE_CONFIG_H
44 # include "config.h"
45 #endif
46
47 #include <glib.h>
48 #include <epan/packet.h>
49 #include <epan/conversation.h>
50 #include <epan/strutil.h>
51
52 #include <stdio.h>
53 #include <string.h>
54
55 #include <epan/prefs.h>
56 #include <epan/t35.h>
57 #include <epan/emem.h>
58 #include <epan/oids.h>
59 #include <epan/asn1.h>
60 #include "tap.h"
61 #include "packet-tpkt.h"
62 #include "packet-per.h"
63 #include "packet-h323.h"
64 #include "packet-h245.h"
65 #include "packet-rtp.h"
66 #include "packet-rtcp.h"
67 #include "packet-t38.h"
68
69 #define PNAME  "MULTIMEDIA-SYSTEM-CONTROL"
70 #define PSNAME "H.245"
71 #define PFNAME "h245"
72
73 static dissector_handle_t rtp_handle=NULL;
74 static dissector_handle_t rtcp_handle=NULL;
75 static dissector_handle_t t38_handle=NULL;
76 static dissector_table_t nsp_object_dissector_table;
77 static dissector_table_t nsp_h221_dissector_table;
78 static dissector_table_t gef_name_dissector_table;
79 static dissector_table_t gef_content_dissector_table;
80 static dissector_handle_t nsp_handle;
81 static dissector_handle_t data_handle;
82 static dissector_handle_t h245_handle;
83 static dissector_handle_t MultimediaSystemControlMessage_handle;
84 static dissector_handle_t h263_handle = NULL;
85 static dissector_handle_t amr_handle = NULL;
86
87 static void init_h245_packet_info(h245_packet_info *pi);
88 static int hf_h245_pdu_type = -1;
89 static int hf_h245Manufacturer = -1;
90 static int h245_tap = -1;
91 static int h245dg_tap = -1;
92 h245_packet_info *h245_pi=NULL;
93
94 static gboolean h245_reassembly = TRUE;
95 static gboolean h245_shorttypes = FALSE;
96
97
98 /*--- Included file: packet-h245-val.h ---*/
99 #line 1 "packet-h245-val.h"
100
101 typedef enum _AudioCapability_enum {
102   AudioCapability_nonStandard =   0,
103   AudioCapability_g711Alaw64k =   1,
104   AudioCapability_g711Alaw56k =   2,
105   AudioCapability_g711Ulaw64k =   3,
106   AudioCapability_g711Ulaw56k =   4,
107   AudioCapability_g722_64k =   5,
108   AudioCapability_g722_56k =   6,
109   AudioCapability_g722_48k =   7,
110   AudioCapability_g7231 =   8,
111   AudioCapability_g728 =   9,
112   AudioCapability_g729 =  10,
113   AudioCapability_g729AnnexA =  11,
114   AudioCapability_is11172AudioCapability =  12,
115   AudioCapability_is13818AudioCapability =  13,
116   AudioCapability_g729wAnnexB =  14,
117   AudioCapability_g729AnnexAwAnnexB =  15,
118   AudioCapability_g7231AnnexCCapability =  16,
119   AudioCapability_gsmFullRate =  17,
120   AudioCapability_gsmHalfRate =  18,
121   AudioCapability_gsmEnhancedFullRate =  19,
122   AudioCapability_genericAudioCapability =  20,
123   AudioCapability_g729Extensions =  21,
124   AudioCapability_vbd =  22,
125   AudioCapability_audioTelephonyEvent =  23,
126   AudioCapability_audioTone =  24
127 } AudioCapability_enum;
128
129 typedef enum _RequestMessage_enum {
130   RequestMessage_nonStandard =   0,
131   RequestMessage_masterSlaveDetermination =   1,
132   RequestMessage_terminalCapabilitySet =   2,
133   RequestMessage_openLogicalChannel =   3,
134   RequestMessage_closeLogicalChannel =   4,
135   RequestMessage_requestChannelClose =   5,
136   RequestMessage_multiplexEntrySend =   6,
137   RequestMessage_requestMultiplexEntry =   7,
138   RequestMessage_requestMode =   8,
139   RequestMessage_roundTripDelayRequest =   9,
140   RequestMessage_maintenanceLoopRequest =  10,
141   RequestMessage_communicationModeRequest =  11,
142   RequestMessage_conferenceRequest =  12,
143   RequestMessage_multilinkRequest =  13,
144   RequestMessage_logicalChannelRateRequest =  14,
145   RequestMessage_genericRequest =  15
146 } RequestMessage_enum;
147
148 typedef enum _ResponseMessage_enum {
149   ResponseMessage_nonStandard =   0,
150   ResponseMessage_masterSlaveDeterminationAck =   1,
151   ResponseMessage_masterSlaveDeterminationReject =   2,
152   ResponseMessage_terminalCapabilitySetAck =   3,
153   ResponseMessage_terminalCapabilitySetReject =   4,
154   ResponseMessage_openLogicalChannelAck =   5,
155   ResponseMessage_openLogicalChannelReject =   6,
156   ResponseMessage_closeLogicalChannelAck =   7,
157   ResponseMessage_requestChannelCloseAck =   8,
158   ResponseMessage_requestChannelCloseReject =   9,
159   ResponseMessage_multiplexEntrySendAck =  10,
160   ResponseMessage_multiplexEntrySendReject =  11,
161   ResponseMessage_requestMultiplexEntryAck =  12,
162   ResponseMessage_requestMultiplexEntryReject =  13,
163   ResponseMessage_requestModeAck =  14,
164   ResponseMessage_requestModeReject =  15,
165   ResponseMessage_roundTripDelayResponse =  16,
166   ResponseMessage_maintenanceLoopAck =  17,
167   ResponseMessage_maintenanceLoopReject =  18,
168   ResponseMessage_communicationModeResponse =  19,
169   ResponseMessage_conferenceResponse =  20,
170   ResponseMessage_multilinkResponse =  21,
171   ResponseMessage_logicalChannelRateAcknowledge =  22,
172   ResponseMessage_logicalChannelRateReject =  23,
173   ResponseMessage_genericResponse =  24
174 } ResponseMessage_enum;
175
176 typedef enum _CommandMessage_enum {
177   CommandMessage_nonStandard =   0,
178   CommandMessage_maintenanceLoopOffCommand =   1,
179   CommandMessage_sendTerminalCapabilitySet =   2,
180   CommandMessage_encryptionCommand =   3,
181   CommandMessage_flowControlCommand =   4,
182   CommandMessage_endSessionCommand =   5,
183   CommandMessage_miscellaneousCommand =   6,
184   CommandMessage_communicationModeCommand =   7,
185   CommandMessage_conferenceCommand =   8,
186   CommandMessage_h223MultiplexReconfiguration =   9,
187   CommandMessage_newATMVCCommand =  10,
188   CommandMessage_mobileMultilinkReconfigurationCommand =  11,
189   CommandMessage_genericCommand =  12
190 } CommandMessage_enum;
191
192 typedef enum _IndicationMessage_enum {
193   IndicationMessage_nonStandard =   0,
194   IndicationMessage_functionNotUnderstood =   1,
195   IndicationMessage_masterSlaveDeterminationRelease =   2,
196   IndicationMessage_terminalCapabilitySetRelease =   3,
197   IndicationMessage_openLogicalChannelConfirm =   4,
198   IndicationMessage_requestChannelCloseRelease =   5,
199   IndicationMessage_multiplexEntrySendRelease =   6,
200   IndicationMessage_requestMultiplexEntryRelease =   7,
201   IndicationMessage_requestModeRelease =   8,
202   IndicationMessage_miscellaneousIndication =   9,
203   IndicationMessage_jitterIndication =  10,
204   IndicationMessage_h223SkewIndication =  11,
205   IndicationMessage_newATMVCIndication =  12,
206   IndicationMessage_userInput =  13,
207   IndicationMessage_h2250MaximumSkewIndication =  14,
208   IndicationMessage_mcLocationIndication =  15,
209   IndicationMessage_conferenceIndication =  16,
210   IndicationMessage_vendorIdentification =  17,
211   IndicationMessage_functionNotSupported =  18,
212   IndicationMessage_multilinkIndication =  19,
213   IndicationMessage_logicalChannelRateRelease =  20,
214   IndicationMessage_flowControlIndication =  21,
215   IndicationMessage_mobileMultilinkReconfigurationIndication =  22,
216   IndicationMessage_genericIndication =  23
217 } IndicationMessage_enum;
218
219 /*--- End of included file: packet-h245-val.h ---*/
220 #line 90 "packet-h245-template.c"
221
222 static const value_string h245_RequestMessage_short_vals[] = {
223         { RequestMessage_nonStandard              ,     "NSM" },
224         { RequestMessage_masterSlaveDetermination ,     "MSD" },
225         { RequestMessage_terminalCapabilitySet    ,     "TCS" },
226         { RequestMessage_openLogicalChannel       ,     "OLC" },
227         { RequestMessage_closeLogicalChannel      ,     "CLC" },
228         { RequestMessage_requestChannelClose      ,     "RCC" },
229         { RequestMessage_multiplexEntrySend       ,     "MES" },
230         { RequestMessage_requestMultiplexEntry    ,     "RME" },
231         { RequestMessage_requestMode              ,     "RM"  },
232         { RequestMessage_roundTripDelayRequest    ,     "RTDR" },
233         { RequestMessage_maintenanceLoopRequest   ,     "MLR" },
234         { RequestMessage_communicationModeRequest ,     "CMR" },
235         { RequestMessage_conferenceRequest        ,     "CR"  },
236         { RequestMessage_multilinkRequest         ,     "MR"  },
237         { RequestMessage_logicalChannelRateRequest,     "LCRR" },
238         { RequestMessage_genericRequest           ,     "GR"  },
239         {  0, NULL }
240 };
241 static const value_string h245_ResponseMessage_short_vals[] = {
242         { ResponseMessage_nonStandard                   ,       "NSM" },
243         { ResponseMessage_masterSlaveDeterminationAck   ,       "MSDAck" },
244         { ResponseMessage_masterSlaveDeterminationReject,       "MSDReject" },
245         { ResponseMessage_terminalCapabilitySetAck      ,       "TCSAck" },
246         { ResponseMessage_terminalCapabilitySetReject   ,       "TCSReject" },
247         { ResponseMessage_openLogicalChannelAck         ,       "OLCAck" },
248         { ResponseMessage_openLogicalChannelReject      ,       "OLCReject" },
249         { ResponseMessage_closeLogicalChannelAck        ,       "CLCAck" },
250         { ResponseMessage_requestChannelCloseAck        ,       "RCCAck" },
251         { ResponseMessage_requestChannelCloseReject     ,       "RCCReject" },
252         { ResponseMessage_multiplexEntrySendAck         ,       "MESAck" },
253         { ResponseMessage_multiplexEntrySendReject      ,       "MESReject" },
254         { ResponseMessage_requestMultiplexEntryAck      ,       "RMEAck" },
255         { ResponseMessage_requestMultiplexEntryReject   ,       "RMEReject" },
256         { ResponseMessage_requestModeAck                ,       "RMAck" },
257         { ResponseMessage_requestModeReject             ,       "RMReject" },
258         { ResponseMessage_roundTripDelayResponse        ,       "RTDResponse" },
259         { ResponseMessage_maintenanceLoopAck            ,       "MLAck" },
260         { ResponseMessage_maintenanceLoopReject         ,       "MLReject" },
261         { ResponseMessage_communicationModeResponse     ,       "CMResponse" },
262         { ResponseMessage_conferenceResponse            ,       "CResponse" },
263         { ResponseMessage_multilinkResponse             ,       "MResponse" },
264         { ResponseMessage_logicalChannelRateAcknowledge ,       "LCRAck" },
265         { ResponseMessage_logicalChannelRateReject      ,       "LCRReject" },
266         { ResponseMessage_genericResponse               ,       "GR" },
267         {  0, NULL }
268 };
269 static const value_string h245_IndicationMessage_short_vals[] = {
270         { IndicationMessage_nonStandard                             ,   "NSM" },
271         { IndicationMessage_functionNotUnderstood                   ,   "FNU" },
272         { IndicationMessage_masterSlaveDeterminationRelease         ,   "MSDRelease" },
273         { IndicationMessage_terminalCapabilitySetRelease            ,   "TCSRelease" },
274         { IndicationMessage_openLogicalChannelConfirm               ,   "OLCConfirm" },
275         { IndicationMessage_requestChannelCloseRelease              ,   "RCCRelease" },
276         { IndicationMessage_multiplexEntrySendRelease               ,   "MESRelease" },
277         { IndicationMessage_requestMultiplexEntryRelease            ,   "RMERelease" },
278         { IndicationMessage_requestModeRelease                      ,   "RMRelease" },
279         { IndicationMessage_miscellaneousIndication                 ,   "MI" },
280         { IndicationMessage_jitterIndication                        ,   "JI" },
281         { IndicationMessage_h223SkewIndication                      ,   "H223SI" },
282         { IndicationMessage_newATMVCIndication                      ,   "NATMVCI" },
283         { IndicationMessage_userInput                               ,   "UII" },
284         { IndicationMessage_h2250MaximumSkewIndication              ,   "H2250MSI" },
285         { IndicationMessage_mcLocationIndication                    ,   "MCLI" },
286         { IndicationMessage_conferenceIndication                    ,   "CI" },
287         { IndicationMessage_vendorIdentification                    ,   "VI" },
288         { IndicationMessage_functionNotSupported                    ,   "FNS" },
289         { IndicationMessage_multilinkIndication                     ,   "MultilinkIndication" },
290         { IndicationMessage_logicalChannelRateRelease               ,   "LCRRelease" },
291         { IndicationMessage_flowControlIndication                   ,   "FCIndication" },
292         { IndicationMessage_mobileMultilinkReconfigurationIndication,   "MMRI" },
293         { IndicationMessage_genericIndication                       ,   "GI" },
294         {  0, NULL }
295 };
296 static const value_string h245_CommandMessage_short_vals[] = {
297         { CommandMessage_nonStandard                          , "NSM" },
298         { CommandMessage_maintenanceLoopOffCommand            , "MLOC" },
299         { CommandMessage_sendTerminalCapabilitySet            , "STCS" },
300         { CommandMessage_encryptionCommand                    , "EC" },
301         { CommandMessage_flowControlCommand                   , "FCC" },
302         { CommandMessage_endSessionCommand                    , "ESC" },
303         { CommandMessage_miscellaneousCommand                 , "MC" },
304         { CommandMessage_communicationModeCommand             , "CMC" },
305         { CommandMessage_conferenceCommand                    , "CC" },
306         { CommandMessage_h223MultiplexReconfiguration         , "H223MR" },
307         { CommandMessage_newATMVCCommand                      , "NATMVCC" },
308         { CommandMessage_mobileMultilinkReconfigurationCommand, "MMRC" },
309         { CommandMessage_genericCommand                       , "GC" },
310         {  0, NULL }
311 };
312
313 static const value_string h245_AudioCapability_short_vals[] = {
314   { AudioCapability_nonStandard           , "nonStd" },
315   { AudioCapability_g711Alaw64k           , "g711A" },
316   { AudioCapability_g711Alaw56k           , "g711A56k" },
317   { AudioCapability_g711Ulaw64k           , "g711U" },
318   { AudioCapability_g711Ulaw56k           , "g711U56k" },
319   { AudioCapability_g722_64k              , "g722-64k" },
320   { AudioCapability_g722_56k              , "g722-56k" },
321   { AudioCapability_g722_48k              , "g722-48k" },
322   { AudioCapability_g7231                 , "g7231" },
323   { AudioCapability_g728                  , "g728" },
324   { AudioCapability_g729                  , "g729" },
325   { AudioCapability_g729AnnexA            , "g729A" },
326   { AudioCapability_is11172AudioCapability, "is11172" },
327   { AudioCapability_is13818AudioCapability, "is13818" },
328   { AudioCapability_g729wAnnexB           , "g729B" },
329   { AudioCapability_g729AnnexAwAnnexB     , "g729AB" },
330   { AudioCapability_g7231AnnexCCapability , "g7231C" },
331   { AudioCapability_gsmFullRate           , "gsmFR" },
332   { AudioCapability_gsmHalfRate           , "gsmHR" },
333   { AudioCapability_gsmEnhancedFullRate   , "gsmEFR" },
334   { AudioCapability_genericAudioCapability, "generic" },
335   { AudioCapability_g729Extensions        , "g729Ext" },
336   { AudioCapability_vbd                   , "vbd" },
337   { AudioCapability_audioTelephonyEvent   , "audioTelEvent" },
338   { AudioCapability_audioTone             , "audioTone" },
339   {  0, NULL }
340 };
341
342 /* To put the codec type only in COL_INFO when
343    an OLC is read */
344 const char* codec_type = NULL;
345 static guint32 rfc_number;
346
347 typedef struct _unicast_addr_t {
348   address addr;
349   guint8 addr_buf[16];
350   guint32 port;
351 } unicast_addr_t;
352
353 typedef struct _channel_info_t {
354   gchar data_type_str[32];
355   unicast_addr_t *upcoming_addr;
356   unicast_addr_t media_addr;
357   unicast_addr_t media_control_addr;
358   unsigned int rfc2198;
359   gboolean srtp_flag;
360 } channel_info_t;
361
362 typedef struct _olc_info_t {
363   guint16 fwd_lc_num;
364   channel_info_t fwd_lc;
365   channel_info_t rev_lc;
366 } olc_info_t;
367
368 static GHashTable* h245_pending_olc_reqs = NULL;
369 static gboolean fast_start = FALSE;
370 static olc_info_t *upcoming_olc = NULL;
371 static channel_info_t *upcoming_channel = NULL;
372
373 /* NonStandardParameter */
374 static const char *nsiOID;
375 static guint32 h221NonStandard;
376 static guint32 t35CountryCode;
377 static guint32 t35Extension;
378 static guint32 manufacturerCode;
379
380 static const value_string h245_RFC_number_vals[] = {
381         {  2190,        "RFC 2190 - H.263 Video Streams" },
382         {  2198,        "RFC 2198 - RTP Payload for Redundant Audio Data" },
383         {  2429,        "RFC 2429 - 1998 Version of ITU-T Rec. H.263 Video (H.263+)" },
384         {  3016,        "RFC 3016 - RTP Payload Format for MPEG-4 Audio/Visual Streams" },
385         {  3267,        "RFC 3267 - Adaptive Multi-Rate (AMR) and Adaptive Multi-Rate Wideband (AMR-WB)" },
386         {  0, NULL }
387 };
388
389 /* h223 multiplex codes */
390 static h223_set_mc_handle_t h223_set_mc_handle = NULL;
391 h223_mux_element *h223_me=NULL;
392 guint8 h223_mc=0;
393 void h245_set_h223_set_mc_handle( h223_set_mc_handle_t handle )
394 {
395         h223_set_mc_handle = handle;
396 }
397
398 /* h223 logical channels */
399 typedef struct {
400         h223_lc_params *fw_channel_params;
401         h223_lc_params *rev_channel_params;
402 } h223_pending_olc;
403
404 static GHashTable*          h223_pending_olc_reqs[] = { NULL, NULL };
405 static dissector_handle_t   h245_lc_dissector;
406 static guint16              h245_lc_temp;
407 static guint16              h223_fw_lc_num;
408 static guint16              h223_rev_lc_num;
409 static h223_lc_params      *h223_lc_params_temp;
410 static h223_lc_params      *h223_fw_lc_params;
411 static h223_lc_params      *h223_rev_lc_params;
412 static h223_add_lc_handle_t h223_add_lc_handle = NULL;
413
414 static void h223_lc_init_dir( int dir )
415 {
416         if ( h223_pending_olc_reqs[dir] )
417                 g_hash_table_destroy( h223_pending_olc_reqs[dir] );
418         h223_pending_olc_reqs[dir] = g_hash_table_new( g_direct_hash, g_direct_equal );
419 }
420
421 static void h223_lc_init( void )
422 {
423         h223_lc_init_dir( P2P_DIR_SENT );
424         h223_lc_init_dir( P2P_DIR_RECV );
425         h223_lc_params_temp = NULL;
426         h245_lc_dissector = NULL;
427         h223_fw_lc_num = 0;
428 }
429
430 static void h245_init(void) 
431 {
432         if ( h245_pending_olc_reqs)
433                 g_hash_table_destroy(h245_pending_olc_reqs);
434         h245_pending_olc_reqs = g_hash_table_new(g_str_hash, g_str_equal);
435
436         h223_lc_init();
437 }
438
439 void h245_set_h223_add_lc_handle( h223_add_lc_handle_t handle )
440 {
441         h223_add_lc_handle = handle;
442 }
443
444 static const gchar *gen_olc_key(guint16 lc_num, address *dst_addr, address *src_addr)
445 {
446   return ep_strdup_printf("%s/%s/%u", address_to_str(dst_addr), address_to_str(src_addr), lc_num);
447 }
448
449 static void update_unicast_addr(unicast_addr_t *req_addr, unicast_addr_t *ack_addr)
450 {
451   if (ack_addr->addr.type!=AT_NONE && ack_addr->port!=0) {
452     memcpy(req_addr->addr_buf, ack_addr->addr_buf, sizeof(req_addr->addr_buf));
453     SET_ADDRESS(&req_addr->addr, ack_addr->addr.type, ack_addr->addr.len, req_addr->addr_buf);
454     req_addr->port = ack_addr->port;
455   }
456 }
457
458 static void h245_setup_channels(packet_info *pinfo, channel_info_t *upcoming_channel)
459 {
460         gint *key;
461         GHashTable *rtp_dyn_payload = NULL;
462         struct srtp_info *dummy_srtp_info = NULL;
463
464         if (!upcoming_channel) return;
465
466         /* T.38 */
467         if (!strcmp(upcoming_channel->data_type_str, "t38fax")) {
468                 if (upcoming_channel->media_addr.addr.type!=AT_NONE && upcoming_channel->media_addr.port!=0 && t38_handle) {
469                         t38_add_address(pinfo, &upcoming_channel->media_addr.addr, 
470                                                         upcoming_channel->media_addr.port, 0, 
471                                                         "H245", pinfo->fd->num);
472                 }
473                 return;
474         }
475
476         /* (S)RTP, (S)RTCP */
477         if (upcoming_channel->rfc2198 > 0) {
478 #if GLIB_MAJOR_VERSION < 2
479                 rtp_dyn_payload = g_hash_table_new(g_int_hash, g_int_equal);
480 #else
481                 rtp_dyn_payload = g_hash_table_new_full(g_int_hash, g_int_equal, g_free, g_free);
482 #endif
483                 key = g_malloc(sizeof(gint));
484                 *key = upcoming_channel->rfc2198;
485                 g_hash_table_insert(rtp_dyn_payload, key, g_strdup("red"));
486         }
487
488         if (upcoming_channel->srtp_flag) {
489                 struct srtp_info *dummy_srtp_info = se_alloc0(sizeof(struct srtp_info));
490         }
491         if (upcoming_channel->media_addr.addr.type!=AT_NONE && upcoming_channel->media_addr.port!=0 && rtp_handle) {
492                 srtp_add_address(pinfo, &upcoming_channel->media_addr.addr, 
493                                                 upcoming_channel->media_addr.port, 0, 
494                                                 "H245", pinfo->fd->num, rtp_dyn_payload, dummy_srtp_info);
495         }
496         if (upcoming_channel->media_control_addr.addr.type!=AT_NONE && upcoming_channel->media_control_addr.port!=0 && rtcp_handle) {
497                 srtcp_add_address(pinfo, &upcoming_channel->media_control_addr.addr, 
498                                                 upcoming_channel->media_control_addr.port, 0, 
499                                                 "H245", pinfo->fd->num, dummy_srtp_info);
500         }
501 }
502
503 /* Initialize the protocol and registered fields */
504 int proto_h245 = -1;
505
506 /*--- Included file: packet-h245-hf.c ---*/
507 #line 1 "packet-h245-hf.c"
508 static int hf_h245_OpenLogicalChannel_PDU = -1;   /* OpenLogicalChannel */
509 static int hf_h245_request = -1;                  /* RequestMessage */
510 static int hf_h245_response = -1;                 /* ResponseMessage */
511 static int hf_h245_command = -1;                  /* CommandMessage */
512 static int hf_h245_indication = -1;               /* IndicationMessage */
513 static int hf_h245_nonStandardMsg = -1;           /* NonStandardMessage */
514 static int hf_h245_masterSlaveDetermination = -1;  /* MasterSlaveDetermination */
515 static int hf_h245_terminalCapabilitySet = -1;    /* TerminalCapabilitySet */
516 static int hf_h245_openLogicalChannel = -1;       /* OpenLogicalChannel */
517 static int hf_h245_closeLogicalChannel = -1;      /* CloseLogicalChannel */
518 static int hf_h245_requestChannelClose = -1;      /* RequestChannelClose */
519 static int hf_h245_multiplexEntrySend = -1;       /* MultiplexEntrySend */
520 static int hf_h245_requestMultiplexEntry = -1;    /* RequestMultiplexEntry */
521 static int hf_h245_requestMode = -1;              /* RequestMode */
522 static int hf_h245_roundTripDelayRequest = -1;    /* RoundTripDelayRequest */
523 static int hf_h245_maintenanceLoopRequest = -1;   /* MaintenanceLoopRequest */
524 static int hf_h245_communicationModeRequest = -1;  /* CommunicationModeRequest */
525 static int hf_h245_conferenceRequest = -1;        /* ConferenceRequest */
526 static int hf_h245_multilinkRequest = -1;         /* MultilinkRequest */
527 static int hf_h245_logicalChannelRateRequest = -1;  /* LogicalChannelRateRequest */
528 static int hf_h245_genericRequest = -1;           /* GenericMessage */
529 static int hf_h245_masterSlaveDeterminationAck = -1;  /* MasterSlaveDeterminationAck */
530 static int hf_h245_masterSlaveDeterminationReject = -1;  /* MasterSlaveDeterminationReject */
531 static int hf_h245_terminalCapabilitySetAck = -1;  /* TerminalCapabilitySetAck */
532 static int hf_h245_terminalCapabilitySetReject = -1;  /* TerminalCapabilitySetReject */
533 static int hf_h245_openLogicalChannelAck = -1;    /* OpenLogicalChannelAck */
534 static int hf_h245_openLogicalChannelReject = -1;  /* OpenLogicalChannelReject */
535 static int hf_h245_closeLogicalChannelAck = -1;   /* CloseLogicalChannelAck */
536 static int hf_h245_requestChannelCloseAck = -1;   /* RequestChannelCloseAck */
537 static int hf_h245_requestChannelCloseReject = -1;  /* RequestChannelCloseReject */
538 static int hf_h245_multiplexEntrySendAck = -1;    /* MultiplexEntrySendAck */
539 static int hf_h245_multiplexEntrySendReject = -1;  /* MultiplexEntrySendReject */
540 static int hf_h245_requestMultiplexEntryAck = -1;  /* RequestMultiplexEntryAck */
541 static int hf_h245_requestMultiplexEntryReject = -1;  /* RequestMultiplexEntryReject */
542 static int hf_h245_requestModeAck = -1;           /* RequestModeAck */
543 static int hf_h245_requestModeReject = -1;        /* RequestModeReject */
544 static int hf_h245_roundTripDelayResponse = -1;   /* RoundTripDelayResponse */
545 static int hf_h245_maintenanceLoopAck = -1;       /* MaintenanceLoopAck */
546 static int hf_h245_maintenanceLoopReject = -1;    /* MaintenanceLoopReject */
547 static int hf_h245_communicationModeResponse = -1;  /* CommunicationModeResponse */
548 static int hf_h245_conferenceResponse = -1;       /* ConferenceResponse */
549 static int hf_h245_multilinkResponse = -1;        /* MultilinkResponse */
550 static int hf_h245_logicalChannelRateAcknowledge = -1;  /* LogicalChannelRateAcknowledge */
551 static int hf_h245_logicalChannelRateReject = -1;  /* LogicalChannelRateReject */
552 static int hf_h245_genericResponse = -1;          /* GenericMessage */
553 static int hf_h245_maintenanceLoopOffCommand = -1;  /* MaintenanceLoopOffCommand */
554 static int hf_h245_sendTerminalCapabilitySet = -1;  /* SendTerminalCapabilitySet */
555 static int hf_h245_encryptionCommand = -1;        /* EncryptionCommand */
556 static int hf_h245_flowControlCommand = -1;       /* FlowControlCommand */
557 static int hf_h245_endSessionCommand = -1;        /* EndSessionCommand */
558 static int hf_h245_miscellaneousCommand = -1;     /* MiscellaneousCommand */
559 static int hf_h245_communicationModeCommand = -1;  /* CommunicationModeCommand */
560 static int hf_h245_conferenceCommand = -1;        /* ConferenceCommand */
561 static int hf_h245_h223MultiplexReconfiguration = -1;  /* H223MultiplexReconfiguration */
562 static int hf_h245_newATMVCCommand = -1;          /* NewATMVCCommand */
563 static int hf_h245_mobileMultilinkReconfigurationCommand = -1;  /* MobileMultilinkReconfigurationCommand */
564 static int hf_h245_genericCommand = -1;           /* GenericMessage */
565 static int hf_h245_functionNotUnderstood = -1;    /* FunctionNotUnderstood */
566 static int hf_h245_masterSlaveDeterminationRelease = -1;  /* MasterSlaveDeterminationRelease */
567 static int hf_h245_terminalCapabilitySetRelease = -1;  /* TerminalCapabilitySetRelease */
568 static int hf_h245_openLogicalChannelConfirm = -1;  /* OpenLogicalChannelConfirm */
569 static int hf_h245_requestChannelCloseRelease = -1;  /* RequestChannelCloseRelease */
570 static int hf_h245_multiplexEntrySendRelease = -1;  /* MultiplexEntrySendRelease */
571 static int hf_h245_requestMultiplexEntryRelease = -1;  /* RequestMultiplexEntryRelease */
572 static int hf_h245_requestModeRelease = -1;       /* RequestModeRelease */
573 static int hf_h245_miscellaneousIndication = -1;  /* MiscellaneousIndication */
574 static int hf_h245_jitterIndication = -1;         /* JitterIndication */
575 static int hf_h245_h223SkewIndication = -1;       /* H223SkewIndication */
576 static int hf_h245_newATMVCIndication = -1;       /* NewATMVCIndication */
577 static int hf_h245_userInput = -1;                /* UserInputIndication */
578 static int hf_h245_h2250MaximumSkewIndication = -1;  /* H2250MaximumSkewIndication */
579 static int hf_h245_mcLocationIndication = -1;     /* MCLocationIndication */
580 static int hf_h245_conferenceIndication = -1;     /* ConferenceIndication */
581 static int hf_h245_vendorIdentification = -1;     /* VendorIdentification */
582 static int hf_h245_functionNotSupported = -1;     /* FunctionNotSupported */
583 static int hf_h245_multilinkIndication = -1;      /* MultilinkIndication */
584 static int hf_h245_logicalChannelRateRelease = -1;  /* LogicalChannelRateRelease */
585 static int hf_h245_flowControlIndication = -1;    /* FlowControlIndication */
586 static int hf_h245_mobileMultilinkReconfigurationIndication = -1;  /* MobileMultilinkReconfigurationIndication */
587 static int hf_h245_genericIndication = -1;        /* GenericMessage */
588 static int hf_h245_messageIdentifier = -1;        /* CapabilityIdentifier */
589 static int hf_h245_subMessageIdentifier = -1;     /* T_subMessageIdentifier */
590 static int hf_h245_messageContent = -1;           /* T_messageContent */
591 static int hf_h245_messageContent_item = -1;      /* T_messageContent_item */
592 static int hf_h245_nonStandardData = -1;          /* NonStandardParameter */
593 static int hf_h245_nonStandardIdentifier = -1;    /* NonStandardIdentifier */
594 static int hf_h245_nsd_data = -1;                 /* T_nsd_data */
595 static int hf_h245_object = -1;                   /* T_object */
596 static int hf_h245_h221NonStandardID = -1;        /* H221NonStandardID */
597 static int hf_h245_t35CountryCode = -1;           /* T_t35CountryCode */
598 static int hf_h245_t35Extension = -1;             /* T_t35Extension */
599 static int hf_h245_manufacturerCode = -1;         /* T_manufacturerCode */
600 static int hf_h245_terminalType = -1;             /* INTEGER_0_255 */
601 static int hf_h245_statusDeterminationNumber = -1;  /* INTEGER_0_16777215 */
602 static int hf_h245_decision = -1;                 /* T_decision */
603 static int hf_h245_master = -1;                   /* NULL */
604 static int hf_h245_slave = -1;                    /* NULL */
605 static int hf_h245_msd_rej_cause = -1;            /* MasterSlaveDeterminationRejectCause */
606 static int hf_h245_identicalNumbers = -1;         /* NULL */
607 static int hf_h245_sequenceNumber = -1;           /* SequenceNumber */
608 static int hf_h245_protocolIdentifier = -1;       /* OBJECT_IDENTIFIER */
609 static int hf_h245_multiplexCapability = -1;      /* MultiplexCapability */
610 static int hf_h245_capabilityTable = -1;          /* SET_SIZE_1_256_OF_CapabilityTableEntry */
611 static int hf_h245_capabilityTable_item = -1;     /* CapabilityTableEntry */
612 static int hf_h245_capabilityDescriptors = -1;    /* SET_SIZE_1_256_OF_CapabilityDescriptor */
613 static int hf_h245_capabilityDescriptors_item = -1;  /* CapabilityDescriptor */
614 static int hf_h245_genericInformation = -1;       /* SEQUENCE_OF_GenericInformation */
615 static int hf_h245_genericInformation_item = -1;  /* GenericInformation */
616 static int hf_h245_capabilityTableEntryNumber = -1;  /* CapabilityTableEntryNumber */
617 static int hf_h245_capability = -1;               /* Capability */
618 static int hf_h245_capabilityDescriptorNumber = -1;  /* CapabilityDescriptorNumber */
619 static int hf_h245_simultaneousCapabilities = -1;  /* SET_SIZE_1_256_OF_AlternativeCapabilitySet */
620 static int hf_h245_simultaneousCapabilities_item = -1;  /* AlternativeCapabilitySet */
621 static int hf_h245_AlternativeCapabilitySet_item = -1;  /* CapabilityTableEntryNumber */
622 static int hf_h245_tcs_rej_cause = -1;            /* TerminalCapabilitySetRejectCause */
623 static int hf_h245_unspecified = -1;              /* NULL */
624 static int hf_h245_undefinedTableEntryUsed = -1;  /* NULL */
625 static int hf_h245_descriptorCapacityExceeded = -1;  /* NULL */
626 static int hf_h245_tableEntryCapacityExceeded = -1;  /* T_tableEntryCapacityExceeded */
627 static int hf_h245_highestEntryNumberProcessed = -1;  /* CapabilityTableEntryNumber */
628 static int hf_h245_noneProcessed = -1;            /* NULL */
629 static int hf_h245_nonStandard = -1;              /* NonStandardParameter */
630 static int hf_h245_receiveVideoCapability = -1;   /* VideoCapability */
631 static int hf_h245_transmitVideoCapability = -1;  /* VideoCapability */
632 static int hf_h245_receiveAndTransmitVideoCapability = -1;  /* VideoCapability */
633 static int hf_h245_receiveAudioCapability = -1;   /* AudioCapability */
634 static int hf_h245_transmitAudioCapability = -1;  /* AudioCapability */
635 static int hf_h245_receiveAndTransmitAudioCapability = -1;  /* AudioCapability */
636 static int hf_h245_receiveDataApplicationCapability = -1;  /* DataApplicationCapability */
637 static int hf_h245_transmitDataApplicationCapability = -1;  /* DataApplicationCapability */
638 static int hf_h245_receiveAndTransmitDataApplicationCapability = -1;  /* DataApplicationCapability */
639 static int hf_h245_h233EncryptionTransmitCapability = -1;  /* BOOLEAN */
640 static int hf_h245_h233EncryptionReceiveCapability = -1;  /* T_h233EncryptionReceiveCapability */
641 static int hf_h245_h233IVResponseTime = -1;       /* INTEGER_0_255 */
642 static int hf_h245_conferenceCapability = -1;     /* ConferenceCapability */
643 static int hf_h245_h235SecurityCapability = -1;   /* H235SecurityCapability */
644 static int hf_h245_maxPendingReplacementFor = -1;  /* INTEGER_0_255 */
645 static int hf_h245_receiveUserInputCapability = -1;  /* UserInputCapability */
646 static int hf_h245_transmitUserInputCapability = -1;  /* UserInputCapability */
647 static int hf_h245_receiveAndTransmitUserInputCapability = -1;  /* UserInputCapability */
648 static int hf_h245_genericControlCapability = -1;  /* GenericCapability */
649 static int hf_h245_receiveMultiplexedStreamCapability = -1;  /* MultiplexedStreamCapability */
650 static int hf_h245_transmitMultiplexedStreamCapability = -1;  /* MultiplexedStreamCapability */
651 static int hf_h245_receiveAndTransmitMultiplexedStreamCapability = -1;  /* MultiplexedStreamCapability */
652 static int hf_h245_receiveRTPAudioTelephonyEventCapability = -1;  /* AudioTelephonyEventCapability */
653 static int hf_h245_receiveRTPAudioToneCapability = -1;  /* AudioToneCapability */
654 static int hf_h245_depFecCapability = -1;         /* DepFECCapability */
655 static int hf_h245_multiplePayloadStreamCapability = -1;  /* MultiplePayloadStreamCapability */
656 static int hf_h245_fecCapability = -1;            /* FECCapability */
657 static int hf_h245_redundancyEncodingCap = -1;    /* RedundancyEncodingCapability */
658 static int hf_h245_oneOfCapabilities = -1;        /* AlternativeCapabilitySet */
659 static int hf_h245_encryptionAuthenticationAndIntegrity = -1;  /* EncryptionAuthenticationAndIntegrity */
660 static int hf_h245_mediaCapability = -1;          /* CapabilityTableEntryNumber */
661 static int hf_h245_h222Capability = -1;           /* H222Capability */
662 static int hf_h245_h223Capability = -1;           /* H223Capability */
663 static int hf_h245_v76Capability = -1;            /* V76Capability */
664 static int hf_h245_h2250Capability = -1;          /* H2250Capability */
665 static int hf_h245_genericMultiplexCapability = -1;  /* GenericCapability */
666 static int hf_h245_numberOfVCs = -1;              /* INTEGER_1_256 */
667 static int hf_h245_vcCapability = -1;             /* SET_OF_VCCapability */
668 static int hf_h245_vcCapability_item = -1;        /* VCCapability */
669 static int hf_h245_aal1 = -1;                     /* T_aal1 */
670 static int hf_h245_nullClockRecovery = -1;        /* BOOLEAN */
671 static int hf_h245_srtsClockRecovery_bool = -1;   /* BOOLEAN */
672 static int hf_h245_adaptiveClockRecovery = -1;    /* BOOLEAN */
673 static int hf_h245_nullErrorCorrection = -1;      /* BOOLEAN */
674 static int hf_h245_longInterleaver = -1;          /* BOOLEAN */
675 static int hf_h245_shortInterleaver = -1;         /* BOOLEAN */
676 static int hf_h245_errorCorrectionOnly = -1;      /* BOOLEAN */
677 static int hf_h245_structuredDataTransfer = -1;   /* BOOLEAN */
678 static int hf_h245_partiallyFilledCells = -1;     /* BOOLEAN */
679 static int hf_h245_aal5 = -1;                     /* T_aal5 */
680 static int hf_h245_forwardMaximumSDUSize = -1;    /* INTEGER_0_65535 */
681 static int hf_h245_backwardMaximumSDUSize = -1;   /* INTEGER_0_65535 */
682 static int hf_h245_transportStream_bool = -1;     /* BOOLEAN */
683 static int hf_h245_programStream = -1;            /* BOOLEAN */
684 static int hf_h245_availableBitRates = -1;        /* T_availableBitRates */
685 static int hf_h245_avb_type = -1;                 /* Avb_type */
686 static int hf_h245_singleBitRate = -1;            /* INTEGER_1_65535 */
687 static int hf_h245_rangeOfBitRates = -1;          /* T_rangeOfBitRates */
688 static int hf_h245_lowerBitRate = -1;             /* INTEGER_1_65535 */
689 static int hf_h245_higherBitRate = -1;            /* INTEGER_1_65535 */
690 static int hf_h245_aal1ViaGateway = -1;           /* T_aal1ViaGateway */
691 static int hf_h245_gatewayAddress = -1;           /* SET_SIZE_1_256_OF_Q2931Address */
692 static int hf_h245_gatewayAddress_item = -1;      /* Q2931Address */
693 static int hf_h245_srtsClockRecoveryflag = -1;    /* BOOLEAN */
694 static int hf_h245_transportWithI_frames = -1;    /* BOOLEAN */
695 static int hf_h245_videoWithAL1 = -1;             /* BOOLEAN */
696 static int hf_h245_videoWithAL2 = -1;             /* BOOLEAN */
697 static int hf_h245_videoWithAL3 = -1;             /* BOOLEAN */
698 static int hf_h245_audioWithAL1 = -1;             /* BOOLEAN */
699 static int hf_h245_audioWithAL2 = -1;             /* BOOLEAN */
700 static int hf_h245_audioWithAL3 = -1;             /* BOOLEAN */
701 static int hf_h245_dataWithAL1 = -1;              /* BOOLEAN */
702 static int hf_h245_dataWithAL2 = -1;              /* BOOLEAN */
703 static int hf_h245_dataWithAL3 = -1;              /* BOOLEAN */
704 static int hf_h245_maximumAl2SDUSize = -1;        /* INTEGER_0_65535 */
705 static int hf_h245_maximumAl3SDUSize = -1;        /* INTEGER_0_65535 */
706 static int hf_h245_maximumDelayJitter = -1;       /* INTEGER_0_1023 */
707 static int hf_h245_h223MultiplexTableCapability = -1;  /* T_h223MultiplexTableCapability */
708 static int hf_h245_basic = -1;                    /* NULL */
709 static int hf_h245_enhanced = -1;                 /* T_enhanced */
710 static int hf_h245_maximumNestingDepth = -1;      /* INTEGER_1_15 */
711 static int hf_h245_maximumElementListSize = -1;   /* INTEGER_2_255 */
712 static int hf_h245_maximumSubElementListSize = -1;  /* INTEGER_2_255 */
713 static int hf_h245_maxMUXPDUSizeCapability = -1;  /* BOOLEAN */
714 static int hf_h245_nsrpSupport = -1;              /* BOOLEAN */
715 static int hf_h245_mobileOperationTransmitCapability = -1;  /* T_mobileOperationTransmitCapability */
716 static int hf_h245_modeChangeCapability = -1;     /* BOOLEAN */
717 static int hf_h245_h223AnnexA = -1;               /* BOOLEAN */
718 static int hf_h245_h223AnnexADoubleFlagFlag = -1;  /* BOOLEAN */
719 static int hf_h245_h223AnnexB = -1;               /* BOOLEAN */
720 static int hf_h245_h223AnnexBwithHeader = -1;     /* BOOLEAN */
721 static int hf_h245_h223AnnexCCapability = -1;     /* H223AnnexCCapability */
722 static int hf_h245_bitRate_1_19200 = -1;          /* INTEGER_1_19200 */
723 static int hf_h245_mobileMultilinkFrameCapability = -1;  /* T_mobileMultilinkFrameCapability */
724 static int hf_h245_maximumSampleSize = -1;        /* INTEGER_1_255 */
725 static int hf_h245_maximumPayloadLength = -1;     /* INTEGER_1_65025 */
726 static int hf_h245_videoWithAL1M = -1;            /* BOOLEAN */
727 static int hf_h245_videoWithAL2M = -1;            /* BOOLEAN */
728 static int hf_h245_videoWithAL3M = -1;            /* BOOLEAN */
729 static int hf_h245_audioWithAL1M = -1;            /* BOOLEAN */
730 static int hf_h245_audioWithAL2M = -1;            /* BOOLEAN */
731 static int hf_h245_audioWithAL3M = -1;            /* BOOLEAN */
732 static int hf_h245_dataWithAL1M = -1;             /* BOOLEAN */
733 static int hf_h245_dataWithAL2M = -1;             /* BOOLEAN */
734 static int hf_h245_dataWithAL3M = -1;             /* BOOLEAN */
735 static int hf_h245_alpduInterleaving = -1;        /* BOOLEAN */
736 static int hf_h245_maximumAL1MPDUSize = -1;       /* INTEGER_0_65535 */
737 static int hf_h245_maximumAL2MSDUSize = -1;       /* INTEGER_0_65535 */
738 static int hf_h245_maximumAL3MSDUSize = -1;       /* INTEGER_0_65535 */
739 static int hf_h245_rsCodeCapability = -1;         /* BOOLEAN */
740 static int hf_h245_suspendResumeCapabilitywAddress = -1;  /* BOOLEAN */
741 static int hf_h245_suspendResumeCapabilitywoAddress = -1;  /* BOOLEAN */
742 static int hf_h245_rejCapability = -1;            /* BOOLEAN */
743 static int hf_h245_sREJCapability = -1;           /* BOOLEAN */
744 static int hf_h245_mREJCapability = -1;           /* BOOLEAN */
745 static int hf_h245_crc8bitCapability = -1;        /* BOOLEAN */
746 static int hf_h245_crc16bitCapability = -1;       /* BOOLEAN */
747 static int hf_h245_crc32bitCapability = -1;       /* BOOLEAN */
748 static int hf_h245_uihCapability = -1;            /* BOOLEAN */
749 static int hf_h245_numOfDLCS = -1;                /* INTEGER_2_8191 */
750 static int hf_h245_twoOctetAddressFieldCapability = -1;  /* BOOLEAN */
751 static int hf_h245_loopBackTestCapability = -1;   /* BOOLEAN */
752 static int hf_h245_n401Capability = -1;           /* INTEGER_1_4095 */
753 static int hf_h245_maxWindowSizeCapability = -1;  /* INTEGER_1_127 */
754 static int hf_h245_v75Capability = -1;            /* V75Capability */
755 static int hf_h245_audioHeader = -1;              /* BOOLEAN */
756 static int hf_h245_maximumAudioDelayJitter = -1;  /* INTEGER_0_1023 */
757 static int hf_h245_receiveMultipointCapability = -1;  /* MultipointCapability */
758 static int hf_h245_transmitMultipointCapability = -1;  /* MultipointCapability */
759 static int hf_h245_receiveAndTransmitMultipointCapability = -1;  /* MultipointCapability */
760 static int hf_h245_mcCapability = -1;             /* T_mcCapability */
761 static int hf_h245_centralizedConferenceMC = -1;  /* BOOLEAN */
762 static int hf_h245_decentralizedConferenceMC = -1;  /* BOOLEAN */
763 static int hf_h245_rtcpVideoControlCapability = -1;  /* BOOLEAN */
764 static int hf_h245_mediaPacketizationCapability = -1;  /* MediaPacketizationCapability */
765 static int hf_h245_transportCapability = -1;      /* TransportCapability */
766 static int hf_h245_redundancyEncodingCapability = -1;  /* SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability */
767 static int hf_h245_redundancyEncodingCapability_item = -1;  /* RedundancyEncodingCapability */
768 static int hf_h245_logicalChannelSwitchingCapability = -1;  /* BOOLEAN */
769 static int hf_h245_t120DynamicPortCapability = -1;  /* BOOLEAN */
770 static int hf_h245_h261aVideoPacketization = -1;  /* BOOLEAN */
771 static int hf_h245_rtpPayloadTypes = -1;          /* SEQUENCE_SIZE_1_256_OF_RTPPayloadType */
772 static int hf_h245_rtpPayloadTypes_item = -1;     /* RTPPayloadType */
773 static int hf_h245_qosMode = -1;                  /* QOSMode */
774 static int hf_h245_tokenRate = -1;                /* INTEGER_1_4294967295 */
775 static int hf_h245_bucketSize = -1;               /* INTEGER_1_4294967295 */
776 static int hf_h245_peakRate = -1;                 /* INTEGER_1_4294967295 */
777 static int hf_h245_minPoliced = -1;               /* INTEGER_1_4294967295 */
778 static int hf_h245_maxPktSize = -1;               /* INTEGER_1_4294967295 */
779 static int hf_h245_guaranteedQOS = -1;            /* NULL */
780 static int hf_h245_controlledLoad = -1;           /* NULL */
781 static int hf_h245_maxNTUSize = -1;               /* INTEGER_0_65535 */
782 static int hf_h245_atmUBR = -1;                   /* BOOLEAN */
783 static int hf_h245_atmrtVBR = -1;                 /* BOOLEAN */
784 static int hf_h245_atmnrtVBR = -1;                /* BOOLEAN */
785 static int hf_h245_atmABR = -1;                   /* BOOLEAN */
786 static int hf_h245_atmCBR = -1;                   /* BOOLEAN */
787 static int hf_h245_nonStandardParameter = -1;     /* NonStandardParameter */
788 static int hf_h245_servicePrioritySignalled = -1;  /* BOOLEAN */
789 static int hf_h245_servicePriorityValue = -1;     /* ServicePriorityValue */
790 static int hf_h245_desired = -1;                  /* NULL */
791 static int hf_h245_required = -1;                 /* NULL */
792 static int hf_h245_class0 = -1;                   /* NULL */
793 static int hf_h245_class1 = -1;                   /* NULL */
794 static int hf_h245_class2 = -1;                   /* NULL */
795 static int hf_h245_class3 = -1;                   /* NULL */
796 static int hf_h245_class4 = -1;                   /* NULL */
797 static int hf_h245_class5 = -1;                   /* NULL */
798 static int hf_h245_qosType = -1;                  /* QOSType */
799 static int hf_h245_qosClass = -1;                 /* QOSClass */
800 static int hf_h245_averageRate = -1;              /* INTEGER_1_4294967295 */
801 static int hf_h245_burst = -1;                    /* INTEGER_1_4294967295 */
802 static int hf_h245_rsvpParameters = -1;           /* RSVPParameters */
803 static int hf_h245_atmParameters = -1;            /* ATMParameters */
804 static int hf_h245_localQoS = -1;                 /* BOOLEAN */
805 static int hf_h245_genericTransportParameters = -1;  /* GenericTransportParameters */
806 static int hf_h245_servicePriority = -1;          /* ServicePriority */
807 static int hf_h245_authorizationParameter = -1;   /* AuthorizationParameters */
808 static int hf_h245_qosDescriptor = -1;            /* QOSDescriptor */
809 static int hf_h245_dscpValue = -1;                /* INTEGER_0_63 */
810 static int hf_h245_ip_UDP = -1;                   /* NULL */
811 static int hf_h245_ip_TCP = -1;                   /* NULL */
812 static int hf_h245_atm_AAL5_UNIDIR = -1;          /* NULL */
813 static int hf_h245_atm_AAL5_BIDIR = -1;           /* NULL */
814 static int hf_h245_atm_AAL5_compressed = -1;      /* T_atm_AAL5_compressed */
815 static int hf_h245_variable_delta = -1;           /* BOOLEAN */
816 static int hf_h245_mediaTransport = -1;           /* MediaTransportType */
817 static int hf_h245_qOSCapabilities = -1;          /* SEQUENCE_SIZE_1_256_OF_QOSCapability */
818 static int hf_h245_qOSCapabilities_item = -1;     /* QOSCapability */
819 static int hf_h245_mediaChannelCapabilities = -1;  /* SEQUENCE_SIZE_1_256_OF_MediaChannelCapability */
820 static int hf_h245_mediaChannelCapabilities_item = -1;  /* MediaChannelCapability */
821 static int hf_h245_redundancyEncodingMethod = -1;  /* RedundancyEncodingMethod */
822 static int hf_h245_primaryEncoding = -1;          /* CapabilityTableEntryNumber */
823 static int hf_h245_secondaryEncodingCapability = -1;  /* SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber */
824 static int hf_h245_secondaryEncodingCapability_item = -1;  /* CapabilityTableEntryNumber */
825 static int hf_h245_rtpAudioRedundancyEncoding = -1;  /* NULL */
826 static int hf_h245_rtpH263VideoRedundancyEncoding = -1;  /* RTPH263VideoRedundancyEncoding */
827 static int hf_h245_numberOfThreads = -1;          /* INTEGER_1_16 */
828 static int hf_h245_framesBetweenSyncPoints = -1;  /* INTEGER_1_256 */
829 static int hf_h245_frameToThreadMapping = -1;     /* T_frameToThreadMapping */
830 static int hf_h245_roundrobin = -1;               /* NULL */
831 static int hf_h245_custom = -1;                   /* SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping */
832 static int hf_h245_custom_item = -1;              /* RTPH263VideoRedundancyFrameMapping */
833 static int hf_h245_containedThreads = -1;         /* T_containedThreads */
834 static int hf_h245_containedThreads_item = -1;    /* INTEGER_0_15 */
835 static int hf_h245_threadNumber = -1;             /* INTEGER_0_15 */
836 static int hf_h245_frameSequence = -1;            /* T_frameSequence */
837 static int hf_h245_frameSequence_item = -1;       /* INTEGER_0_255 */
838 static int hf_h245_multicastCapability = -1;      /* BOOLEAN */
839 static int hf_h245_multiUniCastConference = -1;   /* BOOLEAN */
840 static int hf_h245_mediaDistributionCapability = -1;  /* SEQUENCE_OF_MediaDistributionCapability */
841 static int hf_h245_mediaDistributionCapability_item = -1;  /* MediaDistributionCapability */
842 static int hf_h245_centralizedControl = -1;       /* BOOLEAN */
843 static int hf_h245_distributedControl = -1;       /* BOOLEAN */
844 static int hf_h245_centralizedAudio = -1;         /* BOOLEAN */
845 static int hf_h245_distributedAudio = -1;         /* BOOLEAN */
846 static int hf_h245_centralizedVideo = -1;         /* BOOLEAN */
847 static int hf_h245_distributedVideo = -1;         /* BOOLEAN */
848 static int hf_h245_centralizedData = -1;          /* SEQUENCE_OF_DataApplicationCapability */
849 static int hf_h245_centralizedData_item = -1;     /* DataApplicationCapability */
850 static int hf_h245_distributedData = -1;          /* SEQUENCE_OF_DataApplicationCapability */
851 static int hf_h245_distributedData_item = -1;     /* DataApplicationCapability */
852 static int hf_h245_h261VideoCapability = -1;      /* H261VideoCapability */
853 static int hf_h245_h262VideoCapability = -1;      /* H262VideoCapability */
854 static int hf_h245_h263VideoCapability = -1;      /* H263VideoCapability */
855 static int hf_h245_is11172VideoCapability = -1;   /* IS11172VideoCapability */
856 static int hf_h245_genericVideoCapability = -1;   /* GenericCapability */
857 static int hf_h245_extendedVideoCapability = -1;  /* ExtendedVideoCapability */
858 static int hf_h245_videoCapability = -1;          /* SEQUENCE_OF_VideoCapability */
859 static int hf_h245_videoCapability_item = -1;     /* VideoCapability */
860 static int hf_h245_videoCapabilityExtension = -1;  /* SEQUENCE_OF_GenericCapability */
861 static int hf_h245_videoCapabilityExtension_item = -1;  /* GenericCapability */
862 static int hf_h245_qcifMPI_1_4 = -1;              /* INTEGER_1_4 */
863 static int hf_h245_cifMPI_1_4 = -1;               /* INTEGER_1_4 */
864 static int hf_h245_temporalSpatialTradeOffCapability = -1;  /* BOOLEAN */
865 static int hf_h245_maxBitRate_1_19200 = -1;       /* INTEGER_1_19200 */
866 static int hf_h245_stillImageTransmission = -1;   /* BOOLEAN */
867 static int hf_h245_videoBadMBsCap = -1;           /* BOOLEAN */
868 static int hf_h245_profileAndLevel_SPatML = -1;   /* BOOLEAN */
869 static int hf_h245_profileAndLevel_MPatLL = -1;   /* BOOLEAN */
870 static int hf_h245_profileAndLevel_MPatML = -1;   /* BOOLEAN */
871 static int hf_h245_profileAndLevel_MPatH_14 = -1;  /* BOOLEAN */
872 static int hf_h245_profileAndLevel_MPatHL = -1;   /* BOOLEAN */
873 static int hf_h245_profileAndLevel_SNRatLL = -1;  /* BOOLEAN */
874 static int hf_h245_profileAndLevel_SNRatML = -1;  /* BOOLEAN */
875 static int hf_h245_profileAndLevel_SpatialatH_14 = -1;  /* BOOLEAN */
876 static int hf_h245_profileAndLevel_HPatML = -1;   /* BOOLEAN */
877 static int hf_h245_profileAndLevel_HPatH_14 = -1;  /* BOOLEAN */
878 static int hf_h245_profileAndLevel_HPatHL = -1;   /* BOOLEAN */
879 static int hf_h245_videoBitRate = -1;             /* INTEGER_0_1073741823 */
880 static int hf_h245_vbvBufferSize = -1;            /* INTEGER_0_262143 */
881 static int hf_h245_samplesPerLine = -1;           /* INTEGER_0_16383 */
882 static int hf_h245_linesPerFrame = -1;            /* INTEGER_0_16383 */
883 static int hf_h245_framesPerSecond = -1;          /* INTEGER_0_15 */
884 static int hf_h245_luminanceSampleRate = -1;      /* INTEGER_0_4294967295 */
885 static int hf_h245_sqcifMPI_1_32 = -1;            /* INTEGER_1_32 */
886 static int hf_h245_qcifMPI = -1;                  /* INTEGER_1_32 */
887 static int hf_h245_cifMPI = -1;                   /* INTEGER_1_32 */
888 static int hf_h245_cif4MPI_1_32 = -1;             /* INTEGER_1_32 */
889 static int hf_h245_cif16MPI_1_32 = -1;            /* INTEGER_1_32 */
890 static int hf_h245_maxBitRate = -1;               /* INTEGER_1_192400 */
891 static int hf_h245_unrestrictedVector = -1;       /* BOOLEAN */
892 static int hf_h245_arithmeticCoding = -1;         /* BOOLEAN */
893 static int hf_h245_advancedPrediction = -1;       /* BOOLEAN */
894 static int hf_h245_pbFrames = -1;                 /* BOOLEAN */
895 static int hf_h245_hrd_B = -1;                    /* INTEGER_0_524287 */
896 static int hf_h245_bppMaxKb = -1;                 /* INTEGER_0_65535 */
897 static int hf_h245_slowSqcifMPI = -1;             /* INTEGER_1_3600 */
898 static int hf_h245_slowQcifMPI = -1;              /* INTEGER_1_3600 */
899 static int hf_h245_slowCifMPI = -1;               /* INTEGER_1_3600 */
900 static int hf_h245_slowCif4MPI = -1;              /* INTEGER_1_3600 */
901 static int hf_h245_slowCif16MPI = -1;             /* INTEGER_1_3600 */
902 static int hf_h245_errorCompensation = -1;        /* BOOLEAN */
903 static int hf_h245_enhancementLayerInfo = -1;     /* EnhancementLayerInfo */
904 static int hf_h245_h263Options = -1;              /* H263Options */
905 static int hf_h245_baseBitRateConstrained = -1;   /* BOOLEAN */
906 static int hf_h245_snrEnhancement = -1;           /* SET_SIZE_1_14_OF_EnhancementOptions */
907 static int hf_h245_snrEnhancement_item = -1;      /* EnhancementOptions */
908 static int hf_h245_spatialEnhancement = -1;       /* SET_SIZE_1_14_OF_EnhancementOptions */
909 static int hf_h245_spatialEnhancement_item = -1;  /* EnhancementOptions */
910 static int hf_h245_bPictureEnhancement = -1;      /* SET_SIZE_1_14_OF_BEnhancementParameters */
911 static int hf_h245_bPictureEnhancement_item = -1;  /* BEnhancementParameters */
912 static int hf_h245_enhancementOptions = -1;       /* EnhancementOptions */
913 static int hf_h245_numberOfBPictures = -1;        /* INTEGER_1_64 */
914 static int hf_h245_advancedIntraCodingMode = -1;  /* BOOLEAN */
915 static int hf_h245_deblockingFilterMode = -1;     /* BOOLEAN */
916 static int hf_h245_improvedPBFramesMode = -1;     /* BOOLEAN */
917 static int hf_h245_unlimitedMotionVectors = -1;   /* BOOLEAN */
918 static int hf_h245_fullPictureFreeze = -1;        /* BOOLEAN */
919 static int hf_h245_partialPictureFreezeAndRelease = -1;  /* BOOLEAN */
920 static int hf_h245_resizingPartPicFreezeAndRelease = -1;  /* BOOLEAN */
921 static int hf_h245_fullPictureSnapshot = -1;      /* BOOLEAN */
922 static int hf_h245_partialPictureSnapshot = -1;   /* BOOLEAN */
923 static int hf_h245_videoSegmentTagging = -1;      /* BOOLEAN */
924 static int hf_h245_progressiveRefinement = -1;    /* BOOLEAN */
925 static int hf_h245_dynamicPictureResizingByFour = -1;  /* BOOLEAN */
926 static int hf_h245_dynamicPictureResizingSixteenthPel = -1;  /* BOOLEAN */
927 static int hf_h245_dynamicWarpingHalfPel = -1;    /* BOOLEAN */
928 static int hf_h245_dynamicWarpingSixteenthPel = -1;  /* BOOLEAN */
929 static int hf_h245_independentSegmentDecoding = -1;  /* BOOLEAN */
930 static int hf_h245_slicesInOrder_NonRect = -1;    /* BOOLEAN */
931 static int hf_h245_slicesInOrder_Rect = -1;       /* BOOLEAN */
932 static int hf_h245_slicesNoOrder_NonRect = -1;    /* BOOLEAN */
933 static int hf_h245_slicesNoOrder_Rect = -1;       /* BOOLEAN */
934 static int hf_h245_alternateInterVLCMode = -1;    /* BOOLEAN */
935 static int hf_h245_modifiedQuantizationMode = -1;  /* BOOLEAN */
936 static int hf_h245_reducedResolutionUpdate = -1;  /* BOOLEAN */
937 static int hf_h245_transparencyParameters = -1;   /* TransparencyParameters */
938 static int hf_h245_separateVideoBackChannel = -1;  /* BOOLEAN */
939 static int hf_h245_refPictureSelection = -1;      /* RefPictureSelection */
940 static int hf_h245_customPictureClockFrequency = -1;  /* SET_SIZE_1_16_OF_CustomPictureClockFrequency */
941 static int hf_h245_customPictureClockFrequency_item = -1;  /* CustomPictureClockFrequency */
942 static int hf_h245_customPictureFormat = -1;      /* SET_SIZE_1_16_OF_CustomPictureFormat */
943 static int hf_h245_customPictureFormat_item = -1;  /* CustomPictureFormat */
944 static int hf_h245_modeCombos = -1;               /* SET_SIZE_1_16_OF_H263VideoModeCombos */
945 static int hf_h245_modeCombos_item = -1;          /* H263VideoModeCombos */
946 static int hf_h245_h263Version3Options = -1;      /* H263Version3Options */
947 static int hf_h245_presentationOrder = -1;        /* INTEGER_1_256 */
948 static int hf_h245_offset_x = -1;                 /* INTEGER_M262144_262143 */
949 static int hf_h245_offset_y = -1;                 /* INTEGER_M262144_262143 */
950 static int hf_h245_scale_x = -1;                  /* INTEGER_1_255 */
951 static int hf_h245_scale_y = -1;                  /* INTEGER_1_255 */
952 static int hf_h245_additionalPictureMemory = -1;  /* T_additionalPictureMemory */
953 static int hf_h245_sqcifAdditionalPictureMemory = -1;  /* INTEGER_1_256 */
954 static int hf_h245_qcifAdditionalPictureMemory = -1;  /* INTEGER_1_256 */
955 static int hf_h245_cifAdditionalPictureMemory = -1;  /* INTEGER_1_256 */
956 static int hf_h245_cif4AdditionalPictureMemory = -1;  /* INTEGER_1_256 */
957 static int hf_h245_cif16AdditionalPictureMemory = -1;  /* INTEGER_1_256 */
958 static int hf_h245_bigCpfAdditionalPictureMemory = -1;  /* INTEGER_1_256 */
959 static int hf_h245_videoMux = -1;                 /* BOOLEAN */
960 static int hf_h245_videoBackChannelSend = -1;     /* T_videoBackChannelSend */
961 static int hf_h245_none = -1;                     /* NULL */
962 static int hf_h245_ackMessageOnly = -1;           /* NULL */
963 static int hf_h245_nackMessageOnly = -1;          /* NULL */
964 static int hf_h245_ackOrNackMessageOnly = -1;     /* NULL */
965 static int hf_h245_ackAndNackMessage = -1;        /* NULL */
966 static int hf_h245_enhancedReferencePicSelect = -1;  /* T_enhancedReferencePicSelect */
967 static int hf_h245_subPictureRemovalParameters = -1;  /* T_subPictureRemovalParameters */
968 static int hf_h245_mpuHorizMBs = -1;              /* INTEGER_1_128 */
969 static int hf_h245_mpuVertMBs = -1;               /* INTEGER_1_72 */
970 static int hf_h245_mpuTotalNumber = -1;           /* INTEGER_1_65536 */
971 static int hf_h245_clockConversionCode = -1;      /* INTEGER_1000_1001 */
972 static int hf_h245_clockDivisor = -1;             /* INTEGER_1_127 */
973 static int hf_h245_sqcifMPI = -1;                 /* INTEGER_1_2048 */
974 static int hf_h245_qcifMPI_1_2048 = -1;           /* INTEGER_1_2048 */
975 static int hf_h245_cifMPI2_1_2048 = -1;           /* INTEGER_1_2048 */
976 static int hf_h245_cif4MPI = -1;                  /* INTEGER_1_2048 */
977 static int hf_h245_cif16MPI = -1;                 /* INTEGER_1_2048 */
978 static int hf_h245_maxCustomPictureWidth = -1;    /* INTEGER_1_2048 */
979 static int hf_h245_maxCustomPictureHeight = -1;   /* INTEGER_1_2048 */
980 static int hf_h245_minCustomPictureWidth = -1;    /* INTEGER_1_2048 */
981 static int hf_h245_minCustomPictureHeight = -1;   /* INTEGER_1_2048 */
982 static int hf_h245_mPI = -1;                      /* T_mPI */
983 static int hf_h245_standardMPI = -1;              /* INTEGER_1_31 */
984 static int hf_h245_customPCF = -1;                /* T_customPCF */
985 static int hf_h245_customPCF_item = -1;           /* T_customPCF_item */
986 static int hf_h245_customMPI = -1;                /* INTEGER_1_2048 */
987 static int hf_h245_pixelAspectInformation = -1;   /* T_pixelAspectInformation */
988 static int hf_h245_anyPixelAspectRatio = -1;      /* BOOLEAN */
989 static int hf_h245_pixelAspectCode = -1;          /* T_pixelAspectCode */
990 static int hf_h245_pixelAspectCode_item = -1;     /* INTEGER_1_14 */
991 static int hf_h245_extendedPAR = -1;              /* T_extendedPAR */
992 static int hf_h245_extendedPAR_item = -1;         /* T_extendedPAR_item */
993 static int hf_h245_width = -1;                    /* INTEGER_1_255 */
994 static int hf_h245_height = -1;                   /* INTEGER_1_255 */
995 static int hf_h245_h263VideoUncoupledModes = -1;  /* H263ModeComboFlags */
996 static int hf_h245_h263VideoCoupledModes = -1;    /* SET_SIZE_1_16_OF_H263ModeComboFlags */
997 static int hf_h245_h263VideoCoupledModes_item = -1;  /* H263ModeComboFlags */
998 static int hf_h245_referencePicSelect = -1;       /* BOOLEAN */
999 static int hf_h245_enhancedReferencePicSelectBool = -1;  /* BOOLEAN */
1000 static int hf_h245_dataPartitionedSlices = -1;    /* BOOLEAN */
1001 static int hf_h245_fixedPointIDCT0 = -1;          /* BOOLEAN */
1002 static int hf_h245_interlacedFields = -1;         /* BOOLEAN */
1003 static int hf_h245_currentPictureHeaderRepetition = -1;  /* BOOLEAN */
1004 static int hf_h245_previousPictureHeaderRepetition = -1;  /* BOOLEAN */
1005 static int hf_h245_nextPictureHeaderRepetition = -1;  /* BOOLEAN */
1006 static int hf_h245_pictureNumberBoolean = -1;     /* BOOLEAN */
1007 static int hf_h245_spareReferencePictures = -1;   /* BOOLEAN */
1008 static int hf_h245_constrainedBitstream = -1;     /* BOOLEAN */
1009 static int hf_h245_pictureRate = -1;              /* INTEGER_0_15 */
1010 static int hf_h245_g711Alaw64k = -1;              /* INTEGER_1_256 */
1011 static int hf_h245_g711Alaw56k = -1;              /* INTEGER_1_256 */
1012 static int hf_h245_g711Ulaw64k = -1;              /* INTEGER_1_256 */
1013 static int hf_h245_g711Ulaw56k = -1;              /* INTEGER_1_256 */
1014 static int hf_h245_g722_64k = -1;                 /* INTEGER_1_256 */
1015 static int hf_h245_g722_56k = -1;                 /* INTEGER_1_256 */
1016 static int hf_h245_g722_48k = -1;                 /* INTEGER_1_256 */
1017 static int hf_h245_g7231 = -1;                    /* T_g7231 */
1018 static int hf_h245_maxAl_sduAudioFrames = -1;     /* INTEGER_1_256 */
1019 static int hf_h245_silenceSuppression = -1;       /* BOOLEAN */
1020 static int hf_h245_g728 = -1;                     /* INTEGER_1_256 */
1021 static int hf_h245_g729 = -1;                     /* INTEGER_1_256 */
1022 static int hf_h245_g729AnnexA = -1;               /* INTEGER_1_256 */
1023 static int hf_h245_is11172AudioCapability = -1;   /* IS11172AudioCapability */
1024 static int hf_h245_is13818AudioCapability = -1;   /* IS13818AudioCapability */
1025 static int hf_h245_g729wAnnexB = -1;              /* INTEGER_1_256 */
1026 static int hf_h245_g729AnnexAwAnnexB = -1;        /* INTEGER_1_256 */
1027 static int hf_h245_g7231AnnexCCapability = -1;    /* G7231AnnexCCapability */
1028 static int hf_h245_gsmFullRate = -1;              /* GSMAudioCapability */
1029 static int hf_h245_gsmHalfRate = -1;              /* GSMAudioCapability */
1030 static int hf_h245_gsmEnhancedFullRate = -1;      /* GSMAudioCapability */
1031 static int hf_h245_genericAudioCapability = -1;   /* GenericCapability */
1032 static int hf_h245_g729Extensions = -1;           /* G729Extensions */
1033 static int hf_h245_vbd = -1;                      /* VBDCapability */
1034 static int hf_h245_audioTelephonyEvent = -1;      /* NoPTAudioTelephonyEventCapability */
1035 static int hf_h245_audioTone = -1;                /* NoPTAudioToneCapability */
1036 static int hf_h245_audioUnit = -1;                /* INTEGER_1_256 */
1037 static int hf_h245_annexA = -1;                   /* BOOLEAN */
1038 static int hf_h245_annexB = -1;                   /* BOOLEAN */
1039 static int hf_h245_annexD = -1;                   /* BOOLEAN */
1040 static int hf_h245_annexE = -1;                   /* BOOLEAN */
1041 static int hf_h245_annexF = -1;                   /* BOOLEAN */
1042 static int hf_h245_annexG = -1;                   /* BOOLEAN */
1043 static int hf_h245_annexH = -1;                   /* BOOLEAN */
1044 static int hf_h245_highRateMode0 = -1;            /* INTEGER_27_78 */
1045 static int hf_h245_highRateMode1 = -1;            /* INTEGER_27_78 */
1046 static int hf_h245_lowRateMode0 = -1;             /* INTEGER_23_66 */
1047 static int hf_h245_lowRateMode1 = -1;             /* INTEGER_23_66 */
1048 static int hf_h245_sidMode0 = -1;                 /* INTEGER_6_17 */
1049 static int hf_h245_sidMode1 = -1;                 /* INTEGER_6_17 */
1050 static int hf_h245_g723AnnexCAudioMode = -1;      /* G723AnnexCAudioMode */
1051 static int hf_h245_audioLayer1 = -1;              /* BOOLEAN */
1052 static int hf_h245_audioLayer2 = -1;              /* BOOLEAN */
1053 static int hf_h245_audioLayer3 = -1;              /* BOOLEAN */
1054 static int hf_h245_audioSampling32k = -1;         /* BOOLEAN */
1055 static int hf_h245_audioSampling44k1 = -1;        /* BOOLEAN */
1056 static int hf_h245_audioSampling48k = -1;         /* BOOLEAN */
1057 static int hf_h245_singleChannel = -1;            /* BOOLEAN */
1058 static int hf_h245_twoChannels = -1;              /* BOOLEAN */
1059 static int hf_h245_bitRate_1_448 = -1;            /* INTEGER_1_448 */
1060 static int hf_h245_audioSampling16k = -1;         /* BOOLEAN */
1061 static int hf_h245_audioSampling22k05 = -1;       /* BOOLEAN */
1062 static int hf_h245_audioSampling24k = -1;         /* BOOLEAN */
1063 static int hf_h245_threeChannels2_1 = -1;         /* BOOLEAN */
1064 static int hf_h245_threeChannels3_0 = -1;         /* BOOLEAN */
1065 static int hf_h245_fourChannels2_0_2_0 = -1;      /* BOOLEAN */
1066 static int hf_h245_fourChannels2_2 = -1;          /* BOOLEAN */
1067 static int hf_h245_fourChannels3_1 = -1;          /* BOOLEAN */
1068 static int hf_h245_fiveChannels3_0_2_0 = -1;      /* BOOLEAN */
1069 static int hf_h245_fiveChannels3_2 = -1;          /* BOOLEAN */
1070 static int hf_h245_lowFrequencyEnhancement = -1;  /* BOOLEAN */
1071 static int hf_h245_multilingual = -1;             /* BOOLEAN */
1072 static int hf_h245_bitRate2_1_1130 = -1;          /* INTEGER_1_1130 */
1073 static int hf_h245_audioUnitSize = -1;            /* INTEGER_1_256 */
1074 static int hf_h245_comfortNoise = -1;             /* BOOLEAN */
1075 static int hf_h245_scrambled = -1;                /* BOOLEAN */
1076 static int hf_h245_vbd_cap_type = -1;             /* AudioCapability */
1077 static int hf_h245_t120 = -1;                     /* DataProtocolCapability */
1078 static int hf_h245_dsm_cc = -1;                   /* DataProtocolCapability */
1079 static int hf_h245_userData = -1;                 /* DataProtocolCapability */
1080 static int hf_h245_t84 = -1;                      /* T_t84 */
1081 static int hf_h245_t84Protocol = -1;              /* DataProtocolCapability */
1082 static int hf_h245_t84Profile = -1;               /* T84Profile */
1083 static int hf_h245_t434 = -1;                     /* DataProtocolCapability */
1084 static int hf_h245_h224 = -1;                     /* DataProtocolCapability */
1085 static int hf_h245_nlpidProtocol = -1;            /* DataProtocolCapability */
1086 static int hf_h245_nlpidData = -1;                /* OCTET_STRING */
1087 static int hf_h245_nlpid = -1;                    /* Nlpid */
1088 static int hf_h245_dsvdControl = -1;              /* NULL */
1089 static int hf_h245_h222DataPartitioning = -1;     /* DataProtocolCapability */
1090 static int hf_h245_t30fax = -1;                   /* DataProtocolCapability */
1091 static int hf_h245_t140 = -1;                     /* DataProtocolCapability */
1092 static int hf_h245_t38fax = -1;                   /* T_t38fax */
1093 static int hf_h245_t38FaxProtocol = -1;           /* DataProtocolCapability */
1094 static int hf_h245_t38FaxProfile = -1;            /* T38FaxProfile */
1095 static int hf_h245_genericDataCapability = -1;    /* GenericCapability */
1096 static int hf_h245_application = -1;              /* Application */
1097 static int hf_h245_maxBitRate2_0_4294967295 = -1;  /* INTEGER_0_4294967295 */
1098 static int hf_h245_v14buffered = -1;              /* NULL */
1099 static int hf_h245_v42lapm = -1;                  /* NULL */
1100 static int hf_h245_hdlcFrameTunnelling = -1;      /* NULL */
1101 static int hf_h245_h310SeparateVCStack = -1;      /* NULL */
1102 static int hf_h245_h310SingleVCStack = -1;        /* NULL */
1103 static int hf_h245_transparent = -1;              /* NULL */
1104 static int hf_h245_segmentationAndReassembly = -1;  /* NULL */
1105 static int hf_h245_hdlcFrameTunnelingwSAR = -1;   /* NULL */
1106 static int hf_h245_v120 = -1;                     /* NULL */
1107 static int hf_h245_separateLANStack = -1;         /* NULL */
1108 static int hf_h245_v76wCompression = -1;          /* T_v76wCompression */
1109 static int hf_h245_transmitCompression = -1;      /* CompressionType */
1110 static int hf_h245_receiveCompression = -1;       /* CompressionType */
1111 static int hf_h245_transmitAndReceiveCompression = -1;  /* CompressionType */
1112 static int hf_h245_tcp = -1;                      /* NULL */
1113 static int hf_h245_udp = -1;                      /* NULL */
1114 static int hf_h245_v42bis = -1;                   /* V42bis */
1115 static int hf_h245_numberOfCodewords = -1;        /* INTEGER_1_65536 */
1116 static int hf_h245_maximumStringLength = -1;      /* INTEGER_1_256 */
1117 static int hf_h245_t84Unrestricted = -1;          /* NULL */
1118 static int hf_h245_t84Restricted = -1;            /* T_t84Restricted */
1119 static int hf_h245_qcif_bool = -1;                /* BOOLEAN */
1120 static int hf_h245_cif_bool = -1;                 /* BOOLEAN */
1121 static int hf_h245_ccir601Seq = -1;               /* BOOLEAN */
1122 static int hf_h245_ccir601Prog = -1;              /* BOOLEAN */
1123 static int hf_h245_hdtvSeq = -1;                  /* BOOLEAN */
1124 static int hf_h245_hdtvProg = -1;                 /* BOOLEAN */
1125 static int hf_h245_g3FacsMH200x100 = -1;          /* BOOLEAN */
1126 static int hf_h245_g3FacsMH200x200 = -1;          /* BOOLEAN */
1127 static int hf_h245_g4FacsMMR200x100 = -1;         /* BOOLEAN */
1128 static int hf_h245_g4FacsMMR200x200 = -1;         /* BOOLEAN */
1129 static int hf_h245_jbig200x200Seq = -1;           /* BOOLEAN */
1130 static int hf_h245_jbig200x200Prog = -1;          /* BOOLEAN */
1131 static int hf_h245_jbig300x300Seq = -1;           /* BOOLEAN */
1132 static int hf_h245_jbig300x300Prog = -1;          /* BOOLEAN */
1133 static int hf_h245_digPhotoLow = -1;              /* BOOLEAN */
1134 static int hf_h245_digPhotoMedSeq = -1;           /* BOOLEAN */
1135 static int hf_h245_digPhotoMedProg = -1;          /* BOOLEAN */
1136 static int hf_h245_digPhotoHighSeq = -1;          /* BOOLEAN */
1137 static int hf_h245_digPhotoHighProg = -1;         /* BOOLEAN */
1138 static int hf_h245_fillBitRemoval = -1;           /* BOOLEAN */
1139 static int hf_h245_transcodingJBIG = -1;          /* BOOLEAN */
1140 static int hf_h245_transcodingMMR = -1;           /* BOOLEAN */
1141 static int hf_h245_version = -1;                  /* INTEGER_0_255 */
1142 static int hf_h245_t38FaxRateManagement = -1;     /* T38FaxRateManagement */
1143 static int hf_h245_t38FaxUdpOptions = -1;         /* T38FaxUdpOptions */
1144 static int hf_h245_t38FaxTcpOptions = -1;         /* T38FaxTcpOptions */
1145 static int hf_h245_localTCF = -1;                 /* NULL */
1146 static int hf_h245_transferredTCF = -1;           /* NULL */
1147 static int hf_h245_t38FaxMaxBuffer = -1;          /* INTEGER */
1148 static int hf_h245_t38FaxMaxDatagram = -1;        /* INTEGER */
1149 static int hf_h245_t38FaxUdpEC = -1;              /* T_t38FaxUdpEC */
1150 static int hf_h245_t38UDPFEC = -1;                /* NULL */
1151 static int hf_h245_t38UDPRedundancy = -1;         /* NULL */
1152 static int hf_h245_t38TCPBidirectionalMode = -1;  /* BOOLEAN */
1153 static int hf_h245_encryptionCapability = -1;     /* EncryptionCapability */
1154 static int hf_h245_authenticationCapability = -1;  /* AuthenticationCapability */
1155 static int hf_h245_integrityCapability = -1;      /* IntegrityCapability */
1156 static int hf_h245_genericH235SecurityCapability = -1;  /* GenericCapability */
1157 static int hf_h245_EncryptionCapability_item = -1;  /* MediaEncryptionAlgorithm */
1158 static int hf_h245_algorithm = -1;                /* OBJECT_IDENTIFIER */
1159 static int hf_h245_antiSpamAlgorithm = -1;        /* OBJECT_IDENTIFIER */
1160 static int hf_h245_ui_nonStandard = -1;           /* SEQUENCE_SIZE_1_16_OF_NonStandardParameter */
1161 static int hf_h245_ui_nonStandard_item = -1;      /* NonStandardParameter */
1162 static int hf_h245_basicString = -1;              /* NULL */
1163 static int hf_h245_iA5String = -1;                /* NULL */
1164 static int hf_h245_generalString = -1;            /* NULL */
1165 static int hf_h245_dtmf = -1;                     /* NULL */
1166 static int hf_h245_hookflash = -1;                /* NULL */
1167 static int hf_h245_extendedAlphanumericFlag = -1;  /* NULL */
1168 static int hf_h245_encryptedBasicString = -1;     /* NULL */
1169 static int hf_h245_encryptedIA5String = -1;       /* NULL */
1170 static int hf_h245_encryptedGeneralString = -1;   /* NULL */
1171 static int hf_h245_secureDTMF = -1;               /* NULL */
1172 static int hf_h245_genericUserInputCapability = -1;  /* GenericCapability */
1173 static int hf_h245_nonStandardParams = -1;        /* SEQUENCE_OF_NonStandardParameter */
1174 static int hf_h245_nonStandardParams_item = -1;   /* NonStandardParameter */
1175 static int hf_h245_chairControlCapability = -1;   /* BOOLEAN */
1176 static int hf_h245_videoIndicateMixingCapability = -1;  /* BOOLEAN */
1177 static int hf_h245_multipointVisualizationCapability = -1;  /* BOOLEAN */
1178 static int hf_h245_capabilityIdentifier = -1;     /* CapabilityIdentifier */
1179 static int hf_h245_collapsing = -1;               /* T_collapsing */
1180 static int hf_h245_collapsing_item = -1;          /* T_collapsing_item */
1181 static int hf_h245_nonCollapsing = -1;            /* T_nonCollapsing */
1182 static int hf_h245_nonCollapsing_item = -1;       /* T_nonCollapsing_item */
1183 static int hf_h245_nonCollapsingRaw = -1;         /* T_nonCollapsingRaw */
1184 static int hf_h245_transport = -1;                /* DataProtocolCapability */
1185 static int hf_h245_standardOid = -1;              /* T_standardOid */
1186 static int hf_h245_h221NonStandard = -1;          /* NonStandardParameter */
1187 static int hf_h245_uuid = -1;                     /* OCTET_STRING_SIZE_16 */
1188 static int hf_h245_domainBased = -1;              /* IA5String_SIZE_1_64 */
1189 static int hf_h245_parameterIdentifier = -1;      /* ParameterIdentifier */
1190 static int hf_h245_parameterValue = -1;           /* ParameterValue */
1191 static int hf_h245_supersedes = -1;               /* SEQUENCE_OF_ParameterIdentifier */
1192 static int hf_h245_supersedes_item = -1;          /* ParameterIdentifier */
1193 static int hf_h245_standard = -1;                 /* T_standard */
1194 static int hf_h245_logical = -1;                  /* NULL */
1195 static int hf_h245_booleanArray = -1;             /* T_booleanArray */
1196 static int hf_h245_unsignedMin = -1;              /* T_unsignedMin */
1197 static int hf_h245_unsignedMax = -1;              /* INTEGER_0_65535 */
1198 static int hf_h245_unsigned32Min = -1;            /* INTEGER_0_4294967295 */
1199 static int hf_h245_unsigned32Max = -1;            /* INTEGER_0_4294967295 */
1200 static int hf_h245_octetString = -1;              /* T_octetString */
1201 static int hf_h245_genericParameters = -1;        /* SEQUENCE_OF_GenericParameter */
1202 static int hf_h245_genericParameters_item = -1;   /* GenericParameter */
1203 static int hf_h245_multiplexFormat = -1;          /* MultiplexFormat */
1204 static int hf_h245_controlOnMuxStream = -1;       /* BOOLEAN */
1205 static int hf_h245_capabilityOnMuxStream = -1;    /* SET_SIZE_1_256_OF_AlternativeCapabilitySet */
1206 static int hf_h245_capabilityOnMuxStream_item = -1;  /* AlternativeCapabilitySet */
1207 static int hf_h245_dynamicRTPPayloadType = -1;    /* INTEGER_96_127 */
1208 static int hf_h245_audioTelephoneEvent = -1;      /* GeneralString */
1209 static int hf_h245_capabilities = -1;             /* SET_SIZE_1_256_OF_AlternativeCapabilitySet */
1210 static int hf_h245_capabilities_item = -1;        /* AlternativeCapabilitySet */
1211 static int hf_h245_fecc_rfc2733 = -1;             /* FECC_rfc2733 */
1212 static int hf_h245_redundancyEncodingBool = -1;   /* BOOLEAN */
1213 static int hf_h245_separateStreamBool = -1;       /* T_separateStreamBool */
1214 static int hf_h245_separatePort = -1;             /* BOOLEAN */
1215 static int hf_h245_samePortBool = -1;             /* BOOLEAN */
1216 static int hf_h245_protectedCapability = -1;      /* CapabilityTableEntryNumber */
1217 static int hf_h245_fecScheme = -1;                /* OBJECT_IDENTIFIER */
1218 static int hf_h245_rfc2733rfc2198 = -1;           /* MaxRedundancy */
1219 static int hf_h245_rfc2733sameport = -1;          /* MaxRedundancy */
1220 static int hf_h245_rfc2733diffport = -1;          /* MaxRedundancy */
1221 static int hf_h245_rfc2733Format = -1;            /* Rfc2733Format */
1222 static int hf_h245_olc_fw_lcn = -1;               /* OLC_fw_lcn */
1223 static int hf_h245_forwardLogicalChannelParameters = -1;  /* T_forwardLogicalChannelParameters */
1224 static int hf_h245_portNumber = -1;               /* INTEGER_0_65535 */
1225 static int hf_h245_dataType = -1;                 /* DataType */
1226 static int hf_h245_olc_forw_multiplexParameters = -1;  /* OLC_forw_multiplexParameters */
1227 static int hf_h245_h222LogicalChannelParameters = -1;  /* H222LogicalChannelParameters */
1228 static int hf_h245_olc_fw_h223_params = -1;       /* OLC_fw_h223_params */
1229 static int hf_h245_v76LogicalChannelParameters = -1;  /* V76LogicalChannelParameters */
1230 static int hf_h245_h2250LogicalChannelParameters = -1;  /* H2250LogicalChannelParameters */
1231 static int hf_h245_forwardLogicalChannelDependency = -1;  /* LogicalChannelNumber */
1232 static int hf_h245_replacementFor = -1;           /* LogicalChannelNumber */
1233 static int hf_h245_reverseLogicalChannelParameters = -1;  /* OLC_reverseLogicalChannelParameters */
1234 static int hf_h245_olc_rev_multiplexParameter = -1;  /* OLC_rev_multiplexParameters */
1235 static int hf_h245_olc_rev_h223_params = -1;      /* OLC_rev_h223_params */
1236 static int hf_h245_reverseLogicalChannelDependency = -1;  /* LogicalChannelNumber */
1237 static int hf_h245_separateStack = -1;            /* NetworkAccessParameters */
1238 static int hf_h245_encryptionSync = -1;           /* EncryptionSync */
1239 static int hf_h245_distribution = -1;             /* T_distribution */
1240 static int hf_h245_unicast = -1;                  /* NULL */
1241 static int hf_h245_multicast = -1;                /* NULL */
1242 static int hf_h245_networkAddress = -1;           /* T_networkAddress */
1243 static int hf_h245_q2931Address = -1;             /* Q2931Address */
1244 static int hf_h245_e164Address = -1;              /* T_e164Address */
1245 static int hf_h245_localAreaAddress = -1;         /* TransportAddress */
1246 static int hf_h245_associateConference = -1;      /* BOOLEAN */
1247 static int hf_h245_externalReference = -1;        /* OCTET_STRING_SIZE_1_255 */
1248 static int hf_h245_t120SetupProcedure = -1;       /* T_t120SetupProcedure */
1249 static int hf_h245_originateCall = -1;            /* NULL */
1250 static int hf_h245_waitForCall = -1;              /* NULL */
1251 static int hf_h245_issueQuery = -1;               /* NULL */
1252 static int hf_h245_address = -1;                  /* T_address */
1253 static int hf_h245_internationalNumber = -1;      /* NumericString_SIZE_1_16 */
1254 static int hf_h245_nsapAddress = -1;              /* OCTET_STRING_SIZE_1_20 */
1255 static int hf_h245_subaddress = -1;               /* OCTET_STRING_SIZE_1_20 */
1256 static int hf_h245_audioHeaderPresent = -1;       /* BOOLEAN */
1257 static int hf_h245_nullData = -1;                 /* NULL */
1258 static int hf_h245_videoData = -1;                /* VideoCapability */
1259 static int hf_h245_audioData = -1;                /* AudioCapability */
1260 static int hf_h245_data = -1;                     /* DataApplicationCapability */
1261 static int hf_h245_encryptionData = -1;           /* EncryptionMode */
1262 static int hf_h245_h235Control = -1;              /* NonStandardParameter */
1263 static int hf_h245_h235Media = -1;                /* H235Media */
1264 static int hf_h245_multiplexedStream = -1;        /* MultiplexedStreamParameter */
1265 static int hf_h245_redundancyEncoding = -1;       /* RedundancyEncoding */
1266 static int hf_h245_multiplePayloadStream = -1;    /* MultiplePayloadStream */
1267 static int hf_h245_depFec = -1;                   /* DepFECData */
1268 static int hf_h245_fec = -1;                      /* FECData */
1269 static int hf_h245_mediaType = -1;                /* T_mediaType */
1270 static int hf_h245_resourceID = -1;               /* INTEGER_0_65535 */
1271 static int hf_h245_subChannelID = -1;             /* INTEGER_0_8191 */
1272 static int hf_h245_pcr_pid = -1;                  /* INTEGER_0_8191 */
1273 static int hf_h245_programDescriptors = -1;       /* OCTET_STRING */
1274 static int hf_h245_streamDescriptors = -1;        /* OCTET_STRING */
1275 static int hf_h245_adaptationLayerType = -1;      /* T_adaptationLayerType */
1276 static int hf_h245_h223_al_type_al1Framed = -1;   /* T_h223_al_type_al1Framed */
1277 static int hf_h245_h223_al_type_al1NotFramed = -1;  /* T_h223_al_type_al1NotFramed */
1278 static int hf_h245_h223_al_type_al2WithoutSequenceNumbers = -1;  /* T_h223_al_type_al2WithoutSequenceNumbers */
1279 static int hf_h245_h223_al_type_al2WithSequenceNumbers = -1;  /* T_h223_al_type_al2WithSequenceNumbers */
1280 static int hf_h245_controlFieldOctets = -1;       /* T_controlFieldOctets */
1281 static int hf_h245_al3_sendBufferSize = -1;       /* T_al3_sendBufferSize */
1282 static int hf_h245_h223_al_type_al3 = -1;         /* T_h223_al_type_al3 */
1283 static int hf_h245_h223_al_type_al1M = -1;        /* T_h223_al_type_al1M */
1284 static int hf_h245_h223_al_type_al2M = -1;        /* T_h223_al_type_al2M */
1285 static int hf_h245_h223_al_type_al3M = -1;        /* T_h223_al_type_al3M */
1286 static int hf_h245_h223_lc_segmentableFlag = -1;  /* T_h223_lc_segmentableFlag */
1287 static int hf_h245_transferMode = -1;             /* T_transferMode */
1288 static int hf_h245_framed = -1;                   /* NULL */
1289 static int hf_h245_unframed = -1;                 /* NULL */
1290 static int hf_h245_aL1HeaderFEC = -1;             /* AL1HeaderFEC */
1291 static int hf_h245_sebch16_7 = -1;                /* NULL */
1292 static int hf_h245_golay24_12 = -1;               /* NULL */
1293 static int hf_h245_crcLength2 = -1;               /* AL1CrcLength */
1294 static int hf_h245_crc4bit = -1;                  /* NULL */
1295 static int hf_h245_crc12bit = -1;                 /* NULL */
1296 static int hf_h245_crc20bit = -1;                 /* NULL */
1297 static int hf_h245_crc28bit = -1;                 /* NULL */
1298 static int hf_h245_crc8bit = -1;                  /* NULL */
1299 static int hf_h245_crc16bit = -1;                 /* NULL */
1300 static int hf_h245_crc32bit = -1;                 /* NULL */
1301 static int hf_h245_crcNotUsed = -1;               /* NULL */
1302 static int hf_h245_rcpcCodeRate = -1;             /* INTEGER_8_32 */
1303 static int hf_h245_noArq = -1;                    /* NULL */
1304 static int hf_h245_typeIArq = -1;                 /* H223AnnexCArqParameters */
1305 static int hf_h245_typeIIArq = -1;                /* H223AnnexCArqParameters */
1306 static int hf_h245_arqType = -1;                  /* ArqType */
1307 static int hf_h245_alsduSplitting = -1;           /* BOOLEAN */
1308 static int hf_h245_rsCodeCorrection = -1;         /* INTEGER_0_127 */
1309 static int hf_h245_aL2HeaderFEC = -1;             /* AL2HeaderFEC */
1310 static int hf_h245_sebch16_5 = -1;                /* NULL */
1311 static int hf_h245_headerFormat = -1;             /* T_headerFormat */
1312 static int hf_h245_crlength2 = -1;                /* AL3CrcLength */
1313 static int hf_h245_numberOfRetransmissions = -1;  /* T_numberOfRetransmissions */
1314 static int hf_h245_finite = -1;                   /* INTEGER_0_16 */
1315 static int hf_h245_infinite = -1;                 /* NULL */
1316 static int hf_h245_sendBufferSize = -1;           /* INTEGER_0_16777215 */
1317 static int hf_h245_hdlcParameters = -1;           /* V76HDLCParameters */
1318 static int hf_h245_suspendResume = -1;            /* T_suspendResume */
1319 static int hf_h245_noSuspendResume = -1;          /* NULL */
1320 static int hf_h245_suspendResumewAddress = -1;    /* NULL */
1321 static int hf_h245_suspendResumewoAddress = -1;   /* NULL */
1322 static int hf_h245_uIH = -1;                      /* BOOLEAN */
1323 static int hf_h245_v76_mode = -1;                 /* V76LCP_mode */
1324 static int hf_h245_eRM = -1;                      /* T_eRM */
1325 static int hf_h245_windowSize = -1;               /* INTEGER_1_127 */
1326 static int hf_h245_recovery = -1;                 /* T_recovery */
1327 static int hf_h245_rej = -1;                      /* NULL */
1328 static int hf_h245_sREJ = -1;                     /* NULL */
1329 static int hf_h245_mSREJ = -1;                    /* NULL */
1330 static int hf_h245_uNERM = -1;                    /* NULL */
1331 static int hf_h245_v75Parameters = -1;            /* V75Parameters */
1332 static int hf_h245_crcLength = -1;                /* CRCLength */
1333 static int hf_h245_n401 = -1;                     /* INTEGER_1_4095 */
1334 static int hf_h245_loopbackTestProcedure = -1;    /* BOOLEAN */
1335 static int hf_h245_sessionID_0_255 = -1;          /* INTEGER_0_255 */
1336 static int hf_h245_associatedSessionID = -1;      /* INTEGER_1_255 */
1337 static int hf_h245_mediaChannel = -1;             /* T_mediaChannel */
1338 static int hf_h245_mediaGuaranteedDelivery = -1;  /* BOOLEAN */
1339 static int hf_h245_mediaControlChannel = -1;      /* T_mediaControlChannel */
1340 static int hf_h245_mediaControlGuaranteedDelivery = -1;  /* BOOLEAN */
1341 static int hf_h245_destination = -1;              /* TerminalLabel */
1342 static int hf_h245_mediaPacketization = -1;       /* T_mediaPacketization */
1343 static int hf_h245_h261aVideoPacketizationFlag = -1;  /* NULL */
1344 static int hf_h245_rtpPayloadType = -1;           /* RTPPayloadType */
1345 static int hf_h245_source = -1;                   /* TerminalLabel */
1346 static int hf_h245_payloadDescriptor = -1;        /* T_payloadDescriptor */
1347 static int hf_h245_rfc_number = -1;               /* T_rfc_number */
1348 static int hf_h245_oid = -1;                      /* OBJECT_IDENTIFIER */
1349 static int hf_h245_payloadType = -1;              /* T_payloadType */
1350 static int hf_h245_secondaryEncoding = -1;        /* DataType */
1351 static int hf_h245_rtpRedundancyEncoding = -1;    /* T_rtpRedundancyEncoding */
1352 static int hf_h245_primary = -1;                  /* RedundancyEncodingElement */
1353 static int hf_h245_secondary = -1;                /* SEQUENCE_OF_RedundancyEncodingElement */
1354 static int hf_h245_secondary_item = -1;           /* RedundancyEncodingElement */
1355 static int hf_h245_payloadType_01 = -1;           /* INTEGER_0_127 */
1356 static int hf_h245_elements = -1;                 /* SEQUENCE_OF_MultiplePayloadStreamElement */
1357 static int hf_h245_elements_item = -1;            /* MultiplePayloadStreamElement */
1358 static int hf_h245_dep_rfc2733 = -1;              /* RFC2733Data */
1359 static int hf_h245_fec_data_mode = -1;            /* FECdata_mode */
1360 static int hf_h245_redundancyEncodingFlag = -1;   /* NULL */
1361 static int hf_h245_differentPort = -1;            /* T_differentPort */
1362 static int hf_h245_protectedSessionID = -1;       /* INTEGER_1_255 */
1363 static int hf_h245_protectedPayloadType = -1;     /* INTEGER_0_127 */
1364 static int hf_h245_samePort = -1;                 /* T_samePort */
1365 static int hf_h245_separateStream = -1;           /* DepSeparateStream */
1366 static int hf_h245_rfc2733 = -1;                  /* T_rfc2733 */
1367 static int hf_h245_pktMode = -1;                  /* T_pktMode */
1368 static int hf_h245_rfc2198coding = -1;            /* NULL */
1369 static int hf_h245_mode_rfc2733sameport = -1;     /* T_mode_rfc2733sameport */
1370 static int hf_h245_mode_rfc2733diffport = -1;     /* T_mode_rfc2733diffport */
1371 static int hf_h245_protectedChannel = -1;         /* LogicalChannelNumber */
1372 static int hf_h245_unicastAddress = -1;           /* UnicastAddress */
1373 static int hf_h245_multicastAddress = -1;         /* MulticastAddress */
1374 static int hf_h245_iPAddress = -1;                /* T_iPAddress */
1375 static int hf_h245_ip4_network = -1;              /* Ipv4_network */
1376 static int hf_h245_tsapIdentifier = -1;           /* TsapIdentifier */
1377 static int hf_h245_iPXAddress = -1;               /* T_iPXAddress */
1378 static int hf_h245_node = -1;                     /* OCTET_STRING_SIZE_6 */
1379 static int hf_h245_netnum = -1;                   /* OCTET_STRING_SIZE_4 */
1380 static int hf_h245_ipx_tsapIdentifier = -1;       /* OCTET_STRING_SIZE_2 */
1381 static int hf_h245_iP6Address = -1;               /* T_iP6Address */
1382 static int hf_h245_ip6_network = -1;              /* OCTET_STRING_SIZE_16 */
1383 static int hf_h245_ipv6_tsapIdentifier = -1;      /* INTEGER_0_65535 */
1384 static int hf_h245_netBios = -1;                  /* OCTET_STRING_SIZE_16 */
1385 static int hf_h245_iPSourceRouteAddress = -1;     /* T_iPSourceRouteAddress */
1386 static int hf_h245_routing = -1;                  /* T_routing */
1387 static int hf_h245_strict = -1;                   /* NULL */
1388 static int hf_h245_loose = -1;                    /* NULL */
1389 static int hf_h245_network = -1;                  /* OCTET_STRING_SIZE_4 */
1390 static int hf_h245_iPSrcRoute_tsapIdentifier = -1;  /* INTEGER_0_65535 */
1391 static int hf_h245_route = -1;                    /* T_route */
1392 static int hf_h245_route_item = -1;               /* OCTET_STRING_SIZE_4 */
1393 static int hf_h245_nsap = -1;                     /* OCTET_STRING_SIZE_1_20 */
1394 static int hf_h245_nonStandardAddress = -1;       /* NonStandardParameter */
1395 static int hf_h245_mIPAddress = -1;               /* MIPAddress */
1396 static int hf_h245_mip4_network = -1;             /* OCTET_STRING_SIZE_4 */
1397 static int hf_h245_multicast_tsapIdentifier = -1;  /* INTEGER_0_65535 */
1398 static int hf_h245_mIP6Address = -1;              /* MIP6Address */
1399 static int hf_h245_mip6_network = -1;             /* OCTET_STRING_SIZE_16 */
1400 static int hf_h245_multicast_IPv6_tsapIdentifier = -1;  /* INTEGER_0_65535 */
1401 static int hf_h245_synchFlag = -1;                /* INTEGER_0_255 */
1402 static int hf_h245_h235Key = -1;                  /* OCTET_STRING_SIZE_1_65535 */
1403 static int hf_h245_escrowentry = -1;              /* SEQUENCE_SIZE_1_256_OF_EscrowData */
1404 static int hf_h245_escrowentry_item = -1;         /* EscrowData */
1405 static int hf_h245_genericParameter = -1;         /* GenericParameter */
1406 static int hf_h245_escrowID = -1;                 /* OBJECT_IDENTIFIER */
1407 static int hf_h245_escrowValue = -1;              /* BIT_STRING_SIZE_1_65535 */
1408 static int hf_h245_olc_ack_fw_lcn = -1;           /* OLC_ack_fw_lcn */
1409 static int hf_h245_olc_ack_reverseLogicalChannelParameters = -1;  /* OLC_ack_reverseLogicalChannelParameters */
1410 static int hf_h245_reverseLogicalChannelNumber = -1;  /* T_reverseLogicalChannelNumber */
1411 static int hf_h245_olc_ack_multiplexParameters = -1;  /* T_olc_ack_multiplexParameters */
1412 static int hf_h245_forwardMultiplexAckParameters = -1;  /* T_forwardMultiplexAckParameters */
1413 static int hf_h245_h2250LogicalChannelAckParameters = -1;  /* H2250LogicalChannelAckParameters */
1414 static int hf_h245_forwardLogicalChannelNumber = -1;  /* LogicalChannelNumber */
1415 static int hf_h245_olc_rej_cause = -1;            /* OpenLogicalChannelRejectCause */
1416 static int hf_h245_unsuitableReverseParameters = -1;  /* NULL */
1417 static int hf_h245_dataTypeNotSupported = -1;     /* NULL */
1418 static int hf_h245_dataTypeNotAvailable = -1;     /* NULL */
1419 static int hf_h245_unknownDataType = -1;          /* NULL */
1420 static int hf_h245_dataTypeALCombinationNotSupported = -1;  /* NULL */
1421 static int hf_h245_multicastChannelNotAllowed = -1;  /* NULL */
1422 static int hf_h245_insufficientBandwidth = -1;    /* NULL */
1423 static int hf_h245_separateStackEstablishmentFailed = -1;  /* NULL */
1424 static int hf_h245_invalidSessionID = -1;         /* NULL */
1425 static int hf_h245_masterSlaveConflict = -1;      /* NULL */
1426 static int hf_h245_waitForCommunicationMode = -1;  /* NULL */
1427 static int hf_h245_invalidDependentChannel = -1;  /* NULL */
1428 static int hf_h245_replacementForRejected = -1;   /* NULL */
1429 static int hf_h245_securityDenied = -1;           /* NULL */
1430 static int hf_h245_sessionID = -1;                /* INTEGER_1_255 */
1431 static int hf_h245_ack_mediaChannel = -1;         /* Ack_mediaChannel */
1432 static int hf_h245_ack_mediaControlChannel = -1;  /* Ack_mediaControlChannel */
1433 static int hf_h245_flowControlToZero = -1;        /* BOOLEAN */
1434 static int hf_h245_cLC_source = -1;               /* T_cLC_source */
1435 static int hf_h245_user = -1;                     /* NULL */
1436 static int hf_h245_lcse = -1;                     /* NULL */
1437 static int hf_h245_clc_reason = -1;               /* Clc_reason */
1438 static int hf_h245_unknown = -1;                  /* NULL */
1439 static int hf_h245_reopen = -1;                   /* NULL */
1440 static int hf_h245_reservationFailure = -1;       /* NULL */
1441 static int hf_h245_qosCapability = -1;            /* QOSCapability */
1442 static int hf_h245_reason = -1;                   /* T_reason */
1443 static int hf_h245_normal = -1;                   /* NULL */
1444 static int hf_h245_req_chan_clos_rej_cause = -1;  /* RequestChannelCloseRejectCause */
1445 static int hf_h245_multiplexEntryDescriptors = -1;  /* SET_SIZE_1_15_OF_MultiplexEntryDescriptor */
1446 static int hf_h245_multiplexEntryDescriptors_item = -1;  /* MultiplexEntryDescriptor */
1447 static int hf_h245_multiplexTableEntryNumber = -1;  /* MultiplexTableEntryNumber */
1448 static int hf_h245_elementList = -1;              /* T_elementList */
1449 static int hf_h245_elementList_item = -1;         /* MultiplexElement */
1450 static int hf_h245_me_type = -1;                  /* Me_type */
1451 static int hf_h245_logicalChannelNum = -1;        /* T_logicalChannelNum */
1452 static int hf_h245_subElementList = -1;           /* T_subElementList */
1453 static int hf_h245_subElementList_item = -1;      /* MultiplexElement */
1454 static int hf_h245_me_repeatCount = -1;           /* ME_repeatCount */
1455 static int hf_h245_me_repeatCount_finite = -1;    /* ME_finiteRepeatCount */
1456 static int hf_h245_untilClosingFlag = -1;         /* T_untilClosingFlag */
1457 static int hf_h245_multiplexTableEntryNumbers = -1;  /* SET_SIZE_1_15_OF_MultiplexTableEntryNumber */
1458 static int hf_h245_multiplexTableEntryNumbers_item = -1;  /* MultiplexTableEntryNumber */
1459 static int hf_h245_sendRejectionDescriptions = -1;  /* SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions */
1460 static int hf_h245_sendRejectionDescriptions_item = -1;  /* MultiplexEntryRejectionDescriptions */
1461 static int hf_h245_mux_rej_cause = -1;            /* MultiplexEntryRejectionDescriptionsCause */
1462 static int hf_h245_unspecifiedCause = -1;         /* NULL */
1463 static int hf_h245_descriptorTooComplex = -1;     /* NULL */
1464 static int hf_h245_entryNumbers = -1;             /* SET_SIZE_1_15_OF_MultiplexTableEntryNumber */
1465 static int hf_h245_entryNumbers_item = -1;        /* MultiplexTableEntryNumber */
1466 static int hf_h245_rejectionDescriptions = -1;    /* SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions */
1467 static int hf_h245_rejectionDescriptions_item = -1;  /* RequestMultiplexEntryRejectionDescriptions */
1468 static int hf_h245_req_mux_rej_cause = -1;        /* RequestMultiplexEntryRejectionDescriptionsCause */
1469 static int hf_h245_requestedModes = -1;           /* SEQUENCE_SIZE_1_256_OF_ModeDescription */
1470 static int hf_h245_requestedModes_item = -1;      /* ModeDescription */
1471 static int hf_h245_req_mode_ack_response = -1;    /* Req_mode_ack_response */
1472 static int hf_h245_willTransmitMostPreferredMode = -1;  /* NULL */
1473 static int hf_h245_willTransmitLessPreferredMode = -1;  /* NULL */
1474 static int hf_h245_req_rej_cause = -1;            /* RequestModeRejectCause */
1475 static int hf_h245_modeUnavailable = -1;          /* NULL */
1476 static int hf_h245_multipointConstraint = -1;     /* NULL */
1477 static int hf_h245_requestDenied = -1;            /* NULL */
1478 static int hf_h245_ModeDescription_item = -1;     /* ModeElement */
1479 static int hf_h245_videoMode = -1;                /* VideoMode */
1480 static int hf_h245_audioMode = -1;                /* AudioMode */
1481 static int hf_h245_dataMode = -1;                 /* DataMode */
1482 static int hf_h245_encryptionMode = -1;           /* EncryptionMode */
1483 static int hf_h245_h235Mode = -1;                 /* H235Mode */
1484 static int hf_h245_multiplexedStreamMode = -1;    /* MultiplexedStreamParameter */
1485 static int hf_h245_redundancyEncodingDTMode = -1;  /* RedundancyEncodingDTMode */
1486 static int hf_h245_multiplePayloadStreamMode = -1;  /* MultiplePayloadStreamMode */
1487 static int hf_h245_depFecMode = -1;               /* DepFECMode */
1488 static int hf_h245_fecMode = -1;                  /* FECMode */
1489 static int hf_h245_type = -1;                     /* ModeElementType */
1490 static int hf_h245_h223ModeParameters = -1;       /* H223ModeParameters */
1491 static int hf_h245_v76ModeParameters = -1;        /* V76ModeParameters */
1492 static int hf_h245_h2250ModeParameters = -1;      /* H2250ModeParameters */
1493 static int hf_h245_genericModeParameters = -1;    /* GenericCapability */
1494 static int hf_h245_multiplexedStreamModeParameters = -1;  /* MultiplexedStreamModeParameters */
1495 static int hf_h245_logicalChannelNumber = -1;     /* LogicalChannelNumber */
1496 static int hf_h245_mediaMode = -1;                /* T_mediaMode */
1497 static int hf_h245_prmary_dtmode = -1;            /* RedundancyEncodingDTModeElement */
1498 static int hf_h245_secondaryDTM = -1;             /* SEQUENCE_OF_RedundancyEncodingDTModeElement */
1499 static int hf_h245_secondaryDTM_item = -1;        /* RedundancyEncodingDTModeElement */
1500 static int hf_h245_re_type = -1;                  /* Re_type */
1501 static int hf_h245_mpsmElements = -1;             /* SEQUENCE_OF_MultiplePayloadStreamElementMode */
1502 static int hf_h245_mpsmElements_item = -1;        /* MultiplePayloadStreamElementMode */
1503 static int hf_h245_rfc2733Mode = -1;              /* T_rfc2733Mode */
1504 static int hf_h245_fec_mode = -1;                 /* FEC_mode */
1505 static int hf_h245_protectedElement = -1;         /* ModeElementType */
1506 static int hf_h245_adaptationLayer = -1;          /* AdaptationLayerType */
1507 static int hf_h245_al1Framed = -1;                /* NULL */
1508 static int hf_h245_al1NotFramed = -1;             /* NULL */
1509 static int hf_h245_al2WithoutSequenceNumbers = -1;  /* NULL */
1510 static int hf_h245_al2WithSequenceNumbers = -1;   /* NULL */
1511 static int hf_h245_al3 = -1;                      /* Al3 */
1512 static int hf_h245_al1M = -1;                     /* H223AL1MParameters */
1513 static int hf_h245_al2M = -1;                     /* H223AL2MParameters */
1514 static int hf_h245_al3M = -1;                     /* H223AL3MParameters */
1515 static int hf_h245_segmentableFlag = -1;          /* BOOLEAN */
1516 static int hf_h245_redundancyEncodingMode = -1;   /* RedundancyEncodingMode */
1517 static int hf_h245_secondaryEncodingMode = -1;    /* T_secondaryEncodingMode */
1518 static int hf_h245_h261VideoMode = -1;            /* H261VideoMode */
1519 static int hf_h245_h262VideoMode = -1;            /* H262VideoMode */
1520 static int hf_h245_h263VideoMode = -1;            /* H263VideoMode */
1521 static int hf_h245_is11172VideoMode = -1;         /* IS11172VideoMode */
1522 static int hf_h245_genericVideoMode = -1;         /* GenericCapability */
1523 static int hf_h245_h261_resolution = -1;          /* H261Resolution */
1524 static int hf_h245_qcif = -1;                     /* NULL */
1525 static int hf_h245_cif = -1;                      /* NULL */
1526 static int hf_h245_profileAndLevel = -1;          /* T_profileAndLevel */
1527 static int hf_h245_profileAndLevel_SPatMLMode = -1;  /* NULL */
1528 static int hf_h245_profileAndLevel_MPatLLMode = -1;  /* NULL */
1529 static int hf_h245_profileAndLevel_MPatMLMode = -1;  /* NULL */
1530 static int hf_h245_profileAndLevel_MPatH_14Mode = -1;  /* NULL */
1531 static int hf_h245_profileAndLevel_MPatHLMode = -1;  /* NULL */
1532 static int hf_h245_profileAndLevel_SNRatLLMode = -1;  /* NULL */
1533 static int hf_h245_profileAndLevel_SNRatMLMode = -1;  /* NULL */
1534 static int hf_h245_profileAndLevel_SpatialatH_14Mode = -1;  /* NULL */
1535 static int hf_h245_profileAndLevel_HPatMLMode = -1;  /* NULL */
1536 static int hf_h245_profileAndLevel_HPatH_14Mode = -1;  /* NULL */
1537 static int hf_h245_profileAndLevel_HPatHLMode = -1;  /* NULL */
1538 static int hf_h245_h263_resolution = -1;          /* H263Resolution */
1539 static int hf_h245_sqcif = -1;                    /* NULL */
1540 static int hf_h245_cif4 = -1;                     /* NULL */
1541 static int hf_h245_cif16 = -1;                    /* NULL */
1542 static int hf_h245_custom_res = -1;               /* NULL */
1543 static int hf_h245_g711Alaw64k_mode = -1;         /* NULL */
1544 static int hf_h245_g711Alaw56k_mode = -1;         /* NULL */
1545 static int hf_h245_g711Ulaw64k_mode = -1;         /* NULL */
1546 static int hf_h245_g711Ulaw56k_mode = -1;         /* NULL */
1547 static int hf_h245_g722_64k_mode = -1;            /* NULL */
1548 static int hf_h245_g722_56k_mode = -1;            /* NULL */
1549 static int hf_h245_g722_48k_mode = -1;            /* NULL */
1550 static int hf_h245_g728_mode = -1;                /* NULL */
1551 static int hf_h245_g729_mode = -1;                /* NULL */
1552 static int hf_h245_g729AnnexA_mode = -1;          /* NULL */
1553 static int hf_h245_g7231_mode = -1;               /* Mode_g7231 */
1554 static int hf_h245_noSilenceSuppressionLowRate = -1;  /* NULL */
1555 static int hf_h245_noSilenceSuppressionHighRate = -1;  /* NULL */
1556 static int hf_h245_silenceSuppressionLowRate = -1;  /* NULL */
1557 static int hf_h245_silenceSuppressionHighRate = -1;  /* NULL */
1558 static int hf_h245_is11172AudioMode = -1;         /* IS11172AudioMode */
1559 static int hf_h245_is13818AudioMode = -1;         /* IS13818AudioMode */
1560 static int hf_h245_g7231AnnexCMode = -1;          /* G7231AnnexCMode */
1561 static int hf_h245_genericAudioMode = -1;         /* GenericCapability */
1562 static int hf_h245_vbd_mode = -1;                 /* VBDMode */
1563 static int hf_h245_audioLayer = -1;               /* T_audioLayer */
1564 static int hf_h245_audioLayer1Mode = -1;          /* NULL */
1565 static int hf_h245_audioLayer2Mode = -1;          /* NULL */
1566 static int hf_h245_audioLayer3Mode = -1;          /* NULL */
1567 static int hf_h245_audioSampling = -1;            /* T_audioSampling */
1568 static int hf_h245_audioSampling32kMode = -1;     /* NULL */
1569 static int hf_h245_audioSampling44k1Mode = -1;    /* NULL */
1570 static int hf_h245_audioSampling48kMode = -1;     /* NULL */
1571 static int hf_h245_is11172multichannelType = -1;  /* IS11172_multichannelType */
1572 static int hf_h245_singleChannelMode = -1;        /* NULL */
1573 static int hf_h245_twoChannelStereo = -1;         /* NULL */
1574 static int hf_h245_twoChannelDual = -1;           /* NULL */
1575 static int hf_h245_audioLayerMode = -1;           /* IS13818AudioLayer */
1576 static int hf_h245_audioSamplingMode = -1;        /* IS13818AudioSampling */
1577 static int hf_h245_audioSampling16kMode = -1;     /* NULL */
1578 static int hf_h245_audioSampling22k05Mode = -1;   /* NULL */
1579 static int hf_h245_audioSampling24kMode = -1;     /* NULL */
1580 static int hf_h245_is13818MultichannelType = -1;  /* IS13818MultichannelType */
1581 static int hf_h245_threeChannels2_1Mode = -1;     /* NULL */
1582 static int hf_h245_threeChannels3_0Mode = -1;     /* NULL */
1583 static int hf_h245_fourChannels2_0_2_0Mode = -1;  /* NULL */
1584 static int hf_h245_fourChannels2_2Mode = -1;      /* NULL */
1585 static int hf_h245_fourChannels3_1Mode = -1;      /* NULL */
1586 static int hf_h245_fiveChannels3_0_2_0Mode = -1;  /* NULL */
1587 static int hf_h245_fiveChannels3_2Mode = -1;      /* NULL */
1588 static int hf_h245_vbd_type = -1;                 /* AudioMode */
1589 static int hf_h245_datamodeapplication = -1;      /* DataModeApplication */
1590 static int hf_h245_t84DataProtocolCapability = -1;  /* DataProtocolCapability */
1591 static int hf_h245_t38faxDataProtocolCapability = -1;  /* T38faxApp */
1592 static int hf_h245_genericDataMode = -1;          /* GenericCapability */
1593 static int hf_h245_bitRate_0_4294967295 = -1;     /* INTEGER_0_4294967295 */
1594 static int hf_h245_h233Encryption = -1;           /* NULL */
1595 static int hf_h245_mlr_type = -1;                 /* Mlr_type */
1596 static int hf_h245_systemLoop = -1;               /* NULL */
1597 static int hf_h245_mediaLoop = -1;                /* LogicalChannelNumber */
1598 static int hf_h245_logicalChannelLoop = -1;       /* LogicalChannelNumber */
1599 static int hf_h245_mla_type = -1;                 /* Mla_type */
1600 static int hf_h245_mlrej_type = -1;               /* Mlrej_type */
1601 static int hf_h245_maintloop_rej_cause = -1;      /* MaintenanceLoopRejectCause */
1602 static int hf_h245_canNotPerformLoop = -1;        /* NULL */
1603 static int hf_h245_communicationModeTable = -1;   /* SET_SIZE_1_256_OF_CommunicationModeTableEntry */
1604 static int hf_h245_communicationModeTable_item = -1;  /* CommunicationModeTableEntry */
1605 static int hf_h245_terminalLabel = -1;            /* TerminalLabel */
1606 static int hf_h245_sessionDescription = -1;       /* BMPString_SIZE_1_128 */
1607 static int hf_h245_entryDataType = -1;            /* T_entryDataType */
1608 static int hf_h245_cm_mediaChannel = -1;          /* Cm_mediaChannel */
1609 static int hf_h245_cm_mediaControlChannel = -1;   /* TransportAddress */
1610 static int hf_h245_sessionDependency = -1;        /* INTEGER_1_255 */
1611 static int hf_h245_terminalListRequest = -1;      /* NULL */
1612 static int hf_h245_makeMeChair = -1;              /* NULL */
1613 static int hf_h245_cancelMakeMeChair = -1;        /* NULL */
1614 static int hf_h245_dropTerminal = -1;             /* TerminalLabel */
1615 static int hf_h245_requestTerminalID = -1;        /* TerminalLabel */
1616 static int hf_h245_enterH243Password = -1;        /* NULL */
1617 static int hf_h245_enterH243TerminalID = -1;      /* NULL */
1618 static int hf_h245_enterH243ConferenceID = -1;    /* NULL */
1619 static int hf_h245_enterExtensionAddress = -1;    /* NULL */
1620 static int hf_h245_requestChairTokenOwner = -1;   /* NULL */
1621 static int hf_h245_requestTerminalCertificate = -1;  /* T_requestTerminalCertificate */
1622 static int hf_h245_certSelectionCriteria = -1;    /* CertSelectionCriteria */
1623 static int hf_h245_sRandom = -1;                  /* INTEGER_1_4294967295 */
1624 static int hf_h245_broadcastMyLogicalChannel = -1;  /* LogicalChannelNumber */
1625 static int hf_h245_makeTerminalBroadcaster = -1;  /* TerminalLabel */
1626 static int hf_h245_sendThisSource = -1;           /* TerminalLabel */
1627 static int hf_h245_requestAllTerminalIDs = -1;    /* NULL */
1628 static int hf_h245_remoteMCRequest = -1;          /* RemoteMCRequest */
1629 static int hf_h245_CertSelectionCriteria_item = -1;  /* Criteria */
1630 static int hf_h245_field = -1;                    /* OBJECT_IDENTIFIER */
1631 static int hf_h245_value = -1;                    /* OCTET_STRING_SIZE_1_65535 */
1632 static int hf_h245_mcuNumber = -1;                /* McuNumber */
1633 static int hf_h245_terminalNumber = -1;           /* TerminalNumber */
1634 static int hf_h245_mCTerminalIDResponse = -1;     /* T_mCTerminalIDResponse */
1635 static int hf_h245_terminalID = -1;               /* TerminalID */
1636 static int hf_h245_terminalIDResponse = -1;       /* T_terminalIDResponse */
1637 static int hf_h245_conferenceIDResponse = -1;     /* T_conferenceIDResponse */
1638 static int hf_h245_conferenceID = -1;             /* ConferenceID */
1639 static int hf_h245_passwordResponse = -1;         /* T_passwordResponse */
1640 static int hf_h245_password = -1;                 /* Password */
1641 static int hf_h245_terminalListResponse = -1;     /* SET_SIZE_1_256_OF_TerminalLabel */
1642 static int hf_h245_terminalListResponse_item = -1;  /* TerminalLabel */
1643 static int hf_h245_videoCommandReject = -1;       /* NULL */
1644 static int hf_h245_terminalDropReject = -1;       /* NULL */
1645 static int hf_h245_makeMeChairResponse = -1;      /* T_makeMeChairResponse */
1646 static int hf_h245_grantedChairToken = -1;        /* NULL */
1647 static int hf_h245_deniedChairToken = -1;         /* NULL */
1648 static int hf_h245_extensionAddressResponse = -1;  /* T_extensionAddressResponse */
1649 static int hf_h245_extensionAddress = -1;         /* TerminalID */
1650 static int hf_h245_chairTokenOwnerResponse = -1;  /* T_chairTokenOwnerResponse */
1651 static int hf_h245_terminalCertificateResponse = -1;  /* T_terminalCertificateResponse */
1652 static int hf_h245_certificateResponse = -1;      /* OCTET_STRING_SIZE_1_65535 */
1653 static int hf_h245_broadcastMyLogicalChannelResponse = -1;  /* T_broadcastMyLogicalChannelResponse */
1654 static int hf_h245_grantedBroadcastMyLogicalChannel = -1;  /* NULL */
1655 static int hf_h245_deniedBroadcastMyLogicalChannel = -1;  /* NULL */
1656 static int hf_h245_makeTerminalBroadcasterResponse = -1;  /* T_makeTerminalBroadcasterResponse */
1657 static int hf_h245_grantedMakeTerminalBroadcaster = -1;  /* NULL */
1658 static int hf_h245_deniedMakeTerminalBroadcaster = -1;  /* NULL */
1659 static int hf_h245_sendThisSourceResponse = -1;   /* T_sendThisSourceResponse */
1660 static int hf_h245_grantedSendThisSource = -1;    /* NULL */
1661 static int hf_h245_deniedSendThisSource = -1;     /* NULL */
1662 static int hf_h245_requestAllTerminalIDsResponse = -1;  /* RequestAllTerminalIDsResponse */
1663 static int hf_h245_remoteMCResponse = -1;         /* RemoteMCResponse */
1664 static int hf_h245_terminalInformation = -1;      /* SEQUENCE_OF_TerminalInformation */
1665 static int hf_h245_terminalInformation_item = -1;  /* TerminalInformation */
1666 static int hf_h245_masterActivate = -1;           /* NULL */
1667 static int hf_h245_slaveActivate = -1;            /* NULL */
1668 static int hf_h245_deActivate = -1;               /* NULL */
1669 static int hf_h245_accept = -1;                   /* NULL */
1670 static int hf_h245_reject = -1;                   /* T_reject */
1671 static int hf_h245_functionNotSupportedFlag = -1;  /* NULL */
1672 static int hf_h245_callInformationReq = -1;       /* CallInformationReq */
1673 static int hf_h245_maxNumberOfAdditionalConnections = -1;  /* INTEGER_1_65535 */
1674 static int hf_h245_addConnectionReq = -1;         /* AddConnectionReq */
1675 static int hf_h245_dialingInformation = -1;       /* DialingInformation */
1676 static int hf_h245_removeConnectionReq = -1;      /* RemoveConnectionReq */
1677 static int hf_h245_connectionIdentifier = -1;     /* ConnectionIdentifier */
1678 static int hf_h245_maximumHeaderIntervalReq = -1;  /* MaximumHeaderIntervalReq */
1679 static int hf_h245_requestType = -1;              /* T_requestType */
1680 static int hf_h245_currentIntervalInformation = -1;  /* NULL */
1681 static int hf_h245_requestedInterval = -1;        /* INTEGER_0_65535 */
1682 static int hf_h245_callInformationResp = -1;      /* CallInformationResp */
1683 static int hf_h245_callAssociationNumber = -1;    /* INTEGER_0_4294967295 */
1684 static int hf_h245_addConnectionResp = -1;        /* AddConnectionResp */
1685 static int hf_h245_responseCode = -1;             /* T_responseCode */
1686 static int hf_h245_accepted = -1;                 /* NULL */
1687 static int hf_h245_rejected = -1;                 /* T_rejected */
1688 static int hf_h245_connectionsNotAvailable = -1;  /* NULL */
1689 static int hf_h245_userRejected = -1;             /* NULL */
1690 static int hf_h245_removeConnectionResp = -1;     /* RemoveConnectionResp */
1691 static int hf_h245_maximumHeaderIntervalResp = -1;  /* MaximumHeaderIntervalResp */
1692 static int hf_h245_currentInterval = -1;          /* INTEGER_0_65535 */
1693 static int hf_h245_crcDesired = -1;               /* T_crcDesired */
1694 static int hf_h245_excessiveError = -1;           /* T_excessiveError */
1695 static int hf_h245_differential = -1;             /* SET_SIZE_1_65535_OF_DialingInformationNumber */
1696 static int hf_h245_differential_item = -1;        /* DialingInformationNumber */
1697 static int hf_h245_infoNotAvailable = -1;         /* INTEGER_1_65535 */
1698 static int hf_h245_networkAddressNum = -1;        /* NumericString_SIZE_0_40 */
1699 static int hf_h245_subAddress = -1;               /* IA5String_SIZE_1_40 */
1700 static int hf_h245_networkType = -1;              /* SET_SIZE_1_255_OF_DialingInformationNetworkType */
1701 static int hf_h245_networkType_item = -1;         /* DialingInformationNetworkType */
1702 static int hf_h245_n_isdn = -1;                   /* NULL */
1703 static int hf_h245_gstn = -1;                     /* NULL */
1704 static int hf_h245_mobile = -1;                   /* NULL */
1705 static int hf_h245_channelTag = -1;               /* INTEGER_0_4294967295 */
1706 static int hf_h245_sequenceNum = -1;              /* INTEGER_0_4294967295 */
1707 static int hf_h245_maximumBitRate = -1;           /* MaximumBitRate */
1708 static int hf_h245_rejectReason = -1;             /* LogicalChannelRateRejectReason */
1709 static int hf_h245_currentMaximumBitRate = -1;    /* MaximumBitRate */
1710 static int hf_h245_undefinedReason = -1;          /* NULL */
1711 static int hf_h245_insufficientResources = -1;    /* NULL */
1712 static int hf_h245_specificRequest = -1;          /* T_specificRequest */
1713 static int hf_h245_multiplexCapabilityBool = -1;  /* BOOLEAN */
1714 static int hf_h245_capabilityTableEntryNumbers = -1;  /* SET_SIZE_1_65535_OF_CapabilityTableEntryNumber */
1715 static int hf_h245_capabilityTableEntryNumbers_item = -1;  /* CapabilityTableEntryNumber */
1716 static int hf_h245_capabilityDescriptorNumbers = -1;  /* SET_SIZE_1_256_OF_CapabilityDescriptorNumber */
1717 static int hf_h245_capabilityDescriptorNumbers_item = -1;  /* CapabilityDescriptorNumber */
1718 static int hf_h245_genericRequestFlag = -1;       /* NULL */
1719 static int hf_h245_encryptionSE = -1;             /* OCTET_STRING */
1720 static int hf_h245_encryptionIVRequest = -1;      /* NULL */
1721 static int hf_h245_encryptionAlgorithmID = -1;    /* T_encryptionAlgorithmID */
1722 static int hf_h245_h233AlgorithmIdentifier = -1;  /* SequenceNumber */
1723 static int hf_h245_associatedAlgorithm = -1;      /* NonStandardParameter */
1724 static int hf_h245_wholeMultiplex = -1;           /* NULL */
1725 static int hf_h245_scope = -1;                    /* Scope */
1726 static int hf_h245_res_maximumBitRate = -1;       /* INTEGER_0_16777215 */
1727 static int hf_h245_noRestriction = -1;            /* NULL */
1728 static int hf_h245_restriction = -1;              /* Restriction */
1729 static int hf_h245_disconnect = -1;               /* NULL */
1730 static int hf_h245_gstnOptions = -1;              /* T_gstnOptions */
1731 static int hf_h245_telephonyMode = -1;            /* NULL */
1732 static int hf_h245_v8bis = -1;                    /* NULL */
1733 static int hf_h245_v34DSVD = -1;                  /* NULL */
1734 static int hf_h245_v34DuplexFAX = -1;             /* NULL */
1735 static int hf_h245_v34H324 = -1;                  /* NULL */
1736 static int hf_h245_isdnOptions = -1;              /* T_isdnOptions */
1737 static int hf_h245_v140 = -1;                     /* NULL */
1738 static int hf_h245_terminalOnHold = -1;           /* NULL */
1739 static int hf_h245_cancelBroadcastMyLogicalChannel = -1;  /* LogicalChannelNumber */
1740 static int hf_h245_cancelMakeTerminalBroadcaster = -1;  /* NULL */
1741 static int hf_h245_cancelSendThisSource = -1;     /* NULL */
1742 static int hf_h245_dropConference = -1;           /* NULL */
1743 static int hf_h245_substituteConferenceIDCommand = -1;  /* SubstituteConferenceIDCommand */
1744 static int hf_h245_conferenceIdentifier = -1;     /* OCTET_STRING_SIZE_16 */
1745 static int hf_h245_masterToSlave = -1;            /* NULL */
1746 static int hf_h245_slaveToMaster = -1;            /* NULL */
1747 static int hf_h245_mc_type = -1;                  /* Mc_type */
1748 static int hf_h245_equaliseDelay = -1;            /* NULL */
1749 static int hf_h245_zeroDelay = -1;                /* NULL */
1750 static int hf_h245_multipointModeCommand = -1;    /* NULL */
1751 static int hf_h245_cancelMultipointModeCommand = -1;  /* NULL */
1752 static int hf_h245_videoFreezePicture = -1;       /* NULL */
1753 static int hf_h245_videoFastUpdatePicture = -1;   /* NULL */
1754 static int hf_h245_videoFastUpdateGOB = -1;       /* T_videoFastUpdateGOB */
1755 static int hf_h245_firstGOB = -1;                 /* INTEGER_0_17 */
1756 static int hf_h245_numberOfGOBs = -1;             /* INTEGER_1_18 */
1757 static int hf_h245_videoTemporalSpatialTradeOff = -1;  /* INTEGER_0_31 */
1758 static int hf_h245_videoSendSyncEveryGOB = -1;    /* NULL */
1759 static int hf_h245_videoSendSyncEveryGOBCancel = -1;  /* NULL */
1760 static int hf_h245_videoFastUpdateMB = -1;        /* T_videoFastUpdateMB */
1761 static int hf_h245_firstGOB_0_255 = -1;           /* INTEGER_0_255 */
1762 static int hf_h245_firstMB_1_8192 = -1;           /* INTEGER_1_8192 */
1763 static int hf_h245_numberOfMBs = -1;              /* INTEGER_1_8192 */
1764 static int hf_h245_maxH223MUXPDUsize = -1;        /* INTEGER_1_65535 */
1765 static int hf_h245_encryptionUpdate = -1;         /* EncryptionSync */
1766 static int hf_h245_encryptionUpdateRequest = -1;  /* EncryptionUpdateRequest */
1767 static int hf_h245_switchReceiveMediaOff = -1;    /* NULL */
1768 static int hf_h245_switchReceiveMediaOn = -1;     /* NULL */
1769 static int hf_h245_progressiveRefinementStart = -1;  /* T_progressiveRefinementStart */
1770 static int hf_h245_repeatCount = -1;              /* T_repeatCount */
1771 static int hf_h245_doOneProgression = -1;         /* NULL */
1772 static int hf_h245_doContinuousProgressions = -1;  /* NULL */
1773 static int hf_h245_doOneIndependentProgression = -1;  /* NULL */
1774 static int hf_h245_doContinuousIndependentProgressions = -1;  /* NULL */
1775 static int hf_h245_progressiveRefinementAbortOne = -1;  /* NULL */
1776 static int hf_h245_progressiveRefinementAbortContinuous = -1;  /* NULL */
1777 static int hf_h245_videoBadMBs = -1;              /* T_videoBadMBs */
1778 static int hf_h245_firstMB = -1;                  /* INTEGER_1_9216 */
1779 static int hf_h245_numberOfMBs1_1_9216 = -1;      /* INTEGER_1_9216 */
1780 static int hf_h245_temporalReference = -1;        /* INTEGER_0_1023 */
1781 static int hf_h245_lostPicture = -1;              /* SEQUENCE_OF_PictureReference */
1782 static int hf_h245_lostPicture_item = -1;         /* PictureReference */
1783 static int hf_h245_lostPartialPicture = -1;       /* T_lostPartialPicture */
1784 static int hf_h245_pictureReference = -1;         /* PictureReference */
1785 static int hf_h245_recoveryReferencePicture = -1;  /* SEQUENCE_OF_PictureReference */
1786 static int hf_h245_recoveryReferencePicture_item = -1;  /* PictureReference */
1787 static int hf_h245_encryptionUpdateCommand = -1;  /* T_encryptionUpdateCommand */
1788 static int hf_h245_encryptionUpdateAck = -1;      /* T_encryptionUpdateAck */
1789 static int hf_h245_direction = -1;                /* EncryptionUpdateDirection */
1790 static int hf_h245_secureChannel = -1;            /* BOOLEAN */
1791 static int hf_h245_sharedSecret = -1;             /* BOOLEAN */
1792 static int hf_h245_certProtectedKey = -1;         /* BOOLEAN */
1793 static int hf_h245_keyProtectionMethod = -1;      /* KeyProtectionMethod */
1794 static int hf_h245_pictureNumber = -1;            /* INTEGER_0_1023 */
1795 static int hf_h245_longTermPictureIndex = -1;     /* INTEGER_0_255 */
1796 static int hf_h245_h223ModeChange = -1;           /* T_h223ModeChange */
1797 static int hf_h245_toLevel0 = -1;                 /* NULL */
1798 static int hf_h245_toLevel1 = -1;                 /* NULL */
1799 static int hf_h245_toLevel2 = -1;                 /* NULL */
1800 static int hf_h245_toLevel2withOptionalHeader = -1;  /* NULL */
1801 static int hf_h245_h223AnnexADoubleFlag = -1;     /* T_h223AnnexADoubleFlag */
1802 static int hf_h245_start = -1;                    /* NULL */
1803 static int hf_h245_stop = -1;                     /* NULL */
1804 static int hf_h245_bitRate = -1;                  /* INTEGER_1_65535 */
1805 static int hf_h245_bitRateLockedToPCRClock = -1;  /* BOOLEAN */
1806 static int hf_h245_bitRateLockedToNetworkClock = -1;  /* BOOLEAN */
1807 static int hf_h245_cmd_aal = -1;                  /* Cmd_aal */
1808 static int hf_h245_cmd_aal1 = -1;                 /* Cmd_aal1 */
1809 static int hf_h245_cmd_clockRecovery = -1;        /* Cmd_clockRecovery */
1810 static int hf_h245_nullClockRecoveryflag = -1;    /* NULL */
1811 static int hf_h245_srtsClockRecovery = -1;        /* NULL */
1812 static int hf_h245_adaptiveClockRecoveryFlag = -1;  /* NULL */
1813 static int hf_h245_cmd_errorCorrection = -1;      /* Cmd_errorCorrection */
1814 static int hf_h245_nullErrorCorrectionFlag = -1;  /* NULL */
1815 static int hf_h245_longInterleaverFlag = -1;      /* NULL */
1816 static int hf_h245_shortInterleaverFlag = -1;     /* NULL */
1817 static int hf_h245_errorCorrectionOnlyFlag = -1;  /* NULL */
1818 static int hf_h245_cmd_aal5 = -1;                 /* Cmd_aal5 */
1819 static int hf_h245_cmd_multiplex = -1;            /* Cmd_multiplex */
1820 static int hf_h245_noMultiplex = -1;              /* NULL */
1821 static int hf_h245_transportStream = -1;          /* NULL */
1822 static int hf_h245_programStreamFlag = -1;        /* NULL */
1823 static int hf_h245_cmd_reverseParameters = -1;    /* Cmd_reverseParameters */
1824 static int hf_h245_cmdr_multiplex = -1;           /* CmdR_multiplex */
1825 static int hf_h245_sampleSize = -1;               /* INTEGER_1_255 */
1826 static int hf_h245_samplesPerFrame = -1;          /* INTEGER_1_255 */
1827 static int hf_h245_status = -1;                   /* T_status */
1828 static int hf_h245_synchronized = -1;             /* NULL */
1829 static int hf_h245_reconfiguration = -1;          /* NULL */
1830 static int hf_h245_fns_cause = -1;                /* FunctionNotSupportedCause */
1831 static int hf_h245_syntaxError = -1;              /* NULL */
1832 static int hf_h245_semanticError = -1;            /* NULL */
1833 static int hf_h245_unknownFunction = -1;          /* NULL */
1834 static int hf_h245_returnedFunction = -1;         /* T_returnedFunction */
1835 static int hf_h245_sbeNumber = -1;                /* INTEGER_0_9 */
1836 static int hf_h245_terminalNumberAssign = -1;     /* TerminalLabel */
1837 static int hf_h245_terminalJoinedConference = -1;  /* TerminalLabel */
1838 static int hf_h245_terminalLeftConference = -1;   /* TerminalLabel */
1839 static int hf_h245_seenByAtLeastOneOther = -1;    /* NULL */
1840 static int hf_h245_cancelSeenByAtLeastOneOther = -1;  /* NULL */
1841 static int hf_h245_seenByAll = -1;                /* NULL */
1842 static int hf_h245_cancelSeenByAll = -1;          /* NULL */
1843 static int hf_h245_terminalYouAreSeeing = -1;     /* TerminalLabel */
1844 static int hf_h245_requestForFloor = -1;          /* NULL */
1845 static int hf_h245_withdrawChairToken = -1;       /* NULL */
1846 static int hf_h245_floorRequested = -1;           /* TerminalLabel */
1847 static int hf_h245_terminalYouAreSeeingInSubPictureNumber = -1;  /* TerminalYouAreSeeingInSubPictureNumber */
1848 static int hf_h245_videoIndicateCompose = -1;     /* VideoIndicateCompose */
1849 static int hf_h245_subPictureNumber = -1;         /* INTEGER_0_255 */
1850 static int hf_h245_compositionNumber = -1;        /* INTEGER_0_255 */
1851 static int hf_h245_mi_type = -1;                  /* Mi_type */
1852 static int hf_h245_logicalChannelActive = -1;     /* NULL */
1853 static int hf_h245_logicalChannelInactive = -1;   /* NULL */
1854 static int hf_h245_multipointConference = -1;     /* NULL */
1855 static int hf_h245_cancelMultipointConference = -1;  /* NULL */
1856 static int hf_h245_multipointZeroComm = -1;       /* NULL */
1857 static int hf_h245_cancelMultipointZeroComm = -1;  /* NULL */
1858 static int hf_h245_multipointSecondaryStatus = -1;  /* NULL */
1859 static int hf_h245_cancelMultipointSecondaryStatus = -1;  /* NULL */
1860 static int hf_h245_videoIndicateReadyToActivate = -1;  /* NULL */
1861 static int hf_h245_videoNotDecodedMBs = -1;       /* T_videoNotDecodedMBs */
1862 static int hf_h245_temporalReference_0_255 = -1;  /* INTEGER_0_255 */
1863 static int hf_h245_estimatedReceivedJitterMantissa = -1;  /* INTEGER_0_3 */
1864 static int hf_h245_estimatedReceivedJitterExponent = -1;  /* INTEGER_0_7 */
1865 static int hf_h245_skippedFrameCount = -1;        /* INTEGER_0_15 */
1866 static int hf_h245_additionalDecoderBuffer = -1;  /* INTEGER_0_262143 */
1867 static int hf_h245_logicalChannelNumber1 = -1;    /* LogicalChannelNumber */
1868 static int hf_h245_logicalChannelNumber2 = -1;    /* LogicalChannelNumber */
1869 static int hf_h245_skew = -1;                     /* INTEGER_0_4095 */
1870 static int hf_h245_maximumSkew = -1;              /* INTEGER_0_4095 */
1871 static int hf_h245_signalAddress = -1;            /* TransportAddress */
1872 static int hf_h245_vendor = -1;                   /* NonStandardIdentifier */
1873 static int hf_h245_productNumber = -1;            /* OCTET_STRING_SIZE_1_256 */
1874 static int hf_h245_versionNumber = -1;            /* OCTET_STRING_SIZE_1_256 */
1875 static int hf_h245_ind_aal = -1;                  /* Ind_aal */
1876 static int hf_h245_ind_aal1 = -1;                 /* Ind_aal1 */
1877 static int hf_h245_ind_clockRecovery = -1;        /* Ind_clockRecovery */
1878 static int hf_h245_ind_errorCorrection = -1;      /* Ind_errorCorrection */
1879 static int hf_h245_ind_aal5 = -1;                 /* Ind_aal5 */
1880 static int hf_h245_ind_multiplex = -1;            /* Ind_multiplex */
1881 static int hf_h245_ind_reverseParameters = -1;    /* Ind_reverseParameters */
1882 static int hf_h245_indr_multiplex = -1;           /* IndR_multiplex */
1883 static int hf_h245_iv8 = -1;                      /* IV8 */
1884 static int hf_h245_iv16 = -1;                     /* IV16 */
1885 static int hf_h245_iv = -1;                       /* OCTET_STRING */
1886 static int hf_h245_alphanumeric = -1;             /* GeneralString */
1887 static int hf_h245_userInputSupportIndication = -1;  /* T_userInputSupportIndication */
1888 static int hf_h245_signal = -1;                   /* T_signal */
1889 static int hf_h245_signalType = -1;               /* T_signalType */
1890 static int hf_h245_duration = -1;                 /* INTEGER_1_65535 */
1891 static int hf_h245_rtp = -1;                      /* T_rtp */
1892 static int hf_h245_timestamp = -1;                /* INTEGER_0_4294967295 */
1893 static int hf_h245_expirationTime = -1;           /* INTEGER_0_4294967295 */
1894 static int hf_h245_rtpPayloadIndication = -1;     /* NULL */
1895 static int hf_h245_paramS = -1;                   /* Params */
1896 static int hf_h245_encryptedSignalType = -1;      /* OCTET_STRING_SIZE_1 */
1897 static int hf_h245_algorithmOID = -1;             /* OBJECT_IDENTIFIER */
1898 static int hf_h245_signalUpdate = -1;             /* T_signalUpdate */
1899 static int hf_h245_si_rtp = -1;                   /* Si_rtp */
1900 static int hf_h245_extendedAlphanumeric = -1;     /* T_extendedAlphanumeric */
1901 static int hf_h245_encrypted = -1;                /* OCTET_STRING */
1902 static int hf_h245_encryptedAlphanumeric = -1;    /* EncryptedAlphanumeric */
1903
1904 /*--- End of included file: packet-h245-hf.c ---*/
1905 #line 375 "packet-h245-template.c"
1906
1907 /* Initialize the subtree pointers */
1908 static int ett_h245 = -1;
1909 static int ett_h245_returnedFunction = -1;
1910
1911 /*--- Included file: packet-h245-ett.c ---*/
1912 #line 1 "packet-h245-ett.c"
1913 static gint ett_h245_MultimediaSystemControlMessage = -1;
1914 static gint ett_h245_RequestMessage = -1;
1915 static gint ett_h245_ResponseMessage = -1;
1916 static gint ett_h245_CommandMessage = -1;
1917 static gint ett_h245_IndicationMessage = -1;
1918 static gint ett_h245_GenericMessage = -1;
1919 static gint ett_h245_T_messageContent = -1;
1920 static gint ett_h245_NonStandardMessage = -1;
1921 static gint ett_h245_NonStandardParameter = -1;
1922 static gint ett_h245_NonStandardIdentifier = -1;
1923 static gint ett_h245_H221NonStandardID = -1;
1924 static gint ett_h245_MasterSlaveDetermination = -1;
1925 static gint ett_h245_MasterSlaveDeterminationAck = -1;
1926 static gint ett_h245_T_decision = -1;
1927 static gint ett_h245_MasterSlaveDeterminationReject = -1;
1928 static gint ett_h245_MasterSlaveDeterminationRejectCause = -1;
1929 static gint ett_h245_MasterSlaveDeterminationRelease = -1;
1930 static gint ett_h245_TerminalCapabilitySet = -1;
1931 static gint ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry = -1;
1932 static gint ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor = -1;
1933 static gint ett_h245_SEQUENCE_OF_GenericInformation = -1;
1934 static gint ett_h245_CapabilityTableEntry = -1;
1935 static gint ett_h245_CapabilityDescriptor = -1;
1936 static gint ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet = -1;
1937 static gint ett_h245_AlternativeCapabilitySet = -1;
1938 static gint ett_h245_TerminalCapabilitySetAck = -1;
1939 static gint ett_h245_TerminalCapabilitySetReject = -1;
1940 static gint ett_h245_TerminalCapabilitySetRejectCause = -1;
1941 static gint ett_h245_T_tableEntryCapacityExceeded = -1;
1942 static gint ett_h245_TerminalCapabilitySetRelease = -1;
1943 static gint ett_h245_Capability = -1;
1944 static gint ett_h245_T_h233EncryptionReceiveCapability = -1;
1945 static gint ett_h245_H235SecurityCapability = -1;
1946 static gint ett_h245_MultiplexCapability = -1;
1947 static gint ett_h245_H222Capability = -1;
1948 static gint ett_h245_SET_OF_VCCapability = -1;
1949 static gint ett_h245_VCCapability = -1;
1950 static gint ett_h245_T_aal1 = -1;
1951 static gint ett_h245_T_aal5 = -1;
1952 static gint ett_h245_T_availableBitRates = -1;
1953 static gint ett_h245_Avb_type = -1;
1954 static gint ett_h245_T_rangeOfBitRates = -1;
1955 static gint ett_h245_T_aal1ViaGateway = -1;
1956 static gint ett_h245_SET_SIZE_1_256_OF_Q2931Address = -1;
1957 static gint ett_h245_H223Capability = -1;
1958 static gint ett_h245_T_h223MultiplexTableCapability = -1;
1959 static gint ett_h245_T_enhanced = -1;
1960 static gint ett_h245_T_mobileOperationTransmitCapability = -1;
1961 static gint ett_h245_T_mobileMultilinkFrameCapability = -1;
1962 static gint ett_h245_H223AnnexCCapability = -1;
1963 static gint ett_h245_V76Capability = -1;
1964 static gint ett_h245_V75Capability = -1;
1965 static gint ett_h245_H2250Capability = -1;
1966 static gint ett_h245_T_mcCapability = -1;
1967 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability = -1;
1968 static gint ett_h245_MediaPacketizationCapability = -1;
1969 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType = -1;
1970 static gint ett_h245_RSVPParameters = -1;
1971 static gint ett_h245_QOSMode = -1;
1972 static gint ett_h245_ATMParameters = -1;
1973 static gint ett_h245_ServicePriorityValue = -1;
1974 static gint ett_h245_ServicePriority = -1;
1975 static gint ett_h245_AuthorizationParameters = -1;
1976 static gint ett_h245_QOSType = -1;
1977 static gint ett_h245_QOSClass = -1;
1978 static gint ett_h245_QOSDescriptor = -1;
1979 static gint ett_h245_GenericTransportParameters = -1;
1980 static gint ett_h245_QOSCapability = -1;
1981 static gint ett_h245_MediaTransportType = -1;
1982 static gint ett_h245_T_atm_AAL5_compressed = -1;
1983 static gint ett_h245_MediaChannelCapability = -1;
1984 static gint ett_h245_TransportCapability = -1;
1985 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability = -1;
1986 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability = -1;
1987 static gint ett_h245_RedundancyEncodingCapability = -1;
1988 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber = -1;
1989 static gint ett_h245_RedundancyEncodingMethod = -1;
1990 static gint ett_h245_RTPH263VideoRedundancyEncoding = -1;
1991 static gint ett_h245_T_frameToThreadMapping = -1;
1992 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping = -1;
1993 static gint ett_h245_T_containedThreads = -1;
1994 static gint ett_h245_RTPH263VideoRedundancyFrameMapping = -1;
1995 static gint ett_h245_T_frameSequence = -1;
1996 static gint ett_h245_MultipointCapability = -1;
1997 static gint ett_h245_SEQUENCE_OF_MediaDistributionCapability = -1;
1998 static gint ett_h245_MediaDistributionCapability = -1;
1999 static gint ett_h245_SEQUENCE_OF_DataApplicationCapability = -1;
2000 static gint ett_h245_VideoCapability = -1;
2001 static gint ett_h245_ExtendedVideoCapability = -1;
2002 static gint ett_h245_SEQUENCE_OF_VideoCapability = -1;
2003 static gint ett_h245_SEQUENCE_OF_GenericCapability = -1;
2004 static gint ett_h245_H261VideoCapability = -1;
2005 static gint ett_h245_H262VideoCapability = -1;
2006 static gint ett_h245_H263VideoCapability = -1;
2007 static gint ett_h245_EnhancementLayerInfo = -1;
2008 static gint ett_h245_SET_SIZE_1_14_OF_EnhancementOptions = -1;
2009 static gint ett_h245_SET_SIZE_1_14_OF_BEnhancementParameters = -1;
2010 static gint ett_h245_BEnhancementParameters = -1;
2011 static gint ett_h245_EnhancementOptions = -1;
2012 static gint ett_h245_H263Options = -1;
2013 static gint ett_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency = -1;
2014 static gint ett_h245_SET_SIZE_1_16_OF_CustomPictureFormat = -1;
2015 static gint ett_h245_SET_SIZE_1_16_OF_H263VideoModeCombos = -1;
2016 static gint ett_h245_TransparencyParameters = -1;
2017 static gint ett_h245_RefPictureSelection = -1;
2018 static gint ett_h245_T_additionalPictureMemory = -1;
2019 static gint ett_h245_T_videoBackChannelSend = -1;
2020 static gint ett_h245_T_enhancedReferencePicSelect = -1;
2021 static gint ett_h245_T_subPictureRemovalParameters = -1;
2022 static gint ett_h245_CustomPictureClockFrequency = -1;
2023 static gint ett_h245_CustomPictureFormat = -1;
2024 static gint ett_h245_T_mPI = -1;
2025 static gint ett_h245_T_customPCF = -1;
2026 static gint ett_h245_T_customPCF_item = -1;
2027 static gint ett_h245_T_pixelAspectInformation = -1;
2028 static gint ett_h245_T_pixelAspectCode = -1;
2029 static gint ett_h245_T_extendedPAR = -1;
2030 static gint ett_h245_T_extendedPAR_item = -1;
2031 static gint ett_h245_H263VideoModeCombos = -1;
2032 static gint ett_h245_SET_SIZE_1_16_OF_H263ModeComboFlags = -1;
2033 static gint ett_h245_H263ModeComboFlags = -1;
2034 static gint ett_h245_H263Version3Options = -1;
2035 static gint ett_h245_IS11172VideoCapability = -1;
2036 static gint ett_h245_AudioCapability = -1;
2037 static gint ett_h245_T_g7231 = -1;
2038 static gint ett_h245_G729Extensions = -1;
2039 static gint ett_h245_G7231AnnexCCapability = -1;
2040 static gint ett_h245_G723AnnexCAudioMode = -1;
2041 static gint ett_h245_IS11172AudioCapability = -1;
2042 static gint ett_h245_IS13818AudioCapability = -1;
2043 static gint ett_h245_GSMAudioCapability = -1;
2044 static gint ett_h245_VBDCapability = -1;
2045 static gint ett_h245_DataApplicationCapability = -1;
2046 static gint ett_h245_Application = -1;
2047 static gint ett_h245_T_t84 = -1;
2048 static gint ett_h245_Nlpid = -1;
2049 static gint ett_h245_T_t38fax = -1;
2050 static gint ett_h245_DataProtocolCapability = -1;
2051 static gint ett_h245_T_v76wCompression = -1;
2052 static gint ett_h245_CompressionType = -1;
2053 static gint ett_h245_V42bis = -1;
2054 static gint ett_h245_T84Profile = -1;
2055 static gint ett_h245_T_t84Restricted = -1;
2056 static gint ett_h245_T38FaxProfile = -1;
2057 static gint ett_h245_T38FaxRateManagement = -1;
2058 static gint ett_h245_T38FaxUdpOptions = -1;
2059 static gint ett_h245_T_t38FaxUdpEC = -1;
2060 static gint ett_h245_T38FaxTcpOptions = -1;
2061 static gint ett_h245_EncryptionAuthenticationAndIntegrity = -1;
2062 static gint ett_h245_EncryptionCapability = -1;
2063 static gint ett_h245_MediaEncryptionAlgorithm = -1;
2064 static gint ett_h245_AuthenticationCapability = -1;
2065 static gint ett_h245_IntegrityCapability = -1;
2066 static gint ett_h245_UserInputCapability = -1;
2067 static gint ett_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter = -1;
2068 static gint ett_h245_ConferenceCapability = -1;
2069 static gint ett_h245_SEQUENCE_OF_NonStandardParameter = -1;
2070 static gint ett_h245_GenericCapability = -1;
2071 static gint ett_h245_T_collapsing = -1;
2072 static gint ett_h245_T_nonCollapsing = -1;
2073 static gint ett_h245_CapabilityIdentifier = -1;
2074 static gint ett_h245_GenericParameter = -1;
2075 static gint ett_h245_SEQUENCE_OF_ParameterIdentifier = -1;
2076 static gint ett_h245_ParameterIdentifier = -1;
2077 static gint ett_h245_ParameterValue = -1;
2078 static gint ett_h245_SEQUENCE_OF_GenericParameter = -1;
2079 static gint ett_h245_MultiplexedStreamCapability = -1;
2080 static gint ett_h245_MultiplexFormat = -1;
2081 static gint ett_h245_AudioTelephonyEventCapability = -1;
2082 static gint ett_h245_AudioToneCapability = -1;
2083 static gint ett_h245_NoPTAudioTelephonyEventCapability = -1;
2084 static gint ett_h245_NoPTAudioToneCapability = -1;
2085 static gint ett_h245_MultiplePayloadStreamCapability = -1;
2086 static gint ett_h245_DepFECCapability = -1;
2087 static gint ett_h245_FECC_rfc2733 = -1;
2088 static gint ett_h245_T_separateStreamBool = -1;
2089 static gint ett_h245_FECCapability = -1;
2090 static gint ett_h245_Rfc2733Format = -1;
2091 static gint ett_h245_OpenLogicalChannel = -1;
2092 static gint ett_h245_T_forwardLogicalChannelParameters = -1;
2093 static gint ett_h245_OLC_forw_multiplexParameters = -1;
2094 static gint ett_h245_OLC_reverseLogicalChannelParameters = -1;
2095 static gint ett_h245_OLC_rev_multiplexParameters = -1;
2096 static gint ett_h245_NetworkAccessParameters = -1;
2097 static gint ett_h245_T_distribution = -1;
2098 static gint ett_h245_T_networkAddress = -1;
2099 static gint ett_h245_T_t120SetupProcedure = -1;
2100 static gint ett_h245_Q2931Address = -1;
2101 static gint ett_h245_T_address = -1;
2102 static gint ett_h245_V75Parameters = -1;
2103 static gint ett_h245_DataType = -1;
2104 static gint ett_h245_H235Media = -1;
2105 static gint ett_h245_T_mediaType = -1;
2106 static gint ett_h245_MultiplexedStreamParameter = -1;
2107 static gint ett_h245_H222LogicalChannelParameters = -1;
2108 static gint ett_h245_H223LogicalChannelParameters = -1;
2109 static gint ett_h245_T_adaptationLayerType = -1;
2110 static gint ett_h245_Al3 = -1;
2111 static gint ett_h245_H223AL1MParameters = -1;
2112 static gint ett_h245_T_transferMode = -1;
2113 static gint ett_h245_AL1HeaderFEC = -1;
2114 static gint ett_h245_AL1CrcLength = -1;
2115 static gint ett_h245_ArqType = -1;
2116 static gint ett_h245_H223AL2MParameters = -1;
2117 static gint ett_h245_AL2HeaderFEC = -1;
2118 static gint ett_h245_H223AL3MParameters = -1;
2119 static gint ett_h245_T_headerFormat = -1;
2120 static gint ett_h245_AL3CrcLength = -1;
2121 static gint ett_h245_H223AnnexCArqParameters = -1;
2122 static gint ett_h245_T_numberOfRetransmissions = -1;
2123 static gint ett_h245_V76LogicalChannelParameters = -1;
2124 static gint ett_h245_T_suspendResume = -1;
2125 static gint ett_h245_V76LCP_mode = -1;
2126 static gint ett_h245_T_eRM = -1;
2127 static gint ett_h245_T_recovery = -1;
2128 static gint ett_h245_V76HDLCParameters = -1;
2129 static gint ett_h245_CRCLength = -1;
2130 static gint ett_h245_H2250LogicalChannelParameters = -1;
2131 static gint ett_h245_T_mediaPacketization = -1;
2132 static gint ett_h245_RTPPayloadType = -1;
2133 static gint ett_h245_T_payloadDescriptor = -1;
2134 static gint ett_h245_RedundancyEncoding = -1;
2135 static gint ett_h245_T_rtpRedundancyEncoding = -1;
2136 static gint ett_h245_SEQUENCE_OF_RedundancyEncodingElement = -1;
2137 static gint ett_h245_RedundancyEncodingElement = -1;
2138 static gint ett_h245_MultiplePayloadStream = -1;
2139 static gint ett_h245_SEQUENCE_OF_MultiplePayloadStreamElement = -1;
2140 static gint ett_h245_MultiplePayloadStreamElement = -1;
2141 static gint ett_h245_DepFECData = -1;
2142 static gint ett_h245_RFC2733Data = -1;
2143 static gint ett_h245_FECdata_mode = -1;
2144 static gint ett_h245_DepSeparateStream = -1;
2145 static gint ett_h245_T_differentPort = -1;
2146 static gint ett_h245_T_samePort = -1;
2147 static gint ett_h245_FECData = -1;
2148 static gint ett_h245_T_rfc2733 = -1;
2149 static gint ett_h245_T_pktMode = -1;
2150 static gint ett_h245_T_mode_rfc2733sameport = -1;
2151 static gint ett_h245_T_mode_rfc2733diffport = -1;
2152 static gint ett_h245_TransportAddress = -1;
2153 static gint ett_h245_UnicastAddress = -1;
2154 static gint ett_h245_T_iPAddress = -1;
2155 static gint ett_h245_T_iPXAddress = -1;
2156 static gint ett_h245_T_iP6Address = -1;
2157 static gint ett_h245_T_iPSourceRouteAddress = -1;
2158 static gint ett_h245_T_routing = -1;
2159 static gint ett_h245_T_route = -1;
2160 static gint ett_h245_MulticastAddress = -1;
2161 static gint ett_h245_MIPAddress = -1;
2162 static gint ett_h245_MIP6Address = -1;
2163 static gint ett_h245_EncryptionSync = -1;
2164 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_EscrowData = -1;
2165 static gint ett_h245_EscrowData = -1;
2166 static gint ett_h245_OpenLogicalChannelAck = -1;
2167 static gint ett_h245_OLC_ack_reverseLogicalChannelParameters = -1;
2168 static gint ett_h245_T_olc_ack_multiplexParameters = -1;
2169 static gint ett_h245_T_forwardMultiplexAckParameters = -1;
2170 static gint ett_h245_OpenLogicalChannelReject = -1;
2171 static gint ett_h245_OpenLogicalChannelRejectCause = -1;
2172 static gint ett_h245_OpenLogicalChannelConfirm = -1;
2173 static gint ett_h245_H2250LogicalChannelAckParameters = -1;
2174 static gint ett_h245_CloseLogicalChannel = -1;
2175 static gint ett_h245_T_cLC_source = -1;
2176 static gint ett_h245_Clc_reason = -1;
2177 static gint ett_h245_CloseLogicalChannelAck = -1;
2178 static gint ett_h245_RequestChannelClose = -1;
2179 static gint ett_h245_T_reason = -1;
2180 static gint ett_h245_RequestChannelCloseAck = -1;
2181 static gint ett_h245_RequestChannelCloseReject = -1;
2182 static gint ett_h245_RequestChannelCloseRejectCause = -1;
2183 static gint ett_h245_RequestChannelCloseRelease = -1;
2184 static gint ett_h245_MultiplexEntrySend = -1;
2185 static gint ett_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor = -1;
2186 static gint ett_h245_MultiplexEntryDescriptor = -1;
2187 static gint ett_h245_T_elementList = -1;
2188 static gint ett_h245_MultiplexElement = -1;
2189 static gint ett_h245_Me_type = -1;
2190 static gint ett_h245_T_subElementList = -1;
2191 static gint ett_h245_ME_repeatCount = -1;
2192 static gint ett_h245_MultiplexEntrySendAck = -1;
2193 static gint ett_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber = -1;
2194 static gint ett_h245_MultiplexEntrySendReject = -1;
2195 static gint ett_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions = -1;
2196 static gint ett_h245_MultiplexEntryRejectionDescriptions = -1;
2197 static gint ett_h245_MultiplexEntryRejectionDescriptionsCause = -1;
2198 static gint ett_h245_MultiplexEntrySendRelease = -1;
2199 static gint ett_h245_RequestMultiplexEntry = -1;
2200 static gint ett_h245_RequestMultiplexEntryAck = -1;
2201 static gint ett_h245_RequestMultiplexEntryReject = -1;
2202 static gint ett_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions = -1;
2203 static gint ett_h245_RequestMultiplexEntryRejectionDescriptions = -1;
2204 static gint ett_h245_RequestMultiplexEntryRejectionDescriptionsCause = -1;
2205 static gint ett_h245_RequestMultiplexEntryRelease = -1;
2206 static gint ett_h245_RequestMode = -1;
2207 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription = -1;
2208 static gint ett_h245_RequestModeAck = -1;
2209 static gint ett_h245_Req_mode_ack_response = -1;
2210 static gint ett_h245_RequestModeReject = -1;
2211 static gint ett_h245_RequestModeRejectCause = -1;
2212 static gint ett_h245_RequestModeRelease = -1;
2213 static gint ett_h245_ModeDescription = -1;
2214 static gint ett_h245_ModeElementType = -1;
2215 static gint ett_h245_ModeElement = -1;
2216 static gint ett_h245_H235Mode = -1;
2217 static gint ett_h245_T_mediaMode = -1;
2218 static gint ett_h245_MultiplexedStreamModeParameters = -1;
2219 static gint ett_h245_RedundancyEncodingDTMode = -1;
2220 static gint ett_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement = -1;
2221 static gint ett_h245_RedundancyEncodingDTModeElement = -1;
2222 static gint ett_h245_Re_type = -1;
2223 static gint ett_h245_MultiplePayloadStreamMode = -1;
2224 static gint ett_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode = -1;
2225 static gint ett_h245_MultiplePayloadStreamElementMode = -1;
2226 static gint ett_h245_DepFECMode = -1;
2227 static gint ett_h245_T_rfc2733Mode = -1;
2228 static gint ett_h245_FEC_mode = -1;
2229 static gint ett_h245_FECMode = -1;
2230 static gint ett_h245_H223ModeParameters = -1;
2231 static gint ett_h245_AdaptationLayerType = -1;
2232 static gint ett_h245_V76ModeParameters = -1;
2233 static gint ett_h245_H2250ModeParameters = -1;
2234 static gint ett_h245_RedundancyEncodingMode = -1;
2235 static gint ett_h245_T_secondaryEncodingMode = -1;
2236 static gint ett_h245_VideoMode = -1;
2237 static gint ett_h245_H261VideoMode = -1;
2238 static gint ett_h245_H261Resolution = -1;
2239 static gint ett_h245_H262VideoMode = -1;
2240 static gint ett_h245_T_profileAndLevel = -1;
2241 static gint ett_h245_H263VideoMode = -1;
2242 static gint ett_h245_H263Resolution = -1;
2243 static gint ett_h245_IS11172VideoMode = -1;
2244 static gint ett_h245_AudioMode = -1;
2245 static gint ett_h245_Mode_g7231 = -1;
2246 static gint ett_h245_IS11172AudioMode = -1;
2247 static gint ett_h245_T_audioLayer = -1;
2248 static gint ett_h245_T_audioSampling = -1;
2249 static gint ett_h245_IS11172_multichannelType = -1;
2250 static gint ett_h245_IS13818AudioMode = -1;
2251 static gint ett_h245_IS13818AudioLayer = -1;
2252 static gint ett_h245_IS13818AudioSampling = -1;
2253 static gint ett_h245_IS13818MultichannelType = -1;
2254 static gint ett_h245_G7231AnnexCMode = -1;
2255 static gint ett_h245_VBDMode = -1;
2256 static gint ett_h245_DataMode = -1;
2257 static gint ett_h245_DataModeApplication = -1;
2258 static gint ett_h245_T38faxApp = -1;
2259 static gint ett_h245_EncryptionMode = -1;
2260 static gint ett_h245_RoundTripDelayRequest = -1;
2261 static gint ett_h245_RoundTripDelayResponse = -1;
2262 static gint ett_h245_MaintenanceLoopRequest = -1;
2263 static gint ett_h245_Mlr_type = -1;
2264 static gint ett_h245_MaintenanceLoopAck = -1;
2265 static gint ett_h245_Mla_type = -1;
2266 static gint ett_h245_MaintenanceLoopReject = -1;
2267 static gint ett_h245_Mlrej_type = -1;
2268 static gint ett_h245_MaintenanceLoopRejectCause = -1;
2269 static gint ett_h245_MaintenanceLoopOffCommand = -1;
2270 static gint ett_h245_CommunicationModeCommand = -1;
2271 static gint ett_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry = -1;
2272 static gint ett_h245_CommunicationModeRequest = -1;
2273 static gint ett_h245_CommunicationModeResponse = -1;
2274 static gint ett_h245_CommunicationModeTableEntry = -1;
2275 static gint ett_h245_T_entryDataType = -1;
2276 static gint ett_h245_ConferenceRequest = -1;
2277 static gint ett_h245_T_requestTerminalCertificate = -1;
2278 static gint ett_h245_CertSelectionCriteria = -1;
2279 static gint ett_h245_Criteria = -1;
2280 static gint ett_h245_TerminalLabel = -1;
2281 static gint ett_h245_ConferenceResponse = -1;
2282 static gint ett_h245_T_mCTerminalIDResponse = -1;
2283 static gint ett_h245_T_terminalIDResponse = -1;
2284 static gint ett_h245_T_conferenceIDResponse = -1;
2285 static gint ett_h245_T_passwordResponse = -1;
2286 static gint ett_h245_SET_SIZE_1_256_OF_TerminalLabel = -1;
2287 static gint ett_h245_T_makeMeChairResponse = -1;
2288 static gint ett_h245_T_extensionAddressResponse = -1;
2289 static gint ett_h245_T_chairTokenOwnerResponse = -1;
2290 static gint ett_h245_T_terminalCertificateResponse = -1;
2291 static gint ett_h245_T_broadcastMyLogicalChannelResponse = -1;
2292 static gint ett_h245_T_makeTerminalBroadcasterResponse = -1;
2293 static gint ett_h245_T_sendThisSourceResponse = -1;
2294 static gint ett_h245_RequestAllTerminalIDsResponse = -1;
2295 static gint ett_h245_SEQUENCE_OF_TerminalInformation = -1;
2296 static gint ett_h245_TerminalInformation = -1;
2297 static gint ett_h245_RemoteMCRequest = -1;
2298 static gint ett_h245_RemoteMCResponse = -1;
2299 static gint ett_h245_T_reject = -1;
2300 static gint ett_h245_MultilinkRequest = -1;
2301 static gint ett_h245_CallInformationReq = -1;
2302 static gint ett_h245_AddConnectionReq = -1;
2303 static gint ett_h245_RemoveConnectionReq = -1;
2304 static gint ett_h245_MaximumHeaderIntervalReq = -1;
2305 static gint ett_h245_T_requestType = -1;
2306 static gint ett_h245_MultilinkResponse = -1;
2307 static gint ett_h245_CallInformationResp = -1;
2308 static gint ett_h245_AddConnectionResp = -1;
2309 static gint ett_h245_T_responseCode = -1;
2310 static gint ett_h245_T_rejected = -1;
2311 static gint ett_h245_RemoveConnectionResp = -1;
2312 static gint ett_h245_MaximumHeaderIntervalResp = -1;
2313 static gint ett_h245_MultilinkIndication = -1;
2314 static gint ett_h245_T_crcDesired = -1;
2315 static gint ett_h245_T_excessiveError = -1;
2316 static gint ett_h245_DialingInformation = -1;
2317 static gint ett_h245_SET_SIZE_1_65535_OF_DialingInformationNumber = -1;
2318 static gint ett_h245_DialingInformationNumber = -1;
2319 static gint ett_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType = -1;
2320 static gint ett_h245_DialingInformationNetworkType = -1;
2321 static gint ett_h245_ConnectionIdentifier = -1;
2322 static gint ett_h245_LogicalChannelRateRequest = -1;
2323 static gint ett_h245_LogicalChannelRateAcknowledge = -1;
2324 static gint ett_h245_LogicalChannelRateReject = -1;
2325 static gint ett_h245_LogicalChannelRateRejectReason = -1;
2326 static gint ett_h245_LogicalChannelRateRelease = -1;
2327 static gint ett_h245_SendTerminalCapabilitySet = -1;
2328 static gint ett_h245_T_specificRequest = -1;
2329 static gint ett_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber = -1;
2330 static gint ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber = -1;
2331 static gint ett_h245_EncryptionCommand = -1;
2332 static gint ett_h245_T_encryptionAlgorithmID = -1;
2333 static gint ett_h245_FlowControlCommand = -1;
2334 static gint ett_h245_Scope = -1;
2335 static gint ett_h245_Restriction = -1;
2336 static gint ett_h245_EndSessionCommand = -1;
2337 static gint ett_h245_T_gstnOptions = -1;
2338 static gint ett_h245_T_isdnOptions = -1;
2339 static gint ett_h245_ConferenceCommand = -1;
2340 static gint ett_h245_SubstituteConferenceIDCommand = -1;
2341 static gint ett_h245_EncryptionUpdateDirection = -1;
2342 static gint ett_h245_MiscellaneousCommand = -1;
2343 static gint ett_h245_Mc_type = -1;
2344 static gint ett_h245_T_videoFastUpdateGOB = -1;
2345 static gint ett_h245_T_videoFastUpdateMB = -1;
2346 static gint ett_h245_T_progressiveRefinementStart = -1;
2347 static gint ett_h245_T_repeatCount = -1;
2348 static gint ett_h245_T_videoBadMBs = -1;
2349 static gint ett_h245_SEQUENCE_OF_PictureReference = -1;
2350 static gint ett_h245_T_lostPartialPicture = -1;
2351 static gint ett_h245_T_encryptionUpdateCommand = -1;
2352 static gint ett_h245_T_encryptionUpdateAck = -1;
2353 static gint ett_h245_KeyProtectionMethod = -1;
2354 static gint ett_h245_EncryptionUpdateRequest = -1;
2355 static gint ett_h245_PictureReference = -1;
2356 static gint ett_h245_H223MultiplexReconfiguration = -1;
2357 static gint ett_h245_T_h223ModeChange = -1;
2358 static gint ett_h245_T_h223AnnexADoubleFlag = -1;
2359 static gint ett_h245_NewATMVCCommand = -1;
2360 static gint ett_h245_Cmd_aal = -1;
2361 static gint ett_h245_Cmd_aal1 = -1;
2362 static gint ett_h245_Cmd_clockRecovery = -1;
2363 static gint ett_h245_Cmd_errorCorrection = -1;
2364 static gint ett_h245_Cmd_aal5 = -1;
2365 static gint ett_h245_Cmd_multiplex = -1;
2366 static gint ett_h245_Cmd_reverseParameters = -1;
2367 static gint ett_h245_CmdR_multiplex = -1;
2368 static gint ett_h245_MobileMultilinkReconfigurationCommand = -1;
2369 static gint ett_h245_T_status = -1;
2370 static gint ett_h245_FunctionNotUnderstood = -1;
2371 static gint ett_h245_FunctionNotSupported = -1;
2372 static gint ett_h245_FunctionNotSupportedCause = -1;
2373 static gint ett_h245_ConferenceIndication = -1;
2374 static gint ett_h245_TerminalYouAreSeeingInSubPictureNumber = -1;
2375 static gint ett_h245_VideoIndicateCompose = -1;
2376 static gint ett_h245_MiscellaneousIndication = -1;
2377 static gint ett_h245_Mi_type = -1;
2378 static gint ett_h245_T_videoNotDecodedMBs = -1;
2379 static gint ett_h245_JitterIndication = -1;
2380 static gint ett_h245_H223SkewIndication = -1;
2381 static gint ett_h245_H2250MaximumSkewIndication = -1;
2382 static gint ett_h245_MCLocationIndication = -1;
2383 static gint ett_h245_VendorIdentification = -1;
2384 static gint ett_h245_NewATMVCIndication = -1;
2385 static gint ett_h245_Ind_aal = -1;
2386 static gint ett_h245_Ind_aal1 = -1;
2387 static gint ett_h245_Ind_clockRecovery = -1;
2388 static gint ett_h245_Ind_errorCorrection = -1;
2389 static gint ett_h245_Ind_aal5 = -1;
2390 static gint ett_h245_Ind_multiplex = -1;
2391 static gint ett_h245_Ind_reverseParameters = -1;
2392 static gint ett_h245_IndR_multiplex = -1;
2393 static gint ett_h245_Params = -1;
2394 static gint ett_h245_UserInputIndication = -1;
2395 static gint ett_h245_T_userInputSupportIndication = -1;
2396 static gint ett_h245_T_signal = -1;
2397 static gint ett_h245_T_rtp = -1;
2398 static gint ett_h245_T_signalUpdate = -1;
2399 static gint ett_h245_Si_rtp = -1;
2400 static gint ett_h245_T_extendedAlphanumeric = -1;
2401 static gint ett_h245_EncryptedAlphanumeric = -1;
2402 static gint ett_h245_FlowControlIndication = -1;
2403 static gint ett_h245_MobileMultilinkReconfigurationIndication = -1;
2404
2405 /*--- End of included file: packet-h245-ett.c ---*/
2406 #line 380 "packet-h245-template.c"
2407
2408 /* Forward declarations */
2409 static int dissect_h245_MultimediaSystemControlMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2410 static void reset_h245_pi(void *dummy _U_)
2411 {
2412         h245_pi = NULL; /* Make sure we don't leave ep_alloc()ated memory lying around */
2413 }
2414
2415
2416 /*--- Included file: packet-h245-fn.c ---*/
2417 #line 1 "packet-h245-fn.c"
2418 /*--- Cyclic dependencies ---*/
2419
2420 /* GenericParameter -> ParameterValue -> ParameterValue/genericParameter -> GenericParameter */
2421 static int dissect_h245_GenericParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2422
2423 /* VideoCapability -> ExtendedVideoCapability -> ExtendedVideoCapability/videoCapability -> VideoCapability */
2424 static int dissect_h245_VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2425
2426 /* AudioCapability -> VBDCapability -> AudioCapability */
2427 static int dissect_h245_AudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2428
2429 /* DataType -> H235Media -> H235Media/mediaType -> RedundancyEncoding -> DataType */
2430 /* DataType -> H235Media -> H235Media/mediaType -> RedundancyEncoding -> RedundancyEncoding/rtpRedundancyEncoding -> RedundancyEncodingElement -> DataType */
2431 /* DataType -> H235Media -> H235Media/mediaType -> MultiplePayloadStream -> MultiplePayloadStream/elements -> MultiplePayloadStreamElement -> DataType */
2432 static int dissect_h245_DataType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2433
2434 /* MultiplexElement -> MultiplexElement/type -> MultiplexElement/type/subElementList -> MultiplexElement */
2435 static int dissect_h245_MultiplexElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2436
2437 /* AudioMode -> VBDMode -> AudioMode */
2438 static int dissect_h245_AudioMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2439
2440 /* ModeElementType -> RedundancyEncodingDTMode -> RedundancyEncodingDTModeElement -> RedundancyEncodingDTModeElement/type -> FECMode -> ModeElementType */
2441 /* ModeElementType -> MultiplePayloadStreamMode -> MultiplePayloadStreamMode/elements -> MultiplePayloadStreamElementMode -> ModeElementType */
2442 static int dissect_h245_ModeElementType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
2443
2444
2445
2446
2447 static int
2448 dissect_h245_T_object(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2449   offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &nsiOID);
2450
2451   return offset;
2452 }
2453
2454
2455
2456 static int
2457 dissect_h245_T_t35CountryCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2458   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2459                                                             0U, 255U, &t35CountryCode, FALSE);
2460
2461   return offset;
2462 }
2463
2464
2465
2466 static int
2467 dissect_h245_T_t35Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2468   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2469                                                             0U, 255U, &t35Extension, FALSE);
2470
2471   return offset;
2472 }
2473
2474
2475
2476 static int
2477 dissect_h245_T_manufacturerCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2478   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2479                                                             0U, 65535U, &manufacturerCode, FALSE);
2480
2481   return offset;
2482 }
2483
2484
2485 static const per_sequence_t H221NonStandardID_sequence[] = {
2486   { &hf_h245_t35CountryCode , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_t35CountryCode },
2487   { &hf_h245_t35Extension   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_t35Extension },
2488   { &hf_h245_manufacturerCode, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_manufacturerCode },
2489   { NULL, 0, 0, NULL }
2490 };
2491
2492 static int
2493 dissect_h245_H221NonStandardID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2494 #line 912 "h245.cnf"
2495   t35CountryCode = 0;
2496   t35Extension = 0;
2497   manufacturerCode = 0;
2498
2499   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2500                                    ett_h245_H221NonStandardID, H221NonStandardID_sequence);
2501
2502 #line 916 "h245.cnf"
2503   h221NonStandard = ((t35CountryCode * 256) + t35Extension) * 65536 + manufacturerCode;
2504   proto_tree_add_uint(tree, hf_h245Manufacturer, tvb, (offset>>3)-4, 4, h221NonStandard);
2505
2506   return offset;
2507 }
2508
2509
2510 static const value_string h245_NonStandardIdentifier_vals[] = {
2511   {   0, "object" },
2512   {   1, "h221NonStandard" },
2513   { 0, NULL }
2514 };
2515
2516 static const per_choice_t NonStandardIdentifier_choice[] = {
2517   {   0, &hf_h245_object         , ASN1_NO_EXTENSIONS     , dissect_h245_T_object },
2518   {   1, &hf_h245_h221NonStandardID, ASN1_NO_EXTENSIONS     , dissect_h245_H221NonStandardID },
2519   { 0, NULL, 0, NULL }
2520 };
2521
2522 static int
2523 dissect_h245_NonStandardIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2524 #line 893 "h245.cnf"
2525         guint32 value;
2526
2527         nsiOID = "";
2528         h221NonStandard = 0;
2529
2530   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2531                                  ett_h245_NonStandardIdentifier, NonStandardIdentifier_choice,
2532                                  &value);
2533
2534         switch (value) {
2535                 case 0 :  /* object */
2536                         nsp_handle = dissector_get_string_handle(nsp_object_dissector_table, nsiOID);
2537                         break;
2538                 case 1 :  /* h221NonStandard */
2539                         nsp_handle = dissector_get_port_handle(nsp_h221_dissector_table, h221NonStandard);
2540                         break;
2541                 default :
2542                         nsp_handle = NULL;
2543     }
2544
2545
2546   return offset;
2547 }
2548
2549
2550
2551 static int
2552 dissect_h245_T_nsd_data(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2553 #line 927 "h245.cnf"
2554   tvbuff_t *next_tvb = NULL;
2555
2556   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2557                                        NO_BOUND, NO_BOUND, FALSE, &next_tvb);
2558
2559   if (next_tvb && tvb_length(next_tvb)) {
2560     call_dissector((nsp_handle)?nsp_handle:data_handle, next_tvb, actx->pinfo, tree);
2561   }
2562
2563
2564   return offset;
2565 }
2566
2567
2568 static const per_sequence_t NonStandardParameter_sequence[] = {
2569   { &hf_h245_nonStandardIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardIdentifier },
2570   { &hf_h245_nsd_data       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_nsd_data },
2571   { NULL, 0, 0, NULL }
2572 };
2573
2574 static int
2575 dissect_h245_NonStandardParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2576 #line 925 "h245.cnf"
2577   nsp_handle = NULL;
2578
2579   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2580                                    ett_h245_NonStandardParameter, NonStandardParameter_sequence);
2581
2582   return offset;
2583 }
2584
2585
2586 static const per_sequence_t NonStandardMessage_sequence[] = {
2587   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
2588   { NULL, 0, 0, NULL }
2589 };
2590
2591 static int
2592 dissect_h245_NonStandardMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2593   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2594                                    ett_h245_NonStandardMessage, NonStandardMessage_sequence);
2595
2596   return offset;
2597 }
2598
2599
2600
2601 static int
2602 dissect_h245_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2603   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2604                                                             0U, 255U, NULL, FALSE);
2605
2606   return offset;
2607 }
2608
2609
2610
2611 static int
2612 dissect_h245_INTEGER_0_16777215(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2613   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2614                                                             0U, 16777215U, NULL, FALSE);
2615
2616   return offset;
2617 }
2618
2619
2620 static const per_sequence_t MasterSlaveDetermination_sequence[] = {
2621   { &hf_h245_terminalType   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
2622   { &hf_h245_statusDeterminationNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_16777215 },
2623   { NULL, 0, 0, NULL }
2624 };
2625
2626 static int
2627 dissect_h245_MasterSlaveDetermination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2628   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2629                                    ett_h245_MasterSlaveDetermination, MasterSlaveDetermination_sequence);
2630
2631 #line 584 "h245.cnf"
2632
2633 if (h245_pi != NULL)
2634   h245_pi->msg_type = H245_MastSlvDet;
2635
2636   return offset;
2637 }
2638
2639
2640
2641 static int
2642 dissect_h245_SequenceNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2643   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2644                                                             0U, 255U, NULL, FALSE);
2645
2646   return offset;
2647 }
2648
2649
2650
2651 static int
2652 dissect_h245_OBJECT_IDENTIFIER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2653   offset = dissect_per_object_identifier(tvb, offset, actx, tree, hf_index, NULL);
2654
2655   return offset;
2656 }
2657
2658
2659
2660 static int
2661 dissect_h245_INTEGER_1_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2662   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2663                                                             1U, 256U, NULL, FALSE);
2664
2665   return offset;
2666 }
2667
2668
2669
2670 static int
2671 dissect_h245_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2672   offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
2673
2674   return offset;
2675 }
2676
2677
2678 static const per_sequence_t T_aal1_sequence[] = {
2679   { &hf_h245_nullClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2680   { &hf_h245_srtsClockRecovery_bool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2681   { &hf_h245_adaptiveClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2682   { &hf_h245_nullErrorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2683   { &hf_h245_longInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2684   { &hf_h245_shortInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2685   { &hf_h245_errorCorrectionOnly, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2686   { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2687   { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2688   { NULL, 0, 0, NULL }
2689 };
2690
2691 static int
2692 dissect_h245_T_aal1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2693   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2694                                    ett_h245_T_aal1, T_aal1_sequence);
2695
2696   return offset;
2697 }
2698
2699
2700
2701 static int
2702 dissect_h245_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2703   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2704                                                             0U, 65535U, NULL, FALSE);
2705
2706   return offset;
2707 }
2708
2709
2710 static const per_sequence_t T_aal5_sequence[] = {
2711   { &hf_h245_forwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
2712   { &hf_h245_backwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
2713   { NULL, 0, 0, NULL }
2714 };
2715
2716 static int
2717 dissect_h245_T_aal5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2718   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2719                                    ett_h245_T_aal5, T_aal5_sequence);
2720
2721   return offset;
2722 }
2723
2724
2725
2726 static int
2727 dissect_h245_INTEGER_1_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2728   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2729                                                             1U, 65535U, NULL, FALSE);
2730
2731   return offset;
2732 }
2733
2734
2735 static const per_sequence_t T_rangeOfBitRates_sequence[] = {
2736   { &hf_h245_lowerBitRate   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
2737   { &hf_h245_higherBitRate  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
2738   { NULL, 0, 0, NULL }
2739 };
2740
2741 static int
2742 dissect_h245_T_rangeOfBitRates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2743   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2744                                    ett_h245_T_rangeOfBitRates, T_rangeOfBitRates_sequence);
2745
2746   return offset;
2747 }
2748
2749
2750 static const value_string h245_Avb_type_vals[] = {
2751   {   0, "singleBitRate" },
2752   {   1, "rangeOfBitRates" },
2753   { 0, NULL }
2754 };
2755
2756 static const per_choice_t Avb_type_choice[] = {
2757   {   0, &hf_h245_singleBitRate  , ASN1_NO_EXTENSIONS     , dissect_h245_INTEGER_1_65535 },
2758   {   1, &hf_h245_rangeOfBitRates, ASN1_NO_EXTENSIONS     , dissect_h245_T_rangeOfBitRates },
2759   { 0, NULL, 0, NULL }
2760 };
2761
2762 static int
2763 dissect_h245_Avb_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2764   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2765                                  ett_h245_Avb_type, Avb_type_choice,
2766                                  NULL);
2767
2768   return offset;
2769 }
2770
2771
2772 static const per_sequence_t T_availableBitRates_sequence[] = {
2773   { &hf_h245_avb_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Avb_type },
2774   { NULL, 0, 0, NULL }
2775 };
2776
2777 static int
2778 dissect_h245_T_availableBitRates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2779   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2780                                    ett_h245_T_availableBitRates, T_availableBitRates_sequence);
2781
2782   return offset;
2783 }
2784
2785
2786
2787 static int
2788 dissect_h245_NumericString_SIZE_1_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2789   offset = dissect_per_NumericString(tvb, offset, actx, tree, hf_index,
2790                                           1, 16);
2791
2792   return offset;
2793 }
2794
2795
2796
2797 static int
2798 dissect_h245_OCTET_STRING_SIZE_1_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2799   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2800                                        1, 20, FALSE, NULL);
2801
2802   return offset;
2803 }
2804
2805
2806 static const value_string h245_T_address_vals[] = {
2807   {   0, "internationalNumber" },
2808   {   1, "nsapAddress" },
2809   { 0, NULL }
2810 };
2811
2812 static const per_choice_t T_address_choice[] = {
2813   {   0, &hf_h245_internationalNumber, ASN1_EXTENSION_ROOT    , dissect_h245_NumericString_SIZE_1_16 },
2814   {   1, &hf_h245_nsapAddress    , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_1_20 },
2815   { 0, NULL, 0, NULL }
2816 };
2817
2818 static int
2819 dissect_h245_T_address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2820   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2821                                  ett_h245_T_address, T_address_choice,
2822                                  NULL);
2823
2824   return offset;
2825 }
2826
2827
2828 static const per_sequence_t Q2931Address_sequence[] = {
2829   { &hf_h245_address        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_address },
2830   { &hf_h245_subaddress     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_20 },
2831   { NULL, 0, 0, NULL }
2832 };
2833
2834 static int
2835 dissect_h245_Q2931Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2836   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2837                                    ett_h245_Q2931Address, Q2931Address_sequence);
2838
2839   return offset;
2840 }
2841
2842
2843 static const per_sequence_t SET_SIZE_1_256_OF_Q2931Address_set_of[1] = {
2844   { &hf_h245_gatewayAddress_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_Q2931Address },
2845 };
2846
2847 static int
2848 dissect_h245_SET_SIZE_1_256_OF_Q2931Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2849   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
2850                                              ett_h245_SET_SIZE_1_256_OF_Q2931Address, SET_SIZE_1_256_OF_Q2931Address_set_of,
2851                                              1, 256);
2852
2853   return offset;
2854 }
2855
2856
2857 static const per_sequence_t T_aal1ViaGateway_sequence[] = {
2858   { &hf_h245_gatewayAddress , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_256_OF_Q2931Address },
2859   { &hf_h245_nullClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2860   { &hf_h245_srtsClockRecoveryflag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2861   { &hf_h245_adaptiveClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2862   { &hf_h245_nullErrorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2863   { &hf_h245_longInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2864   { &hf_h245_shortInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2865   { &hf_h245_errorCorrectionOnly, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2866   { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2867   { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2868   { NULL, 0, 0, NULL }
2869 };
2870
2871 static int
2872 dissect_h245_T_aal1ViaGateway(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2873   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2874                                    ett_h245_T_aal1ViaGateway, T_aal1ViaGateway_sequence);
2875
2876   return offset;
2877 }
2878
2879
2880 static const per_sequence_t VCCapability_sequence[] = {
2881   { &hf_h245_aal1           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_aal1 },
2882   { &hf_h245_aal5           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_aal5 },
2883   { &hf_h245_transportStream_bool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2884   { &hf_h245_programStream  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2885   { &hf_h245_availableBitRates, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_availableBitRates },
2886   { &hf_h245_aal1ViaGateway , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_aal1ViaGateway },
2887   { NULL, 0, 0, NULL }
2888 };
2889
2890 static int
2891 dissect_h245_VCCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2892   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2893                                    ett_h245_VCCapability, VCCapability_sequence);
2894
2895   return offset;
2896 }
2897
2898
2899 static const per_sequence_t SET_OF_VCCapability_set_of[1] = {
2900   { &hf_h245_vcCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_VCCapability },
2901 };
2902
2903 static int
2904 dissect_h245_SET_OF_VCCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2905   offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index,
2906                                  ett_h245_SET_OF_VCCapability, SET_OF_VCCapability_set_of);
2907
2908   return offset;
2909 }
2910
2911
2912 static const per_sequence_t H222Capability_sequence[] = {
2913   { &hf_h245_numberOfVCs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
2914   { &hf_h245_vcCapability   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_OF_VCCapability },
2915   { NULL, 0, 0, NULL }
2916 };
2917
2918 static int
2919 dissect_h245_H222Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2920   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2921                                    ett_h245_H222Capability, H222Capability_sequence);
2922
2923   return offset;
2924 }
2925
2926
2927
2928 static int
2929 dissect_h245_INTEGER_0_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2930   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2931                                                             0U, 1023U, NULL, FALSE);
2932
2933   return offset;
2934 }
2935
2936
2937
2938 static int
2939 dissect_h245_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2940   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
2941
2942   return offset;
2943 }
2944
2945
2946
2947 static int
2948 dissect_h245_INTEGER_1_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2949   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2950                                                             1U, 15U, NULL, FALSE);
2951
2952   return offset;
2953 }
2954
2955
2956
2957 static int
2958 dissect_h245_INTEGER_2_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2959   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2960                                                             2U, 255U, NULL, FALSE);
2961
2962   return offset;
2963 }
2964
2965
2966 static const per_sequence_t T_enhanced_sequence[] = {
2967   { &hf_h245_maximumNestingDepth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_15 },
2968   { &hf_h245_maximumElementListSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_2_255 },
2969   { &hf_h245_maximumSubElementListSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_2_255 },
2970   { NULL, 0, 0, NULL }
2971 };
2972
2973 static int
2974 dissect_h245_T_enhanced(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2975   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2976                                    ett_h245_T_enhanced, T_enhanced_sequence);
2977
2978   return offset;
2979 }
2980
2981
2982 static const value_string h245_T_h223MultiplexTableCapability_vals[] = {
2983   {   0, "basic" },
2984   {   1, "enhanced" },
2985   { 0, NULL }
2986 };
2987
2988 static const per_choice_t T_h223MultiplexTableCapability_choice[] = {
2989   {   0, &hf_h245_basic          , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
2990   {   1, &hf_h245_enhanced       , ASN1_NO_EXTENSIONS     , dissect_h245_T_enhanced },
2991   { 0, NULL, 0, NULL }
2992 };
2993
2994 static int
2995 dissect_h245_T_h223MultiplexTableCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2996   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2997                                  ett_h245_T_h223MultiplexTableCapability, T_h223MultiplexTableCapability_choice,
2998                                  NULL);
2999
3000   return offset;
3001 }
3002
3003
3004 static const per_sequence_t T_mobileOperationTransmitCapability_sequence[] = {
3005   { &hf_h245_modeChangeCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3006   { &hf_h245_h223AnnexA     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3007   { &hf_h245_h223AnnexADoubleFlagFlag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3008   { &hf_h245_h223AnnexB     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3009   { &hf_h245_h223AnnexBwithHeader, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3010   { NULL, 0, 0, NULL }
3011 };
3012
3013 static int
3014 dissect_h245_T_mobileOperationTransmitCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3015   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3016                                    ett_h245_T_mobileOperationTransmitCapability, T_mobileOperationTransmitCapability_sequence);
3017
3018   return offset;
3019 }
3020
3021
3022 static const per_sequence_t H223AnnexCCapability_sequence[] = {
3023   { &hf_h245_videoWithAL1M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3024   { &hf_h245_videoWithAL2M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3025   { &hf_h245_videoWithAL3M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3026   { &hf_h245_audioWithAL1M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3027   { &hf_h245_audioWithAL2M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3028   { &hf_h245_audioWithAL3M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3029   { &hf_h245_dataWithAL1M   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3030   { &hf_h245_dataWithAL2M   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3031   { &hf_h245_dataWithAL3M   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3032   { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3033   { &hf_h245_maximumAL1MPDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3034   { &hf_h245_maximumAL2MSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3035   { &hf_h245_maximumAL3MSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3036   { &hf_h245_rsCodeCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
3037   { NULL, 0, 0, NULL }
3038 };
3039
3040 static int
3041 dissect_h245_H223AnnexCCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3042   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3043                                    ett_h245_H223AnnexCCapability, H223AnnexCCapability_sequence);
3044
3045   return offset;
3046 }
3047
3048
3049
3050 static int
3051 dissect_h245_INTEGER_1_19200(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3052   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3053                                                             1U, 19200U, NULL, FALSE);
3054
3055   return offset;
3056 }
3057
3058
3059
3060 static int
3061 dissect_h245_INTEGER_1_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3062   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3063                                                             1U, 255U, NULL, FALSE);
3064
3065   return offset;
3066 }
3067
3068
3069
3070 static int
3071 dissect_h245_INTEGER_1_65025(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3072   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3073                                                             1U, 65025U, NULL, FALSE);
3074
3075   return offset;
3076 }
3077
3078
3079 static const per_sequence_t T_mobileMultilinkFrameCapability_sequence[] = {
3080   { &hf_h245_maximumSampleSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
3081   { &hf_h245_maximumPayloadLength, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65025 },
3082   { NULL, 0, 0, NULL }
3083 };
3084
3085 static int
3086 dissect_h245_T_mobileMultilinkFrameCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3087   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3088                                    ett_h245_T_mobileMultilinkFrameCapability, T_mobileMultilinkFrameCapability_sequence);
3089
3090   return offset;
3091 }
3092
3093
3094 static const per_sequence_t H223Capability_sequence[] = {
3095   { &hf_h245_transportWithI_frames, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3096   { &hf_h245_videoWithAL1   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3097   { &hf_h245_videoWithAL2   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3098   { &hf_h245_videoWithAL3   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3099   { &hf_h245_audioWithAL1   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3100   { &hf_h245_audioWithAL2   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3101   { &hf_h245_audioWithAL3   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3102   { &hf_h245_dataWithAL1    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3103   { &hf_h245_dataWithAL2    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3104   { &hf_h245_dataWithAL3    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3105   { &hf_h245_maximumAl2SDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3106   { &hf_h245_maximumAl3SDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3107   { &hf_h245_maximumDelayJitter, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_1023 },
3108   { &hf_h245_h223MultiplexTableCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_h223MultiplexTableCapability },
3109   { &hf_h245_maxMUXPDUSizeCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3110   { &hf_h245_nsrpSupport    , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3111   { &hf_h245_mobileOperationTransmitCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_mobileOperationTransmitCapability },
3112   { &hf_h245_h223AnnexCCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H223AnnexCCapability },
3113   { &hf_h245_bitRate_1_19200, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_19200 },
3114   { &hf_h245_mobileMultilinkFrameCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_mobileMultilinkFrameCapability },
3115   { NULL, 0, 0, NULL }
3116 };
3117
3118 int
3119 dissect_h245_H223Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3120   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3121                                    ett_h245_H223Capability, H223Capability_sequence);
3122
3123   return offset;
3124 }
3125
3126
3127
3128 static int
3129 dissect_h245_INTEGER_2_8191(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3130   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3131                                                             2U, 8191U, NULL, FALSE);
3132
3133   return offset;
3134 }
3135
3136
3137
3138 static int
3139 dissect_h245_INTEGER_1_4095(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3140   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3141                                                             1U, 4095U, NULL, FALSE);
3142
3143   return offset;
3144 }
3145
3146
3147
3148 static int
3149 dissect_h245_INTEGER_1_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3150   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3151                                                             1U, 127U, NULL, FALSE);
3152
3153   return offset;
3154 }
3155
3156
3157 static const per_sequence_t V75Capability_sequence[] = {
3158   { &hf_h245_audioHeader    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3159   { NULL, 0, 0, NULL }
3160 };
3161
3162 static int
3163 dissect_h245_V75Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3164   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3165                                    ett_h245_V75Capability, V75Capability_sequence);
3166
3167   return offset;
3168 }
3169
3170
3171 static const per_sequence_t V76Capability_sequence[] = {
3172   { &hf_h245_suspendResumeCapabilitywAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3173   { &hf_h245_suspendResumeCapabilitywoAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3174   { &hf_h245_rejCapability  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3175   { &hf_h245_sREJCapability , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3176   { &hf_h245_mREJCapability , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3177   { &hf_h245_crc8bitCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3178   { &hf_h245_crc16bitCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3179   { &hf_h245_crc32bitCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3180   { &hf_h245_uihCapability  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3181   { &hf_h245_numOfDLCS      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_2_8191 },
3182   { &hf_h245_twoOctetAddressFieldCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3183   { &hf_h245_loopBackTestCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3184   { &hf_h245_n401Capability , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_4095 },
3185   { &hf_h245_maxWindowSizeCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
3186   { &hf_h245_v75Capability  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V75Capability },
3187   { NULL, 0, 0, NULL }
3188 };
3189
3190 static int
3191 dissect_h245_V76Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3192   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3193                                    ett_h245_V76Capability, V76Capability_sequence);
3194
3195   return offset;
3196 }
3197
3198
3199
3200 static int
3201 dissect_h245_INTEGER_1_65536(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3202   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3203                                                             1U, 65536U, NULL, FALSE);
3204
3205   return offset;
3206 }
3207
3208
3209 static const per_sequence_t V42bis_sequence[] = {
3210   { &hf_h245_numberOfCodewords, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65536 },
3211   { &hf_h245_maximumStringLength, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
3212   { NULL, 0, 0, NULL }
3213 };
3214
3215 static int
3216 dissect_h245_V42bis(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3217   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3218                                    ett_h245_V42bis, V42bis_sequence);
3219
3220   return offset;
3221 }
3222
3223
3224 static const value_string h245_CompressionType_vals[] = {
3225   {   0, "v42bis" },
3226   { 0, NULL }
3227 };
3228
3229 static const per_choice_t CompressionType_choice[] = {
3230   {   0, &hf_h245_v42bis         , ASN1_EXTENSION_ROOT    , dissect_h245_V42bis },
3231   { 0, NULL, 0, NULL }
3232 };
3233
3234 static int
3235 dissect_h245_CompressionType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3236   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3237                                  ett_h245_CompressionType, CompressionType_choice,
3238                                  NULL);
3239
3240   return offset;
3241 }
3242
3243
3244 static const value_string h245_T_v76wCompression_vals[] = {
3245   {   0, "transmitCompression" },
3246   {   1, "receiveCompression" },
3247   {   2, "transmitAndReceiveCompression" },
3248   { 0, NULL }
3249 };
3250
3251 static const per_choice_t T_v76wCompression_choice[] = {
3252   {   0, &hf_h245_transmitCompression, ASN1_EXTENSION_ROOT    , dissect_h245_CompressionType },
3253   {   1, &hf_h245_receiveCompression, ASN1_EXTENSION_ROOT    , dissect_h245_CompressionType },
3254   {   2, &hf_h245_transmitAndReceiveCompression, ASN1_EXTENSION_ROOT    , dissect_h245_CompressionType },
3255   { 0, NULL, 0, NULL }
3256 };
3257
3258 static int
3259 dissect_h245_T_v76wCompression(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3260   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3261                                  ett_h245_T_v76wCompression, T_v76wCompression_choice,
3262                                  NULL);
3263
3264   return offset;
3265 }
3266
3267
3268 const value_string DataProtocolCapability_vals[] = {
3269   {   0, "nonStandard" },
3270   {   1, "v14buffered" },
3271   {   2, "v42lapm" },
3272   {   3, "hdlcFrameTunnelling" },
3273   {   4, "h310SeparateVCStack" },
3274   {   5, "h310SingleVCStack" },
3275   {   6, "transparent" },
3276   {   7, "segmentationAndReassembly" },
3277   {   8, "hdlcFrameTunnelingwSAR" },
3278   {   9, "v120" },
3279   {  10, "separateLANStack" },
3280   {  11, "v76wCompression" },
3281   {  12, "tcp" },
3282   {  13, "udp" },
3283   { 0, NULL }
3284 };
3285
3286 static const per_choice_t DataProtocolCapability_choice[] = {
3287   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
3288   {   1, &hf_h245_v14buffered    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3289   {   2, &hf_h245_v42lapm        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3290   {   3, &hf_h245_hdlcFrameTunnelling, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3291   {   4, &hf_h245_h310SeparateVCStack, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3292   {   5, &hf_h245_h310SingleVCStack, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3293   {   6, &hf_h245_transparent    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3294   {   7, &hf_h245_segmentationAndReassembly, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3295   {   8, &hf_h245_hdlcFrameTunnelingwSAR, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3296   {   9, &hf_h245_v120           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3297   {  10, &hf_h245_separateLANStack, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3298   {  11, &hf_h245_v76wCompression, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_v76wCompression },
3299   {  12, &hf_h245_tcp            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3300   {  13, &hf_h245_udp            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3301   { 0, NULL, 0, NULL }
3302 };
3303
3304 int
3305 dissect_h245_DataProtocolCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3306   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3307                                  ett_h245_DataProtocolCapability, DataProtocolCapability_choice,
3308                                  NULL);
3309
3310   return offset;
3311 }
3312
3313
3314 static const per_sequence_t T_t84Restricted_sequence[] = {
3315   { &hf_h245_qcif_bool      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3316   { &hf_h245_cif_bool       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3317   { &hf_h245_ccir601Seq     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3318   { &hf_h245_ccir601Prog    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3319   { &hf_h245_hdtvSeq        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3320   { &hf_h245_hdtvProg       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3321   { &hf_h245_g3FacsMH200x100, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3322   { &hf_h245_g3FacsMH200x200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3323   { &hf_h245_g4FacsMMR200x100, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3324   { &hf_h245_g4FacsMMR200x200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3325   { &hf_h245_jbig200x200Seq , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3326   { &hf_h245_jbig200x200Prog, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3327   { &hf_h245_jbig300x300Seq , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3328   { &hf_h245_jbig300x300Prog, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3329   { &hf_h245_digPhotoLow    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3330   { &hf_h245_digPhotoMedSeq , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3331   { &hf_h245_digPhotoMedProg, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3332   { &hf_h245_digPhotoHighSeq, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3333   { &hf_h245_digPhotoHighProg, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3334   { NULL, 0, 0, NULL }
3335 };
3336
3337 static int
3338 dissect_h245_T_t84Restricted(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3339   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3340                                    ett_h245_T_t84Restricted, T_t84Restricted_sequence);
3341
3342   return offset;
3343 }
3344
3345
3346 static const value_string h245_T84Profile_vals[] = {
3347   {   0, "t84Unrestricted" },
3348   {   1, "t84Restricted" },
3349   { 0, NULL }
3350 };
3351
3352 static const per_choice_t T84Profile_choice[] = {
3353   {   0, &hf_h245_t84Unrestricted, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
3354   {   1, &hf_h245_t84Restricted  , ASN1_NO_EXTENSIONS     , dissect_h245_T_t84Restricted },
3355   { 0, NULL, 0, NULL }
3356 };
3357
3358 static int
3359 dissect_h245_T84Profile(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3360   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3361                                  ett_h245_T84Profile, T84Profile_choice,
3362                                  NULL);
3363
3364   return offset;
3365 }
3366
3367
3368 static const per_sequence_t T_t84_sequence[] = {
3369   { &hf_h245_t84Protocol    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
3370   { &hf_h245_t84Profile     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T84Profile },
3371   { NULL, 0, 0, NULL }
3372 };
3373
3374 static int
3375 dissect_h245_T_t84(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3376   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3377                                    ett_h245_T_t84, T_t84_sequence);
3378
3379   return offset;
3380 }
3381
3382
3383
3384 static int
3385 dissect_h245_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3386   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3387                                        NO_BOUND, NO_BOUND, FALSE, NULL);
3388
3389   return offset;
3390 }
3391
3392
3393 static const per_sequence_t Nlpid_sequence[] = {
3394   { &hf_h245_nlpidProtocol  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
3395   { &hf_h245_nlpidData      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING },
3396   { NULL, 0, 0, NULL }
3397 };
3398
3399 static int
3400 dissect_h245_Nlpid(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3401   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3402                                    ett_h245_Nlpid, Nlpid_sequence);
3403
3404   return offset;
3405 }
3406
3407
3408 static const value_string h245_T38FaxRateManagement_vals[] = {
3409   {   0, "localTCF" },
3410   {   1, "transferredTCF" },
3411   { 0, NULL }
3412 };
3413
3414 static const per_choice_t T38FaxRateManagement_choice[] = {
3415   {   0, &hf_h245_localTCF       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3416   {   1, &hf_h245_transferredTCF , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3417   { 0, NULL, 0, NULL }
3418 };
3419
3420 static int
3421 dissect_h245_T38FaxRateManagement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3422   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3423                                  ett_h245_T38FaxRateManagement, T38FaxRateManagement_choice,
3424                                  NULL);
3425
3426   return offset;
3427 }
3428
3429
3430
3431 static int
3432 dissect_h245_INTEGER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3433   offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
3434
3435   return offset;
3436 }
3437
3438
3439 static const value_string h245_T_t38FaxUdpEC_vals[] = {
3440   {   0, "t38UDPFEC" },
3441   {   1, "t38UDPRedundancy" },
3442   { 0, NULL }
3443 };
3444
3445 static const per_choice_t T_t38FaxUdpEC_choice[] = {
3446   {   0, &hf_h245_t38UDPFEC      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3447   {   1, &hf_h245_t38UDPRedundancy, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3448   { 0, NULL, 0, NULL }
3449 };
3450
3451 static int
3452 dissect_h245_T_t38FaxUdpEC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3453   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3454                                  ett_h245_T_t38FaxUdpEC, T_t38FaxUdpEC_choice,
3455                                  NULL);
3456
3457   return offset;
3458 }
3459
3460
3461 static const per_sequence_t T38FaxUdpOptions_sequence[] = {
3462   { &hf_h245_t38FaxMaxBuffer, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_INTEGER },
3463   { &hf_h245_t38FaxMaxDatagram, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_INTEGER },
3464   { &hf_h245_t38FaxUdpEC    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_t38FaxUdpEC },
3465   { NULL, 0, 0, NULL }
3466 };
3467
3468 static int
3469 dissect_h245_T38FaxUdpOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3470   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3471                                    ett_h245_T38FaxUdpOptions, T38FaxUdpOptions_sequence);
3472
3473   return offset;
3474 }
3475
3476
3477 static const per_sequence_t T38FaxTcpOptions_sequence[] = {
3478   { &hf_h245_t38TCPBidirectionalMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3479   { NULL, 0, 0, NULL }
3480 };
3481
3482 static int
3483 dissect_h245_T38FaxTcpOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3484   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3485                                    ett_h245_T38FaxTcpOptions, T38FaxTcpOptions_sequence);
3486
3487   return offset;
3488 }
3489
3490
3491 static const per_sequence_t T38FaxProfile_sequence[] = {
3492   { &hf_h245_fillBitRemoval , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3493   { &hf_h245_transcodingJBIG, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3494   { &hf_h245_transcodingMMR , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3495   { &hf_h245_version        , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
3496   { &hf_h245_t38FaxRateManagement, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_T38FaxRateManagement },
3497   { &hf_h245_t38FaxUdpOptions, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T38FaxUdpOptions },
3498   { &hf_h245_t38FaxTcpOptions, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T38FaxTcpOptions },
3499   { NULL, 0, 0, NULL }
3500 };
3501
3502 int
3503 dissect_h245_T38FaxProfile(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3504   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3505                                    ett_h245_T38FaxProfile, T38FaxProfile_sequence);
3506
3507   return offset;
3508 }
3509
3510
3511 static const per_sequence_t T_t38fax_sequence[] = {
3512   { &hf_h245_t38FaxProtocol , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
3513   { &hf_h245_t38FaxProfile  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T38FaxProfile },
3514   { NULL, 0, 0, NULL }
3515 };
3516
3517 static int
3518 dissect_h245_T_t38fax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3519   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3520                                    ett_h245_T_t38fax, T_t38fax_sequence);
3521
3522   return offset;
3523 }
3524
3525
3526
3527 static int
3528 dissect_h245_T_standardOid(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3529 #line 723 "h245.cnf"
3530   const gchar *standard_oid_str = NULL;
3531   gef_ctx_t *gefx;
3532
3533   offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &standard_oid_str);
3534
3535   gefx = gef_ctx_get(actx->private_data);
3536   if (gefx) gefx->id = standard_oid_str;
3537
3538   if(strcmp(standard_oid_str,"0.0.8.235.0.3.76") == 0) {  /* MIKEY */
3539     if (upcoming_channel)
3540           upcoming_channel->srtp_flag = TRUE;
3541   }
3542
3543   if(!h245_lc_dissector && strcmp(standard_oid_str,"0.0.8.245.1.1.1") == 0)
3544         h245_lc_dissector = amr_handle;
3545
3546
3547   return offset;
3548 }
3549
3550
3551
3552 static int
3553 dissect_h245_OCTET_STRING_SIZE_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3554   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3555                                        16, 16, FALSE, NULL);
3556
3557   return offset;
3558 }
3559
3560
3561
3562 static int
3563 dissect_h245_IA5String_SIZE_1_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3564   offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
3565                                           1, 64);
3566
3567   return offset;
3568 }
3569
3570
3571 static const value_string h245_CapabilityIdentifier_vals[] = {
3572   {   0, "standard" },
3573   {   1, "h221NonStandard" },
3574   {   2, "uuid" },
3575   {   3, "domainBased" },
3576   { 0, NULL }
3577 };
3578
3579 static const per_choice_t CapabilityIdentifier_choice[] = {
3580   {   0, &hf_h245_standardOid    , ASN1_EXTENSION_ROOT    , dissect_h245_T_standardOid },
3581   {   1, &hf_h245_h221NonStandard, ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
3582   {   2, &hf_h245_uuid           , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_16 },
3583   {   3, &hf_h245_domainBased    , ASN1_EXTENSION_ROOT    , dissect_h245_IA5String_SIZE_1_64 },
3584   { 0, NULL, 0, NULL }
3585 };
3586
3587 static int
3588 dissect_h245_CapabilityIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3589 #line 709 "h245.cnf"
3590   gef_ctx_t *gefx;
3591
3592   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3593                                  ett_h245_CapabilityIdentifier, CapabilityIdentifier_choice,
3594                                  NULL);
3595
3596 #line 711 "h245.cnf"
3597   gef_ctx_update_key(gef_ctx_get(actx->private_data));
3598   /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG CapabilityIdentifier: %s", gef_ctx_get(actx->private_data)->key);*/
3599   gefx = gef_ctx_get(actx->private_data);
3600   if (gefx) {
3601     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3602     actx->pinfo->private_data = actx;
3603     dissector_try_string(gef_name_dissector_table, gefx->key, tvb_new_subset(tvb, offset>>3, 0, 0), actx->pinfo, tree);
3604   }
3605   actx->private_data = gefx;  /* subdissector could overwrite it */
3606
3607   return offset;
3608 }
3609
3610
3611
3612 static int
3613 dissect_h245_INTEGER_0_4294967295(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3614   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3615                                                             0U, 4294967295U, NULL, FALSE);
3616
3617   return offset;
3618 }
3619
3620
3621
3622 static int
3623 dissect_h245_T_standard(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3624 #line 754 "h245.cnf"
3625   gint32 value_int = -1;
3626   gef_ctx_t *gefx;
3627
3628   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3629                                                             0U, 127U, &value_int, FALSE);
3630
3631   gefx = gef_ctx_get(actx->private_data);
3632   if (gefx) gefx->id = ep_strdup_printf("%d", value_int);
3633
3634
3635   return offset;
3636 }
3637
3638
3639 static const value_string h245_ParameterIdentifier_vals[] = {
3640   {   0, "standard" },
3641   {   1, "h221NonStandard" },
3642   {   2, "uuid" },
3643   {   3, "domainBased" },
3644   { 0, NULL }
3645 };
3646
3647 static const per_choice_t ParameterIdentifier_choice[] = {
3648   {   0, &hf_h245_standard       , ASN1_EXTENSION_ROOT    , dissect_h245_T_standard },
3649   {   1, &hf_h245_h221NonStandard, ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
3650   {   2, &hf_h245_uuid           , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_16 },
3651   {   3, &hf_h245_domainBased    , ASN1_EXTENSION_ROOT    , dissect_h245_IA5String_SIZE_1_64 },
3652   { 0, NULL, 0, NULL }
3653 };
3654
3655 static int
3656 dissect_h245_ParameterIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3657 #line 740 "h245.cnf"
3658   gef_ctx_t *gefx;
3659
3660   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3661                                  ett_h245_ParameterIdentifier, ParameterIdentifier_choice,
3662                                  NULL);
3663
3664 #line 742 "h245.cnf"
3665   gef_ctx_update_key(gef_ctx_get(actx->private_data));
3666   /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG ParameterIdentifier: %s", gef_ctx_get(actx->private_data)->key);*/
3667   gefx = gef_ctx_get(actx->private_data);
3668   if (gefx) {
3669     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3670     actx->pinfo->private_data = actx;
3671     dissector_try_string(gef_name_dissector_table, gefx->key, tvb_new_subset(tvb, offset>>3, 0, 0), actx->pinfo, tree);
3672   }
3673   actx->private_data = gefx;  /* subdissector could overwrite it */
3674
3675   return offset;
3676 }
3677
3678
3679
3680 static int
3681 dissect_h245_T_booleanArray(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3682 #line 763 "h245.cnf"
3683   guint32 value;
3684   guint8 *buf;
3685   tvbuff_t *value_tvb;
3686   gef_ctx_t *gefx;
3687
3688   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3689                                                             0U, 255U, &value, FALSE);
3690
3691   gefx = gef_ctx_get(actx->private_data);
3692   if (gefx) {
3693     buf = ep_alloc(sizeof(guint8));
3694     buf[0] = value;
3695     value_tvb = tvb_new_real_data(buf, sizeof(guint8), sizeof(guint8));
3696     tvb_set_child_real_data_tvbuff(tvb, value_tvb);
3697     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3698     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3699   }
3700
3701
3702   return offset;
3703 }
3704
3705
3706
3707 static int
3708 dissect_h245_T_unsignedMin(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3709 #line 780 "h245.cnf"
3710   guint32 value;
3711   guint8 *buf;
3712   tvbuff_t *value_tvb;
3713   gef_ctx_t *gefx;
3714
3715   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3716                                                             0U, 65535U, &value, FALSE);
3717
3718   gefx = gef_ctx_get(actx->private_data);
3719   if (gefx) {
3720     buf = ep_alloc(sizeof(guint16));
3721     phtons(buf, value);
3722     value_tvb = tvb_new_real_data(buf, sizeof(guint16), sizeof(guint16));
3723     tvb_set_child_real_data_tvbuff(tvb, value_tvb);
3724     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3725     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3726   }
3727
3728
3729   return offset;
3730 }
3731
3732
3733
3734 static int
3735 dissect_h245_T_octetString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3736 #line 797 "h245.cnf"
3737   tvbuff_t *value_tvb;
3738   gef_ctx_t *gefx;
3739
3740   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3741                                        NO_BOUND, NO_BOUND, FALSE, &value_tvb);
3742
3743   gefx = gef_ctx_get(actx->private_data);
3744   if (gefx) {
3745     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3746     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3747   }
3748
3749
3750   return offset;
3751 }
3752
3753
3754 static const per_sequence_t SEQUENCE_OF_GenericParameter_sequence_of[1] = {
3755   { &hf_h245_genericParameters_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_GenericParameter },
3756 };
3757
3758 static int
3759 dissect_h245_SEQUENCE_OF_GenericParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3760   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3761                                       ett_h245_SEQUENCE_OF_GenericParameter, SEQUENCE_OF_GenericParameter_sequence_of);
3762
3763   return offset;
3764 }
3765
3766
3767 static const value_string h245_ParameterValue_vals[] = {
3768   {   0, "logical" },
3769   {   1, "booleanArray" },
3770   {   2, "unsignedMin" },
3771   {   3, "unsignedMax" },
3772   {   4, "unsigned32Min" },
3773   {   5, "unsigned32Max" },
3774   {   6, "octetString" },
3775   {   7, "genericParameter" },
3776   { 0, NULL }
3777 };
3778
3779 static const per_choice_t ParameterValue_choice[] = {
3780   {   0, &hf_h245_logical        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3781   {   1, &hf_h245_booleanArray   , ASN1_EXTENSION_ROOT    , dissect_h245_T_booleanArray },
3782   {   2, &hf_h245_unsignedMin    , ASN1_EXTENSION_ROOT    , dissect_h245_T_unsignedMin },
3783   {   3, &hf_h245_unsignedMax    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_65535 },
3784   {   4, &hf_h245_unsigned32Min  , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_4294967295 },
3785   {   5, &hf_h245_unsigned32Max  , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_4294967295 },
3786   {   6, &hf_h245_octetString    , ASN1_EXTENSION_ROOT    , dissect_h245_T_octetString },
3787   {   7, &hf_h245_genericParameters, ASN1_EXTENSION_ROOT    , dissect_h245_SEQUENCE_OF_GenericParameter },
3788   { 0, NULL, 0, NULL }
3789 };
3790
3791 static int
3792 dissect_h245_ParameterValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3793   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3794                                  ett_h245_ParameterValue, ParameterValue_choice,
3795                                  NULL);
3796
3797   return offset;
3798 }
3799
3800
3801 static const per_sequence_t SEQUENCE_OF_ParameterIdentifier_sequence_of[1] = {
3802   { &hf_h245_supersedes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ParameterIdentifier },
3803 };
3804
3805 static int
3806 dissect_h245_SEQUENCE_OF_ParameterIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3807   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3808                                       ett_h245_SEQUENCE_OF_ParameterIdentifier, SEQUENCE_OF_ParameterIdentifier_sequence_of);
3809
3810   return offset;
3811 }
3812
3813
3814 static const per_sequence_t GenericParameter_sequence[] = {
3815   { &hf_h245_parameterIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ParameterIdentifier },
3816   { &hf_h245_parameterValue , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ParameterValue },
3817   { &hf_h245_supersedes     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_ParameterIdentifier },
3818   { NULL, 0, 0, NULL }
3819 };
3820
3821 static int
3822 dissect_h245_GenericParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3823   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3824                                    ett_h245_GenericParameter, GenericParameter_sequence);
3825
3826   return offset;
3827 }
3828
3829
3830
3831 static int
3832 dissect_h245_T_collapsing_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3833 #line 665 "h245.cnf"
3834   gef_ctx_t *parent_gefx;
3835
3836   parent_gefx = gef_ctx_get(actx->private_data);
3837   actx->private_data = gef_ctx_alloc(parent_gefx, "collapsing");
3838
3839   offset = dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_index);
3840
3841 #line 670 "h245.cnf"
3842   actx->private_data = parent_gefx;
3843
3844   return offset;
3845 }
3846
3847
3848 static const per_sequence_t T_collapsing_sequence_of[1] = {
3849   { &hf_h245_collapsing_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_collapsing_item },
3850 };
3851
3852 static int
3853 dissect_h245_T_collapsing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3854   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3855                                       ett_h245_T_collapsing, T_collapsing_sequence_of);
3856
3857   return offset;
3858 }
3859
3860
3861
3862 static int
3863 dissect_h245_T_nonCollapsing_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3864 #line 674 "h245.cnf"
3865   gef_ctx_t *parent_gefx;
3866
3867   parent_gefx = gef_ctx_get(actx->private_data);
3868   actx->private_data = gef_ctx_alloc(parent_gefx, "nonCollapsing");
3869
3870   offset = dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_index);
3871
3872 #line 679 "h245.cnf"
3873   actx->private_data = parent_gefx;
3874
3875   return offset;
3876 }
3877
3878
3879 static const per_sequence_t T_nonCollapsing_sequence_of[1] = {
3880   { &hf_h245_nonCollapsing_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_nonCollapsing_item },
3881 };
3882
3883 static int
3884 dissect_h245_T_nonCollapsing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3885   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3886                                       ett_h245_T_nonCollapsing, T_nonCollapsing_sequence_of);
3887
3888   return offset;
3889 }
3890
3891
3892
3893 static int
3894 dissect_h245_T_nonCollapsingRaw(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3895 #line 683 "h245.cnf"
3896   tvbuff_t *value_tvb;
3897   gef_ctx_t *parent_gefx;
3898   gef_ctx_t *gefx;
3899
3900   parent_gefx = gef_ctx_get(actx->private_data);
3901   actx->private_data = gef_ctx_alloc(parent_gefx, "nonCollapsingRaw");
3902   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3903                                        NO_BOUND, NO_BOUND, FALSE, &value_tvb);
3904
3905   gefx = gef_ctx_get(actx->private_data);
3906   if (gefx) {
3907     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3908     actx->pinfo->private_data = actx;
3909     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3910   }
3911   actx->private_data = parent_gefx;
3912
3913
3914   return offset;
3915 }
3916
3917
3918 static const per_sequence_t GenericCapability_sequence[] = {
3919   { &hf_h245_capabilityIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityIdentifier },
3920   { &hf_h245_maxBitRate2_0_4294967295, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
3921   { &hf_h245_collapsing     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_collapsing },
3922   { &hf_h245_nonCollapsing  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_nonCollapsing },
3923   { &hf_h245_nonCollapsingRaw, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_nonCollapsingRaw },
3924   { &hf_h245_transport      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_DataProtocolCapability },
3925   { NULL, 0, 0, NULL }
3926 };
3927
3928 static int
3929 dissect_h245_GenericCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3930 #line 658 "h245.cnf"
3931   void *priv_data = actx->private_data;
3932   actx->private_data = gef_ctx_alloc(NULL, "GenericCapability");
3933
3934   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3935                                    ett_h245_GenericCapability, GenericCapability_sequence);
3936
3937 #line 661 "h245.cnf"
3938   actx->private_data = priv_data;
3939
3940   return offset;
3941 }
3942
3943
3944 static const value_string h245_Application_vals[] = {
3945   {   0, "nonStandard" },
3946   {   1, "t120" },
3947   {   2, "dsm-cc" },
3948   {   3, "userData" },
3949   {   4, "t84" },
3950   {   5, "t434" },
3951   {   6, "h224" },
3952   {   7, "nlpid" },
3953   {   8, "dsvdControl" },
3954   {   9, "h222DataPartitioning" },
3955   {  10, "t30fax" },
3956   {  11, "t140" },
3957   {  12, "t38fax" },
3958   {  13, "genericDataCapability" },
3959   { 0, NULL }
3960 };
3961
3962 static const per_choice_t Application_choice[] = {
3963   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
3964   {   1, &hf_h245_t120           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
3965   {   2, &hf_h245_dsm_cc         , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
3966   {   3, &hf_h245_userData       , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
3967   {   4, &hf_h245_t84            , ASN1_EXTENSION_ROOT    , dissect_h245_T_t84 },
3968   {   5, &hf_h245_t434           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
3969   {   6, &hf_h245_h224           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
3970   {   7, &hf_h245_nlpid          , ASN1_EXTENSION_ROOT    , dissect_h245_Nlpid },
3971   {   8, &hf_h245_dsvdControl    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3972   {   9, &hf_h245_h222DataPartitioning, ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
3973   {  10, &hf_h245_t30fax         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
3974   {  11, &hf_h245_t140           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
3975   {  12, &hf_h245_t38fax         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_t38fax },
3976   {  13, &hf_h245_genericDataCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
3977   { 0, NULL, 0, NULL }
3978 };
3979
3980 static int
3981 dissect_h245_Application(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3982 #line 506 "h245.cnf"
3983   guint32 value;
3984
3985   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3986                                  ett_h245_Application, Application_choice,
3987                                  &value);
3988
3989         codec_type = val_to_str(value, h245_Application_vals, "<unknown>");
3990                 if (h245_pi != NULL) 
3991                         g_snprintf(h245_pi->frame_label, 50, "%s %s", h245_pi->frame_label, codec_type);
3992
3993
3994   return offset;
3995 }
3996
3997
3998 static const per_sequence_t DataApplicationCapability_sequence[] = {
3999   { &hf_h245_application    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Application },
4000   { &hf_h245_maxBitRate2_0_4294967295, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
4001   { NULL, 0, 0, NULL }
4002 };
4003
4004 static int
4005 dissect_h245_DataApplicationCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4006   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4007                                    ett_h245_DataApplicationCapability, DataApplicationCapability_sequence);
4008
4009   return offset;
4010 }
4011
4012
4013 static const per_sequence_t SEQUENCE_OF_DataApplicationCapability_sequence_of[1] = {
4014   { &hf_h245_centralizedData_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataApplicationCapability },
4015 };
4016
4017 static int
4018 dissect_h245_SEQUENCE_OF_DataApplicationCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4019   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4020                                       ett_h245_SEQUENCE_OF_DataApplicationCapability, SEQUENCE_OF_DataApplicationCapability_sequence_of);
4021
4022   return offset;
4023 }
4024
4025
4026 static const per_sequence_t MediaDistributionCapability_sequence[] = {
4027   { &hf_h245_centralizedControl, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4028   { &hf_h245_distributedControl, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4029   { &hf_h245_centralizedAudio, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4030   { &hf_h245_distributedAudio, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4031   { &hf_h245_centralizedVideo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4032   { &hf_h245_distributedVideo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4033   { &hf_h245_centralizedData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_DataApplicationCapability },
4034   { &hf_h245_distributedData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_DataApplicationCapability },
4035   { NULL, 0, 0, NULL }
4036 };
4037
4038 static int
4039 dissect_h245_MediaDistributionCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4040   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4041                                    ett_h245_MediaDistributionCapability, MediaDistributionCapability_sequence);
4042
4043   return offset;
4044 }
4045
4046
4047 static const per_sequence_t SEQUENCE_OF_MediaDistributionCapability_sequence_of[1] = {
4048   { &hf_h245_mediaDistributionCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MediaDistributionCapability },
4049 };
4050
4051 static int
4052 dissect_h245_SEQUENCE_OF_MediaDistributionCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4053   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4054                                       ett_h245_SEQUENCE_OF_MediaDistributionCapability, SEQUENCE_OF_MediaDistributionCapability_sequence_of);
4055
4056   return offset;
4057 }
4058
4059
4060 static const per_sequence_t MultipointCapability_sequence[] = {
4061   { &hf_h245_multicastCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4062   { &hf_h245_multiUniCastConference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4063   { &hf_h245_mediaDistributionCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_MediaDistributionCapability },
4064   { NULL, 0, 0, NULL }
4065 };
4066
4067 static int
4068 dissect_h245_MultipointCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4069   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4070                                    ett_h245_MultipointCapability, MultipointCapability_sequence);
4071
4072   return offset;
4073 }
4074
4075
4076 static const per_sequence_t T_mcCapability_sequence[] = {
4077   { &hf_h245_centralizedConferenceMC, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4078   { &hf_h245_decentralizedConferenceMC, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4079   { NULL, 0, 0, NULL }
4080 };
4081
4082 static int
4083 dissect_h245_T_mcCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4084   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4085                                    ett_h245_T_mcCapability, T_mcCapability_sequence);
4086
4087   return offset;
4088 }
4089
4090
4091
4092 static int
4093 dissect_h245_T_rfc_number(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4094   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4095                                                             1U, 32768U, &rfc_number, TRUE);
4096
4097   return offset;
4098 }
4099
4100
4101 static const value_string h245_T_payloadDescriptor_vals[] = {
4102   {   0, "nonStandardIdentifier" },
4103   {   1, "rfc-number" },
4104   {   2, "oid" },
4105   { 0, NULL }
4106 };
4107
4108 static const per_choice_t T_payloadDescriptor_choice[] = {
4109   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4110   {   1, &hf_h245_rfc_number     , ASN1_EXTENSION_ROOT    , dissect_h245_T_rfc_number },
4111   {   2, &hf_h245_oid            , ASN1_EXTENSION_ROOT    , dissect_h245_OBJECT_IDENTIFIER },
4112   { 0, NULL, 0, NULL }
4113 };
4114
4115 static int
4116 dissect_h245_T_payloadDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4117   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4118                                  ett_h245_T_payloadDescriptor, T_payloadDescriptor_choice,
4119                                  NULL);
4120
4121   return offset;
4122 }
4123
4124
4125
4126 static int
4127 dissect_h245_T_payloadType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4128 #line 878 "h245.cnf"
4129   unsigned int pt;
4130
4131   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4132                                                             0U, 127U, &pt, FALSE);
4133
4134
4135   if ((rfc_number == 2198) && upcoming_channel) {
4136     upcoming_channel->rfc2198 = pt;
4137   }
4138
4139
4140   return offset;
4141 }
4142
4143
4144 static const per_sequence_t RTPPayloadType_sequence[] = {
4145   { &hf_h245_payloadDescriptor, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_payloadDescriptor },
4146   { &hf_h245_payloadType    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_payloadType },
4147   { NULL, 0, 0, NULL }
4148 };
4149
4150 static int
4151 dissect_h245_RTPPayloadType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4152 #line 870 "h245.cnf"
4153   rfc_number = 0;
4154
4155   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4156                                    ett_h245_RTPPayloadType, RTPPayloadType_sequence);
4157
4158   return offset;
4159 }
4160
4161
4162 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_RTPPayloadType_sequence_of[1] = {
4163   { &hf_h245_rtpPayloadTypes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RTPPayloadType },
4164 };
4165
4166 static int
4167 dissect_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4168   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4169                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType, SEQUENCE_SIZE_1_256_OF_RTPPayloadType_sequence_of,
4170                                                   1, 256);
4171
4172   return offset;
4173 }
4174
4175
4176 static const per_sequence_t MediaPacketizationCapability_sequence[] = {
4177   { &hf_h245_h261aVideoPacketization, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4178   { &hf_h245_rtpPayloadTypes, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType },
4179   { NULL, 0, 0, NULL }
4180 };
4181
4182 static int
4183 dissect_h245_MediaPacketizationCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4184   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4185                                    ett_h245_MediaPacketizationCapability, MediaPacketizationCapability_sequence);
4186
4187   return offset;
4188 }
4189
4190
4191 static const value_string h245_QOSMode_vals[] = {
4192   {   0, "guaranteedQOS" },
4193   {   1, "controlledLoad" },
4194   { 0, NULL }
4195 };
4196
4197 static const per_choice_t QOSMode_choice[] = {
4198   {   0, &hf_h245_guaranteedQOS  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4199   {   1, &hf_h245_controlledLoad , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4200   { 0, NULL, 0, NULL }
4201 };
4202
4203 static int
4204 dissect_h245_QOSMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4205   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4206                                  ett_h245_QOSMode, QOSMode_choice,
4207                                  NULL);
4208
4209   return offset;
4210 }
4211
4212
4213
4214 static int
4215 dissect_h245_INTEGER_1_4294967295(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4216   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4217                                                             1U, 4294967295U, NULL, FALSE);
4218
4219   return offset;
4220 }
4221
4222
4223 static const per_sequence_t RSVPParameters_sequence[] = {
4224   { &hf_h245_qosMode        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_QOSMode },
4225   { &hf_h245_tokenRate      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4226   { &hf_h245_bucketSize     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4227   { &hf_h245_peakRate       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4228   { &hf_h245_minPoliced     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4229   { &hf_h245_maxPktSize     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4230   { NULL, 0, 0, NULL }
4231 };
4232
4233 static int
4234 dissect_h245_RSVPParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4235   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4236                                    ett_h245_RSVPParameters, RSVPParameters_sequence);
4237
4238   return offset;
4239 }
4240
4241
4242 static const per_sequence_t ATMParameters_sequence[] = {
4243   { &hf_h245_maxNTUSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
4244   { &hf_h245_atmUBR         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4245   { &hf_h245_atmrtVBR       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4246   { &hf_h245_atmnrtVBR      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4247   { &hf_h245_atmABR         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4248   { &hf_h245_atmCBR         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4249   { NULL, 0, 0, NULL }
4250 };
4251
4252 static int
4253 dissect_h245_ATMParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4254   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4255                                    ett_h245_ATMParameters, ATMParameters_sequence);
4256
4257   return offset;
4258 }
4259
4260
4261 static const per_sequence_t GenericTransportParameters_sequence[] = {
4262   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4263   { &hf_h245_averageRate    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4264   { &hf_h245_burst          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4265   { &hf_h245_peakRate       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4266   { &hf_h245_maxPktSize     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4267   { NULL, 0, 0, NULL }
4268 };
4269
4270 static int
4271 dissect_h245_GenericTransportParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4272   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4273                                    ett_h245_GenericTransportParameters, GenericTransportParameters_sequence);
4274
4275   return offset;
4276 }
4277
4278
4279 static const per_sequence_t ServicePriorityValue_sequence[] = {
4280   { &hf_h245_nonStandardParameter, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4281   { NULL, 0, 0, NULL }
4282 };
4283
4284 static int
4285 dissect_h245_ServicePriorityValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4286   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4287                                    ett_h245_ServicePriorityValue, ServicePriorityValue_sequence);
4288
4289   return offset;
4290 }
4291
4292
4293 static const per_sequence_t ServicePriority_sequence[] = {
4294   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4295   { &hf_h245_servicePrioritySignalled, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4296   { &hf_h245_servicePriorityValue, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_ServicePriorityValue },
4297   { NULL, 0, 0, NULL }
4298 };
4299
4300 static int
4301 dissect_h245_ServicePriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4302   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4303                                    ett_h245_ServicePriority, ServicePriority_sequence);
4304
4305   return offset;
4306 }
4307
4308
4309 static const per_sequence_t AuthorizationParameters_sequence[] = {
4310   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4311   { NULL, 0, 0, NULL }
4312 };
4313
4314 static int
4315 dissect_h245_AuthorizationParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4316   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4317                                    ett_h245_AuthorizationParameters, AuthorizationParameters_sequence);
4318
4319   return offset;
4320 }
4321
4322
4323 static const value_string h245_QOSType_vals[] = {
4324   {   0, "desired" },
4325   {   1, "required" },
4326   { 0, NULL }
4327 };
4328
4329 static const per_choice_t QOSType_choice[] = {
4330   {   0, &hf_h245_desired        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4331   {   1, &hf_h245_required       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4332   { 0, NULL, 0, NULL }
4333 };
4334
4335 static int
4336 dissect_h245_QOSType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4337   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4338                                  ett_h245_QOSType, QOSType_choice,
4339                                  NULL);
4340
4341   return offset;
4342 }
4343
4344
4345 static const value_string h245_QOSClass_vals[] = {
4346   {   0, "class0" },
4347   {   1, "class1" },
4348   {   2, "class2" },
4349   {   3, "class3" },
4350   {   4, "class4" },
4351   {   5, "class5" },
4352   { 0, NULL }
4353 };
4354
4355 static const per_choice_t QOSClass_choice[] = {
4356   {   0, &hf_h245_class0         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4357   {   1, &hf_h245_class1         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4358   {   2, &hf_h245_class2         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4359   {   3, &hf_h245_class3         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4360   {   4, &hf_h245_class4         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4361   {   5, &hf_h245_class5         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4362   { 0, NULL, 0, NULL }
4363 };
4364
4365 static int
4366 dissect_h245_QOSClass(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4367   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4368                                  ett_h245_QOSClass, QOSClass_choice,
4369                                  NULL);
4370
4371   return offset;
4372 }
4373
4374
4375 static const per_sequence_t QOSDescriptor_sequence[] = {
4376   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4377   { &hf_h245_qosType        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_QOSType },
4378   { &hf_h245_qosClass       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_QOSClass },
4379   { NULL, 0, 0, NULL }
4380 };
4381
4382 static int
4383 dissect_h245_QOSDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4384   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4385                                    ett_h245_QOSDescriptor, QOSDescriptor_sequence);
4386
4387   return offset;
4388 }
4389
4390
4391
4392 static int
4393 dissect_h245_INTEGER_0_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4394   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4395                                                             0U, 63U, NULL, FALSE);
4396
4397   return offset;
4398 }
4399
4400
4401 static const per_sequence_t QOSCapability_sequence[] = {
4402   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4403   { &hf_h245_rsvpParameters , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RSVPParameters },
4404   { &hf_h245_atmParameters  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_ATMParameters },
4405   { &hf_h245_localQoS       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
4406   { &hf_h245_genericTransportParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericTransportParameters },
4407   { &hf_h245_servicePriority, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_ServicePriority },
4408   { &hf_h245_authorizationParameter, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_AuthorizationParameters },
4409   { &hf_h245_qosDescriptor  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_QOSDescriptor },
4410   { &hf_h245_dscpValue      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_63 },
4411   { NULL, 0, 0, NULL }
4412 };
4413
4414 int
4415 dissect_h245_QOSCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4416   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4417                                    ett_h245_QOSCapability, QOSCapability_sequence);
4418
4419   return offset;
4420 }
4421
4422
4423 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_QOSCapability_sequence_of[1] = {
4424   { &hf_h245_qOSCapabilities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_QOSCapability },
4425 };
4426
4427 static int
4428 dissect_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4429   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4430                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability, SEQUENCE_SIZE_1_256_OF_QOSCapability_sequence_of,
4431                                                   1, 256);
4432
4433   return offset;
4434 }
4435
4436
4437 static const per_sequence_t T_atm_AAL5_compressed_sequence[] = {
4438   { &hf_h245_variable_delta , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4439   { NULL, 0, 0, NULL }
4440 };
4441
4442 static int
4443 dissect_h245_T_atm_AAL5_compressed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4444   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4445                                    ett_h245_T_atm_AAL5_compressed, T_atm_AAL5_compressed_sequence);
4446
4447   return offset;
4448 }
4449
4450
4451 static const value_string h245_MediaTransportType_vals[] = {
4452   {   0, "ip-UDP" },
4453   {   1, "ip-TCP" },
4454   {   2, "atm-AAL5-UNIDIR" },
4455   {   3, "atm-AAL5-BIDIR" },
4456   {   4, "atm-AAL5-compressed" },
4457   { 0, NULL }
4458 };
4459
4460 static const per_choice_t MediaTransportType_choice[] = {
4461   {   0, &hf_h245_ip_UDP         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4462   {   1, &hf_h245_ip_TCP         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4463   {   2, &hf_h245_atm_AAL5_UNIDIR, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4464   {   3, &hf_h245_atm_AAL5_BIDIR , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4465   {   4, &hf_h245_atm_AAL5_compressed, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_atm_AAL5_compressed },
4466   { 0, NULL, 0, NULL }
4467 };
4468
4469 static int
4470 dissect_h245_MediaTransportType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4471   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4472                                  ett_h245_MediaTransportType, MediaTransportType_choice,
4473                                  NULL);
4474
4475   return offset;
4476 }
4477
4478
4479 static const per_sequence_t MediaChannelCapability_sequence[] = {
4480   { &hf_h245_mediaTransport , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MediaTransportType },
4481   { NULL, 0, 0, NULL }
4482 };
4483
4484 static int
4485 dissect_h245_MediaChannelCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4486   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4487                                    ett_h245_MediaChannelCapability, MediaChannelCapability_sequence);
4488
4489   return offset;
4490 }
4491
4492
4493 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_MediaChannelCapability_sequence_of[1] = {
4494   { &hf_h245_mediaChannelCapabilities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MediaChannelCapability },
4495 };
4496
4497 static int
4498 dissect_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4499   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4500                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability, SEQUENCE_SIZE_1_256_OF_MediaChannelCapability_sequence_of,
4501                                                   1, 256);
4502
4503   return offset;
4504 }
4505
4506
4507 static const per_sequence_t TransportCapability_sequence[] = {
4508   { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4509   { &hf_h245_qOSCapabilities, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability },
4510   { &hf_h245_mediaChannelCapabilities, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability },
4511   { NULL, 0, 0, NULL }
4512 };
4513
4514 static int
4515 dissect_h245_TransportCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4516   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4517                                    ett_h245_TransportCapability, TransportCapability_sequence);
4518
4519   return offset;
4520 }
4521
4522
4523
4524 static int
4525 dissect_h245_INTEGER_1_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4526   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4527                                                             1U, 16U, NULL, FALSE);
4528
4529   return offset;
4530 }
4531
4532
4533
4534 static int
4535 dissect_h245_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4536   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4537                                                             0U, 15U, NULL, FALSE);
4538
4539   return offset;
4540 }
4541
4542
4543 static const per_sequence_t T_frameSequence_sequence_of[1] = {
4544   { &hf_h245_frameSequence_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
4545 };
4546
4547 static int
4548 dissect_h245_T_frameSequence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4549   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4550                                                   ett_h245_T_frameSequence, T_frameSequence_sequence_of,
4551                                                   1, 256);
4552
4553   return offset;
4554 }
4555
4556
4557 static const per_sequence_t RTPH263VideoRedundancyFrameMapping_sequence[] = {
4558   { &hf_h245_threadNumber   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_15 },
4559   { &hf_h245_frameSequence  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_frameSequence },
4560   { NULL, 0, 0, NULL }
4561 };
4562
4563 static int
4564 dissect_h245_RTPH263VideoRedundancyFrameMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4565   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4566                                    ett_h245_RTPH263VideoRedundancyFrameMapping, RTPH263VideoRedundancyFrameMapping_sequence);
4567
4568   return offset;
4569 }
4570
4571
4572 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping_sequence_of[1] = {
4573   { &hf_h245_custom_item    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RTPH263VideoRedundancyFrameMapping },
4574 };
4575
4576 static int
4577 dissect_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4578   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4579                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping, SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping_sequence_of,
4580                                                   1, 256);
4581
4582   return offset;
4583 }
4584
4585
4586 static const value_string h245_T_frameToThreadMapping_vals[] = {
4587   {   0, "roundrobin" },
4588   {   1, "custom" },
4589   { 0, NULL }
4590 };
4591
4592 static const per_choice_t T_frameToThreadMapping_choice[] = {
4593   {   0, &hf_h245_roundrobin     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4594   {   1, &hf_h245_custom         , ASN1_EXTENSION_ROOT    , dissect_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping },
4595   { 0, NULL, 0, NULL }
4596 };
4597
4598 static int
4599 dissect_h245_T_frameToThreadMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4600   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4601                                  ett_h245_T_frameToThreadMapping, T_frameToThreadMapping_choice,
4602                                  NULL);
4603
4604   return offset;
4605 }
4606
4607
4608 static const per_sequence_t T_containedThreads_sequence_of[1] = {
4609   { &hf_h245_containedThreads_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_15 },
4610 };
4611
4612 static int
4613 dissect_h245_T_containedThreads(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4614   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4615                                                   ett_h245_T_containedThreads, T_containedThreads_sequence_of,
4616                                                   1, 256);
4617
4618   return offset;
4619 }
4620
4621
4622 static const per_sequence_t RTPH263VideoRedundancyEncoding_sequence[] = {
4623   { &hf_h245_numberOfThreads, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_16 },
4624   { &hf_h245_framesBetweenSyncPoints, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
4625   { &hf_h245_frameToThreadMapping, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_frameToThreadMapping },
4626   { &hf_h245_containedThreads, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_containedThreads },
4627   { NULL, 0, 0, NULL }
4628 };
4629
4630 static int
4631 dissect_h245_RTPH263VideoRedundancyEncoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4632   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4633                                    ett_h245_RTPH263VideoRedundancyEncoding, RTPH263VideoRedundancyEncoding_sequence);
4634
4635   return offset;
4636 }
4637
4638
4639 static const value_string h245_RedundancyEncodingMethod_vals[] = {
4640   {   0, "nonStandard" },
4641   {   1, "rtpAudioRedundancyEncoding" },
4642   {   2, "rtpH263VideoRedundancyEncoding" },
4643   { 0, NULL }
4644 };
4645
4646 static const per_choice_t RedundancyEncodingMethod_choice[] = {
4647   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4648   {   1, &hf_h245_rtpAudioRedundancyEncoding, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4649   {   2, &hf_h245_rtpH263VideoRedundancyEncoding, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RTPH263VideoRedundancyEncoding },
4650   { 0, NULL, 0, NULL }
4651 };
4652
4653 static int
4654 dissect_h245_RedundancyEncodingMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4655   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4656                                  ett_h245_RedundancyEncodingMethod, RedundancyEncodingMethod_choice,
4657                                  NULL);
4658
4659   return offset;
4660 }
4661
4662
4663
4664 static int
4665 dissect_h245_CapabilityTableEntryNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4666   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4667                                                             1U, 65535U, NULL, FALSE);
4668
4669   return offset;
4670 }
4671
4672
4673 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber_sequence_of[1] = {
4674   { &hf_h245_secondaryEncodingCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
4675 };
4676
4677 static int
4678 dissect_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4679   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4680                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber, SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber_sequence_of,
4681                                                   1, 256);
4682
4683   return offset;
4684 }
4685
4686
4687 static const per_sequence_t RedundancyEncodingCapability_sequence[] = {
4688   { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
4689   { &hf_h245_primaryEncoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
4690   { &hf_h245_secondaryEncodingCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber },
4691   { NULL, 0, 0, NULL }
4692 };
4693
4694 static int
4695 dissect_h245_RedundancyEncodingCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4696   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4697                                    ett_h245_RedundancyEncodingCapability, RedundancyEncodingCapability_sequence);
4698
4699   return offset;
4700 }
4701
4702
4703 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability_sequence_of[1] = {
4704   { &hf_h245_redundancyEncodingCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingCapability },
4705 };
4706
4707 static int
4708 dissect_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4709   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4710                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability, SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability_sequence_of,
4711                                                   1, 256);
4712
4713   return offset;
4714 }
4715
4716
4717 static const per_sequence_t H2250Capability_sequence[] = {
4718   { &hf_h245_maximumAudioDelayJitter, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_1023 },
4719   { &hf_h245_receiveMultipointCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultipointCapability },
4720   { &hf_h245_transmitMultipointCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultipointCapability },
4721   { &hf_h245_receiveAndTransmitMultipointCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultipointCapability },
4722   { &hf_h245_mcCapability   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mcCapability },
4723   { &hf_h245_rtcpVideoControlCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4724   { &hf_h245_mediaPacketizationCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MediaPacketizationCapability },
4725   { &hf_h245_transportCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TransportCapability },
4726   { &hf_h245_redundancyEncodingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability },
4727   { &hf_h245_logicalChannelSwitchingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4728   { &hf_h245_t120DynamicPortCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4729   { NULL, 0, 0, NULL }
4730 };
4731
4732 static int
4733 dissect_h245_H2250Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4734   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4735                                    ett_h245_H2250Capability, H2250Capability_sequence);
4736
4737   return offset;
4738 }
4739
4740
4741 static const value_string h245_MultiplexCapability_vals[] = {
4742   {   0, "nonStandard" },
4743   {   1, "h222Capability" },
4744   {   2, "h223Capability" },
4745   {   3, "v76Capability" },
4746   {   4, "h2250Capability" },
4747   {   5, "genericMultiplexCapability" },
4748   { 0, NULL }
4749 };
4750
4751 static const per_choice_t MultiplexCapability_choice[] = {
4752   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4753   {   1, &hf_h245_h222Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H222Capability },
4754   {   2, &hf_h245_h223Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H223Capability },
4755   {   3, &hf_h245_v76Capability  , ASN1_EXTENSION_ROOT    , dissect_h245_V76Capability },
4756   {   4, &hf_h245_h2250Capability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250Capability },
4757   {   5, &hf_h245_genericMultiplexCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
4758   { 0, NULL, 0, NULL }
4759 };
4760
4761 static int
4762 dissect_h245_MultiplexCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4763   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4764                                  ett_h245_MultiplexCapability, MultiplexCapability_choice,
4765                                  NULL);
4766
4767   return offset;
4768 }
4769
4770
4771
4772 static int
4773 dissect_h245_INTEGER_1_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4774   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4775                                                             1U, 4U, NULL, FALSE);
4776
4777   return offset;
4778 }
4779
4780
4781 static const per_sequence_t H261VideoCapability_sequence[] = {
4782   { &hf_h245_qcifMPI_1_4    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4 },
4783   { &hf_h245_cifMPI_1_4     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4 },
4784   { &hf_h245_temporalSpatialTradeOffCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4785   { &hf_h245_maxBitRate_1_19200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_19200 },
4786   { &hf_h245_stillImageTransmission, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4787   { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4788   { NULL, 0, 0, NULL }
4789 };
4790
4791 static int
4792 dissect_h245_H261VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4793   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4794                                    ett_h245_H261VideoCapability, H261VideoCapability_sequence);
4795
4796   return offset;
4797 }
4798
4799
4800
4801 static int
4802 dissect_h245_INTEGER_0_1073741823(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4803   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4804                                                             0U, 1073741823U, NULL, FALSE);
4805
4806   return offset;
4807 }
4808
4809
4810
4811 static int
4812 dissect_h245_INTEGER_0_262143(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4813   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4814                                                             0U, 262143U, NULL, FALSE);
4815
4816   return offset;
4817 }
4818
4819
4820
4821 static int
4822 dissect_h245_INTEGER_0_16383(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4823   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4824                                                             0U, 16383U, NULL, FALSE);
4825
4826   return offset;
4827 }
4828
4829
4830 static const per_sequence_t H262VideoCapability_sequence[] = {
4831   { &hf_h245_profileAndLevel_SPatML, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4832   { &hf_h245_profileAndLevel_MPatLL, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4833   { &hf_h245_profileAndLevel_MPatML, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4834   { &hf_h245_profileAndLevel_MPatH_14, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4835   { &hf_h245_profileAndLevel_MPatHL, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4836   { &hf_h245_profileAndLevel_SNRatLL, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4837   { &hf_h245_profileAndLevel_SNRatML, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4838   { &hf_h245_profileAndLevel_SpatialatH_14, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4839   { &hf_h245_profileAndLevel_HPatML, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4840   { &hf_h245_profileAndLevel_HPatH_14, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4841   { &hf_h245_profileAndLevel_HPatHL, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4842   { &hf_h245_videoBitRate   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
4843   { &hf_h245_vbvBufferSize  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
4844   { &hf_h245_samplesPerLine , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
4845   { &hf_h245_linesPerFrame  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
4846   { &hf_h245_framesPerSecond, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
4847   { &hf_h245_luminanceSampleRate, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
4848   { &hf_h245_videoBadMBsCap , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4849   { NULL, 0, 0, NULL }
4850 };
4851
4852 static int
4853 dissect_h245_H262VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4854   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4855                                    ett_h245_H262VideoCapability, H262VideoCapability_sequence);
4856
4857   return offset;
4858 }
4859
4860
4861
4862 static int
4863 dissect_h245_INTEGER_1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4864   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4865                                                             1U, 32U, NULL, FALSE);
4866
4867   return offset;
4868 }
4869
4870
4871
4872 static int
4873 dissect_h245_INTEGER_1_192400(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4874   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4875                                                             1U, 192400U, NULL, FALSE);
4876
4877   return offset;
4878 }
4879
4880
4881
4882 static int
4883 dissect_h245_INTEGER_0_524287(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4884   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4885                                                             0U, 524287U, NULL, FALSE);
4886
4887   return offset;
4888 }
4889
4890
4891
4892 static int
4893 dissect_h245_INTEGER_1_3600(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4894   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4895                                                             1U, 3600U, NULL, FALSE);
4896
4897   return offset;
4898 }
4899
4900
4901
4902 static int
4903 dissect_h245_INTEGER_M262144_262143(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4904   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4905                                                             -262144, 262143U, NULL, FALSE);
4906
4907   return offset;
4908 }
4909
4910
4911 static const per_sequence_t TransparencyParameters_sequence[] = {
4912   { &hf_h245_presentationOrder, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
4913   { &hf_h245_offset_x       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_M262144_262143 },
4914   { &hf_h245_offset_y       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_M262144_262143 },
4915   { &hf_h245_scale_x        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
4916   { &hf_h245_scale_y        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
4917   { NULL, 0, 0, NULL }
4918 };
4919
4920 static int
4921 dissect_h245_TransparencyParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4922   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4923                                    ett_h245_TransparencyParameters, TransparencyParameters_sequence);
4924
4925   return offset;
4926 }
4927
4928
4929 static const per_sequence_t T_additionalPictureMemory_sequence[] = {
4930   { &hf_h245_sqcifAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
4931   { &hf_h245_qcifAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
4932   { &hf_h245_cifAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
4933   { &hf_h245_cif4AdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
4934   { &hf_h245_cif16AdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
4935   { &hf_h245_bigCpfAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
4936   { NULL, 0, 0, NULL }
4937 };
4938
4939 static int
4940 dissect_h245_T_additionalPictureMemory(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4941   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4942                                    ett_h245_T_additionalPictureMemory, T_additionalPictureMemory_sequence);
4943
4944   return offset;
4945 }
4946
4947
4948 static const value_string h245_T_videoBackChannelSend_vals[] = {
4949   {   0, "none" },
4950   {   1, "ackMessageOnly" },
4951   {   2, "nackMessageOnly" },
4952   {   3, "ackOrNackMessageOnly" },
4953   {   4, "ackAndNackMessage" },
4954   { 0, NULL }
4955 };
4956
4957 static const per_choice_t T_videoBackChannelSend_choice[] = {
4958   {   0, &hf_h245_none           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4959   {   1, &hf_h245_ackMessageOnly , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4960   {   2, &hf_h245_nackMessageOnly, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4961   {   3, &hf_h245_ackOrNackMessageOnly, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4962   {   4, &hf_h245_ackAndNackMessage, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4963   { 0, NULL, 0, NULL }
4964 };
4965
4966 static int
4967 dissect_h245_T_videoBackChannelSend(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4968   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4969                                  ett_h245_T_videoBackChannelSend, T_videoBackChannelSend_choice,
4970                                  NULL);
4971
4972   return offset;
4973 }
4974
4975
4976
4977 static int
4978 dissect_h245_INTEGER_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4979   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4980                                                             1U, 128U, NULL, FALSE);
4981
4982   return offset;
4983 }
4984
4985
4986
4987 static int
4988 dissect_h245_INTEGER_1_72(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4989   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4990                                                             1U, 72U, NULL, FALSE);
4991
4992   return offset;
4993 }
4994
4995
4996 static const per_sequence_t T_subPictureRemovalParameters_sequence[] = {
4997   { &hf_h245_mpuHorizMBs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_128 },
4998   { &hf_h245_mpuVertMBs     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_72 },
4999   { &hf_h245_mpuTotalNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65536 },
5000   { NULL, 0, 0, NULL }
5001 };
5002
5003 static int
5004 dissect_h245_T_subPictureRemovalParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5005   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5006                                    ett_h245_T_subPictureRemovalParameters, T_subPictureRemovalParameters_sequence);
5007
5008   return offset;
5009 }
5010
5011
5012 static const per_sequence_t T_enhancedReferencePicSelect_sequence[] = {
5013   { &hf_h245_subPictureRemovalParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_subPictureRemovalParameters },
5014   { NULL, 0, 0, NULL }
5015 };
5016
5017 static int
5018 dissect_h245_T_enhancedReferencePicSelect(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5019   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5020                                    ett_h245_T_enhancedReferencePicSelect, T_enhancedReferencePicSelect_sequence);
5021
5022   return offset;
5023 }
5024
5025
5026 static const per_sequence_t RefPictureSelection_sequence[] = {
5027   { &hf_h245_additionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_additionalPictureMemory },
5028   { &hf_h245_videoMux       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5029   { &hf_h245_videoBackChannelSend, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_videoBackChannelSend },
5030   { &hf_h245_enhancedReferencePicSelect, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_T_enhancedReferencePicSelect },
5031   { NULL, 0, 0, NULL }
5032 };
5033
5034 static int
5035 dissect_h245_RefPictureSelection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5036   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5037                                    ett_h245_RefPictureSelection, RefPictureSelection_sequence);
5038
5039   return offset;
5040 }
5041
5042
5043
5044 static int
5045 dissect_h245_INTEGER_1000_1001(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5046   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5047                                                             1000U, 1001U, NULL, FALSE);
5048
5049   return offset;
5050 }
5051
5052
5053
5054 static int
5055 dissect_h245_INTEGER_1_2048(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5056   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5057                                                             1U, 2048U, NULL, FALSE);
5058
5059   return offset;
5060 }
5061
5062
5063 static const per_sequence_t CustomPictureClockFrequency_sequence[] = {
5064   { &hf_h245_clockConversionCode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1000_1001 },
5065   { &hf_h245_clockDivisor   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
5066   { &hf_h245_sqcifMPI       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5067   { &hf_h245_qcifMPI_1_2048 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5068   { &hf_h245_cifMPI2_1_2048 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5069   { &hf_h245_cif4MPI        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5070   { &hf_h245_cif16MPI       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5071   { NULL, 0, 0, NULL }
5072 };
5073
5074 static int
5075 dissect_h245_CustomPictureClockFrequency(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5076   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5077                                    ett_h245_CustomPictureClockFrequency, CustomPictureClockFrequency_sequence);
5078
5079   return offset;
5080 }
5081
5082
5083 static const per_sequence_t SET_SIZE_1_16_OF_CustomPictureClockFrequency_set_of[1] = {
5084   { &hf_h245_customPictureClockFrequency_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CustomPictureClockFrequency },
5085 };
5086
5087 static int
5088 dissect_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5089   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5090                                              ett_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency, SET_SIZE_1_16_OF_CustomPictureClockFrequency_set_of,
5091                                              1, 16);
5092
5093   return offset;
5094 }
5095
5096
5097
5098 static int
5099 dissect_h245_INTEGER_1_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5100   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5101                                                             1U, 31U, NULL, FALSE);
5102
5103   return offset;
5104 }
5105
5106
5107 static const per_sequence_t T_customPCF_item_sequence[] = {
5108   { &hf_h245_clockConversionCode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1000_1001 },
5109   { &hf_h245_clockDivisor   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
5110   { &hf_h245_customMPI      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5111   { NULL, 0, 0, NULL }
5112 };
5113
5114 static int
5115 dissect_h245_T_customPCF_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5116   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5117                                    ett_h245_T_customPCF_item, T_customPCF_item_sequence);
5118
5119   return offset;
5120 }
5121
5122
5123 static const per_sequence_t T_customPCF_set_of[1] = {
5124   { &hf_h245_customPCF_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_customPCF_item },
5125 };
5126
5127 static int
5128 dissect_h245_T_customPCF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5129   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5130                                              ett_h245_T_customPCF, T_customPCF_set_of,
5131                                              1, 16);
5132
5133   return offset;
5134 }
5135
5136
5137 static const per_sequence_t T_mPI_sequence[] = {
5138   { &hf_h245_standardMPI    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_31 },
5139   { &hf_h245_customPCF      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_customPCF },
5140   { NULL, 0, 0, NULL }
5141 };
5142
5143 static int
5144 dissect_h245_T_mPI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5145   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5146                                    ett_h245_T_mPI, T_mPI_sequence);
5147
5148   return offset;
5149 }
5150
5151
5152
5153 static int
5154 dissect_h245_INTEGER_1_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5155   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5156                                                             1U, 14U, NULL, FALSE);
5157
5158   return offset;
5159 }
5160
5161
5162 static const per_sequence_t T_pixelAspectCode_set_of[1] = {
5163   { &hf_h245_pixelAspectCode_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_14 },
5164 };
5165
5166 static int
5167 dissect_h245_T_pixelAspectCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5168   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5169                                              ett_h245_T_pixelAspectCode, T_pixelAspectCode_set_of,
5170                                              1, 14);
5171
5172   return offset;
5173 }
5174
5175
5176 static const per_sequence_t T_extendedPAR_item_sequence[] = {
5177   { &hf_h245_width          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
5178   { &hf_h245_height         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
5179   { NULL, 0, 0, NULL }
5180 };
5181
5182 static int
5183 dissect_h245_T_extendedPAR_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5184   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5185                                    ett_h245_T_extendedPAR_item, T_extendedPAR_item_sequence);
5186
5187   return offset;
5188 }
5189
5190
5191 static const per_sequence_t T_extendedPAR_set_of[1] = {
5192   { &hf_h245_extendedPAR_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_extendedPAR_item },
5193 };
5194
5195 static int
5196 dissect_h245_T_extendedPAR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5197   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5198                                              ett_h245_T_extendedPAR, T_extendedPAR_set_of,
5199                                              1, 256);
5200
5201   return offset;
5202 }
5203
5204
5205 static const value_string h245_T_pixelAspectInformation_vals[] = {
5206   {   0, "anyPixelAspectRatio" },
5207   {   1, "pixelAspectCode" },
5208   {   2, "extendedPAR" },
5209   { 0, NULL }
5210 };
5211
5212 static const per_choice_t T_pixelAspectInformation_choice[] = {
5213   {   0, &hf_h245_anyPixelAspectRatio, ASN1_EXTENSION_ROOT    , dissect_h245_BOOLEAN },
5214   {   1, &hf_h245_pixelAspectCode, ASN1_EXTENSION_ROOT    , dissect_h245_T_pixelAspectCode },
5215   {   2, &hf_h245_extendedPAR    , ASN1_EXTENSION_ROOT    , dissect_h245_T_extendedPAR },
5216   { 0, NULL, 0, NULL }
5217 };
5218
5219 static int
5220 dissect_h245_T_pixelAspectInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5221   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5222                                  ett_h245_T_pixelAspectInformation, T_pixelAspectInformation_choice,
5223                                  NULL);
5224
5225   return offset;
5226 }
5227
5228
5229 static const per_sequence_t CustomPictureFormat_sequence[] = {
5230   { &hf_h245_maxCustomPictureWidth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5231   { &hf_h245_maxCustomPictureHeight, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5232   { &hf_h245_minCustomPictureWidth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5233   { &hf_h245_minCustomPictureHeight, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5234   { &hf_h245_mPI            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mPI },
5235   { &hf_h245_pixelAspectInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_pixelAspectInformation },
5236   { NULL, 0, 0, NULL }
5237 };
5238
5239 static int
5240 dissect_h245_CustomPictureFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5241   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5242                                    ett_h245_CustomPictureFormat, CustomPictureFormat_sequence);
5243
5244   return offset;
5245 }
5246
5247
5248 static const per_sequence_t SET_SIZE_1_16_OF_CustomPictureFormat_set_of[1] = {
5249   { &hf_h245_customPictureFormat_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CustomPictureFormat },
5250 };
5251
5252 static int
5253 dissect_h245_SET_SIZE_1_16_OF_CustomPictureFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5254   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5255                                              ett_h245_SET_SIZE_1_16_OF_CustomPictureFormat, SET_SIZE_1_16_OF_CustomPictureFormat_set_of,
5256                                              1, 16);
5257
5258   return offset;
5259 }
5260
5261
5262 static const per_sequence_t H263Version3Options_sequence[] = {
5263   { &hf_h245_dataPartitionedSlices, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5264   { &hf_h245_fixedPointIDCT0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5265   { &hf_h245_interlacedFields, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5266   { &hf_h245_currentPictureHeaderRepetition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5267   { &hf_h245_previousPictureHeaderRepetition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5268   { &hf_h245_nextPictureHeaderRepetition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5269   { &hf_h245_pictureNumberBoolean, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5270   { &hf_h245_spareReferencePictures, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5271   { NULL, 0, 0, NULL }
5272 };
5273
5274 static int
5275 dissect_h245_H263Version3Options(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5276   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5277                                    ett_h245_H263Version3Options, H263Version3Options_sequence);
5278
5279   return offset;
5280 }
5281
5282
5283 static const per_sequence_t H263ModeComboFlags_sequence[] = {
5284   { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5285   { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5286   { &hf_h245_advancedPrediction, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5287   { &hf_h245_pbFrames       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5288   { &hf_h245_advancedIntraCodingMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5289   { &hf_h245_deblockingFilterMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5290   { &hf_h245_unlimitedMotionVectors, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5291   { &hf_h245_slicesInOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5292   { &hf_h245_slicesInOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5293   { &hf_h245_slicesNoOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5294   { &hf_h245_slicesNoOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5295   { &hf_h245_improvedPBFramesMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5296   { &hf_h245_referencePicSelect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5297   { &hf_h245_dynamicPictureResizingByFour, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5298   { &hf_h245_dynamicPictureResizingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5299   { &hf_h245_dynamicWarpingHalfPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5300   { &hf_h245_dynamicWarpingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5301   { &hf_h245_reducedResolutionUpdate, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5302   { &hf_h245_independentSegmentDecoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5303   { &hf_h245_alternateInterVLCMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5304   { &hf_h245_modifiedQuantizationMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5305   { &hf_h245_enhancedReferencePicSelectBool, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5306   { &hf_h245_h263Version3Options, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_H263Version3Options },
5307   { NULL, 0, 0, NULL }
5308 };
5309
5310 static int
5311 dissect_h245_H263ModeComboFlags(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5312   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5313                                    ett_h245_H263ModeComboFlags, H263ModeComboFlags_sequence);
5314
5315   return offset;
5316 }
5317
5318
5319 static const per_sequence_t SET_SIZE_1_16_OF_H263ModeComboFlags_set_of[1] = {
5320   { &hf_h245_h263VideoCoupledModes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_H263ModeComboFlags },
5321 };
5322
5323 static int
5324 dissect_h245_SET_SIZE_1_16_OF_H263ModeComboFlags(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5325   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5326                                              ett_h245_SET_SIZE_1_16_OF_H263ModeComboFlags, SET_SIZE_1_16_OF_H263ModeComboFlags_set_of,
5327                                              1, 16);
5328
5329   return offset;
5330 }
5331
5332
5333 static const per_sequence_t H263VideoModeCombos_sequence[] = {
5334   { &hf_h245_h263VideoUncoupledModes, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_H263ModeComboFlags },
5335   { &hf_h245_h263VideoCoupledModes, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_16_OF_H263ModeComboFlags },
5336   { NULL, 0, 0, NULL }
5337 };
5338
5339 static int
5340 dissect_h245_H263VideoModeCombos(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5341   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5342                                    ett_h245_H263VideoModeCombos, H263VideoModeCombos_sequence);
5343
5344   return offset;
5345 }
5346
5347
5348 static const per_sequence_t SET_SIZE_1_16_OF_H263VideoModeCombos_set_of[1] = {
5349   { &hf_h245_modeCombos_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_H263VideoModeCombos },
5350 };
5351
5352 static int
5353 dissect_h245_SET_SIZE_1_16_OF_H263VideoModeCombos(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5354   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5355                                              ett_h245_SET_SIZE_1_16_OF_H263VideoModeCombos, SET_SIZE_1_16_OF_H263VideoModeCombos_set_of,
5356                                              1, 16);
5357
5358   return offset;
5359 }
5360
5361
5362 static const per_sequence_t H263Options_sequence[] = {
5363   { &hf_h245_advancedIntraCodingMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5364   { &hf_h245_deblockingFilterMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5365   { &hf_h245_improvedPBFramesMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5366   { &hf_h245_unlimitedMotionVectors, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5367   { &hf_h245_fullPictureFreeze, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5368   { &hf_h245_partialPictureFreezeAndRelease, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5369   { &hf_h245_resizingPartPicFreezeAndRelease, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5370   { &hf_h245_fullPictureSnapshot, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5371   { &hf_h245_partialPictureSnapshot, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5372   { &hf_h245_videoSegmentTagging, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5373   { &hf_h245_progressiveRefinement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5374   { &hf_h245_dynamicPictureResizingByFour, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5375   { &hf_h245_dynamicPictureResizingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5376   { &hf_h245_dynamicWarpingHalfPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5377   { &hf_h245_dynamicWarpingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5378   { &hf_h245_independentSegmentDecoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5379   { &hf_h245_slicesInOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5380   { &hf_h245_slicesInOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5381   { &hf_h245_slicesNoOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5382   { &hf_h245_slicesNoOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5383   { &hf_h245_alternateInterVLCMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5384   { &hf_h245_modifiedQuantizationMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5385   { &hf_h245_reducedResolutionUpdate, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5386   { &hf_h245_transparencyParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TransparencyParameters },
5387   { &hf_h245_separateVideoBackChannel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5388   { &hf_h245_refPictureSelection, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RefPictureSelection },
5389   { &hf_h245_customPictureClockFrequency, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency },
5390   { &hf_h245_customPictureFormat, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_16_OF_CustomPictureFormat },
5391   { &hf_h245_modeCombos     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_16_OF_H263VideoModeCombos },
5392   { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5393   { &hf_h245_h263Version3Options, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_H263Version3Options },
5394   { NULL, 0, 0, NULL }
5395 };
5396
5397 static int
5398 dissect_h245_H263Options(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5399   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5400                                    ett_h245_H263Options, H263Options_sequence);
5401
5402   return offset;
5403 }
5404
5405
5406 static const per_sequence_t EnhancementOptions_sequence[] = {
5407   { &hf_h245_sqcifMPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5408   { &hf_h245_qcifMPI        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5409   { &hf_h245_cifMPI         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5410   { &hf_h245_cif4MPI_1_32   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5411   { &hf_h245_cif16MPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5412   { &hf_h245_maxBitRate     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_192400 },
5413   { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5414   { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5415   { &hf_h245_temporalSpatialTradeOffCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5416   { &hf_h245_slowSqcifMPI   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5417   { &hf_h245_slowQcifMPI    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5418   { &hf_h245_slowCifMPI     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5419   { &hf_h245_slowCif4MPI    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5420   { &hf_h245_slowCif16MPI   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5421   { &hf_h245_errorCompensation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5422   { &hf_h245_h263Options    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_H263Options },
5423   { NULL, 0, 0, NULL }
5424 };
5425
5426 static int
5427 dissect_h245_EnhancementOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5428   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5429                                    ett_h245_EnhancementOptions, EnhancementOptions_sequence);
5430
5431   return offset;
5432 }
5433
5434
5435 static const per_sequence_t SET_SIZE_1_14_OF_EnhancementOptions_set_of[1] = {
5436   { &hf_h245_snrEnhancement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_EnhancementOptions },
5437 };
5438
5439 static int
5440 dissect_h245_SET_SIZE_1_14_OF_EnhancementOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5441   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5442                                              ett_h245_SET_SIZE_1_14_OF_EnhancementOptions, SET_SIZE_1_14_OF_EnhancementOptions_set_of,
5443                                              1, 14);
5444
5445   return offset;
5446 }
5447
5448
5449
5450 static int
5451 dissect_h245_INTEGER_1_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5452   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5453                                                             1U, 64U, NULL, FALSE);
5454
5455   return offset;
5456 }
5457
5458
5459 static const per_sequence_t BEnhancementParameters_sequence[] = {
5460   { &hf_h245_enhancementOptions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EnhancementOptions },
5461   { &hf_h245_numberOfBPictures, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_64 },
5462   { NULL, 0, 0, NULL }
5463 };
5464
5465 static int
5466 dissect_h245_BEnhancementParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5467   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5468                                    ett_h245_BEnhancementParameters, BEnhancementParameters_sequence);
5469
5470   return offset;
5471 }
5472
5473
5474 static const per_sequence_t SET_SIZE_1_14_OF_BEnhancementParameters_set_of[1] = {
5475   { &hf_h245_bPictureEnhancement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BEnhancementParameters },
5476 };
5477
5478 static int
5479 dissect_h245_SET_SIZE_1_14_OF_BEnhancementParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5480   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5481                                              ett_h245_SET_SIZE_1_14_OF_BEnhancementParameters, SET_SIZE_1_14_OF_BEnhancementParameters_set_of,
5482                                              1, 14);
5483
5484   return offset;
5485 }
5486
5487
5488 static const per_sequence_t EnhancementLayerInfo_sequence[] = {
5489   { &hf_h245_baseBitRateConstrained, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5490   { &hf_h245_snrEnhancement , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_14_OF_EnhancementOptions },
5491   { &hf_h245_spatialEnhancement, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_14_OF_EnhancementOptions },
5492   { &hf_h245_bPictureEnhancement, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_14_OF_BEnhancementParameters },
5493   { NULL, 0, 0, NULL }
5494 };
5495
5496 static int
5497 dissect_h245_EnhancementLayerInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5498   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5499                                    ett_h245_EnhancementLayerInfo, EnhancementLayerInfo_sequence);
5500
5501   return offset;
5502 }
5503
5504
5505 static const per_sequence_t H263VideoCapability_sequence[] = {
5506   { &hf_h245_sqcifMPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5507   { &hf_h245_qcifMPI        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5508   { &hf_h245_cifMPI         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5509   { &hf_h245_cif4MPI_1_32   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5510   { &hf_h245_cif16MPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5511   { &hf_h245_maxBitRate     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_192400 },
5512   { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5513   { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5514   { &hf_h245_advancedPrediction, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5515   { &hf_h245_pbFrames       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5516   { &hf_h245_temporalSpatialTradeOffCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5517   { &hf_h245_hrd_B          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_524287 },
5518   { &hf_h245_bppMaxKb       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
5519   { &hf_h245_slowSqcifMPI   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5520   { &hf_h245_slowQcifMPI    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5521   { &hf_h245_slowCifMPI     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5522   { &hf_h245_slowCif4MPI    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5523   { &hf_h245_slowCif16MPI   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5524   { &hf_h245_errorCompensation, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5525   { &hf_h245_enhancementLayerInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EnhancementLayerInfo },
5526   { &hf_h245_h263Options    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H263Options },
5527   { NULL, 0, 0, NULL }
5528 };
5529
5530 static int
5531 dissect_h245_H263VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5532   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5533                                    ett_h245_H263VideoCapability, H263VideoCapability_sequence);
5534
5535 #line 363 "h245.cnf"
5536   h245_lc_dissector = h263_handle;
5537
5538   return offset;
5539 }
5540
5541
5542 static const per_sequence_t IS11172VideoCapability_sequence[] = {
5543   { &hf_h245_constrainedBitstream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5544   { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
5545   { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
5546   { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
5547   { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
5548   { &hf_h245_pictureRate    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
5549   { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
5550   { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5551   { NULL, 0, 0, NULL }
5552 };
5553
5554 static int
5555 dissect_h245_IS11172VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5556   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5557                                    ett_h245_IS11172VideoCapability, IS11172VideoCapability_sequence);
5558
5559   return offset;
5560 }
5561
5562
5563 static const per_sequence_t SEQUENCE_OF_VideoCapability_sequence_of[1] = {
5564   { &hf_h245_videoCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_VideoCapability },
5565 };
5566
5567 static int
5568 dissect_h245_SEQUENCE_OF_VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5569   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5570                                       ett_h245_SEQUENCE_OF_VideoCapability, SEQUENCE_OF_VideoCapability_sequence_of);
5571
5572   return offset;
5573 }
5574
5575
5576 static const per_sequence_t SEQUENCE_OF_GenericCapability_sequence_of[1] = {
5577   { &hf_h245_videoCapabilityExtension_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_GenericCapability },
5578 };
5579
5580 static int
5581 dissect_h245_SEQUENCE_OF_GenericCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5582   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5583                                       ett_h245_SEQUENCE_OF_GenericCapability, SEQUENCE_OF_GenericCapability_sequence_of);
5584
5585   return offset;
5586 }
5587
5588
5589 static const per_sequence_t ExtendedVideoCapability_sequence[] = {
5590   { &hf_h245_videoCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_VideoCapability },
5591   { &hf_h245_videoCapabilityExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericCapability },
5592   { NULL, 0, 0, NULL }
5593 };
5594
5595 static int
5596 dissect_h245_ExtendedVideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5597   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5598                                    ett_h245_ExtendedVideoCapability, ExtendedVideoCapability_sequence);
5599
5600   return offset;
5601 }
5602
5603
5604 static const value_string h245_VideoCapability_vals[] = {
5605   {   0, "nonStandard" },
5606   {   1, "h261VideoCapability" },
5607   {   2, "h262VideoCapability" },
5608   {   3, "h263VideoCapability" },
5609   {   4, "is11172VideoCapability" },
5610   {   5, "genericVideoCapability" },
5611   {   6, "extendedVideoCapability" },
5612   { 0, NULL }
5613 };
5614
5615 static const per_choice_t VideoCapability_choice[] = {
5616   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
5617   {   1, &hf_h245_h261VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_H261VideoCapability },
5618   {   2, &hf_h245_h262VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_H262VideoCapability },
5619   {   3, &hf_h245_h263VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_H263VideoCapability },
5620   {   4, &hf_h245_is11172VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172VideoCapability },
5621   {   5, &hf_h245_genericVideoCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
5622   {   6, &hf_h245_extendedVideoCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ExtendedVideoCapability },
5623   { 0, NULL, 0, NULL }
5624 };
5625
5626 static int
5627 dissect_h245_VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5628 #line 496 "h245.cnf"
5629   guint32 value;
5630
5631   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5632                                  ett_h245_VideoCapability, VideoCapability_choice,
5633                                  &value);
5634
5635         codec_type = val_to_str(value, h245_VideoCapability_vals, "<unknown>");
5636                 if (h245_pi != NULL) 
5637                         g_snprintf(h245_pi->frame_label, 50, "%s %s", h245_pi->frame_label, codec_type);
5638
5639
5640
5641   return offset;
5642 }
5643
5644
5645 static const per_sequence_t T_g7231_sequence[] = {
5646   { &hf_h245_maxAl_sduAudioFrames, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
5647   { &hf_h245_silenceSuppression, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5648   { NULL, 0, 0, NULL }
5649 };
5650
5651 static int
5652 dissect_h245_T_g7231(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5653   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5654                                    ett_h245_T_g7231, T_g7231_sequence);
5655
5656   return offset;
5657 }
5658
5659
5660
5661 static int
5662 dissect_h245_INTEGER_1_448(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5663   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5664                                                             1U, 448U, NULL, FALSE);
5665
5666   return offset;
5667 }
5668
5669
5670 static const per_sequence_t IS11172AudioCapability_sequence[] = {
5671   { &hf_h245_audioLayer1    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5672   { &hf_h245_audioLayer2    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5673   { &hf_h245_audioLayer3    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5674   { &hf_h245_audioSampling32k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5675   { &hf_h245_audioSampling44k1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5676   { &hf_h245_audioSampling48k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5677   { &hf_h245_singleChannel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5678   { &hf_h245_twoChannels    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5679   { &hf_h245_bitRate_1_448  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_448 },
5680   { NULL, 0, 0, NULL }
5681 };
5682
5683 static int
5684 dissect_h245_IS11172AudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5685   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5686                                    ett_h245_IS11172AudioCapability, IS11172AudioCapability_sequence);
5687
5688   return offset;
5689 }
5690
5691
5692
5693 static int
5694 dissect_h245_INTEGER_1_1130(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5695   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5696                                                             1U, 1130U, NULL, FALSE);
5697
5698   return offset;
5699 }
5700
5701
5702 static const per_sequence_t IS13818AudioCapability_sequence[] = {
5703   { &hf_h245_audioLayer1    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5704   { &hf_h245_audioLayer2    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5705   { &hf_h245_audioLayer3    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5706   { &hf_h245_audioSampling16k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5707   { &hf_h245_audioSampling22k05, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5708   { &hf_h245_audioSampling24k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5709   { &hf_h245_audioSampling32k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5710   { &hf_h245_audioSampling44k1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5711   { &hf_h245_audioSampling48k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5712   { &hf_h245_singleChannel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5713   { &hf_h245_twoChannels    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5714   { &hf_h245_threeChannels2_1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5715   { &hf_h245_threeChannels3_0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5716   { &hf_h245_fourChannels2_0_2_0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5717   { &hf_h245_fourChannels2_2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5718   { &hf_h245_fourChannels3_1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5719   { &hf_h245_fiveChannels3_0_2_0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5720   { &hf_h245_fiveChannels3_2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5721   { &hf_h245_lowFrequencyEnhancement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5722   { &hf_h245_multilingual   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5723   { &hf_h245_bitRate2_1_1130, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_1130 },
5724   { NULL, 0, 0, NULL }
5725 };
5726
5727 static int
5728 dissect_h245_IS13818AudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5729   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5730                                    ett_h245_IS13818AudioCapability, IS13818AudioCapability_sequence);
5731
5732   return offset;
5733 }
5734
5735
5736
5737 static int
5738 dissect_h245_INTEGER_27_78(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5739   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5740                                                             27U, 78U, NULL, FALSE);
5741
5742   return offset;
5743 }
5744
5745
5746
5747 static int
5748 dissect_h245_INTEGER_23_66(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5749   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5750                                                             23U, 66U, NULL, FALSE);
5751
5752   return offset;
5753 }
5754
5755
5756
5757 static int
5758 dissect_h245_INTEGER_6_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5759   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5760                                                             6U, 17U, NULL, FALSE);
5761
5762   return offset;
5763 }
5764
5765
5766 static const per_sequence_t G723AnnexCAudioMode_sequence[] = {
5767   { &hf_h245_highRateMode0  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_27_78 },
5768   { &hf_h245_highRateMode1  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_27_78 },
5769   { &hf_h245_lowRateMode0   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_23_66 },
5770   { &hf_h245_lowRateMode1   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_23_66 },
5771   { &hf_h245_sidMode0       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_6_17 },
5772   { &hf_h245_sidMode1       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_6_17 },
5773   { NULL, 0, 0, NULL }
5774 };
5775
5776 static int
5777 dissect_h245_G723AnnexCAudioMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5778   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5779                                    ett_h245_G723AnnexCAudioMode, G723AnnexCAudioMode_sequence);
5780
5781   return offset;
5782 }
5783
5784
5785 static const per_sequence_t G7231AnnexCCapability_sequence[] = {
5786   { &hf_h245_maxAl_sduAudioFrames, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
5787   { &hf_h245_silenceSuppression, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5788   { &hf_h245_g723AnnexCAudioMode, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_G723AnnexCAudioMode },
5789   { NULL, 0, 0, NULL }
5790 };
5791
5792 static int
5793 dissect_h245_G7231AnnexCCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5794   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5795                                    ett_h245_G7231AnnexCCapability, G7231AnnexCCapability_sequence);
5796
5797   return offset;
5798 }
5799
5800
5801 static const per_sequence_t GSMAudioCapability_sequence[] = {
5802   { &hf_h245_audioUnitSize  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
5803   { &hf_h245_comfortNoise   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5804   { &hf_h245_scrambled      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5805   { NULL, 0, 0, NULL }
5806 };
5807
5808 static int
5809 dissect_h245_GSMAudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5810   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5811                                    ett_h245_GSMAudioCapability, GSMAudioCapability_sequence);
5812
5813   return offset;
5814 }
5815
5816
5817 static const per_sequence_t G729Extensions_sequence[] = {
5818   { &hf_h245_audioUnit      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5819   { &hf_h245_annexA         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5820   { &hf_h245_annexB         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5821   { &hf_h245_annexD         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5822   { &hf_h245_annexE         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5823   { &hf_h245_annexF         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5824   { &hf_h245_annexG         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5825   { &hf_h245_annexH         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5826   { NULL, 0, 0, NULL }
5827 };
5828
5829 static int
5830 dissect_h245_G729Extensions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5831   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5832                                    ett_h245_G729Extensions, G729Extensions_sequence);
5833
5834   return offset;
5835 }
5836
5837
5838 static const per_sequence_t VBDCapability_sequence[] = {
5839   { &hf_h245_vbd_cap_type   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AudioCapability },
5840   { NULL, 0, 0, NULL }
5841 };
5842
5843 static int
5844 dissect_h245_VBDCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5845   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5846                                    ett_h245_VBDCapability, VBDCapability_sequence);
5847
5848   return offset;
5849 }
5850
5851
5852
5853 static int
5854 dissect_h245_GeneralString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5855   offset = dissect_per_GeneralString(tvb, offset, actx, tree, hf_index);
5856
5857   return offset;
5858 }
5859
5860
5861 static const per_sequence_t NoPTAudioTelephonyEventCapability_sequence[] = {
5862   { &hf_h245_audioTelephoneEvent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_GeneralString },
5863   { NULL, 0, 0, NULL }
5864 };
5865
5866 static int
5867 dissect_h245_NoPTAudioTelephonyEventCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5868   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5869                                    ett_h245_NoPTAudioTelephonyEventCapability, NoPTAudioTelephonyEventCapability_sequence);
5870
5871   return offset;
5872 }
5873
5874
5875 static const per_sequence_t NoPTAudioToneCapability_sequence[] = {
5876   { NULL, 0, 0, NULL }
5877 };
5878
5879 static int
5880 dissect_h245_NoPTAudioToneCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5881   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5882                                    ett_h245_NoPTAudioToneCapability, NoPTAudioToneCapability_sequence);
5883
5884   return offset;
5885 }
5886
5887
5888 static const value_string h245_AudioCapability_vals[] = {
5889   { AudioCapability_nonStandard, "nonStandard" },
5890   { AudioCapability_g711Alaw64k, "g711Alaw64k" },
5891   { AudioCapability_g711Alaw56k, "g711Alaw56k" },
5892   { AudioCapability_g711Ulaw64k, "g711Ulaw64k" },
5893   { AudioCapability_g711Ulaw56k, "g711Ulaw56k" },
5894   { AudioCapability_g722_64k, "g722-64k" },
5895   { AudioCapability_g722_56k, "g722-56k" },
5896   { AudioCapability_g722_48k, "g722-48k" },
5897   { AudioCapability_g7231, "g7231" },
5898   { AudioCapability_g728, "g728" },
5899   { AudioCapability_g729, "g729" },
5900   { AudioCapability_g729AnnexA, "g729AnnexA" },
5901   { AudioCapability_is11172AudioCapability, "is11172AudioCapability" },
5902   { AudioCapability_is13818AudioCapability, "is13818AudioCapability" },
5903   { AudioCapability_g729wAnnexB, "g729wAnnexB" },
5904   { AudioCapability_g729AnnexAwAnnexB, "g729AnnexAwAnnexB" },
5905   { AudioCapability_g7231AnnexCCapability, "g7231AnnexCCapability" },
5906   { AudioCapability_gsmFullRate, "gsmFullRate" },
5907   { AudioCapability_gsmHalfRate, "gsmHalfRate" },
5908   { AudioCapability_gsmEnhancedFullRate, "gsmEnhancedFullRate" },
5909   { AudioCapability_genericAudioCapability, "genericAudioCapability" },
5910   { AudioCapability_g729Extensions, "g729Extensions" },
5911   { AudioCapability_vbd, "vbd" },
5912   { AudioCapability_audioTelephonyEvent, "audioTelephonyEvent" },
5913   { AudioCapability_audioTone, "audioTone" },
5914   { 0, NULL }
5915 };
5916
5917 static const per_choice_t AudioCapability_choice[] = {
5918   { AudioCapability_nonStandard, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
5919   { AudioCapability_g711Alaw64k, &hf_h245_g711Alaw64k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
5920   { AudioCapability_g711Alaw56k, &hf_h245_g711Alaw56k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
5921   { AudioCapability_g711Ulaw64k, &hf_h245_g711Ulaw64k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
5922   { AudioCapability_g711Ulaw56k, &hf_h245_g711Ulaw56k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
5923   { AudioCapability_g722_64k, &hf_h245_g722_64k       , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
5924   { AudioCapability_g722_56k, &hf_h245_g722_56k       , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
5925   { AudioCapability_g722_48k, &hf_h245_g722_48k       , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
5926   { AudioCapability_g7231, &hf_h245_g7231          , ASN1_EXTENSION_ROOT    , dissect_h245_T_g7231 },
5927   { AudioCapability_g728, &hf_h245_g728           , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
5928   { AudioCapability_g729, &hf_h245_g729           , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
5929   { AudioCapability_g729AnnexA, &hf_h245_g729AnnexA     , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
5930   { AudioCapability_is11172AudioCapability, &hf_h245_is11172AudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172AudioCapability },
5931   { AudioCapability_is13818AudioCapability, &hf_h245_is13818AudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_IS13818AudioCapability },
5932   { AudioCapability_g729wAnnexB, &hf_h245_g729wAnnexB    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
5933   { AudioCapability_g729AnnexAwAnnexB, &hf_h245_g729AnnexAwAnnexB, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
5934   { AudioCapability_g7231AnnexCCapability, &hf_h245_g7231AnnexCCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_G7231AnnexCCapability },
5935   { AudioCapability_gsmFullRate, &hf_h245_gsmFullRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
5936   { AudioCapability_gsmHalfRate, &hf_h245_gsmHalfRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
5937   { AudioCapability_gsmEnhancedFullRate, &hf_h245_gsmEnhancedFullRate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
5938   { AudioCapability_genericAudioCapability, &hf_h245_genericAudioCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
5939   { AudioCapability_g729Extensions, &hf_h245_g729Extensions , ASN1_NOT_EXTENSION_ROOT, dissect_h245_G729Extensions },
5940   { AudioCapability_vbd, &hf_h245_vbd            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_VBDCapability },
5941   { AudioCapability_audioTelephonyEvent, &hf_h245_audioTelephonyEvent, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NoPTAudioTelephonyEventCapability },
5942   { AudioCapability_audioTone, &hf_h245_audioTone      , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NoPTAudioToneCapability },
5943   { 0, NULL, 0, NULL }
5944 };
5945
5946 static int
5947 dissect_h245_AudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5948 #line 486 "h245.cnf"
5949   guint32 value;
5950
5951   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5952                                  ett_h245_AudioCapability, AudioCapability_choice,
5953                                  &value);
5954
5955         codec_type = val_to_str(value, h245_AudioCapability_short_vals, "<unknown>");
5956                 if (h245_pi != NULL)
5957                         g_snprintf(h245_pi->frame_label, 50, "%s %s", h245_pi->frame_label, val_to_str(value, h245_AudioCapability_short_vals, "ukn"));
5958
5959
5960
5961   return offset;
5962 }
5963
5964
5965 static const per_sequence_t T_h233EncryptionReceiveCapability_sequence[] = {
5966   { &hf_h245_h233IVResponseTime, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
5967   { NULL, 0, 0, NULL }
5968 };
5969
5970 static int
5971 dissect_h245_T_h233EncryptionReceiveCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5972   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5973                                    ett_h245_T_h233EncryptionReceiveCapability, T_h233EncryptionReceiveCapability_sequence);
5974
5975   return offset;
5976 }
5977
5978
5979 static const per_sequence_t SEQUENCE_OF_NonStandardParameter_sequence_of[1] = {
5980   { &hf_h245_nonStandardParams_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
5981 };
5982
5983 static int
5984 dissect_h245_SEQUENCE_OF_NonStandardParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5985   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5986                                       ett_h245_SEQUENCE_OF_NonStandardParameter, SEQUENCE_OF_NonStandardParameter_sequence_of);
5987
5988   return offset;
5989 }
5990
5991
5992 static const per_sequence_t ConferenceCapability_sequence[] = {
5993   { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
5994   { &hf_h245_chairControlCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5995   { &hf_h245_videoIndicateMixingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5996   { &hf_h245_multipointVisualizationCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
5997   { NULL, 0, 0, NULL }
5998 };
5999
6000 static int
6001 dissect_h245_ConferenceCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6002   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6003                                    ett_h245_ConferenceCapability, ConferenceCapability_sequence);
6004
6005   return offset;
6006 }
6007
6008
6009 static const value_string h245_MediaEncryptionAlgorithm_vals[] = {
6010   {   0, "nonStandard" },
6011   {   1, "algorithm" },
6012   { 0, NULL }
6013 };
6014
6015 static const per_choice_t MediaEncryptionAlgorithm_choice[] = {
6016   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6017   {   1, &hf_h245_algorithm      , ASN1_EXTENSION_ROOT    , dissect_h245_OBJECT_IDENTIFIER },
6018   { 0, NULL, 0, NULL }
6019 };
6020
6021 static int
6022 dissect_h245_MediaEncryptionAlgorithm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6023   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6024                                  ett_h245_MediaEncryptionAlgorithm, MediaEncryptionAlgorithm_choice,
6025                                  NULL);
6026
6027   return offset;
6028 }
6029
6030
6031 static const per_sequence_t EncryptionCapability_sequence_of[1] = {
6032   { &hf_h245_EncryptionCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MediaEncryptionAlgorithm },
6033 };
6034
6035 static int
6036 dissect_h245_EncryptionCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6037   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6038                                                   ett_h245_EncryptionCapability, EncryptionCapability_sequence_of,
6039                                                   1, 256);
6040
6041   return offset;
6042 }
6043
6044
6045 static const per_sequence_t AuthenticationCapability_sequence[] = {
6046   { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
6047   { &hf_h245_antiSpamAlgorithm, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
6048   { NULL, 0, 0, NULL }
6049 };
6050
6051 static int
6052 dissect_h245_AuthenticationCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6053   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6054                                    ett_h245_AuthenticationCapability, AuthenticationCapability_sequence);
6055
6056   return offset;
6057 }
6058
6059
6060 static const per_sequence_t IntegrityCapability_sequence[] = {
6061   { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
6062   { NULL, 0, 0, NULL }
6063 };
6064
6065 static int
6066 dissect_h245_IntegrityCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6067   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6068                                    ett_h245_IntegrityCapability, IntegrityCapability_sequence);
6069
6070   return offset;
6071 }
6072
6073
6074 static const per_sequence_t EncryptionAuthenticationAndIntegrity_sequence[] = {
6075   { &hf_h245_encryptionCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_EncryptionCapability },
6076   { &hf_h245_authenticationCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_AuthenticationCapability },
6077   { &hf_h245_integrityCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IntegrityCapability },
6078   { &hf_h245_genericH235SecurityCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericCapability },
6079   { NULL, 0, 0, NULL }
6080 };
6081
6082 static int
6083 dissect_h245_EncryptionAuthenticationAndIntegrity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6084   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6085                                    ett_h245_EncryptionAuthenticationAndIntegrity, EncryptionAuthenticationAndIntegrity_sequence);
6086
6087   return offset;
6088 }
6089
6090
6091 static const per_sequence_t H235SecurityCapability_sequence[] = {
6092   { &hf_h245_encryptionAuthenticationAndIntegrity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionAuthenticationAndIntegrity },
6093   { &hf_h245_mediaCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6094   { NULL, 0, 0, NULL }
6095 };
6096
6097 static int
6098 dissect_h245_H235SecurityCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6099   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6100                                    ett_h245_H235SecurityCapability, H235SecurityCapability_sequence);
6101
6102   return offset;
6103 }
6104
6105
6106 static const per_sequence_t SEQUENCE_SIZE_1_16_OF_NonStandardParameter_sequence_of[1] = {
6107   { &hf_h245_ui_nonStandard_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
6108 };
6109
6110 static int
6111 dissect_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6112   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6113                                                   ett_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter, SEQUENCE_SIZE_1_16_OF_NonStandardParameter_sequence_of,
6114                                                   1, 16);
6115
6116   return offset;
6117 }
6118
6119
6120 static const value_string h245_UserInputCapability_vals[] = {
6121   {   0, "nonStandard" },
6122   {   1, "basicString" },
6123   {   2, "iA5String" },
6124   {   3, "generalString" },
6125   {   4, "dtmf" },
6126   {   5, "hookflash" },
6127   {   6, "extendedAlphanumeric" },
6128   {   7, "encryptedBasicString" },
6129   {   8, "encryptedIA5String" },
6130   {   9, "encryptedGeneralString" },
6131   {  10, "secureDTMF" },
6132   {  11, "genericUserInputCapability" },
6133   { 0, NULL }
6134 };
6135
6136 static const per_choice_t UserInputCapability_choice[] = {
6137   {   0, &hf_h245_ui_nonStandard , ASN1_EXTENSION_ROOT    , dissect_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter },
6138   {   1, &hf_h245_basicString    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6139   {   2, &hf_h245_iA5String      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6140   {   3, &hf_h245_generalString  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6141   {   4, &hf_h245_dtmf           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6142   {   5, &hf_h245_hookflash      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6143   {   6, &hf_h245_extendedAlphanumericFlag, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6144   {   7, &hf_h245_encryptedBasicString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6145   {   8, &hf_h245_encryptedIA5String, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6146   {   9, &hf_h245_encryptedGeneralString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6147   {  10, &hf_h245_secureDTMF     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6148   {  11, &hf_h245_genericUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
6149   { 0, NULL, 0, NULL }
6150 };
6151
6152 static int
6153 dissect_h245_UserInputCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6154   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6155                                  ett_h245_UserInputCapability, UserInputCapability_choice,
6156                                  NULL);
6157
6158   return offset;
6159 }
6160
6161
6162 static const value_string h245_MultiplexFormat_vals[] = {
6163   {   0, "nonStandard" },
6164   {   1, "h222Capability" },
6165   {   2, "h223Capability" },
6166   { 0, NULL }
6167 };
6168
6169 static const per_choice_t MultiplexFormat_choice[] = {
6170   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6171   {   1, &hf_h245_h222Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H222Capability },
6172   {   2, &hf_h245_h223Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H223Capability },
6173   { 0, NULL, 0, NULL }
6174 };
6175
6176 static int
6177 dissect_h245_MultiplexFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6178   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6179                                  ett_h245_MultiplexFormat, MultiplexFormat_choice,
6180                                  NULL);
6181
6182   return offset;
6183 }
6184
6185
6186 static const per_sequence_t AlternativeCapabilitySet_sequence_of[1] = {
6187   { &hf_h245_AlternativeCapabilitySet_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6188 };
6189
6190 static int
6191 dissect_h245_AlternativeCapabilitySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6192   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6193                                                   ett_h245_AlternativeCapabilitySet, AlternativeCapabilitySet_sequence_of,
6194                                                   1, 256);
6195
6196   return offset;
6197 }
6198
6199
6200 static const per_sequence_t SET_SIZE_1_256_OF_AlternativeCapabilitySet_set_of[1] = {
6201   { &hf_h245_simultaneousCapabilities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_AlternativeCapabilitySet },
6202 };
6203
6204 static int
6205 dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6206   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
6207                                              ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet, SET_SIZE_1_256_OF_AlternativeCapabilitySet_set_of,
6208                                              1, 256);
6209
6210   return offset;
6211 }
6212
6213
6214 static const per_sequence_t MultiplexedStreamCapability_sequence[] = {
6215   { &hf_h245_multiplexFormat, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexFormat },
6216   { &hf_h245_controlOnMuxStream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6217   { &hf_h245_capabilityOnMuxStream, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet },
6218   { NULL, 0, 0, NULL }
6219 };
6220
6221 static int
6222 dissect_h245_MultiplexedStreamCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6223   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6224                                    ett_h245_MultiplexedStreamCapability, MultiplexedStreamCapability_sequence);
6225
6226   return offset;
6227 }
6228
6229
6230
6231 static int
6232 dissect_h245_INTEGER_96_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6233   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6234                                                             96U, 127U, NULL, FALSE);
6235
6236   return offset;
6237 }
6238
6239
6240 static const per_sequence_t AudioTelephonyEventCapability_sequence[] = {
6241   { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_96_127 },
6242   { &hf_h245_audioTelephoneEvent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_GeneralString },
6243   { NULL, 0, 0, NULL }
6244 };
6245
6246 static int
6247 dissect_h245_AudioTelephonyEventCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6248   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6249                                    ett_h245_AudioTelephonyEventCapability, AudioTelephonyEventCapability_sequence);
6250
6251   return offset;
6252 }
6253
6254
6255 static const per_sequence_t AudioToneCapability_sequence[] = {
6256   { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_96_127 },
6257   { NULL, 0, 0, NULL }
6258 };
6259
6260 static int
6261 dissect_h245_AudioToneCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6262   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6263                                    ett_h245_AudioToneCapability, AudioToneCapability_sequence);
6264
6265   return offset;
6266 }
6267
6268
6269 static const per_sequence_t T_separateStreamBool_sequence[] = {
6270   { &hf_h245_separatePort   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6271   { &hf_h245_samePortBool   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6272   { NULL, 0, 0, NULL }
6273 };
6274
6275 static int
6276 dissect_h245_T_separateStreamBool(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6277   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6278                                    ett_h245_T_separateStreamBool, T_separateStreamBool_sequence);
6279
6280   return offset;
6281 }
6282
6283
6284 static const per_sequence_t FECC_rfc2733_sequence[] = {
6285   { &hf_h245_redundancyEncodingBool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6286   { &hf_h245_separateStreamBool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_separateStreamBool },
6287   { NULL, 0, 0, NULL }
6288 };
6289
6290 static int
6291 dissect_h245_FECC_rfc2733(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6292   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6293                                    ett_h245_FECC_rfc2733, FECC_rfc2733_sequence);
6294
6295   return offset;
6296 }
6297
6298
6299 static const value_string h245_DepFECCapability_vals[] = {
6300   {   0, "rfc2733" },
6301   { 0, NULL }
6302 };
6303
6304 static const per_choice_t DepFECCapability_choice[] = {
6305   {   0, &hf_h245_fecc_rfc2733   , ASN1_EXTENSION_ROOT    , dissect_h245_FECC_rfc2733 },
6306   { 0, NULL, 0, NULL }
6307 };
6308
6309 static int
6310 dissect_h245_DepFECCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6311   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6312                                  ett_h245_DepFECCapability, DepFECCapability_choice,
6313                                  NULL);
6314
6315   return offset;
6316 }
6317
6318
6319 static const per_sequence_t MultiplePayloadStreamCapability_sequence[] = {
6320   { &hf_h245_capabilities   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet },
6321   { NULL, 0, 0, NULL }
6322 };
6323
6324 static int
6325 dissect_h245_MultiplePayloadStreamCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6326   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6327                                    ett_h245_MultiplePayloadStreamCapability, MultiplePayloadStreamCapability_sequence);
6328
6329   return offset;
6330 }
6331
6332
6333
6334 static int
6335 dissect_h245_MaxRedundancy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6336   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6337                                                             1U, NO_BOUND, NULL, FALSE);
6338
6339   return offset;
6340 }
6341
6342
6343 static const value_string h245_Rfc2733Format_vals[] = {
6344   {   0, "rfc2733rfc2198" },
6345   {   1, "rfc2733sameport" },
6346   {   2, "rfc2733diffport" },
6347   { 0, NULL }
6348 };
6349
6350 static const per_choice_t Rfc2733Format_choice[] = {
6351   {   0, &hf_h245_rfc2733rfc2198 , ASN1_NO_EXTENSIONS     , dissect_h245_MaxRedundancy },
6352   {   1, &hf_h245_rfc2733sameport, ASN1_NO_EXTENSIONS     , dissect_h245_MaxRedundancy },
6353   {   2, &hf_h245_rfc2733diffport, ASN1_NO_EXTENSIONS     , dissect_h245_MaxRedundancy },
6354   { 0, NULL, 0, NULL }
6355 };
6356
6357 static int
6358 dissect_h245_Rfc2733Format(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6359   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6360                                  ett_h245_Rfc2733Format, Rfc2733Format_choice,
6361                                  NULL);
6362
6363   return offset;
6364 }
6365
6366
6367 static const per_sequence_t FECCapability_sequence[] = {
6368   { &hf_h245_protectedCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6369   { &hf_h245_fecScheme      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
6370   { &hf_h245_rfc2733Format  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Rfc2733Format },
6371   { NULL, 0, 0, NULL }
6372 };
6373
6374 static int
6375 dissect_h245_FECCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6376   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6377                                    ett_h245_FECCapability, FECCapability_sequence);
6378
6379   return offset;
6380 }
6381
6382
6383 const value_string h245_Capability_vals[] = {
6384   {   0, "nonStandard" },
6385   {   1, "receiveVideoCapability" },
6386   {   2, "transmitVideoCapability" },
6387   {   3, "receiveAndTransmitVideoCapability" },
6388   {   4, "receiveAudioCapability" },
6389   {   5, "transmitAudioCapability" },
6390   {   6, "receiveAndTransmitAudioCapability" },
6391   {   7, "receiveDataApplicationCapability" },
6392   {   8, "transmitDataApplicationCapability" },
6393   {   9, "receiveAndTransmitDataApplicationCapability" },
6394   {  10, "h233EncryptionTransmitCapability" },
6395   {  11, "h233EncryptionReceiveCapability" },
6396   {  12, "conferenceCapability" },
6397   {  13, "h235SecurityCapability" },
6398   {  14, "maxPendingReplacementFor" },
6399   {  15, "receiveUserInputCapability" },
6400   {  16, "transmitUserInputCapability" },
6401   {  17, "receiveAndTransmitUserInputCapability" },
6402   {  18, "genericControlCapability" },
6403   {  19, "receiveMultiplexedStreamCapability" },
6404   {  20, "transmitMultiplexedStreamCapability" },
6405   {  21, "receiveAndTransmitMultiplexedStreamCapability" },
6406   {  22, "receiveRTPAudioTelephonyEventCapability" },
6407   {  23, "receiveRTPAudioToneCapability" },
6408   {  24, "depFecCapability" },
6409   {  25, "multiplePayloadStreamCapability" },
6410   {  26, "fecCapability" },
6411   {  27, "redundancyEncodingCap" },
6412   {  28, "oneOfCapabilities" },
6413   { 0, NULL }
6414 };
6415
6416 static const per_choice_t Capability_choice[] = {
6417   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6418   {   1, &hf_h245_receiveVideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
6419   {   2, &hf_h245_transmitVideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
6420   {   3, &hf_h245_receiveAndTransmitVideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
6421   {   4, &hf_h245_receiveAudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
6422   {   5, &hf_h245_transmitAudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
6423   {   6, &hf_h245_receiveAndTransmitAudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
6424   {   7, &hf_h245_receiveDataApplicationCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
6425   {   8, &hf_h245_transmitDataApplicationCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
6426   {   9, &hf_h245_receiveAndTransmitDataApplicationCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
6427   {  10, &hf_h245_h233EncryptionTransmitCapability, ASN1_EXTENSION_ROOT    , dissect_h245_BOOLEAN },
6428   {  11, &hf_h245_h233EncryptionReceiveCapability, ASN1_EXTENSION_ROOT    , dissect_h245_T_h233EncryptionReceiveCapability },
6429   {  12, &hf_h245_conferenceCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceCapability },
6430   {  13, &hf_h245_h235SecurityCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H235SecurityCapability },
6431   {  14, &hf_h245_maxPendingReplacementFor, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_0_255 },
6432   {  15, &hf_h245_receiveUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_UserInputCapability },
6433   {  16, &hf_h245_transmitUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_UserInputCapability },
6434   {  17, &hf_h245_receiveAndTransmitUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_UserInputCapability },
6435   {  18, &hf_h245_genericControlCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
6436   {  19, &hf_h245_receiveMultiplexedStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamCapability },
6437   {  20, &hf_h245_transmitMultiplexedStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamCapability },
6438   {  21, &hf_h245_receiveAndTransmitMultiplexedStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamCapability },
6439   {  22, &hf_h245_receiveRTPAudioTelephonyEventCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_AudioTelephonyEventCapability },
6440   {  23, &hf_h245_receiveRTPAudioToneCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_AudioToneCapability },
6441   {  24, &hf_h245_depFecCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECCapability },
6442   {  25, &hf_h245_multiplePayloadStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStreamCapability },
6443   {  26, &hf_h245_fecCapability  , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECCapability },
6444   {  27, &hf_h245_redundancyEncodingCap, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncodingCapability },
6445   {  28, &hf_h245_oneOfCapabilities, ASN1_NOT_EXTENSION_ROOT, dissect_h245_AlternativeCapabilitySet },
6446   { 0, NULL, 0, NULL }
6447 };
6448
6449 int
6450 dissect_h245_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6451   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6452                                  ett_h245_Capability, Capability_choice,
6453                                  NULL);
6454
6455   return offset;
6456 }
6457
6458
6459 static const per_sequence_t CapabilityTableEntry_sequence[] = {
6460   { &hf_h245_capabilityTableEntryNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6461   { &hf_h245_capability     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_Capability },
6462   { NULL, 0, 0, NULL }
6463 };
6464
6465 static int
6466 dissect_h245_CapabilityTableEntry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6467   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6468                                    ett_h245_CapabilityTableEntry, CapabilityTableEntry_sequence);
6469
6470   return offset;
6471 }
6472
6473
6474 static const per_sequence_t SET_SIZE_1_256_OF_CapabilityTableEntry_set_of[1] = {
6475   { &hf_h245_capabilityTable_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntry },
6476 };
6477
6478 static int
6479 dissect_h245_SET_SIZE_1_256_OF_CapabilityTableEntry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6480   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
6481                                              ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry, SET_SIZE_1_256_OF_CapabilityTableEntry_set_of,
6482                                              1, 256);
6483
6484   return offset;
6485 }
6486
6487
6488
6489 static int
6490 dissect_h245_CapabilityDescriptorNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6491   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6492                                                             0U, 255U, NULL, FALSE);
6493
6494   return offset;
6495 }
6496
6497
6498 static const per_sequence_t CapabilityDescriptor_sequence[] = {
6499   { &hf_h245_capabilityDescriptorNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityDescriptorNumber },
6500   { &hf_h245_simultaneousCapabilities, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet },
6501   { NULL, 0, 0, NULL }
6502 };
6503
6504 static int
6505 dissect_h245_CapabilityDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6506   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6507                                    ett_h245_CapabilityDescriptor, CapabilityDescriptor_sequence);
6508
6509   return offset;
6510 }
6511
6512
6513 static const per_sequence_t SET_SIZE_1_256_OF_CapabilityDescriptor_set_of[1] = {
6514   { &hf_h245_capabilityDescriptors_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityDescriptor },
6515 };
6516
6517 static int
6518 dissect_h245_SET_SIZE_1_256_OF_CapabilityDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6519   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
6520                                              ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor, SET_SIZE_1_256_OF_CapabilityDescriptor_set_of,
6521                                              1, 256);
6522
6523   return offset;
6524 }
6525
6526
6527
6528 static int
6529 dissect_h245_T_subMessageIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6530 #line 631 "h245.cnf"
6531   guint32 subMessageIdentifer;
6532   gef_ctx_t *gefx;
6533   
6534   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6535                                                             0U, 127U, &subMessageIdentifer, FALSE);
6536
6537   gefx = gef_ctx_get(actx->private_data);
6538   if (gefx) gefx->subid = ep_strdup_printf("%u", subMessageIdentifer);
6539
6540
6541   return offset;
6542 }
6543
6544
6545
6546 static int
6547 dissect_h245_T_messageContent_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6548 #line 640 "h245.cnf"
6549   gef_ctx_t *parent_gefx;
6550
6551   parent_gefx = gef_ctx_get(actx->private_data);
6552   actx->private_data = gef_ctx_alloc(parent_gefx, NULL);
6553
6554   offset = dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_index);
6555
6556 #line 645 "h245.cnf"
6557   actx->private_data = parent_gefx;
6558
6559   return offset;
6560 }
6561
6562
6563 static const per_sequence_t T_messageContent_sequence_of[1] = {
6564   { &hf_h245_messageContent_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_messageContent_item },
6565 };
6566
6567 static int
6568 dissect_h245_T_messageContent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6569   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6570                                       ett_h245_T_messageContent, T_messageContent_sequence_of);
6571
6572   return offset;
6573 }
6574
6575
6576 static const per_sequence_t GenericMessage_sequence[] = {
6577   { &hf_h245_messageIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityIdentifier },
6578   { &hf_h245_subMessageIdentifier, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_subMessageIdentifier },
6579   { &hf_h245_messageContent , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_messageContent },
6580   { NULL, 0, 0, NULL }
6581 };
6582
6583 static int
6584 dissect_h245_GenericMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6585 #line 617 "h245.cnf"
6586   void *priv_data = actx->private_data;
6587   gef_ctx_t *gefx;
6588
6589   /* check if not inherited from GenericInformation */
6590   gefx = gef_ctx_get(actx->private_data);
6591   if (!gefx) {
6592     gefx = gef_ctx_alloc(NULL, "GenericMessage");
6593     actx->private_data = gefx;
6594   }
6595
6596   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6597                                    ett_h245_GenericMessage, GenericMessage_sequence);
6598
6599 #line 627 "h245.cnf"
6600   actx->private_data = priv_data;
6601
6602   return offset;
6603 }
6604
6605
6606
6607 static int
6608 dissect_h245_GenericInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6609 #line 650 "h245.cnf"
6610   void *priv_data = actx->private_data;
6611   actx->private_data = gef_ctx_alloc(NULL, "GenericInformation");
6612
6613   offset = dissect_h245_GenericMessage(tvb, offset, actx, tree, hf_index);
6614
6615 #line 653 "h245.cnf"
6616   actx->private_data = priv_data;
6617
6618   return offset;
6619 }
6620
6621
6622 static const per_sequence_t SEQUENCE_OF_GenericInformation_sequence_of[1] = {
6623   { &hf_h245_genericInformation_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_GenericInformation },
6624 };
6625
6626 static int
6627 dissect_h245_SEQUENCE_OF_GenericInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6628   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6629                                       ett_h245_SEQUENCE_OF_GenericInformation, SEQUENCE_OF_GenericInformation_sequence_of);
6630
6631   return offset;
6632 }
6633
6634
6635 static const per_sequence_t TerminalCapabilitySet_sequence[] = {
6636   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
6637   { &hf_h245_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
6638   { &hf_h245_multiplexCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MultiplexCapability },
6639   { &hf_h245_capabilityTable, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_CapabilityTableEntry },
6640   { &hf_h245_capabilityDescriptors, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_CapabilityDescriptor },
6641   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
6642   { NULL, 0, 0, NULL }
6643 };
6644
6645 static int
6646 dissect_h245_TerminalCapabilitySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6647   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6648                                    ett_h245_TerminalCapabilitySet, TerminalCapabilitySet_sequence);
6649
6650 #line 602 "h245.cnf"
6651
6652 if (h245_pi != NULL)
6653   h245_pi->msg_type = H245_TermCapSet;
6654
6655   return offset;
6656 }
6657
6658
6659
6660 static int
6661 dissect_h245_LogicalChannelNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6662 #line 121 "h245.cnf"
6663   guint32 value;
6664   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6665                                                             1U, 65535U, &value, FALSE);
6666
6667   h245_lc_temp = value & 0xfff;
6668
6669
6670   return offset;
6671 }
6672
6673
6674
6675 static int
6676 dissect_h245_OLC_fw_lcn(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6677   offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index);
6678
6679 #line 162 "h245.cnf"
6680   if (upcoming_olc) upcoming_olc->fwd_lc_num = h245_lc_temp;
6681   h223_fw_lc_num = h245_lc_temp;
6682
6683   return offset;
6684 }
6685
6686
6687 static const value_string h245_EncryptionMode_vals[] = {
6688   {   0, "nonStandard" },
6689   {   1, "h233Encryption" },
6690   { 0, NULL }
6691 };
6692
6693 static const per_choice_t EncryptionMode_choice[] = {
6694   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6695   {   1, &hf_h245_h233Encryption , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6696   { 0, NULL, 0, NULL }
6697 };
6698
6699 static int
6700 dissect_h245_EncryptionMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6701   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6702                                  ett_h245_EncryptionMode, EncryptionMode_choice,
6703                                  NULL);
6704
6705   return offset;
6706 }
6707
6708
6709
6710 static int
6711 dissect_h245_INTEGER_0_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6712   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6713                                                             0U, 127U, NULL, FALSE);
6714
6715   return offset;
6716 }
6717
6718
6719 static const per_sequence_t RedundancyEncodingElement_sequence[] = {
6720   { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
6721   { &hf_h245_payloadType_01 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
6722   { NULL, 0, 0, NULL }
6723 };
6724
6725 static int
6726 dissect_h245_RedundancyEncodingElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6727   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6728                                    ett_h245_RedundancyEncodingElement, RedundancyEncodingElement_sequence);
6729
6730   return offset;
6731 }
6732
6733
6734 static const per_sequence_t SEQUENCE_OF_RedundancyEncodingElement_sequence_of[1] = {
6735   { &hf_h245_secondary_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingElement },
6736 };
6737
6738 static int
6739 dissect_h245_SEQUENCE_OF_RedundancyEncodingElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6740   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6741                                       ett_h245_SEQUENCE_OF_RedundancyEncodingElement, SEQUENCE_OF_RedundancyEncodingElement_sequence_of);
6742
6743   return offset;
6744 }
6745
6746
6747 static const per_sequence_t T_rtpRedundancyEncoding_sequence[] = {
6748   { &hf_h245_primary        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RedundancyEncodingElement },
6749   { &hf_h245_secondary      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_RedundancyEncodingElement },
6750   { NULL, 0, 0, NULL }
6751 };
6752
6753 static int
6754 dissect_h245_T_rtpRedundancyEncoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6755   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6756                                    ett_h245_T_rtpRedundancyEncoding, T_rtpRedundancyEncoding_sequence);
6757
6758   return offset;
6759 }
6760
6761
6762 static const per_sequence_t RedundancyEncoding_sequence[] = {
6763   { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
6764   { &hf_h245_secondaryEncoding, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_DataType },
6765   { &hf_h245_rtpRedundancyEncoding, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_rtpRedundancyEncoding },
6766   { NULL, 0, 0, NULL }
6767 };
6768
6769 static int
6770 dissect_h245_RedundancyEncoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6771   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6772                                    ett_h245_RedundancyEncoding, RedundancyEncoding_sequence);
6773
6774   return offset;
6775 }
6776
6777
6778 static const per_sequence_t MultiplePayloadStreamElement_sequence[] = {
6779   { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
6780   { &hf_h245_payloadType_01 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
6781   { NULL, 0, 0, NULL }
6782 };
6783
6784 static int
6785 dissect_h245_MultiplePayloadStreamElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6786   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6787                                    ett_h245_MultiplePayloadStreamElement, MultiplePayloadStreamElement_sequence);
6788
6789   return offset;
6790 }
6791
6792
6793 static const per_sequence_t SEQUENCE_OF_MultiplePayloadStreamElement_sequence_of[1] = {
6794   { &hf_h245_elements_item  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplePayloadStreamElement },
6795 };
6796
6797 static int
6798 dissect_h245_SEQUENCE_OF_MultiplePayloadStreamElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6799   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6800                                       ett_h245_SEQUENCE_OF_MultiplePayloadStreamElement, SEQUENCE_OF_MultiplePayloadStreamElement_sequence_of);
6801
6802   return offset;
6803 }
6804
6805
6806 static const per_sequence_t MultiplePayloadStream_sequence[] = {
6807   { &hf_h245_elements       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_MultiplePayloadStreamElement },
6808   { NULL, 0, 0, NULL }
6809 };
6810
6811 static int
6812 dissect_h245_MultiplePayloadStream(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6813   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6814                                    ett_h245_MultiplePayloadStream, MultiplePayloadStream_sequence);
6815
6816   return offset;
6817 }
6818
6819
6820 static const per_sequence_t T_differentPort_sequence[] = {
6821   { &hf_h245_protectedSessionID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
6822   { &hf_h245_protectedPayloadType, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
6823   { NULL, 0, 0, NULL }
6824 };
6825
6826 static int
6827 dissect_h245_T_differentPort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6828   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6829                                    ett_h245_T_differentPort, T_differentPort_sequence);
6830
6831   return offset;
6832 }
6833
6834
6835 static const per_sequence_t T_samePort_sequence[] = {
6836   { &hf_h245_protectedPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_127 },
6837   { NULL, 0, 0, NULL }
6838 };
6839
6840 static int
6841 dissect_h245_T_samePort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6842   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6843                                    ett_h245_T_samePort, T_samePort_sequence);
6844
6845   return offset;
6846 }
6847
6848
6849 static const value_string h245_DepSeparateStream_vals[] = {
6850   {   0, "differentPort" },
6851   {   1, "samePort" },
6852   { 0, NULL }
6853 };
6854
6855 static const per_choice_t DepSeparateStream_choice[] = {
6856   {   0, &hf_h245_differentPort  , ASN1_EXTENSION_ROOT    , dissect_h245_T_differentPort },
6857   {   1, &hf_h245_samePort       , ASN1_EXTENSION_ROOT    , dissect_h245_T_samePort },
6858   { 0, NULL, 0, NULL }
6859 };
6860
6861 static int
6862 dissect_h245_DepSeparateStream(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6863   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6864                                  ett_h245_DepSeparateStream, DepSeparateStream_choice,
6865                                  NULL);
6866
6867   return offset;
6868 }
6869
6870
6871 static const value_string h245_FECdata_mode_vals[] = {
6872   {   0, "redundancyEncoding" },
6873   {   1, "separateStream" },
6874   { 0, NULL }
6875 };
6876
6877 static const per_choice_t FECdata_mode_choice[] = {
6878   {   0, &hf_h245_redundancyEncodingFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6879   {   1, &hf_h245_separateStream , ASN1_EXTENSION_ROOT    , dissect_h245_DepSeparateStream },
6880   { 0, NULL, 0, NULL }
6881 };
6882
6883 static int
6884 dissect_h245_FECdata_mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6885   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6886                                  ett_h245_FECdata_mode, FECdata_mode_choice,
6887                                  NULL);
6888
6889   return offset;
6890 }
6891
6892
6893 static const per_sequence_t RFC2733Data_sequence[] = {
6894   { &hf_h245_fec_data_mode  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_FECdata_mode },
6895   { NULL, 0, 0, NULL }
6896 };
6897
6898 static int
6899 dissect_h245_RFC2733Data(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6900   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6901                                    ett_h245_RFC2733Data, RFC2733Data_sequence);
6902
6903   return offset;
6904 }
6905
6906
6907 static const value_string h245_DepFECData_vals[] = {
6908   {   0, "rfc2733" },
6909   { 0, NULL }
6910 };
6911
6912 static const per_choice_t DepFECData_choice[] = {
6913   {   0, &hf_h245_dep_rfc2733    , ASN1_NO_EXTENSIONS     , dissect_h245_RFC2733Data },
6914   { 0, NULL, 0, NULL }
6915 };
6916
6917 static int
6918 dissect_h245_DepFECData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6919   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6920                                  ett_h245_DepFECData, DepFECData_choice,
6921                                  NULL);
6922
6923   return offset;
6924 }
6925
6926
6927 static const per_sequence_t T_mode_rfc2733sameport_sequence[] = {
6928   { NULL, 0, 0, NULL }
6929 };
6930
6931 static int
6932 dissect_h245_T_mode_rfc2733sameport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6933   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6934                                    ett_h245_T_mode_rfc2733sameport, T_mode_rfc2733sameport_sequence);
6935
6936   return offset;
6937 }
6938
6939
6940 static const per_sequence_t T_mode_rfc2733diffport_sequence[] = {
6941   { &hf_h245_protectedChannel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
6942   { NULL, 0, 0, NULL }
6943 };
6944
6945 static int
6946 dissect_h245_T_mode_rfc2733diffport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6947   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6948                                    ett_h245_T_mode_rfc2733diffport, T_mode_rfc2733diffport_sequence);
6949
6950   return offset;
6951 }
6952
6953
6954 static const value_string h245_T_pktMode_vals[] = {
6955   {   0, "rfc2198coding" },
6956   {   1, "rfc2733sameport" },
6957   {   2, "rfc2733diffport" },
6958   { 0, NULL }
6959 };
6960
6961 static const per_choice_t T_pktMode_choice[] = {
6962   {   0, &hf_h245_rfc2198coding  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6963   {   1, &hf_h245_mode_rfc2733sameport, ASN1_EXTENSION_ROOT    , dissect_h245_T_mode_rfc2733sameport },
6964   {   2, &hf_h245_mode_rfc2733diffport, ASN1_EXTENSION_ROOT    , dissect_h245_T_mode_rfc2733diffport },
6965   { 0, NULL, 0, NULL }
6966 };
6967
6968 static int
6969 dissect_h245_T_pktMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6970   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6971                                  ett_h245_T_pktMode, T_pktMode_choice,
6972                                  NULL);
6973
6974   return offset;
6975 }
6976
6977
6978 static const per_sequence_t T_rfc2733_sequence[] = {
6979   { &hf_h245_protectedPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_127 },
6980   { &hf_h245_fecScheme      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
6981   { &hf_h245_pktMode        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_pktMode },
6982   { NULL, 0, 0, NULL }
6983 };
6984
6985 static int
6986 dissect_h245_T_rfc2733(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6987   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6988                                    ett_h245_T_rfc2733, T_rfc2733_sequence);
6989
6990   return offset;
6991 }
6992
6993
6994 static const value_string h245_FECData_vals[] = {
6995   {   0, "rfc2733" },
6996   { 0, NULL }
6997 };
6998
6999 static const per_choice_t FECData_choice[] = {
7000   {   0, &hf_h245_rfc2733        , ASN1_EXTENSION_ROOT    , dissect_h245_T_rfc2733 },
7001   { 0, NULL, 0, NULL }
7002 };
7003
7004 static int
7005 dissect_h245_FECData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7006   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7007                                  ett_h245_FECData, FECData_choice,
7008                                  NULL);
7009
7010   return offset;
7011 }
7012
7013
7014 static const value_string h245_T_mediaType_vals[] = {
7015   {   0, "nonStandard" },
7016   {   1, "videoData" },
7017   {   2, "audioData" },
7018   {   3, "data" },
7019   {   4, "redundancyEncoding" },
7020   {   5, "multiplePayloadStream" },
7021   {   6, "depFec" },
7022   {   7, "fec" },
7023   { 0, NULL }
7024 };
7025
7026 static const per_choice_t T_mediaType_choice[] = {
7027   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
7028   {   1, &hf_h245_videoData      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
7029   {   2, &hf_h245_audioData      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
7030   {   3, &hf_h245_data           , ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
7031   {   4, &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncoding },
7032   {   5, &hf_h245_multiplePayloadStream, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStream },
7033   {   6, &hf_h245_depFec         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECData },
7034   {   7, &hf_h245_fec            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECData },
7035   { 0, NULL, 0, NULL }
7036 };
7037
7038 static int
7039 dissect_h245_T_mediaType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7040   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7041                                  ett_h245_T_mediaType, T_mediaType_choice,
7042                                  NULL);
7043
7044   return offset;
7045 }
7046
7047
7048 static const per_sequence_t H235Media_sequence[] = {
7049   { &hf_h245_encryptionAuthenticationAndIntegrity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionAuthenticationAndIntegrity },
7050   { &hf_h245_mediaType      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mediaType },
7051   { NULL, 0, 0, NULL }
7052 };
7053
7054 static int
7055 dissect_h245_H235Media(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7056   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7057                                    ett_h245_H235Media, H235Media_sequence);
7058
7059   return offset;
7060 }
7061
7062
7063 static const per_sequence_t MultiplexedStreamParameter_sequence[] = {
7064   { &hf_h245_multiplexFormat, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexFormat },
7065   { &hf_h245_controlOnMuxStream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7066   { NULL, 0, 0, NULL }
7067 };
7068
7069 static int
7070 dissect_h245_MultiplexedStreamParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7071   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7072                                    ett_h245_MultiplexedStreamParameter, MultiplexedStreamParameter_sequence);
7073
7074   return offset;
7075 }
7076
7077
7078 static const value_string h245_DataType_vals[] = {
7079   {   0, "nonStandard" },
7080   {   1, "nullData" },
7081   {   2, "videoData" },
7082   {   3, "audioData" },
7083   {   4, "data" },
7084   {   5, "encryptionData" },
7085   {   6, "h235Control" },
7086   {   7, "h235Media" },
7087   {   8, "multiplexedStream" },
7088   {   9, "redundancyEncoding" },
7089   {  10, "multiplePayloadStream" },
7090   {  11, "depFec" },
7091   {  12, "fec" },
7092   { 0, NULL }
7093 };
7094
7095 static const per_choice_t DataType_choice[] = {
7096   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
7097   {   1, &hf_h245_nullData       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7098   {   2, &hf_h245_videoData      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
7099   {   3, &hf_h245_audioData      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
7100   {   4, &hf_h245_data           , ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
7101   {   5, &hf_h245_encryptionData , ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionMode },
7102   {   6, &hf_h245_h235Control    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NonStandardParameter },
7103   {   7, &hf_h245_h235Media      , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H235Media },
7104   {   8, &hf_h245_multiplexedStream, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamParameter },
7105   {   9, &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncoding },
7106   {  10, &hf_h245_multiplePayloadStream, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStream },
7107   {  11, &hf_h245_depFec         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECData },
7108   {  12, &hf_h245_fec            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECData },
7109   { 0, NULL, 0, NULL }
7110 };
7111
7112 static int
7113 dissect_h245_DataType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7114   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7115                                  ett_h245_DataType, DataType_choice,
7116                                  NULL);
7117
7118   return offset;
7119 }
7120
7121
7122
7123 static int
7124 dissect_h245_INTEGER_0_8191(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7125   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7126                                                             0U, 8191U, NULL, FALSE);
7127
7128   return offset;
7129 }
7130
7131
7132 static const per_sequence_t H222LogicalChannelParameters_sequence[] = {
7133   { &hf_h245_resourceID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
7134   { &hf_h245_subChannelID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_8191 },
7135   { &hf_h245_pcr_pid        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_8191 },
7136   { &hf_h245_programDescriptors, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING },
7137   { &hf_h245_streamDescriptors, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING },
7138   { NULL, 0, 0, NULL }
7139 };
7140
7141 static int
7142 dissect_h245_H222LogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7143   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7144                                    ett_h245_H222LogicalChannelParameters, H222LogicalChannelParameters_sequence);
7145
7146   return offset;
7147 }
7148
7149
7150
7151 static int
7152 dissect_h245_T_h223_al_type_al1Framed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7153 #line 294 "h245.cnf"
7154   if(h223_lc_params_temp)
7155         h223_lc_params_temp->al_type = al1Framed;
7156
7157   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7158
7159   return offset;
7160 }
7161
7162
7163
7164 static int
7165 dissect_h245_T_h223_al_type_al1NotFramed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7166 #line 299 "h245.cnf"
7167   if(h223_lc_params_temp)
7168         h223_lc_params_temp->al_type = al1NotFramed;
7169
7170   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7171
7172   return offset;
7173 }
7174
7175
7176
7177 static int
7178 dissect_h245_T_h223_al_type_al2WithoutSequenceNumbers(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7179 #line 304 "h245.cnf"
7180   if(h223_lc_params_temp)
7181         h223_lc_params_temp->al_type = al2WithoutSequenceNumbers;
7182
7183   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7184
7185   return offset;
7186 }
7187
7188
7189
7190 static int
7191 dissect_h245_T_h223_al_type_al2WithSequenceNumbers(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7192 #line 309 "h245.cnf"
7193   if(h223_lc_params_temp)
7194         h223_lc_params_temp->al_type = al2WithSequenceNumbers;
7195
7196   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7197
7198   return offset;
7199 }
7200
7201
7202
7203 static int
7204 dissect_h245_T_controlFieldOctets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7205 #line 323 "h245.cnf"
7206   guint32 value;
7207   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7208                                                             0U, 2U, &value, FALSE);
7209
7210   if(h223_lc_params_temp && h223_lc_params_temp->al_params)
7211         ((h223_al3_params*)h223_lc_params_temp->al_params)->control_field_octets = value & 3 ;
7212
7213
7214   return offset;
7215 }
7216
7217
7218
7219 static int
7220 dissect_h245_T_al3_sendBufferSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7221 #line 332 "h245.cnf"
7222   guint32 value;
7223   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7224                                                             0U, 16777215U, &value, FALSE);
7225
7226   if(h223_lc_params_temp && h223_lc_params_temp->al_params)
7227         ((h223_al3_params*)h223_lc_params_temp->al_params)->send_buffer_size = value & 0xfffff;
7228
7229
7230   return offset;
7231 }
7232
7233
7234 static const per_sequence_t Al3_sequence[] = {
7235   { &hf_h245_controlFieldOctets, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_controlFieldOctets },
7236   { &hf_h245_al3_sendBufferSize, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_al3_sendBufferSize },
7237   { NULL, 0, 0, NULL }
7238 };
7239
7240 static int
7241 dissect_h245_Al3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7242   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7243                                    ett_h245_Al3, Al3_sequence);
7244
7245   return offset;
7246 }
7247
7248
7249
7250 static int
7251 dissect_h245_T_h223_al_type_al3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7252 #line 314 "h245.cnf"
7253  if(h223_lc_params_temp) {
7254         h223_lc_params_temp->al_type = al3;
7255         h223_lc_params_temp->al_params = se_alloc(sizeof(h223_al3_params));
7256   }
7257
7258   offset = dissect_h245_Al3(tvb, offset, actx, tree, hf_index);
7259
7260   return offset;
7261 }
7262
7263
7264 static const value_string h245_T_transferMode_vals[] = {
7265   {   0, "framed" },
7266   {   1, "unframed" },
7267   { 0, NULL }
7268 };
7269
7270 static const per_choice_t T_transferMode_choice[] = {
7271   {   0, &hf_h245_framed         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7272   {   1, &hf_h245_unframed       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7273   { 0, NULL, 0, NULL }
7274 };
7275
7276 static int
7277 dissect_h245_T_transferMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7278   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7279                                  ett_h245_T_transferMode, T_transferMode_choice,
7280                                  NULL);
7281
7282   return offset;
7283 }
7284
7285
7286 static const value_string h245_AL1HeaderFEC_vals[] = {
7287   {   0, "sebch16-7" },
7288   {   1, "golay24-12" },
7289   { 0, NULL }
7290 };
7291
7292 static const per_choice_t AL1HeaderFEC_choice[] = {
7293   {   0, &hf_h245_sebch16_7      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7294   {   1, &hf_h245_golay24_12     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7295   { 0, NULL, 0, NULL }
7296 };
7297
7298 static int
7299 dissect_h245_AL1HeaderFEC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7300   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7301                                  ett_h245_AL1HeaderFEC, AL1HeaderFEC_choice,
7302                                  NULL);
7303
7304   return offset;
7305 }
7306
7307
7308 static const value_string h245_AL1CrcLength_vals[] = {
7309   {   0, "crc4bit" },
7310   {   1, "crc12bit" },
7311   {   2, "crc20bit" },
7312   {   3, "crc28bit" },
7313   {   4, "crc8bit" },
7314   {   5, "crc16bit" },
7315   {   6, "crc32bit" },
7316   {   7, "crcNotUsed" },
7317   { 0, NULL }
7318 };
7319
7320 static const per_choice_t AL1CrcLength_choice[] = {
7321   {   0, &hf_h245_crc4bit        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7322   {   1, &hf_h245_crc12bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7323   {   2, &hf_h245_crc20bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7324   {   3, &hf_h245_crc28bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7325   {   4, &hf_h245_crc8bit        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7326   {   5, &hf_h245_crc16bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7327   {   6, &hf_h245_crc32bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7328   {   7, &hf_h245_crcNotUsed     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7329   { 0, NULL, 0, NULL }
7330 };
7331
7332 static int
7333 dissect_h245_AL1CrcLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7334   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7335                                  ett_h245_AL1CrcLength, AL1CrcLength_choice,
7336                                  NULL);
7337
7338   return offset;
7339 }
7340
7341
7342
7343 static int
7344 dissect_h245_INTEGER_8_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7345   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7346                                                             8U, 32U, NULL, FALSE);
7347
7348   return offset;
7349 }
7350
7351
7352
7353 static int
7354 dissect_h245_INTEGER_0_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7355   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7356                                                             0U, 16U, NULL, FALSE);
7357
7358   return offset;
7359 }
7360
7361
7362 static const value_string h245_T_numberOfRetransmissions_vals[] = {
7363   {   0, "finite" },
7364   {   1, "infinite" },
7365   { 0, NULL }
7366 };
7367
7368 static const per_choice_t T_numberOfRetransmissions_choice[] = {
7369   {   0, &hf_h245_finite         , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_16 },
7370   {   1, &hf_h245_infinite       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7371   { 0, NULL, 0, NULL }
7372 };
7373
7374 static int
7375 dissect_h245_T_numberOfRetransmissions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7376   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7377                                  ett_h245_T_numberOfRetransmissions, T_numberOfRetransmissions_choice,
7378                                  NULL);
7379
7380   return offset;
7381 }
7382
7383
7384 static const per_sequence_t H223AnnexCArqParameters_sequence[] = {
7385   { &hf_h245_numberOfRetransmissions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_numberOfRetransmissions },
7386   { &hf_h245_sendBufferSize , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_16777215 },
7387   { NULL, 0, 0, NULL }
7388 };
7389
7390 static int
7391 dissect_h245_H223AnnexCArqParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7392   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7393                                    ett_h245_H223AnnexCArqParameters, H223AnnexCArqParameters_sequence);
7394
7395   return offset;
7396 }
7397
7398
7399 static const value_string h245_ArqType_vals[] = {
7400   {   0, "noArq" },
7401   {   1, "typeIArq" },
7402   {   2, "typeIIArq" },
7403   { 0, NULL }
7404 };
7405
7406 static const per_choice_t ArqType_choice[] = {
7407   {   0, &hf_h245_noArq          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7408   {   1, &hf_h245_typeIArq       , ASN1_EXTENSION_ROOT    , dissect_h245_H223AnnexCArqParameters },
7409   {   2, &hf_h245_typeIIArq      , ASN1_EXTENSION_ROOT    , dissect_h245_H223AnnexCArqParameters },
7410   { 0, NULL, 0, NULL }
7411 };
7412
7413 static int
7414 dissect_h245_ArqType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7415   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7416                                  ett_h245_ArqType, ArqType_choice,
7417                                  NULL);
7418
7419   return offset;
7420 }
7421
7422
7423 static const per_sequence_t H223AL1MParameters_sequence[] = {
7424   { &hf_h245_transferMode   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_transferMode },
7425   { &hf_h245_aL1HeaderFEC   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL1HeaderFEC },
7426   { &hf_h245_crcLength2     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL1CrcLength },
7427   { &hf_h245_rcpcCodeRate   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_8_32 },
7428   { &hf_h245_arqType        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ArqType },
7429   { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7430   { &hf_h245_alsduSplitting , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7431   { &hf_h245_rsCodeCorrection, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
7432   { NULL, 0, 0, NULL }
7433 };
7434
7435 static int
7436 dissect_h245_H223AL1MParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7437   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7438                                    ett_h245_H223AL1MParameters, H223AL1MParameters_sequence);
7439
7440   return offset;
7441 }
7442
7443
7444
7445 static int
7446 dissect_h245_T_h223_al_type_al1M(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7447 #line 339 "h245.cnf"
7448   if(h223_lc_params_temp)
7449         h223_lc_params_temp->al_type = al1M;
7450
7451   offset = dissect_h245_H223AL1MParameters(tvb, offset, actx, tree, hf_index);
7452
7453   return offset;
7454 }
7455
7456
7457 static const value_string h245_AL2HeaderFEC_vals[] = {
7458   {   0, "sebch16-5" },
7459   {   1, "golay24-12" },
7460   { 0, NULL }
7461 };
7462
7463 static const per_choice_t AL2HeaderFEC_choice[] = {
7464   {   0, &hf_h245_sebch16_5      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7465   {   1, &hf_h245_golay24_12     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7466   { 0, NULL, 0, NULL }
7467 };
7468
7469 static int
7470 dissect_h245_AL2HeaderFEC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7471   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7472                                  ett_h245_AL2HeaderFEC, AL2HeaderFEC_choice,
7473                                  NULL);
7474
7475   return offset;
7476 }
7477
7478
7479 static const per_sequence_t H223AL2MParameters_sequence[] = {
7480   { &hf_h245_aL2HeaderFEC   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL2HeaderFEC },
7481   { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7482   { NULL, 0, 0, NULL }
7483 };
7484
7485 static int
7486 dissect_h245_H223AL2MParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7487   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7488                                    ett_h245_H223AL2MParameters, H223AL2MParameters_sequence);
7489
7490   return offset;
7491 }
7492
7493
7494
7495 static int
7496 dissect_h245_T_h223_al_type_al2M(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7497 #line 344 "h245.cnf"
7498   if(h223_lc_params_temp)
7499         h223_lc_params_temp->al_type = al2M;
7500
7501   offset = dissect_h245_H223AL2MParameters(tvb, offset, actx, tree, hf_index);
7502
7503   return offset;
7504 }
7505
7506
7507 static const value_string h245_T_headerFormat_vals[] = {
7508   {   0, "sebch16-7" },
7509   {   1, "golay24-12" },
7510   { 0, NULL }
7511 };
7512
7513 static const per_choice_t T_headerFormat_choice[] = {
7514   {   0, &hf_h245_sebch16_7      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7515   {   1, &hf_h245_golay24_12     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7516   { 0, NULL, 0, NULL }
7517 };
7518
7519 static int
7520 dissect_h245_T_headerFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7521   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7522                                  ett_h245_T_headerFormat, T_headerFormat_choice,
7523                                  NULL);
7524
7525   return offset;
7526 }
7527
7528
7529 static const value_string h245_AL3CrcLength_vals[] = {
7530   {   0, "crc4bit" },
7531   {   1, "crc12bit" },
7532   {   2, "crc20bit" },
7533   {   3, "crc28bit" },
7534   {   4, "crc8bit" },
7535   {   5, "crc16bit" },
7536   {   6, "crc32bit" },
7537   {   7, "crcNotUsed" },
7538   { 0, NULL }
7539 };
7540
7541 static const per_choice_t AL3CrcLength_choice[] = {
7542   {   0, &hf_h245_crc4bit        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7543   {   1, &hf_h245_crc12bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7544   {   2, &hf_h245_crc20bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7545   {   3, &hf_h245_crc28bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7546   {   4, &hf_h245_crc8bit        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7547   {   5, &hf_h245_crc16bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7548   {   6, &hf_h245_crc32bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7549   {   7, &hf_h245_crcNotUsed     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7550   { 0, NULL, 0, NULL }
7551 };
7552
7553 static int
7554 dissect_h245_AL3CrcLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7555   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7556                                  ett_h245_AL3CrcLength, AL3CrcLength_choice,
7557                                  NULL);
7558
7559   return offset;
7560 }
7561
7562
7563 static const per_sequence_t H223AL3MParameters_sequence[] = {
7564   { &hf_h245_headerFormat   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_headerFormat },
7565   { &hf_h245_crlength2      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL3CrcLength },
7566   { &hf_h245_rcpcCodeRate   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_8_32 },
7567   { &hf_h245_arqType        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ArqType },
7568   { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7569   { &hf_h245_rsCodeCorrection, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
7570   { NULL, 0, 0, NULL }
7571 };
7572
7573 static int
7574 dissect_h245_H223AL3MParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7575   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7576                                    ett_h245_H223AL3MParameters, H223AL3MParameters_sequence);
7577
7578   return offset;
7579 }
7580
7581
7582
7583 static int
7584 dissect_h245_T_h223_al_type_al3M(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7585 #line 349 "h245.cnf"
7586   if(h223_lc_params_temp)
7587         h223_lc_params_temp->al_type = al3M;
7588
7589   offset = dissect_h245_H223AL3MParameters(tvb, offset, actx, tree, hf_index);
7590
7591   return offset;
7592 }
7593
7594
7595 static const value_string h245_T_adaptationLayerType_vals[] = {
7596   {   0, "nonStandard" },
7597   {   1, "al1Framed" },
7598   {   2, "al1NotFramed" },
7599   {   3, "al2WithoutSequenceNumbers" },
7600   {   4, "al2WithSequenceNumbers" },
7601   {   5, "al3" },
7602   {   6, "al1M" },
7603   {   7, "al2M" },
7604   {   8, "al3M" },
7605   { 0, NULL }
7606 };
7607
7608 static const per_choice_t T_adaptationLayerType_choice[] = {
7609   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
7610   {   1, &hf_h245_h223_al_type_al1Framed, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al1Framed },
7611   {   2, &hf_h245_h223_al_type_al1NotFramed, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al1NotFramed },
7612   {   3, &hf_h245_h223_al_type_al2WithoutSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al2WithoutSequenceNumbers },
7613   {   4, &hf_h245_h223_al_type_al2WithSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al2WithSequenceNumbers },
7614   {   5, &hf_h245_h223_al_type_al3, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al3 },
7615   {   6, &hf_h245_h223_al_type_al1M, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_h223_al_type_al1M },
7616   {   7, &hf_h245_h223_al_type_al2M, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_h223_al_type_al2M },
7617   {   8, &hf_h245_h223_al_type_al3M, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_h223_al_type_al3M },
7618   { 0, NULL, 0, NULL }
7619 };
7620
7621 static int
7622 dissect_h245_T_adaptationLayerType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7623   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7624                                  ett_h245_T_adaptationLayerType, T_adaptationLayerType_choice,
7625                                  NULL);
7626
7627   return offset;
7628 }
7629
7630
7631
7632 static int
7633 dissect_h245_T_h223_lc_segmentableFlag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7634 #line 356 "h245.cnf"
7635   guint32 value;
7636   offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, &value);
7637
7638   if(h223_lc_params_temp)
7639         h223_lc_params_temp->segmentable = value & 1;
7640
7641
7642   return offset;
7643 }
7644
7645
7646 static const per_sequence_t H223LogicalChannelParameters_sequence[] = {
7647   { &hf_h245_adaptationLayerType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_adaptationLayerType },
7648   { &hf_h245_h223_lc_segmentableFlag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_h223_lc_segmentableFlag },
7649   { NULL, 0, 0, NULL }
7650 };
7651
7652 int
7653 dissect_h245_H223LogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7654   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7655                                    ett_h245_H223LogicalChannelParameters, H223LogicalChannelParameters_sequence);
7656
7657   return offset;
7658 }
7659
7660
7661
7662 static int
7663 dissect_h245_OLC_fw_h223_params(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7664 #line 184 "h245.cnf"
7665   h223_fw_lc_params = se_alloc(sizeof(h223_lc_params));
7666   h223_fw_lc_params->al_type = al_nonStandard;
7667   h223_fw_lc_params->al_params = NULL;
7668   h223_fw_lc_params->segmentable = 0;
7669   h223_fw_lc_params->subdissector = NULL;
7670   h223_lc_params_temp = h223_fw_lc_params;
7671
7672   offset = dissect_h245_H223LogicalChannelParameters(tvb, offset, actx, tree, hf_index);
7673
7674   return offset;
7675 }
7676
7677
7678 static const value_string h245_CRCLength_vals[] = {
7679   {   0, "crc8bit" },
7680   {   1, "crc16bit" },
7681   {   2, "crc32bit" },
7682   { 0, NULL }
7683 };
7684
7685 static const per_choice_t CRCLength_choice[] = {
7686   {   0, &hf_h245_crc8bit        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7687   {   1, &hf_h245_crc16bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7688   {   2, &hf_h245_crc32bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7689   { 0, NULL, 0, NULL }
7690 };
7691
7692 static int
7693 dissect_h245_CRCLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7694   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7695                                  ett_h245_CRCLength, CRCLength_choice,
7696                                  NULL);
7697
7698   return offset;
7699 }
7700
7701
7702 static const per_sequence_t V76HDLCParameters_sequence[] = {
7703   { &hf_h245_crcLength      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CRCLength },
7704   { &hf_h245_n401           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_4095 },
7705   { &hf_h245_loopbackTestProcedure, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7706   { NULL, 0, 0, NULL }
7707 };
7708
7709 static int
7710 dissect_h245_V76HDLCParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7711   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7712                                    ett_h245_V76HDLCParameters, V76HDLCParameters_sequence);
7713
7714   return offset;
7715 }
7716
7717
7718 static const value_string h245_T_suspendResume_vals[] = {
7719   {   0, "noSuspendResume" },
7720   {   1, "suspendResumewAddress" },
7721   {   2, "suspendResumewoAddress" },
7722   { 0, NULL }
7723 };
7724
7725 static const per_choice_t T_suspendResume_choice[] = {
7726   {   0, &hf_h245_noSuspendResume, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7727   {   1, &hf_h245_suspendResumewAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7728   {   2, &hf_h245_suspendResumewoAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7729   { 0, NULL, 0, NULL }
7730 };
7731
7732 static int
7733 dissect_h245_T_suspendResume(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7734   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7735                                  ett_h245_T_suspendResume, T_suspendResume_choice,
7736                                  NULL);
7737
7738   return offset;
7739 }
7740
7741
7742 static const value_string h245_T_recovery_vals[] = {
7743   {   0, "rej" },
7744   {   1, "sREJ" },
7745   {   2, "mSREJ" },
7746   { 0, NULL }
7747 };
7748
7749 static const per_choice_t T_recovery_choice[] = {
7750   {   0, &hf_h245_rej            , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7751   {   1, &hf_h245_sREJ           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7752   {   2, &hf_h245_mSREJ          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7753   { 0, NULL, 0, NULL }
7754 };
7755
7756 static int
7757 dissect_h245_T_recovery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7758   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7759                                  ett_h245_T_recovery, T_recovery_choice,
7760                                  NULL);
7761
7762   return offset;
7763 }
7764
7765
7766 static const per_sequence_t T_eRM_sequence[] = {
7767   { &hf_h245_windowSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
7768   { &hf_h245_recovery       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_recovery },
7769   { NULL, 0, 0, NULL }
7770 };
7771
7772 static int
7773 dissect_h245_T_eRM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7774   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7775                                    ett_h245_T_eRM, T_eRM_sequence);
7776
7777   return offset;
7778 }
7779
7780
7781 static const value_string h245_V76LCP_mode_vals[] = {
7782   {   0, "eRM" },
7783   {   1, "uNERM" },
7784   { 0, NULL }
7785 };
7786
7787 static const per_choice_t V76LCP_mode_choice[] = {
7788   {   0, &hf_h245_eRM            , ASN1_EXTENSION_ROOT    , dissect_h245_T_eRM },
7789   {   1, &hf_h245_uNERM          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7790   { 0, NULL, 0, NULL }
7791 };
7792
7793 static int
7794 dissect_h245_V76LCP_mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7795   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7796                                  ett_h245_V76LCP_mode, V76LCP_mode_choice,
7797                                  NULL);
7798
7799   return offset;
7800 }
7801
7802
7803 static const per_sequence_t V75Parameters_sequence[] = {
7804   { &hf_h245_audioHeaderPresent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7805   { NULL, 0, 0, NULL }
7806 };
7807
7808 static int
7809 dissect_h245_V75Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7810   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7811                                    ett_h245_V75Parameters, V75Parameters_sequence);
7812
7813   return offset;
7814 }
7815
7816
7817 static const per_sequence_t V76LogicalChannelParameters_sequence[] = {
7818   { &hf_h245_hdlcParameters , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V76HDLCParameters },
7819   { &hf_h245_suspendResume  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_suspendResume },
7820   { &hf_h245_uIH            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7821   { &hf_h245_v76_mode       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V76LCP_mode },
7822   { &hf_h245_v75Parameters  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V75Parameters },
7823   { NULL, 0, 0, NULL }
7824 };
7825
7826 static int
7827 dissect_h245_V76LogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7828   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7829                                    ett_h245_V76LogicalChannelParameters, V76LogicalChannelParameters_sequence);
7830
7831   return offset;
7832 }
7833
7834
7835
7836 static int
7837 dissect_h245_Ipv4_network(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7838 #line 812 "h245.cnf"
7839   tvbuff_t *value_tvb;
7840
7841   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7842                                        4, 4, FALSE, &value_tvb);
7843
7844
7845   if (upcoming_channel && upcoming_channel->upcoming_addr) {
7846     tvb_memcpy(value_tvb, upcoming_channel->upcoming_addr->addr_buf, 0, 4);
7847     SET_ADDRESS(&upcoming_channel->upcoming_addr->addr, AT_IPv4, 4, upcoming_channel->upcoming_addr->addr_buf);
7848   }
7849
7850
7851   return offset;
7852 }
7853
7854
7855
7856 static int
7857 dissect_h245_TsapIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7858 #line 823 "h245.cnf"
7859   guint32 tsapIdentifier;
7860
7861   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7862                                                             0U, 65535U, &tsapIdentifier, FALSE);
7863
7864
7865   if (upcoming_channel && upcoming_channel->upcoming_addr) {
7866     upcoming_channel->upcoming_addr->port = tsapIdentifier;
7867   }
7868
7869
7870   return offset;
7871 }
7872
7873
7874 static const per_sequence_t T_iPAddress_sequence[] = {
7875   { &hf_h245_ip4_network    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ipv4_network },
7876   { &hf_h245_tsapIdentifier , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TsapIdentifier },
7877   { NULL, 0, 0, NULL }
7878 };
7879
7880 static int
7881 dissect_h245_T_iPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7882   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7883                                    ett_h245_T_iPAddress, T_iPAddress_sequence);
7884
7885   return offset;
7886 }
7887
7888
7889
7890 static int
7891 dissect_h245_OCTET_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7892   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7893                                        6, 6, FALSE, NULL);
7894
7895   return offset;
7896 }
7897
7898
7899
7900 static int
7901 dissect_h245_OCTET_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7902   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7903                                        4, 4, FALSE, NULL);
7904
7905   return offset;
7906 }
7907
7908
7909
7910 static int
7911 dissect_h245_OCTET_STRING_SIZE_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7912   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7913                                        2, 2, FALSE, NULL);
7914
7915   return offset;
7916 }
7917
7918
7919 static const per_sequence_t T_iPXAddress_sequence[] = {
7920   { &hf_h245_node           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_6 },
7921   { &hf_h245_netnum         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
7922   { &hf_h245_ipx_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_2 },
7923   { NULL, 0, 0, NULL }
7924 };
7925
7926 static int
7927 dissect_h245_T_iPXAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7928   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7929                                    ett_h245_T_iPXAddress, T_iPXAddress_sequence);
7930
7931   return offset;
7932 }
7933
7934
7935 static const per_sequence_t T_iP6Address_sequence[] = {
7936   { &hf_h245_ip6_network    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_16 },
7937   { &hf_h245_ipv6_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
7938   { NULL, 0, 0, NULL }
7939 };
7940
7941 static int
7942 dissect_h245_T_iP6Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7943   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7944                                    ett_h245_T_iP6Address, T_iP6Address_sequence);
7945
7946   return offset;
7947 }
7948
7949
7950 static const value_string h245_T_routing_vals[] = {
7951   {   0, "strict" },
7952   {   1, "loose" },
7953   { 0, NULL }
7954 };
7955
7956 static const per_choice_t T_routing_choice[] = {
7957   {   0, &hf_h245_strict         , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
7958   {   1, &hf_h245_loose          , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
7959   { 0, NULL, 0, NULL }
7960 };
7961
7962 static int
7963 dissect_h245_T_routing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7964   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7965                                  ett_h245_T_routing, T_routing_choice,
7966                                  NULL);
7967
7968   return offset;
7969 }
7970
7971
7972 static const per_sequence_t T_route_sequence_of[1] = {
7973   { &hf_h245_route_item     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
7974 };
7975
7976 static int
7977 dissect_h245_T_route(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7978   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
7979                                       ett_h245_T_route, T_route_sequence_of);
7980
7981   return offset;
7982 }
7983
7984
7985 static const per_sequence_t T_iPSourceRouteAddress_sequence[] = {
7986   { &hf_h245_routing        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_routing },
7987   { &hf_h245_network        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
7988   { &hf_h245_iPSrcRoute_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
7989   { &hf_h245_route          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_route },
7990   { NULL, 0, 0, NULL }
7991 };
7992
7993 static int
7994 dissect_h245_T_iPSourceRouteAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7995   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7996                                    ett_h245_T_iPSourceRouteAddress, T_iPSourceRouteAddress_sequence);
7997
7998   return offset;
7999 }
8000
8001
8002 const value_string h245_UnicastAddress_vals[] = {
8003   {   0, "iPAddress" },
8004   {   1, "iPXAddress" },
8005   {   2, "iP6Address" },
8006   {   3, "netBios" },
8007   {   4, "iPSourceRouteAddress" },
8008   {   5, "nsap" },
8009   {   6, "nonStandardAddress" },
8010   { 0, NULL }
8011 };
8012
8013 static const per_choice_t UnicastAddress_choice[] = {
8014   {   0, &hf_h245_iPAddress      , ASN1_EXTENSION_ROOT    , dissect_h245_T_iPAddress },
8015   {   1, &hf_h245_iPXAddress     , ASN1_EXTENSION_ROOT    , dissect_h245_T_iPXAddress },
8016   {   2, &hf_h245_iP6Address     , ASN1_EXTENSION_ROOT    , dissect_h245_T_iP6Address },
8017   {   3, &hf_h245_netBios        , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_16 },
8018   {   4, &hf_h245_iPSourceRouteAddress, ASN1_EXTENSION_ROOT    , dissect_h245_T_iPSourceRouteAddress },
8019   {   5, &hf_h245_nsap           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_OCTET_STRING_SIZE_1_20 },
8020   {   6, &hf_h245_nonStandardAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NonStandardParameter },
8021   { 0, NULL, 0, NULL }
8022 };
8023
8024 int
8025 dissect_h245_UnicastAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8026   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8027                                  ett_h245_UnicastAddress, UnicastAddress_choice,
8028                                  NULL);
8029
8030   return offset;
8031 }
8032
8033
8034 static const per_sequence_t MIPAddress_sequence[] = {
8035   { &hf_h245_mip4_network   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
8036   { &hf_h245_multicast_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
8037   { NULL, 0, 0, NULL }
8038 };
8039
8040 static int
8041 dissect_h245_MIPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8042   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8043                                    ett_h245_MIPAddress, MIPAddress_sequence);
8044
8045   return offset;
8046 }
8047
8048
8049 static const per_sequence_t MIP6Address_sequence[] = {
8050   { &hf_h245_mip6_network   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_16 },
8051   { &hf_h245_multicast_IPv6_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
8052   { NULL, 0, 0, NULL }
8053 };
8054
8055 static int
8056 dissect_h245_MIP6Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8057   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8058                                    ett_h245_MIP6Address, MIP6Address_sequence);
8059
8060   return offset;
8061 }
8062
8063
8064 const value_string h245_MulticastAddress_vals[] = {
8065   {   0, "iPAddress" },
8066   {   1, "iP6Address" },
8067   {   2, "nsap" },
8068   {   3, "nonStandardAddress" },
8069   { 0, NULL }
8070 };
8071
8072 static const per_choice_t MulticastAddress_choice[] = {
8073   {   0, &hf_h245_mIPAddress     , ASN1_EXTENSION_ROOT    , dissect_h245_MIPAddress },
8074   {   1, &hf_h245_mIP6Address    , ASN1_EXTENSION_ROOT    , dissect_h245_MIP6Address },
8075   {   2, &hf_h245_nsap           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_OCTET_STRING_SIZE_1_20 },
8076   {   3, &hf_h245_nonStandardAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NonStandardParameter },
8077   { 0, NULL, 0, NULL }
8078 };
8079
8080 int
8081 dissect_h245_MulticastAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8082   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8083                                  ett_h245_MulticastAddress, MulticastAddress_choice,
8084                                  NULL);
8085
8086   return offset;
8087 }
8088
8089
8090 const value_string h245_TransportAddress_vals[] = {
8091   {   0, "unicastAddress" },
8092   {   1, "multicastAddress" },
8093   { 0, NULL }
8094 };
8095
8096 static const per_choice_t TransportAddress_choice[] = {
8097   {   0, &hf_h245_unicastAddress , ASN1_EXTENSION_ROOT    , dissect_h245_UnicastAddress },
8098   {   1, &hf_h245_multicastAddress, ASN1_EXTENSION_ROOT    , dissect_h245_MulticastAddress },
8099   { 0, NULL, 0, NULL }
8100 };
8101
8102 int
8103 dissect_h245_TransportAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8104   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8105                                  ett_h245_TransportAddress, TransportAddress_choice,
8106                                  NULL);
8107
8108   return offset;
8109 }
8110
8111
8112
8113 static int
8114 dissect_h245_T_mediaChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8115 #line 842 "h245.cnf"
8116   if (upcoming_channel)
8117     upcoming_channel->upcoming_addr = &upcoming_channel->media_addr;
8118
8119   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
8120
8121 #line 846 "h245.cnf"
8122   if (upcoming_channel)
8123     upcoming_channel->upcoming_addr = NULL;
8124
8125   return offset;
8126 }
8127
8128
8129
8130 static int
8131 dissect_h245_T_mediaControlChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8132 #line 860 "h245.cnf"
8133   if (upcoming_channel)
8134     upcoming_channel->upcoming_addr = &upcoming_channel->media_control_addr;
8135
8136   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
8137
8138 #line 864 "h245.cnf"
8139   if (upcoming_channel)
8140     upcoming_channel->upcoming_addr = NULL;
8141
8142   return offset;
8143 }
8144
8145
8146
8147 static int
8148 dissect_h245_McuNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8149   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8150                                                             0U, 192U, NULL, FALSE);
8151
8152   return offset;
8153 }
8154
8155
8156
8157 static int
8158 dissect_h245_TerminalNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8159   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8160                                                             0U, 192U, NULL, FALSE);
8161
8162   return offset;
8163 }
8164
8165
8166 static const per_sequence_t TerminalLabel_sequence[] = {
8167   { &hf_h245_mcuNumber      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_McuNumber },
8168   { &hf_h245_terminalNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalNumber },
8169   { NULL, 0, 0, NULL }
8170 };
8171
8172 static int
8173 dissect_h245_TerminalLabel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8174   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8175                                    ett_h245_TerminalLabel, TerminalLabel_sequence);
8176
8177   return offset;
8178 }
8179
8180
8181 static const value_string h245_T_mediaPacketization_vals[] = {
8182   {   0, "h261aVideoPacketization" },
8183   {   1, "rtpPayloadType" },
8184   { 0, NULL }
8185 };
8186
8187 static const per_choice_t T_mediaPacketization_choice[] = {
8188   {   0, &hf_h245_h261aVideoPacketizationFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8189   {   1, &hf_h245_rtpPayloadType , ASN1_NOT_EXTENSION_ROOT, dissect_h245_RTPPayloadType },
8190   { 0, NULL, 0, NULL }
8191 };
8192
8193 static int
8194 dissect_h245_T_mediaPacketization(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8195   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8196                                  ett_h245_T_mediaPacketization, T_mediaPacketization_choice,
8197                                  NULL);
8198
8199   return offset;
8200 }
8201
8202
8203 static const per_sequence_t H2250LogicalChannelParameters_sequence[] = {
8204   { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
8205   { &hf_h245_sessionID_0_255, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
8206   { &hf_h245_associatedSessionID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
8207   { &hf_h245_mediaChannel   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_mediaChannel },
8208   { &hf_h245_mediaGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
8209   { &hf_h245_mediaControlChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_mediaControlChannel },
8210   { &hf_h245_mediaControlGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
8211   { &hf_h245_silenceSuppression, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
8212   { &hf_h245_destination    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
8213   { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_96_127 },
8214   { &hf_h245_mediaPacketization, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_mediaPacketization },
8215   { &hf_h245_transportCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TransportCapability },
8216   { &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_RedundancyEncoding },
8217   { &hf_h245_source         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
8218   { NULL, 0, 0, NULL }
8219 };
8220
8221 static int
8222 dissect_h245_H2250LogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8223   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8224                                    ett_h245_H2250LogicalChannelParameters, H2250LogicalChannelParameters_sequence);
8225
8226   return offset;
8227 }
8228
8229
8230 static const value_string h245_OLC_forw_multiplexParameters_vals[] = {
8231   {   0, "h222LogicalChannelParameters" },
8232   {   1, "h223LogicalChannelParameters" },
8233   {   2, "v76LogicalChannelParameters" },
8234   {   3, "h2250LogicalChannelParameters" },
8235   {   4, "none" },
8236   { 0, NULL }
8237 };
8238
8239 static const per_choice_t OLC_forw_multiplexParameters_choice[] = {
8240   {   0, &hf_h245_h222LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_H222LogicalChannelParameters },
8241   {   1, &hf_h245_olc_fw_h223_params, ASN1_EXTENSION_ROOT    , dissect_h245_OLC_fw_h223_params },
8242   {   2, &hf_h245_v76LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_V76LogicalChannelParameters },
8243   {   3, &hf_h245_h2250LogicalChannelParameters, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250LogicalChannelParameters },
8244   {   4, &hf_h245_none           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
8245   { 0, NULL, 0, NULL }
8246 };
8247
8248 static int
8249 dissect_h245_OLC_forw_multiplexParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8250   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8251                                  ett_h245_OLC_forw_multiplexParameters, OLC_forw_multiplexParameters_choice,
8252                                  NULL);
8253
8254   return offset;
8255 }
8256
8257
8258 static const per_sequence_t T_forwardLogicalChannelParameters_sequence[] = {
8259   { &hf_h245_portNumber     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
8260   { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
8261   { &hf_h245_olc_forw_multiplexParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OLC_forw_multiplexParameters },
8262   { &hf_h245_forwardLogicalChannelDependency, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8263   { &hf_h245_replacementFor , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8264   { NULL, 0, 0, NULL }
8265 };
8266
8267 static int
8268 dissect_h245_T_forwardLogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8269 #line 167 "h245.cnf"
8270
8271   upcoming_channel = (upcoming_olc) ? &upcoming_olc->fwd_lc : NULL;
8272
8273   h245_lc_dissector = NULL;
8274   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8275                                    ett_h245_T_forwardLogicalChannelParameters, T_forwardLogicalChannelParameters_sequence);
8276
8277   if(h223_lc_params_temp && h245_lc_dissector)
8278         h223_lc_params_temp->subdissector = h245_lc_dissector;
8279   else if(h223_lc_params_temp)
8280         h223_lc_params_temp->subdissector = data_handle;
8281
8282   if (upcoming_channel && codec_type) {
8283     g_strlcpy(upcoming_channel->data_type_str, codec_type, sizeof(upcoming_channel->data_type_str));
8284   }
8285   upcoming_channel = NULL;
8286
8287
8288   return offset;
8289 }
8290
8291
8292
8293 static int
8294 dissect_h245_OLC_rev_h223_params(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8295 #line 205 "h245.cnf"
8296   h223_rev_lc_params = se_alloc(sizeof(h223_lc_params));
8297   h223_rev_lc_params->al_type = al_nonStandard;
8298   h223_rev_lc_params->al_params = NULL;
8299   h223_rev_lc_params->segmentable = 0;
8300   h223_rev_lc_params->subdissector = NULL;
8301   h223_lc_params_temp = h223_rev_lc_params;
8302
8303   offset = dissect_h245_H223LogicalChannelParameters(tvb, offset, actx, tree, hf_index);
8304
8305   return offset;
8306 }
8307
8308
8309 static const value_string h245_OLC_rev_multiplexParameters_vals[] = {
8310   {   0, "h223LogicalChannelParameters" },
8311   {   1, "v76LogicalChannelParameters" },
8312   {   2, "h2250LogicalChannelParameters" },
8313   { 0, NULL }
8314 };
8315
8316 static const per_choice_t OLC_rev_multiplexParameters_choice[] = {
8317   {   0, &hf_h245_olc_rev_h223_params, ASN1_EXTENSION_ROOT    , dissect_h245_OLC_rev_h223_params },
8318   {   1, &hf_h245_v76LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_V76LogicalChannelParameters },
8319   {   2, &hf_h245_h2250LogicalChannelParameters, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250LogicalChannelParameters },
8320   { 0, NULL, 0, NULL }
8321 };
8322
8323 static int
8324 dissect_h245_OLC_rev_multiplexParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8325   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8326                                  ett_h245_OLC_rev_multiplexParameters, OLC_rev_multiplexParameters_choice,
8327                                  NULL);
8328
8329   return offset;
8330 }
8331
8332
8333 static const per_sequence_t OLC_reverseLogicalChannelParameters_sequence[] = {
8334   { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
8335   { &hf_h245_olc_rev_multiplexParameter, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OLC_rev_multiplexParameters },
8336   { &hf_h245_reverseLogicalChannelDependency, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8337   { &hf_h245_replacementFor , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8338   { NULL, 0, 0, NULL }
8339 };
8340
8341 static int
8342 dissect_h245_OLC_reverseLogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8343 #line 193 "h245.cnf"
8344
8345   upcoming_channel = (upcoming_olc) ? &upcoming_olc->rev_lc : NULL;
8346
8347   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8348                                    ett_h245_OLC_reverseLogicalChannelParameters, OLC_reverseLogicalChannelParameters_sequence);
8349
8350         
8351   if (upcoming_channel && codec_type) {
8352     g_strlcpy(upcoming_channel->data_type_str, codec_type, sizeof(upcoming_channel->data_type_str));
8353   }
8354   upcoming_channel = NULL;
8355
8356
8357   return offset;
8358 }
8359
8360
8361 static const value_string h245_T_distribution_vals[] = {
8362   {   0, "unicast" },
8363   {   1, "multicast" },
8364   { 0, NULL }
8365 };
8366
8367 static const per_choice_t T_distribution_choice[] = {
8368   {   0, &hf_h245_unicast        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8369   {   1, &hf_h245_multicast      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8370   { 0, NULL, 0, NULL }
8371 };
8372
8373 static int
8374 dissect_h245_T_distribution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8375   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8376                                  ett_h245_T_distribution, T_distribution_choice,
8377                                  NULL);
8378
8379   return offset;
8380 }
8381
8382
8383
8384 static int
8385 dissect_h245_T_e164Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8386   offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
8387                                                       1, 128, "0123456789#*,", 13,
8388                                                       NULL);
8389
8390   return offset;
8391 }
8392
8393
8394 static const value_string h245_T_networkAddress_vals[] = {
8395   {   0, "q2931Address" },
8396   {   1, "e164Address" },
8397   {   2, "localAreaAddress" },
8398   { 0, NULL }
8399 };
8400
8401 static const per_choice_t T_networkAddress_choice[] = {
8402   {   0, &hf_h245_q2931Address   , ASN1_EXTENSION_ROOT    , dissect_h245_Q2931Address },
8403   {   1, &hf_h245_e164Address    , ASN1_EXTENSION_ROOT    , dissect_h245_T_e164Address },
8404   {   2, &hf_h245_localAreaAddress, ASN1_EXTENSION_ROOT    , dissect_h245_TransportAddress },
8405   { 0, NULL, 0, NULL }
8406 };
8407
8408 static int
8409 dissect_h245_T_networkAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8410   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8411                                  ett_h245_T_networkAddress, T_networkAddress_choice,
8412                                  NULL);
8413
8414   return offset;
8415 }
8416
8417
8418
8419 static int
8420 dissect_h245_OCTET_STRING_SIZE_1_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8421   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8422                                        1, 255, FALSE, NULL);
8423
8424   return offset;
8425 }
8426
8427
8428 static const value_string h245_T_t120SetupProcedure_vals[] = {
8429   {   0, "originateCall" },
8430   {   1, "waitForCall" },
8431   {   2, "issueQuery" },
8432   { 0, NULL }
8433 };
8434
8435 static const per_choice_t T_t120SetupProcedure_choice[] = {
8436   {   0, &hf_h245_originateCall  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8437   {   1, &hf_h245_waitForCall    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8438   {   2, &hf_h245_issueQuery     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8439   { 0, NULL, 0, NULL }
8440 };
8441
8442 static int
8443 dissect_h245_T_t120SetupProcedure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8444   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8445                                  ett_h245_T_t120SetupProcedure, T_t120SetupProcedure_choice,
8446                                  NULL);
8447
8448   return offset;
8449 }
8450
8451
8452 static const per_sequence_t NetworkAccessParameters_sequence[] = {
8453   { &hf_h245_distribution   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_distribution },
8454   { &hf_h245_networkAddress , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_networkAddress },
8455   { &hf_h245_associateConference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
8456   { &hf_h245_externalReference, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_255 },
8457   { &hf_h245_t120SetupProcedure, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_t120SetupProcedure },
8458   { NULL, 0, 0, NULL }
8459 };
8460
8461 static int
8462 dissect_h245_NetworkAccessParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8463   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8464                                    ett_h245_NetworkAccessParameters, NetworkAccessParameters_sequence);
8465
8466   return offset;
8467 }
8468
8469
8470
8471 static int
8472 dissect_h245_OCTET_STRING_SIZE_1_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8473   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8474                                        1, 65535, FALSE, NULL);
8475
8476   return offset;
8477 }
8478
8479
8480
8481 static int
8482 dissect_h245_BIT_STRING_SIZE_1_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8483   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8484                                      1, 65535, FALSE, NULL);
8485
8486   return offset;
8487 }
8488
8489
8490 static const per_sequence_t EscrowData_sequence[] = {
8491   { &hf_h245_escrowID       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
8492   { &hf_h245_escrowValue    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BIT_STRING_SIZE_1_65535 },
8493   { NULL, 0, 0, NULL }
8494 };
8495
8496 static int
8497 dissect_h245_EscrowData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8498   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8499                                    ett_h245_EscrowData, EscrowData_sequence);
8500
8501   return offset;
8502 }
8503
8504
8505 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_EscrowData_sequence_of[1] = {
8506   { &hf_h245_escrowentry_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_EscrowData },
8507 };
8508
8509 static int
8510 dissect_h245_SEQUENCE_SIZE_1_256_OF_EscrowData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8511   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8512                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_EscrowData, SEQUENCE_SIZE_1_256_OF_EscrowData_sequence_of,
8513                                                   1, 256);
8514
8515   return offset;
8516 }
8517
8518
8519 static const per_sequence_t EncryptionSync_sequence[] = {
8520   { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
8521   { &hf_h245_synchFlag      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
8522   { &hf_h245_h235Key        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_1_65535 },
8523   { &hf_h245_escrowentry    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_EscrowData },
8524   { &hf_h245_genericParameter, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericParameter },
8525   { NULL, 0, 0, NULL }
8526 };
8527
8528 static int
8529 dissect_h245_EncryptionSync(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8530 #line 701 "h245.cnf"
8531   void *priv_data = actx->private_data;
8532   actx->private_data = gef_ctx_alloc(NULL, "EncryptionSync");
8533
8534   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8535                                    ett_h245_EncryptionSync, EncryptionSync_sequence);
8536
8537 #line 704 "h245.cnf"
8538   actx->private_data = priv_data;
8539
8540   return offset;
8541 }
8542
8543
8544 static const per_sequence_t OpenLogicalChannel_sequence[] = {
8545   { &hf_h245_olc_fw_lcn     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OLC_fw_lcn },
8546   { &hf_h245_forwardLogicalChannelParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_forwardLogicalChannelParameters },
8547   { &hf_h245_reverseLogicalChannelParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OLC_reverseLogicalChannelParameters },
8548   { &hf_h245_separateStack  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_NetworkAccessParameters },
8549   { &hf_h245_encryptionSync , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptionSync },
8550   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
8551   { NULL, 0, 0, NULL }
8552 };
8553
8554 int
8555 dissect_h245_OpenLogicalChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8556 #line 128 "h245.cnf"
8557   gint32 temp;
8558
8559   upcoming_olc = (!actx->pinfo->fd->flags.visited) ? se_alloc0(sizeof(olc_info_t)) : NULL;
8560
8561   h223_fw_lc_num = 0;
8562   h223_lc_params_temp = NULL;
8563
8564   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8565                                    ett_h245_OpenLogicalChannel, OpenLogicalChannel_sequence);
8566
8567
8568   if(h223_fw_lc_num != 0 && h223_fw_lc_params) {
8569         h223_pending_olc *pending = se_alloc(sizeof(h223_pending_olc));
8570         pending->fw_channel_params = h223_fw_lc_params;
8571         pending->rev_channel_params = h223_rev_lc_params;
8572         temp = h223_fw_lc_num;
8573         if (actx->pinfo->p2p_dir > -1)
8574                 g_hash_table_insert(h223_pending_olc_reqs[actx->pinfo->p2p_dir], GINT_TO_POINTER(temp), pending);
8575   }
8576
8577   if (upcoming_olc) {
8578     if (fast_start) {
8579       h245_setup_channels(actx->pinfo, &upcoming_olc->rev_lc);
8580     } else {
8581       g_hash_table_insert(h245_pending_olc_reqs, 
8582         se_strdup(gen_olc_key(upcoming_olc->fwd_lc_num, &actx->pinfo->dst, &actx->pinfo->src)), 
8583         upcoming_olc);
8584     }
8585   }
8586   upcoming_olc = NULL;
8587
8588   if (h245_pi != NULL)
8589     h245_pi->msg_type = H245_OpenLogChn;
8590
8591
8592   return offset;
8593 }
8594
8595
8596 static const value_string h245_T_cLC_source_vals[] = {
8597   {   0, "user" },
8598   {   1, "lcse" },
8599   { 0, NULL }
8600 };
8601
8602 static const per_choice_t T_cLC_source_choice[] = {
8603   {   0, &hf_h245_user           , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8604   {   1, &hf_h245_lcse           , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8605   { 0, NULL, 0, NULL }
8606 };
8607
8608 static int
8609 dissect_h245_T_cLC_source(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8610   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8611                                  ett_h245_T_cLC_source, T_cLC_source_choice,
8612                                  NULL);
8613
8614   return offset;
8615 }
8616
8617
8618 static const value_string h245_Clc_reason_vals[] = {
8619   {   0, "unknown" },
8620   {   1, "reopen" },
8621   {   2, "reservationFailure" },
8622   { 0, NULL }
8623 };
8624
8625 static const per_choice_t Clc_reason_choice[] = {
8626   {   0, &hf_h245_unknown        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8627   {   1, &hf_h245_reopen         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8628   {   2, &hf_h245_reservationFailure, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8629   { 0, NULL, 0, NULL }
8630 };
8631
8632 static int
8633 dissect_h245_Clc_reason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8634   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8635                                  ett_h245_Clc_reason, Clc_reason_choice,
8636                                  NULL);
8637
8638   return offset;
8639 }
8640
8641
8642 static const per_sequence_t CloseLogicalChannel_sequence[] = {
8643   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
8644   { &hf_h245_cLC_source     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_cLC_source },
8645   { &hf_h245_clc_reason     , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_Clc_reason },
8646   { NULL, 0, 0, NULL }
8647 };
8648
8649 static int
8650 dissect_h245_CloseLogicalChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8651   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8652                                    ett_h245_CloseLogicalChannel, CloseLogicalChannel_sequence);
8653
8654 #line 560 "h245.cnf"
8655
8656 if (h245_pi != NULL)
8657   h245_pi->msg_type = H245_CloseLogChn;
8658
8659   return offset;
8660 }
8661
8662
8663 static const value_string h245_T_reason_vals[] = {
8664   {   0, "unknown" },
8665   {   1, "normal" },
8666   {   2, "reopen" },
8667   {   3, "reservationFailure" },
8668   { 0, NULL }
8669 };
8670
8671 static const per_choice_t T_reason_choice[] = {
8672   {   0, &hf_h245_unknown        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8673   {   1, &hf_h245_normal         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8674   {   2, &hf_h245_reopen         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8675   {   3, &hf_h245_reservationFailure, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8676   { 0, NULL, 0, NULL }
8677 };
8678
8679 static int
8680 dissect_h245_T_reason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8681   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8682                                  ett_h245_T_reason, T_reason_choice,
8683                                  NULL);
8684
8685   return offset;
8686 }
8687
8688
8689 static const per_sequence_t RequestChannelClose_sequence[] = {
8690   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
8691   { &hf_h245_qosCapability  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_QOSCapability },
8692   { &hf_h245_reason         , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_T_reason },
8693   { NULL, 0, 0, NULL }
8694 };
8695
8696 static int
8697 dissect_h245_RequestChannelClose(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8698   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8699                                    ett_h245_RequestChannelClose, RequestChannelClose_sequence);
8700
8701   return offset;
8702 }
8703
8704
8705
8706 static int
8707 dissect_h245_MultiplexTableEntryNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8708 #line 66 "h245.cnf"
8709   guint32 value;
8710   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8711                                                             1U, 15U, &value, FALSE);
8712
8713   h223_mc = value & 0xf;
8714
8715
8716   return offset;
8717 }
8718
8719
8720
8721 static int
8722 dissect_h245_T_logicalChannelNum(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8723 #line 92 "h245.cnf"
8724   /*MultiplexElement/type/logicalChannelNumber*/
8725   guint32 value;
8726   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8727                                                             0U, 65535U, &value, FALSE);
8728
8729   h223_me->sublist = NULL;
8730   h223_me->vc = value & 0xffff;
8731
8732
8733   return offset;
8734 }
8735
8736
8737 static const per_sequence_t T_subElementList_sequence_of[1] = {
8738   { &hf_h245_subElementList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexElement },
8739 };
8740
8741 static int
8742 dissect_h245_T_subElementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8743 #line 100 "h245.cnf"
8744   h223_mux_element dummy_me, *parent_me = h223_me;
8745   h223_me = &dummy_me;
8746   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8747                                                   ett_h245_T_subElementList, T_subElementList_sequence_of,
8748                                                   2, 255);
8749
8750   parent_me->sublist = dummy_me.next;
8751   h223_me = parent_me;
8752   h223_me->vc = 0;
8753
8754
8755   return offset;
8756 }
8757
8758
8759 static const value_string h245_Me_type_vals[] = {
8760   {   0, "logicalChannelNumber" },
8761   {   1, "subElementList" },
8762   { 0, NULL }
8763 };
8764
8765 static const per_choice_t Me_type_choice[] = {
8766   {   0, &hf_h245_logicalChannelNum, ASN1_NO_EXTENSIONS     , dissect_h245_T_logicalChannelNum },
8767   {   1, &hf_h245_subElementList , ASN1_NO_EXTENSIONS     , dissect_h245_T_subElementList },
8768   { 0, NULL, 0, NULL }
8769 };
8770
8771 static int
8772 dissect_h245_Me_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8773   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8774                                  ett_h245_Me_type, Me_type_choice,
8775                                  NULL);
8776
8777   return offset;
8778 }
8779
8780
8781
8782 static int
8783 dissect_h245_ME_finiteRepeatCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8784 #line 115 "h245.cnf"
8785   guint32 value;
8786   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8787                                                             1U, 65535U, &value, FALSE);
8788
8789   h223_me->repeat_count = value & 0xffff;
8790
8791
8792   return offset;
8793 }
8794
8795
8796
8797 static int
8798 dissect_h245_T_untilClosingFlag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8799   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
8800
8801 #line 109 "h245.cnf"
8802   h223_me->repeat_count = 0;
8803
8804   return offset;
8805 }
8806
8807
8808 static const value_string h245_ME_repeatCount_vals[] = {
8809   {   0, "finite" },
8810   {   1, "untilClosingFlag" },
8811   { 0, NULL }
8812 };
8813
8814 static const per_choice_t ME_repeatCount_choice[] = {
8815   {   0, &hf_h245_me_repeatCount_finite, ASN1_NO_EXTENSIONS     , dissect_h245_ME_finiteRepeatCount },
8816   {   1, &hf_h245_untilClosingFlag, ASN1_NO_EXTENSIONS     , dissect_h245_T_untilClosingFlag },
8817   { 0, NULL, 0, NULL }
8818 };
8819
8820 static int
8821 dissect_h245_ME_repeatCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8822   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8823                                  ett_h245_ME_repeatCount, ME_repeatCount_choice,
8824                                  NULL);
8825
8826   return offset;
8827 }
8828
8829
8830 static const per_sequence_t MultiplexElement_sequence[] = {
8831   { &hf_h245_me_type        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_Me_type },
8832   { &hf_h245_me_repeatCount , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ME_repeatCount },
8833   { NULL, 0, 0, NULL }
8834 };
8835
8836 static int
8837 dissect_h245_MultiplexElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8838 #line 82 "h245.cnf"
8839   /*MultiplexElement*/
8840   h223_mux_element* me = se_alloc(sizeof(h223_mux_element));
8841   h223_me->next = me;
8842   h223_me = me;
8843   h223_me->next = NULL;
8844
8845   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8846                                    ett_h245_MultiplexElement, MultiplexElement_sequence);
8847
8848   return offset;
8849 }
8850
8851
8852 static const per_sequence_t T_elementList_sequence_of[1] = {
8853   { &hf_h245_elementList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexElement },
8854 };
8855
8856 static int
8857 dissect_h245_T_elementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8858 #line 72 "h245.cnf"
8859   /* create a h223_mux_element to hold onto the head of the list, since
8860    * h223_me will track the tail */
8861   h223_mux_element dummy_me;
8862   h223_me = &dummy_me;
8863   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8864                                                   ett_h245_T_elementList, T_elementList_sequence_of,
8865                                                   1, 256);
8866
8867   /* set h223_me to the head of the list for MEDescriptor to pick up */
8868   h223_me = dummy_me.next;
8869
8870
8871   return offset;
8872 }
8873
8874
8875 static const per_sequence_t MultiplexEntryDescriptor_sequence[] = {
8876   { &hf_h245_multiplexTableEntryNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
8877   { &hf_h245_elementList    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_T_elementList },
8878   { NULL, 0, 0, NULL }
8879 };
8880
8881 static int
8882 dissect_h245_MultiplexEntryDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8883 #line 54 "h245.cnf"
8884   /*MultiplexEntryDescriptor*/
8885   h223_me = NULL;
8886   h223_mc = 0;
8887   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8888                                    ett_h245_MultiplexEntryDescriptor, MultiplexEntryDescriptor_sequence);
8889
8890   if(h223_set_mc_handle)
8891     (*h223_set_mc_handle)(actx->pinfo, h223_mc, h223_me);
8892  /* stuff */
8893
8894
8895   return offset;
8896 }
8897
8898
8899 static const per_sequence_t SET_SIZE_1_15_OF_MultiplexEntryDescriptor_set_of[1] = {
8900   { &hf_h245_multiplexEntryDescriptors_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexEntryDescriptor },
8901 };
8902
8903 static int
8904 dissect_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8905   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
8906                                              ett_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor, SET_SIZE_1_15_OF_MultiplexEntryDescriptor_set_of,
8907                                              1, 15);
8908
8909   return offset;
8910 }
8911
8912
8913 static const per_sequence_t MultiplexEntrySend_sequence[] = {
8914   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
8915   { &hf_h245_multiplexEntryDescriptors, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor },
8916   { NULL, 0, 0, NULL }
8917 };
8918
8919 static int
8920 dissect_h245_MultiplexEntrySend(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8921   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8922                                    ett_h245_MultiplexEntrySend, MultiplexEntrySend_sequence);
8923
8924   return offset;
8925 }
8926
8927
8928 static const per_sequence_t SET_SIZE_1_15_OF_MultiplexTableEntryNumber_set_of[1] = {
8929   { &hf_h245_multiplexTableEntryNumbers_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
8930 };
8931
8932 static int
8933 dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8934   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
8935                                              ett_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber, SET_SIZE_1_15_OF_MultiplexTableEntryNumber_set_of,
8936                                              1, 15);
8937
8938   return offset;
8939 }
8940
8941
8942 static const per_sequence_t RequestMultiplexEntry_sequence[] = {
8943   { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
8944   { NULL, 0, 0, NULL }
8945 };
8946
8947 static int
8948 dissect_h245_RequestMultiplexEntry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8949   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8950                                    ett_h245_RequestMultiplexEntry, RequestMultiplexEntry_sequence);
8951
8952   return offset;
8953 }
8954
8955
8956 static const value_string h245_H261Resolution_vals[] = {
8957   {   0, "qcif" },
8958   {   1, "cif" },
8959   { 0, NULL }
8960 };
8961
8962 static const per_choice_t H261Resolution_choice[] = {
8963   {   0, &hf_h245_qcif           , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8964   {   1, &hf_h245_cif            , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8965   { 0, NULL, 0, NULL }
8966 };
8967
8968 static int
8969 dissect_h245_H261Resolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8970   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8971                                  ett_h245_H261Resolution, H261Resolution_choice,
8972                                  NULL);
8973
8974   return offset;
8975 }
8976
8977
8978 static const per_sequence_t H261VideoMode_sequence[] = {
8979   { &hf_h245_h261_resolution, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_H261Resolution },
8980   { &hf_h245_bitRate_1_19200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_19200 },
8981   { &hf_h245_stillImageTransmission, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
8982   { NULL, 0, 0, NULL }
8983 };
8984
8985 static int
8986 dissect_h245_H261VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8987   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8988                                    ett_h245_H261VideoMode, H261VideoMode_sequence);
8989
8990   return offset;
8991 }
8992
8993
8994 static const value_string h245_T_profileAndLevel_vals[] = {
8995   {   0, "profileAndLevel-SPatML" },
8996   {   1, "profileAndLevel-MPatLL" },
8997   {   2, "profileAndLevel-MPatML" },
8998   {   3, "profileAndLevel-MPatH-14" },
8999   {   4, "profileAndLevel-MPatHL" },
9000   {   5, "profileAndLevel-SNRatLL" },
9001   {   6, "profileAndLevel-SNRatML" },
9002   {   7, "profileAndLevel-SpatialatH-14" },
9003   {   8, "profileAndLevel-HPatML" },
9004   {   9, "profileAndLevel-HPatH-14" },
9005   {  10, "profileAndLevel-HPatHL" },
9006   { 0, NULL }
9007 };
9008
9009 static const per_choice_t T_profileAndLevel_choice[] = {
9010   {   0, &hf_h245_profileAndLevel_SPatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9011   {   1, &hf_h245_profileAndLevel_MPatLLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9012   {   2, &hf_h245_profileAndLevel_MPatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9013   {   3, &hf_h245_profileAndLevel_MPatH_14Mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9014   {   4, &hf_h245_profileAndLevel_MPatHLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9015   {   5, &hf_h245_profileAndLevel_SNRatLLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9016   {   6, &hf_h245_profileAndLevel_SNRatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9017   {   7, &hf_h245_profileAndLevel_SpatialatH_14Mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9018   {   8, &hf_h245_profileAndLevel_HPatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9019   {   9, &hf_h245_profileAndLevel_HPatH_14Mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9020   {  10, &hf_h245_profileAndLevel_HPatHLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9021   { 0, NULL, 0, NULL }
9022 };
9023
9024 static int
9025 dissect_h245_T_profileAndLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9026   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9027                                  ett_h245_T_profileAndLevel, T_profileAndLevel_choice,
9028                                  NULL);
9029
9030   return offset;
9031 }
9032
9033
9034 static const per_sequence_t H262VideoMode_sequence[] = {
9035   { &hf_h245_profileAndLevel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_profileAndLevel },
9036   { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
9037   { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
9038   { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9039   { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9040   { &hf_h245_framesPerSecond, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
9041   { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
9042   { NULL, 0, 0, NULL }
9043 };
9044
9045 static int
9046 dissect_h245_H262VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9047   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9048                                    ett_h245_H262VideoMode, H262VideoMode_sequence);
9049
9050   return offset;
9051 }
9052
9053
9054 static const value_string h245_H263Resolution_vals[] = {
9055   {   0, "sqcif" },
9056   {   1, "qcif" },
9057   {   2, "cif" },
9058   {   3, "cif4" },
9059   {   4, "cif16" },
9060   {   5, "custom" },
9061   { 0, NULL }
9062 };
9063
9064 static const per_choice_t H263Resolution_choice[] = {
9065   {   0, &hf_h245_sqcif          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9066   {   1, &hf_h245_qcif           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9067   {   2, &hf_h245_cif            , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9068   {   3, &hf_h245_cif4           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9069   {   4, &hf_h245_cif16          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9070   {   5, &hf_h245_custom_res     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
9071   { 0, NULL, 0, NULL }
9072 };
9073
9074 static int
9075 dissect_h245_H263Resolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9076   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9077                                  ett_h245_H263Resolution, H263Resolution_choice,
9078                                  NULL);
9079
9080   return offset;
9081 }
9082
9083
9084 static const per_sequence_t H263VideoMode_sequence[] = {
9085   { &hf_h245_h263_resolution, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_H263Resolution },
9086   { &hf_h245_bitRate_1_19200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_19200 },
9087   { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9088   { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9089   { &hf_h245_advancedPrediction, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9090   { &hf_h245_pbFrames       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9091   { &hf_h245_errorCompensation, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9092   { &hf_h245_enhancementLayerInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EnhancementLayerInfo },
9093   { &hf_h245_h263Options    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H263Options },
9094   { NULL, 0, 0, NULL }
9095 };
9096
9097 static int
9098 dissect_h245_H263VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9099   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9100                                    ett_h245_H263VideoMode, H263VideoMode_sequence);
9101
9102   return offset;
9103 }
9104
9105
9106 static const per_sequence_t IS11172VideoMode_sequence[] = {
9107   { &hf_h245_constrainedBitstream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9108   { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
9109   { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
9110   { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9111   { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9112   { &hf_h245_pictureRate    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
9113   { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
9114   { NULL, 0, 0, NULL }
9115 };
9116
9117 static int
9118 dissect_h245_IS11172VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9119   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9120                                    ett_h245_IS11172VideoMode, IS11172VideoMode_sequence);
9121
9122   return offset;
9123 }
9124
9125
9126 static const value_string h245_VideoMode_vals[] = {
9127   {   0, "nonStandard" },
9128   {   1, "h261VideoMode" },
9129   {   2, "h262VideoMode" },
9130   {   3, "h263VideoMode" },
9131   {   4, "is11172VideoMode" },
9132   {   5, "genericVideoMode" },
9133   { 0, NULL }
9134 };
9135
9136 static const per_choice_t VideoMode_choice[] = {
9137   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9138   {   1, &hf_h245_h261VideoMode  , ASN1_EXTENSION_ROOT    , dissect_h245_H261VideoMode },
9139   {   2, &hf_h245_h262VideoMode  , ASN1_EXTENSION_ROOT    , dissect_h245_H262VideoMode },
9140   {   3, &hf_h245_h263VideoMode  , ASN1_EXTENSION_ROOT    , dissect_h245_H263VideoMode },
9141   {   4, &hf_h245_is11172VideoMode, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172VideoMode },
9142   {   5, &hf_h245_genericVideoMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
9143   { 0, NULL, 0, NULL }
9144 };
9145
9146 static int
9147 dissect_h245_VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9148 #line 524 "h245.cnf"
9149   guint32 value;
9150
9151   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9152                                  ett_h245_VideoMode, VideoMode_choice,
9153                                  &value);
9154
9155   codec_type = val_to_str(value, h245_VideoMode_vals, "<unknown>");
9156                 if (h245_pi != NULL) 
9157                         g_snprintf(h245_pi->frame_label, 50, "%s %s", h245_pi->frame_label, val_to_str(value, h245_VideoMode_vals, "ukn"));
9158
9159
9160   return offset;
9161 }
9162
9163
9164 static const value_string h245_Mode_g7231_vals[] = {
9165   {   0, "noSilenceSuppressionLowRate" },
9166   {   1, "noSilenceSuppressionHighRate" },
9167   {   2, "silenceSuppressionLowRate" },
9168   {   3, "silenceSuppressionHighRate" },
9169   { 0, NULL }
9170 };
9171
9172 static const per_choice_t Mode_g7231_choice[] = {
9173   {   0, &hf_h245_noSilenceSuppressionLowRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9174   {   1, &hf_h245_noSilenceSuppressionHighRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9175   {   2, &hf_h245_silenceSuppressionLowRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9176   {   3, &hf_h245_silenceSuppressionHighRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9177   { 0, NULL, 0, NULL }
9178 };
9179
9180 static int
9181 dissect_h245_Mode_g7231(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9182   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9183                                  ett_h245_Mode_g7231, Mode_g7231_choice,
9184                                  NULL);
9185
9186   return offset;
9187 }
9188
9189
9190 static const value_string h245_T_audioLayer_vals[] = {
9191   {   0, "audioLayer1" },
9192   {   1, "audioLayer2" },
9193   {   2, "audioLayer3" },
9194   { 0, NULL }
9195 };
9196
9197 static const per_choice_t T_audioLayer_choice[] = {
9198   {   0, &hf_h245_audioLayer1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9199   {   1, &hf_h245_audioLayer2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9200   {   2, &hf_h245_audioLayer3Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9201   { 0, NULL, 0, NULL }
9202 };
9203
9204 static int
9205 dissect_h245_T_audioLayer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9206   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9207                                  ett_h245_T_audioLayer, T_audioLayer_choice,
9208                                  NULL);
9209
9210   return offset;
9211 }
9212
9213
9214 static const value_string h245_T_audioSampling_vals[] = {
9215   {   0, "audioSampling32k" },
9216   {   1, "audioSampling44k1" },
9217   {   2, "audioSampling48k" },
9218   { 0, NULL }
9219 };
9220
9221 static const per_choice_t T_audioSampling_choice[] = {
9222   {   0, &hf_h245_audioSampling32kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9223   {   1, &hf_h245_audioSampling44k1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9224   {   2, &hf_h245_audioSampling48kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9225   { 0, NULL, 0, NULL }
9226 };
9227
9228 static int
9229 dissect_h245_T_audioSampling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9230   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9231                                  ett_h245_T_audioSampling, T_audioSampling_choice,
9232                                  NULL);
9233
9234   return offset;
9235 }
9236
9237
9238 static const value_string h245_IS11172_multichannelType_vals[] = {
9239   {   0, "singleChannel" },
9240   {   1, "twoChannelStereo" },
9241   {   2, "twoChannelDual" },
9242   { 0, NULL }
9243 };
9244
9245 static const per_choice_t IS11172_multichannelType_choice[] = {
9246   {   0, &hf_h245_singleChannelMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9247   {   1, &hf_h245_twoChannelStereo, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9248   {   2, &hf_h245_twoChannelDual , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9249   { 0, NULL, 0, NULL }
9250 };
9251
9252 static int
9253 dissect_h245_IS11172_multichannelType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9254   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9255                                  ett_h245_IS11172_multichannelType, IS11172_multichannelType_choice,
9256                                  NULL);
9257
9258   return offset;
9259 }
9260
9261
9262 static const per_sequence_t IS11172AudioMode_sequence[] = {
9263   { &hf_h245_audioLayer     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_audioLayer },
9264   { &hf_h245_audioSampling  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_audioSampling },
9265   { &hf_h245_is11172multichannelType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS11172_multichannelType },
9266   { &hf_h245_bitRate_1_448  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_448 },
9267   { NULL, 0, 0, NULL }
9268 };
9269
9270 static int
9271 dissect_h245_IS11172AudioMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9272   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9273                                    ett_h245_IS11172AudioMode, IS11172AudioMode_sequence);
9274
9275   return offset;
9276 }
9277
9278
9279 static const value_string h245_IS13818AudioLayer_vals[] = {
9280   {   0, "audioLayer1" },
9281   {   1, "audioLayer2" },
9282   {   2, "audioLayer3" },
9283   { 0, NULL }
9284 };
9285
9286 static const per_choice_t IS13818AudioLayer_choice[] = {
9287   {   0, &hf_h245_audioLayer1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9288   {   1, &hf_h245_audioLayer2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9289   {   2, &hf_h245_audioLayer3Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9290   { 0, NULL, 0, NULL }
9291 };
9292
9293 static int
9294 dissect_h245_IS13818AudioLayer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9295   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9296                                  ett_h245_IS13818AudioLayer, IS13818AudioLayer_choice,
9297                                  NULL);
9298
9299   return offset;
9300 }
9301
9302
9303 static const value_string h245_IS13818AudioSampling_vals[] = {
9304   {   0, "audioSampling16k" },
9305   {   1, "audioSampling22k05" },
9306   {   2, "audioSampling24k" },
9307   {   3, "audioSampling32k" },
9308   {   4, "audioSampling44k1" },
9309   {   5, "audioSampling48k" },
9310   { 0, NULL }
9311 };
9312
9313 static const per_choice_t IS13818AudioSampling_choice[] = {
9314   {   0, &hf_h245_audioSampling16kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9315   {   1, &hf_h245_audioSampling22k05Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9316   {   2, &hf_h245_audioSampling24kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9317   {   3, &hf_h245_audioSampling32kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9318   {   4, &hf_h245_audioSampling44k1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9319   {   5, &hf_h245_audioSampling48kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9320   { 0, NULL, 0, NULL }
9321 };
9322
9323 static int
9324 dissect_h245_IS13818AudioSampling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9325   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9326                                  ett_h245_IS13818AudioSampling, IS13818AudioSampling_choice,
9327                                  NULL);
9328
9329   return offset;
9330 }
9331
9332
9333 static const value_string h245_IS13818MultichannelType_vals[] = {
9334   {   0, "singleChannel" },
9335   {   1, "twoChannelStereo" },
9336   {   2, "twoChannelDual" },
9337   {   3, "threeChannels2-1" },
9338   {   4, "threeChannels3-0" },
9339   {   5, "fourChannels2-0-2-0" },
9340   {   6, "fourChannels2-2" },
9341   {   7, "fourChannels3-1" },
9342   {   8, "fiveChannels3-0-2-0" },
9343   {   9, "fiveChannels3-2" },
9344   { 0, NULL }
9345 };
9346
9347 static const per_choice_t IS13818MultichannelType_choice[] = {
9348   {   0, &hf_h245_singleChannelMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9349   {   1, &hf_h245_twoChannelStereo, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9350   {   2, &hf_h245_twoChannelDual , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9351   {   3, &hf_h245_threeChannels2_1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9352   {   4, &hf_h245_threeChannels3_0Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9353   {   5, &hf_h245_fourChannels2_0_2_0Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9354   {   6, &hf_h245_fourChannels2_2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9355   {   7, &hf_h245_fourChannels3_1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9356   {   8, &hf_h245_fiveChannels3_0_2_0Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9357   {   9, &hf_h245_fiveChannels3_2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9358   { 0, NULL, 0, NULL }
9359 };
9360
9361 static int
9362 dissect_h245_IS13818MultichannelType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9363   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9364                                  ett_h245_IS13818MultichannelType, IS13818MultichannelType_choice,
9365                                  NULL);
9366
9367   return offset;
9368 }
9369
9370
9371 static const per_sequence_t IS13818AudioMode_sequence[] = {
9372   { &hf_h245_audioLayerMode , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS13818AudioLayer },
9373   { &hf_h245_audioSamplingMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS13818AudioSampling },
9374   { &hf_h245_is13818MultichannelType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS13818MultichannelType },
9375   { &hf_h245_lowFrequencyEnhancement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9376   { &hf_h245_multilingual   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9377   { &hf_h245_bitRate2_1_1130, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_1130 },
9378   { NULL, 0, 0, NULL }
9379 };
9380
9381 static int
9382 dissect_h245_IS13818AudioMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9383   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9384                                    ett_h245_IS13818AudioMode, IS13818AudioMode_sequence);
9385
9386   return offset;
9387 }
9388
9389
9390 static const per_sequence_t G7231AnnexCMode_sequence[] = {
9391   { &hf_h245_maxAl_sduAudioFrames, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
9392   { &hf_h245_silenceSuppression, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9393   { &hf_h245_g723AnnexCAudioMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_G723AnnexCAudioMode },
9394   { NULL, 0, 0, NULL }
9395 };
9396
9397 static int
9398 dissect_h245_G7231AnnexCMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9399   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9400                                    ett_h245_G7231AnnexCMode, G7231AnnexCMode_sequence);
9401
9402   return offset;
9403 }
9404
9405
9406 static const per_sequence_t VBDMode_sequence[] = {
9407   { &hf_h245_vbd_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AudioMode },
9408   { NULL, 0, 0, NULL }
9409 };
9410
9411 static int
9412 dissect_h245_VBDMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9413   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9414                                    ett_h245_VBDMode, VBDMode_sequence);
9415
9416   return offset;
9417 }
9418
9419
9420 static const value_string h245_AudioMode_vals[] = {
9421   {   0, "nonStandard" },
9422   {   1, "g711Alaw64k" },
9423   {   2, "g711Alaw56k" },
9424   {   3, "g711Ulaw64k" },
9425   {   4, "g711Ulaw56k" },
9426   {   5, "g722-64k" },
9427   {   6, "g722-56k" },
9428   {   7, "g722-48k" },
9429   {   8, "g728" },
9430   {   9, "g729" },
9431   {  10, "g729AnnexA" },
9432   {  11, "g7231" },
9433   {  12, "is11172AudioMode" },
9434   {  13, "is13818AudioMode" },
9435   {  14, "g729wAnnexB" },
9436   {  15, "g729AnnexAwAnnexB" },
9437   {  16, "g7231AnnexCMode" },
9438   {  17, "gsmFullRate" },
9439   {  18, "gsmHalfRate" },
9440   {  19, "gsmEnhancedFullRate" },
9441   {  20, "genericAudioMode" },
9442   {  21, "g729Extensions" },
9443   {  22, "vbd" },
9444   { 0, NULL }
9445 };
9446
9447 static const per_choice_t AudioMode_choice[] = {
9448   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9449   {   1, &hf_h245_g711Alaw64k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9450   {   2, &hf_h245_g711Alaw56k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9451   {   3, &hf_h245_g711Ulaw64k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9452   {   4, &hf_h245_g711Ulaw56k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9453   {   5, &hf_h245_g722_64k_mode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9454   {   6, &hf_h245_g722_56k_mode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9455   {   7, &hf_h245_g722_48k_mode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9456   {   8, &hf_h245_g728_mode      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9457   {   9, &hf_h245_g729_mode      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9458   {  10, &hf_h245_g729AnnexA_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9459   {  11, &hf_h245_g7231_mode     , ASN1_EXTENSION_ROOT    , dissect_h245_Mode_g7231 },
9460   {  12, &hf_h245_is11172AudioMode, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172AudioMode },
9461   {  13, &hf_h245_is13818AudioMode, ASN1_EXTENSION_ROOT    , dissect_h245_IS13818AudioMode },
9462   {  14, &hf_h245_g729wAnnexB    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
9463   {  15, &hf_h245_g729AnnexAwAnnexB, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
9464   {  16, &hf_h245_g7231AnnexCMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_G7231AnnexCMode },
9465   {  17, &hf_h245_gsmFullRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
9466   {  18, &hf_h245_gsmHalfRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
9467   {  19, &hf_h245_gsmEnhancedFullRate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
9468   {  20, &hf_h245_genericAudioMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
9469   {  21, &hf_h245_g729Extensions , ASN1_NOT_EXTENSION_ROOT, dissect_h245_G729Extensions },
9470   {  22, &hf_h245_vbd_mode       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_VBDMode },
9471   { 0, NULL, 0, NULL }
9472 };
9473
9474 static int
9475 dissect_h245_AudioMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9476 #line 515 "h245.cnf"
9477   guint32 value;
9478
9479   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9480                                  ett_h245_AudioMode, AudioMode_choice,
9481                                  &value);
9482
9483   codec_type = val_to_str(value, h245_AudioMode_vals, "<unknown>");
9484                 if (h245_pi != NULL) 
9485                         g_snprintf(h245_pi->frame_label, 50, "%s %s", h245_pi->frame_label, val_to_str(value, h245_AudioMode_vals, "ukn"));
9486
9487
9488   return offset;
9489 }
9490
9491
9492 static const per_sequence_t T38faxApp_sequence[] = {
9493   { &hf_h245_t38FaxProtocol , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
9494   { &hf_h245_t38FaxProfile  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T38FaxProfile },
9495   { NULL, 0, 0, NULL }
9496 };
9497
9498 static int
9499 dissect_h245_T38faxApp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9500   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9501                                    ett_h245_T38faxApp, T38faxApp_sequence);
9502
9503   return offset;
9504 }
9505
9506
9507 static const value_string h245_DataModeApplication_vals[] = {
9508   {   0, "nonStandard" },
9509   {   1, "t120" },
9510   {   2, "dsm-cc" },
9511   {   3, "userData" },
9512   {   4, "t84" },
9513   {   5, "t434" },
9514   {   6, "h224" },
9515   {   7, "nlpid" },
9516   {   8, "dsvdControl" },
9517   {   9, "h222DataPartitioning" },
9518   {  10, "t30fax" },
9519   {  11, "t140" },
9520   {  12, "t38fax" },
9521   {  13, "genericDataMode" },
9522   { 0, NULL }
9523 };
9524
9525 static const per_choice_t DataModeApplication_choice[] = {
9526   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9527   {   1, &hf_h245_t120           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9528   {   2, &hf_h245_dsm_cc         , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9529   {   3, &hf_h245_userData       , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9530   {   4, &hf_h245_t84DataProtocolCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9531   {   5, &hf_h245_t434           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9532   {   6, &hf_h245_h224           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9533   {   7, &hf_h245_nlpid          , ASN1_EXTENSION_ROOT    , dissect_h245_Nlpid },
9534   {   8, &hf_h245_dsvdControl    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9535   {   9, &hf_h245_h222DataPartitioning, ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9536   {  10, &hf_h245_t30fax         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
9537   {  11, &hf_h245_t140           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
9538   {  12, &hf_h245_t38faxDataProtocolCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T38faxApp },
9539   {  13, &hf_h245_genericDataMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
9540   { 0, NULL, 0, NULL }
9541 };
9542
9543 static int
9544 dissect_h245_DataModeApplication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9545 #line 533 "h245.cnf"
9546   guint32 value;
9547
9548   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9549                                  ett_h245_DataModeApplication, DataModeApplication_choice,
9550                                  &value);
9551
9552   codec_type = val_to_str(value, h245_DataModeApplication_vals, "<unknown>");
9553                 if (h245_pi != NULL) 
9554                         g_snprintf(h245_pi->frame_label, 50, "%s %s", h245_pi->frame_label, val_to_str(value, h245_DataModeApplication_vals, "ukn"));
9555
9556
9557   return offset;
9558 }
9559
9560
9561 static const per_sequence_t DataMode_sequence[] = {
9562   { &hf_h245_datamodeapplication, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataModeApplication },
9563   { &hf_h245_bitRate_0_4294967295, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
9564   { NULL, 0, 0, NULL }
9565 };
9566
9567 static int
9568 dissect_h245_DataMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9569   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9570                                    ett_h245_DataMode, DataMode_sequence);
9571
9572   return offset;
9573 }
9574
9575
9576 static const value_string h245_T_mediaMode_vals[] = {
9577   {   0, "nonStandard" },
9578   {   1, "videoMode" },
9579   {   2, "audioMode" },
9580   {   3, "dataMode" },
9581   { 0, NULL }
9582 };
9583
9584 static const per_choice_t T_mediaMode_choice[] = {
9585   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9586   {   1, &hf_h245_videoMode      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoMode },
9587   {   2, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
9588   {   3, &hf_h245_dataMode       , ASN1_EXTENSION_ROOT    , dissect_h245_DataMode },
9589   { 0, NULL, 0, NULL }
9590 };
9591
9592 static int
9593 dissect_h245_T_mediaMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9594   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9595                                  ett_h245_T_mediaMode, T_mediaMode_choice,
9596                                  NULL);
9597
9598   return offset;
9599 }
9600
9601
9602 static const per_sequence_t H235Mode_sequence[] = {
9603   { &hf_h245_encryptionAuthenticationAndIntegrity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionAuthenticationAndIntegrity },
9604   { &hf_h245_mediaMode      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mediaMode },
9605   { NULL, 0, 0, NULL }
9606 };
9607
9608 static int
9609 dissect_h245_H235Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9610   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9611                                    ett_h245_H235Mode, H235Mode_sequence);
9612
9613   return offset;
9614 }
9615
9616
9617 static const per_sequence_t FECMode_sequence[] = {
9618   { &hf_h245_protectedElement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ModeElementType },
9619   { &hf_h245_fecScheme      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
9620   { &hf_h245_rfc2733Format  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Rfc2733Format },
9621   { NULL, 0, 0, NULL }
9622 };
9623
9624 static int
9625 dissect_h245_FECMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9626   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9627                                    ett_h245_FECMode, FECMode_sequence);
9628
9629   return offset;
9630 }
9631
9632
9633 static const value_string h245_Re_type_vals[] = {
9634   {   0, "nonStandard" },
9635   {   1, "videoMode" },
9636   {   2, "audioMode" },
9637   {   3, "dataMode" },
9638   {   4, "encryptionMode" },
9639   {   5, "h235Mode" },
9640   {   6, "fecMode" },
9641   { 0, NULL }
9642 };
9643
9644 static const per_choice_t Re_type_choice[] = {
9645   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9646   {   1, &hf_h245_videoMode      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoMode },
9647   {   2, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
9648   {   3, &hf_h245_dataMode       , ASN1_EXTENSION_ROOT    , dissect_h245_DataMode },
9649   {   4, &hf_h245_encryptionMode , ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionMode },
9650   {   5, &hf_h245_h235Mode       , ASN1_EXTENSION_ROOT    , dissect_h245_H235Mode },
9651   {   6, &hf_h245_fecMode        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECMode },
9652   { 0, NULL, 0, NULL }
9653 };
9654
9655 static int
9656 dissect_h245_Re_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9657   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9658                                  ett_h245_Re_type, Re_type_choice,
9659                                  NULL);
9660
9661   return offset;
9662 }
9663
9664
9665 static const per_sequence_t RedundancyEncodingDTModeElement_sequence[] = {
9666   { &hf_h245_re_type        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Re_type },
9667   { NULL, 0, 0, NULL }
9668 };
9669
9670 static int
9671 dissect_h245_RedundancyEncodingDTModeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9672   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9673                                    ett_h245_RedundancyEncodingDTModeElement, RedundancyEncodingDTModeElement_sequence);
9674
9675   return offset;
9676 }
9677
9678
9679 static const per_sequence_t SEQUENCE_OF_RedundancyEncodingDTModeElement_sequence_of[1] = {
9680   { &hf_h245_secondaryDTM_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingDTModeElement },
9681 };
9682
9683 static int
9684 dissect_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9685   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
9686                                       ett_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement, SEQUENCE_OF_RedundancyEncodingDTModeElement_sequence_of);
9687
9688   return offset;
9689 }
9690
9691
9692 static const per_sequence_t RedundancyEncodingDTMode_sequence[] = {
9693   { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
9694   { &hf_h245_prmary_dtmode  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingDTModeElement },
9695   { &hf_h245_secondaryDTM   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement },
9696   { NULL, 0, 0, NULL }
9697 };
9698
9699 static int
9700 dissect_h245_RedundancyEncodingDTMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9701   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9702                                    ett_h245_RedundancyEncodingDTMode, RedundancyEncodingDTMode_sequence);
9703
9704   return offset;
9705 }
9706
9707
9708 static const per_sequence_t MultiplePayloadStreamElementMode_sequence[] = {
9709   { &hf_h245_type           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ModeElementType },
9710   { NULL, 0, 0, NULL }
9711 };
9712
9713 static int
9714 dissect_h245_MultiplePayloadStreamElementMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9715   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9716                                    ett_h245_MultiplePayloadStreamElementMode, MultiplePayloadStreamElementMode_sequence);
9717
9718   return offset;
9719 }
9720
9721
9722 static const per_sequence_t SEQUENCE_OF_MultiplePayloadStreamElementMode_sequence_of[1] = {
9723   { &hf_h245_mpsmElements_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplePayloadStreamElementMode },
9724 };
9725
9726 static int
9727 dissect_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9728   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
9729                                       ett_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode, SEQUENCE_OF_MultiplePayloadStreamElementMode_sequence_of);
9730
9731   return offset;
9732 }
9733
9734
9735 static const per_sequence_t MultiplePayloadStreamMode_sequence[] = {
9736   { &hf_h245_mpsmElements   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode },
9737   { NULL, 0, 0, NULL }
9738 };
9739
9740 static int
9741 dissect_h245_MultiplePayloadStreamMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9742   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9743                                    ett_h245_MultiplePayloadStreamMode, MultiplePayloadStreamMode_sequence);
9744
9745   return offset;
9746 }
9747
9748
9749 static const value_string h245_FEC_mode_vals[] = {
9750   {   0, "redundancyEncoding" },
9751   {   1, "separateStream" },
9752   { 0, NULL }
9753 };
9754
9755 static const per_choice_t FEC_mode_choice[] = {
9756   {   0, &hf_h245_redundancyEncodingFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9757   {   1, &hf_h245_separateStream , ASN1_EXTENSION_ROOT    , dissect_h245_DepSeparateStream },
9758   { 0, NULL, 0, NULL }
9759 };
9760
9761 static int
9762 dissect_h245_FEC_mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9763   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9764                                  ett_h245_FEC_mode, FEC_mode_choice,
9765                                  NULL);
9766
9767   return offset;
9768 }
9769
9770
9771 static const per_sequence_t T_rfc2733Mode_sequence[] = {
9772   { &hf_h245_fec_mode       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_FEC_mode },
9773   { NULL, 0, 0, NULL }
9774 };
9775
9776 static int
9777 dissect_h245_T_rfc2733Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9778   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9779                                    ett_h245_T_rfc2733Mode, T_rfc2733Mode_sequence);
9780
9781   return offset;
9782 }
9783
9784
9785 static const value_string h245_DepFECMode_vals[] = {
9786   {   0, "rfc2733Mode" },
9787   { 0, NULL }
9788 };
9789
9790 static const per_choice_t DepFECMode_choice[] = {
9791   {   0, &hf_h245_rfc2733Mode    , ASN1_EXTENSION_ROOT    , dissect_h245_T_rfc2733Mode },
9792   { 0, NULL, 0, NULL }
9793 };
9794
9795 static int
9796 dissect_h245_DepFECMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9797   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9798                                  ett_h245_DepFECMode, DepFECMode_choice,
9799                                  NULL);
9800
9801   return offset;
9802 }
9803
9804
9805 static const value_string h245_ModeElementType_vals[] = {
9806   {   0, "nonStandard" },
9807   {   1, "videoMode" },
9808   {   2, "audioMode" },
9809   {   3, "dataMode" },
9810   {   4, "encryptionMode" },
9811   {   5, "h235Mode" },
9812   {   6, "multiplexedStreamMode" },
9813   {   7, "redundancyEncodingDTMode" },
9814   {   8, "multiplePayloadStreamMode" },
9815   {   9, "depFecMode" },
9816   {  10, "fecMode" },
9817   { 0, NULL }
9818 };
9819
9820 static const per_choice_t ModeElementType_choice[] = {
9821   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9822   {   1, &hf_h245_videoMode      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoMode },
9823   {   2, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
9824   {   3, &hf_h245_dataMode       , ASN1_EXTENSION_ROOT    , dissect_h245_DataMode },
9825   {   4, &hf_h245_encryptionMode , ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionMode },
9826   {   5, &hf_h245_h235Mode       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H235Mode },
9827   {   6, &hf_h245_multiplexedStreamMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamParameter },
9828   {   7, &hf_h245_redundancyEncodingDTMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncodingDTMode },
9829   {   8, &hf_h245_multiplePayloadStreamMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStreamMode },
9830   {   9, &hf_h245_depFecMode     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECMode },
9831   {  10, &hf_h245_fecMode        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECMode },
9832   { 0, NULL, 0, NULL }
9833 };
9834
9835 static int
9836 dissect_h245_ModeElementType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9837   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9838                                  ett_h245_ModeElementType, ModeElementType_choice,
9839                                  NULL);
9840
9841   return offset;
9842 }
9843
9844
9845 static const value_string h245_AdaptationLayerType_vals[] = {
9846   {   0, "nonStandard" },
9847   {   1, "al1Framed" },
9848   {   2, "al1NotFramed" },
9849   {   3, "al2WithoutSequenceNumbers" },
9850   {   4, "al2WithSequenceNumbers" },
9851   {   5, "al3" },
9852   {   6, "al1M" },
9853   {   7, "al2M" },
9854   {   8, "al3M" },
9855   { 0, NULL }
9856 };
9857
9858 static const per_choice_t AdaptationLayerType_choice[] = {
9859   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9860   {   1, &hf_h245_al1Framed      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9861   {   2, &hf_h245_al1NotFramed   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9862   {   3, &hf_h245_al2WithoutSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9863   {   4, &hf_h245_al2WithSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9864   {   5, &hf_h245_al3            , ASN1_EXTENSION_ROOT    , dissect_h245_Al3 },
9865   {   6, &hf_h245_al1M           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223AL1MParameters },
9866   {   7, &hf_h245_al2M           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223AL2MParameters },
9867   {   8, &hf_h245_al3M           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223AL3MParameters },
9868   { 0, NULL, 0, NULL }
9869 };
9870
9871 static int
9872 dissect_h245_AdaptationLayerType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9873   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9874                                  ett_h245_AdaptationLayerType, AdaptationLayerType_choice,
9875                                  NULL);
9876
9877   return offset;
9878 }
9879
9880
9881 static const per_sequence_t H223ModeParameters_sequence[] = {
9882   { &hf_h245_adaptationLayer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AdaptationLayerType },
9883   { &hf_h245_segmentableFlag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9884   { NULL, 0, 0, NULL }
9885 };
9886
9887 static int
9888 dissect_h245_H223ModeParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9889   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9890                                    ett_h245_H223ModeParameters, H223ModeParameters_sequence);
9891
9892   return offset;
9893 }
9894
9895
9896 static const value_string h245_V76ModeParameters_vals[] = {
9897   {   0, "suspendResumewAddress" },
9898   {   1, "suspendResumewoAddress" },
9899   { 0, NULL }
9900 };
9901
9902 static const per_choice_t V76ModeParameters_choice[] = {
9903   {   0, &hf_h245_suspendResumewAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9904   {   1, &hf_h245_suspendResumewoAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9905   { 0, NULL, 0, NULL }
9906 };
9907
9908 static int
9909 dissect_h245_V76ModeParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9910   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9911                                  ett_h245_V76ModeParameters, V76ModeParameters_choice,
9912                                  NULL);
9913
9914   return offset;
9915 }
9916
9917
9918 static const value_string h245_T_secondaryEncodingMode_vals[] = {
9919   {   0, "nonStandard" },
9920   {   1, "audioData" },
9921   { 0, NULL }
9922 };
9923
9924 static const per_choice_t T_secondaryEncodingMode_choice[] = {
9925   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9926   {   1, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
9927   { 0, NULL, 0, NULL }
9928 };
9929
9930 static int
9931 dissect_h245_T_secondaryEncodingMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9932   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9933                                  ett_h245_T_secondaryEncodingMode, T_secondaryEncodingMode_choice,
9934                                  NULL);
9935
9936   return offset;
9937 }
9938
9939
9940 static const per_sequence_t RedundancyEncodingMode_sequence[] = {
9941   { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
9942   { &hf_h245_secondaryEncodingMode, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_secondaryEncodingMode },
9943   { NULL, 0, 0, NULL }
9944 };
9945
9946 static int
9947 dissect_h245_RedundancyEncodingMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9948   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9949                                    ett_h245_RedundancyEncodingMode, RedundancyEncodingMode_sequence);
9950
9951   return offset;
9952 }
9953
9954
9955 static const per_sequence_t H2250ModeParameters_sequence[] = {
9956   { &hf_h245_redundancyEncodingMode, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RedundancyEncodingMode },
9957   { NULL, 0, 0, NULL }
9958 };
9959
9960 static int
9961 dissect_h245_H2250ModeParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9962   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9963                                    ett_h245_H2250ModeParameters, H2250ModeParameters_sequence);
9964
9965   return offset;
9966 }
9967
9968
9969 static const per_sequence_t MultiplexedStreamModeParameters_sequence[] = {
9970   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
9971   { NULL, 0, 0, NULL }
9972 };
9973
9974 static int
9975 dissect_h245_MultiplexedStreamModeParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9976   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9977                                    ett_h245_MultiplexedStreamModeParameters, MultiplexedStreamModeParameters_sequence);
9978
9979   return offset;
9980 }
9981
9982
9983 static const per_sequence_t ModeElement_sequence[] = {
9984   { &hf_h245_type           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ModeElementType },
9985   { &hf_h245_h223ModeParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_H223ModeParameters },
9986   { &hf_h245_v76ModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_V76ModeParameters },
9987   { &hf_h245_h2250ModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H2250ModeParameters },
9988   { &hf_h245_genericModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericCapability },
9989   { &hf_h245_multiplexedStreamModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_MultiplexedStreamModeParameters },
9990   { &hf_h245_logicalChannelNumber, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
9991   { NULL, 0, 0, NULL }
9992 };
9993
9994 static int
9995 dissect_h245_ModeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9996   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9997                                    ett_h245_ModeElement, ModeElement_sequence);
9998
9999   return offset;
10000 }
10001
10002
10003 static const per_sequence_t ModeDescription_set_of[1] = {
10004   { &hf_h245_ModeDescription_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ModeElement },
10005 };
10006
10007 static int
10008 dissect_h245_ModeDescription(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10009   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
10010                                              ett_h245_ModeDescription, ModeDescription_set_of,
10011                                              1, 256);
10012
10013   return offset;
10014 }
10015
10016
10017 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_ModeDescription_sequence_of[1] = {
10018   { &hf_h245_requestedModes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ModeDescription },
10019 };
10020
10021 static int
10022 dissect_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10023   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10024                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription, SEQUENCE_SIZE_1_256_OF_ModeDescription_sequence_of,
10025                                                   1, 256);
10026
10027   return offset;
10028 }
10029
10030
10031 static const per_sequence_t RequestMode_sequence[] = {
10032   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10033   { &hf_h245_requestedModes , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription },
10034   { NULL, 0, 0, NULL }
10035 };
10036
10037 static int
10038 dissect_h245_RequestMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10039   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10040                                    ett_h245_RequestMode, RequestMode_sequence);
10041
10042   return offset;
10043 }
10044
10045
10046 static const per_sequence_t RoundTripDelayRequest_sequence[] = {
10047   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10048   { NULL, 0, 0, NULL }
10049 };
10050
10051 static int
10052 dissect_h245_RoundTripDelayRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10053   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10054                                    ett_h245_RoundTripDelayRequest, RoundTripDelayRequest_sequence);
10055
10056   return offset;
10057 }
10058
10059
10060 static const value_string h245_Mlr_type_vals[] = {
10061   {   0, "systemLoop" },
10062   {   1, "mediaLoop" },
10063   {   2, "logicalChannelLoop" },
10064   { 0, NULL }
10065 };
10066
10067 static const per_choice_t Mlr_type_choice[] = {
10068   {   0, &hf_h245_systemLoop     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10069   {   1, &hf_h245_mediaLoop      , ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
10070   {   2, &hf_h245_logicalChannelLoop, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
10071   { 0, NULL, 0, NULL }
10072 };
10073
10074 static int
10075 dissect_h245_Mlr_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10076   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10077                                  ett_h245_Mlr_type, Mlr_type_choice,
10078                                  NULL);
10079
10080   return offset;
10081 }
10082
10083
10084 static const per_sequence_t MaintenanceLoopRequest_sequence[] = {
10085   { &hf_h245_mlr_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mlr_type },
10086   { NULL, 0, 0, NULL }
10087 };
10088
10089 static int
10090 dissect_h245_MaintenanceLoopRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10091   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10092                                    ett_h245_MaintenanceLoopRequest, MaintenanceLoopRequest_sequence);
10093
10094   return offset;
10095 }
10096
10097
10098 static const per_sequence_t CommunicationModeRequest_sequence[] = {
10099   { NULL, 0, 0, NULL }
10100 };
10101
10102 static int
10103 dissect_h245_CommunicationModeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10104   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10105                                    ett_h245_CommunicationModeRequest, CommunicationModeRequest_sequence);
10106
10107   return offset;
10108 }
10109
10110
10111 static const per_sequence_t Criteria_sequence[] = {
10112   { &hf_h245_field          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
10113   { &hf_h245_value          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_1_65535 },
10114   { NULL, 0, 0, NULL }
10115 };
10116
10117 static int
10118 dissect_h245_Criteria(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10119   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10120                                    ett_h245_Criteria, Criteria_sequence);
10121
10122   return offset;
10123 }
10124
10125
10126 static const per_sequence_t CertSelectionCriteria_sequence_of[1] = {
10127   { &hf_h245_CertSelectionCriteria_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_Criteria },
10128 };
10129
10130 static int
10131 dissect_h245_CertSelectionCriteria(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10132   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10133                                                   ett_h245_CertSelectionCriteria, CertSelectionCriteria_sequence_of,
10134                                                   1, 16);
10135
10136   return offset;
10137 }
10138
10139
10140 static const per_sequence_t T_requestTerminalCertificate_sequence[] = {
10141   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
10142   { &hf_h245_certSelectionCriteria, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_CertSelectionCriteria },
10143   { &hf_h245_sRandom        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
10144   { NULL, 0, 0, NULL }
10145 };
10146
10147 static int
10148 dissect_h245_T_requestTerminalCertificate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10149   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10150                                    ett_h245_T_requestTerminalCertificate, T_requestTerminalCertificate_sequence);
10151
10152   return offset;
10153 }
10154
10155
10156 static const value_string h245_RemoteMCRequest_vals[] = {
10157   {   0, "masterActivate" },
10158   {   1, "slaveActivate" },
10159   {   2, "deActivate" },
10160   { 0, NULL }
10161 };
10162
10163 static const per_choice_t RemoteMCRequest_choice[] = {
10164   {   0, &hf_h245_masterActivate , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10165   {   1, &hf_h245_slaveActivate  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10166   {   2, &hf_h245_deActivate     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10167   { 0, NULL, 0, NULL }
10168 };
10169
10170 static int
10171 dissect_h245_RemoteMCRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10172   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10173                                  ett_h245_RemoteMCRequest, RemoteMCRequest_choice,
10174                                  NULL);
10175
10176   return offset;
10177 }
10178
10179
10180 static const value_string h245_ConferenceRequest_vals[] = {
10181   {   0, "terminalListRequest" },
10182   {   1, "makeMeChair" },
10183   {   2, "cancelMakeMeChair" },
10184   {   3, "dropTerminal" },
10185   {   4, "requestTerminalID" },
10186   {   5, "enterH243Password" },
10187   {   6, "enterH243TerminalID" },
10188   {   7, "enterH243ConferenceID" },
10189   {   8, "enterExtensionAddress" },
10190   {   9, "requestChairTokenOwner" },
10191   {  10, "requestTerminalCertificate" },
10192   {  11, "broadcastMyLogicalChannel" },
10193   {  12, "makeTerminalBroadcaster" },
10194   {  13, "sendThisSource" },
10195   {  14, "requestAllTerminalIDs" },
10196   {  15, "remoteMCRequest" },
10197   { 0, NULL }
10198 };
10199
10200 static const per_choice_t ConferenceRequest_choice[] = {
10201   {   0, &hf_h245_terminalListRequest, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10202   {   1, &hf_h245_makeMeChair    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10203   {   2, &hf_h245_cancelMakeMeChair, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10204   {   3, &hf_h245_dropTerminal   , ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
10205   {   4, &hf_h245_requestTerminalID, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
10206   {   5, &hf_h245_enterH243Password, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10207   {   6, &hf_h245_enterH243TerminalID, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10208   {   7, &hf_h245_enterH243ConferenceID, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10209   {   8, &hf_h245_enterExtensionAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10210   {   9, &hf_h245_requestChairTokenOwner, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10211   {  10, &hf_h245_requestTerminalCertificate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_requestTerminalCertificate },
10212   {  11, &hf_h245_broadcastMyLogicalChannel, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelNumber },
10213   {  12, &hf_h245_makeTerminalBroadcaster, ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalLabel },
10214   {  13, &hf_h245_sendThisSource , ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalLabel },
10215   {  14, &hf_h245_requestAllTerminalIDs, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10216   {  15, &hf_h245_remoteMCRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RemoteMCRequest },
10217   { 0, NULL, 0, NULL }
10218 };
10219
10220 static int
10221 dissect_h245_ConferenceRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10222   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10223                                  ett_h245_ConferenceRequest, ConferenceRequest_choice,
10224                                  NULL);
10225
10226   return offset;
10227 }
10228
10229
10230 static const per_sequence_t CallInformationReq_sequence[] = {
10231   { &hf_h245_maxNumberOfAdditionalConnections, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
10232   { NULL, 0, 0, NULL }
10233 };
10234
10235 static int
10236 dissect_h245_CallInformationReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10237   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10238                                    ett_h245_CallInformationReq, CallInformationReq_sequence);
10239
10240   return offset;
10241 }
10242
10243
10244
10245 static int
10246 dissect_h245_NumericString_SIZE_0_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10247   offset = dissect_per_NumericString(tvb, offset, actx, tree, hf_index,
10248                                           0, 40);
10249
10250   return offset;
10251 }
10252
10253
10254
10255 static int
10256 dissect_h245_IA5String_SIZE_1_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10257   offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
10258                                           1, 40);
10259
10260   return offset;
10261 }
10262
10263
10264 static const value_string h245_DialingInformationNetworkType_vals[] = {
10265   {   0, "nonStandard" },
10266   {   1, "n-isdn" },
10267   {   2, "gstn" },
10268   {   3, "mobile" },
10269   { 0, NULL }
10270 };
10271
10272 static const per_choice_t DialingInformationNetworkType_choice[] = {
10273   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10274   {   1, &hf_h245_n_isdn         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10275   {   2, &hf_h245_gstn           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10276   {   3, &hf_h245_mobile         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10277   { 0, NULL, 0, NULL }
10278 };
10279
10280 static int
10281 dissect_h245_DialingInformationNetworkType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10282   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10283                                  ett_h245_DialingInformationNetworkType, DialingInformationNetworkType_choice,
10284                                  NULL);
10285
10286   return offset;
10287 }
10288
10289
10290 static const per_sequence_t SET_SIZE_1_255_OF_DialingInformationNetworkType_set_of[1] = {
10291   { &hf_h245_networkType_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformationNetworkType },
10292 };
10293
10294 static int
10295 dissect_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10296   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
10297                                              ett_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType, SET_SIZE_1_255_OF_DialingInformationNetworkType_set_of,
10298                                              1, 255);
10299
10300   return offset;
10301 }
10302
10303
10304 static const per_sequence_t DialingInformationNumber_sequence[] = {
10305   { &hf_h245_networkAddressNum, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_NumericString_SIZE_0_40 },
10306   { &hf_h245_subAddress     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IA5String_SIZE_1_40 },
10307   { &hf_h245_networkType    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType },
10308   { NULL, 0, 0, NULL }
10309 };
10310
10311 static int
10312 dissect_h245_DialingInformationNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10313   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10314                                    ett_h245_DialingInformationNumber, DialingInformationNumber_sequence);
10315
10316   return offset;
10317 }
10318
10319
10320 static const per_sequence_t SET_SIZE_1_65535_OF_DialingInformationNumber_set_of[1] = {
10321   { &hf_h245_differential_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformationNumber },
10322 };
10323
10324 static int
10325 dissect_h245_SET_SIZE_1_65535_OF_DialingInformationNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10326   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
10327                                              ett_h245_SET_SIZE_1_65535_OF_DialingInformationNumber, SET_SIZE_1_65535_OF_DialingInformationNumber_set_of,
10328                                              1, 65535);
10329
10330   return offset;
10331 }
10332
10333
10334 static const value_string h245_DialingInformation_vals[] = {
10335   {   0, "nonStandard" },
10336   {   1, "differential" },
10337   {   2, "infoNotAvailable" },
10338   { 0, NULL }
10339 };
10340
10341 static const per_choice_t DialingInformation_choice[] = {
10342   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10343   {   1, &hf_h245_differential   , ASN1_EXTENSION_ROOT    , dissect_h245_SET_SIZE_1_65535_OF_DialingInformationNumber },
10344   {   2, &hf_h245_infoNotAvailable, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_65535 },
10345   { 0, NULL, 0, NULL }
10346 };
10347
10348 static int
10349 dissect_h245_DialingInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10350   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10351                                  ett_h245_DialingInformation, DialingInformation_choice,
10352                                  NULL);
10353
10354   return offset;
10355 }
10356
10357
10358 static const per_sequence_t AddConnectionReq_sequence[] = {
10359   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10360   { &hf_h245_dialingInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformation },
10361   { NULL, 0, 0, NULL }
10362 };
10363
10364 static int
10365 dissect_h245_AddConnectionReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10366   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10367                                    ett_h245_AddConnectionReq, AddConnectionReq_sequence);
10368
10369   return offset;
10370 }
10371
10372
10373 static const per_sequence_t ConnectionIdentifier_sequence[] = {
10374   { &hf_h245_channelTag     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
10375   { &hf_h245_sequenceNum    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
10376   { NULL, 0, 0, NULL }
10377 };
10378
10379 static int
10380 dissect_h245_ConnectionIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10381   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10382                                    ett_h245_ConnectionIdentifier, ConnectionIdentifier_sequence);
10383
10384   return offset;
10385 }
10386
10387
10388 static const per_sequence_t RemoveConnectionReq_sequence[] = {
10389   { &hf_h245_connectionIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConnectionIdentifier },
10390   { NULL, 0, 0, NULL }
10391 };
10392
10393 static int
10394 dissect_h245_RemoveConnectionReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10395   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10396                                    ett_h245_RemoveConnectionReq, RemoveConnectionReq_sequence);
10397
10398   return offset;
10399 }
10400
10401
10402 static const value_string h245_T_requestType_vals[] = {
10403   {   0, "currentIntervalInformation" },
10404   {   1, "requestedInterval" },
10405   { 0, NULL }
10406 };
10407
10408 static const per_choice_t T_requestType_choice[] = {
10409   {   0, &hf_h245_currentIntervalInformation, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10410   {   1, &hf_h245_requestedInterval, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_65535 },
10411   { 0, NULL, 0, NULL }
10412 };
10413
10414 static int
10415 dissect_h245_T_requestType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10416   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10417                                  ett_h245_T_requestType, T_requestType_choice,
10418                                  NULL);
10419
10420   return offset;
10421 }
10422
10423
10424 static const per_sequence_t MaximumHeaderIntervalReq_sequence[] = {
10425   { &hf_h245_requestType    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_requestType },
10426   { NULL, 0, 0, NULL }
10427 };
10428
10429 static int
10430 dissect_h245_MaximumHeaderIntervalReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10431   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10432                                    ett_h245_MaximumHeaderIntervalReq, MaximumHeaderIntervalReq_sequence);
10433
10434   return offset;
10435 }
10436
10437
10438 static const value_string h245_MultilinkRequest_vals[] = {
10439   {   0, "nonStandard" },
10440   {   1, "callInformation" },
10441   {   2, "addConnection" },
10442   {   3, "removeConnection" },
10443   {   4, "maximumHeaderInterval" },
10444   { 0, NULL }
10445 };
10446
10447 static const per_choice_t MultilinkRequest_choice[] = {
10448   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10449   {   1, &hf_h245_callInformationReq, ASN1_EXTENSION_ROOT    , dissect_h245_CallInformationReq },
10450   {   2, &hf_h245_addConnectionReq, ASN1_EXTENSION_ROOT    , dissect_h245_AddConnectionReq },
10451   {   3, &hf_h245_removeConnectionReq, ASN1_EXTENSION_ROOT    , dissect_h245_RemoveConnectionReq },
10452   {   4, &hf_h245_maximumHeaderIntervalReq, ASN1_EXTENSION_ROOT    , dissect_h245_MaximumHeaderIntervalReq },
10453   { 0, NULL, 0, NULL }
10454 };
10455
10456 static int
10457 dissect_h245_MultilinkRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10458   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10459                                  ett_h245_MultilinkRequest, MultilinkRequest_choice,
10460                                  NULL);
10461
10462   return offset;
10463 }
10464
10465
10466
10467 static int
10468 dissect_h245_MaximumBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10469   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10470                                                             0U, 4294967295U, NULL, FALSE);
10471
10472   return offset;
10473 }
10474
10475
10476 static const per_sequence_t LogicalChannelRateRequest_sequence[] = {
10477   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10478   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
10479   { &hf_h245_maximumBitRate , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MaximumBitRate },
10480   { NULL, 0, 0, NULL }
10481 };
10482
10483 static int
10484 dissect_h245_LogicalChannelRateRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10485   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10486                                    ett_h245_LogicalChannelRateRequest, LogicalChannelRateRequest_sequence);
10487
10488   return offset;
10489 }
10490
10491
10492 static const value_string h245_RequestMessage_vals[] = {
10493   { RequestMessage_nonStandard, "nonStandard" },
10494   { RequestMessage_masterSlaveDetermination, "masterSlaveDetermination" },
10495   { RequestMessage_terminalCapabilitySet, "terminalCapabilitySet" },
10496   { RequestMessage_openLogicalChannel, "openLogicalChannel" },
10497   { RequestMessage_closeLogicalChannel, "closeLogicalChannel" },
10498   { RequestMessage_requestChannelClose, "requestChannelClose" },
10499   { RequestMessage_multiplexEntrySend, "multiplexEntrySend" },
10500   { RequestMessage_requestMultiplexEntry, "requestMultiplexEntry" },
10501   { RequestMessage_requestMode, "requestMode" },
10502   { RequestMessage_roundTripDelayRequest, "roundTripDelayRequest" },
10503   { RequestMessage_maintenanceLoopRequest, "maintenanceLoopRequest" },
10504   { RequestMessage_communicationModeRequest, "communicationModeRequest" },
10505   { RequestMessage_conferenceRequest, "conferenceRequest" },
10506   { RequestMessage_multilinkRequest, "multilinkRequest" },
10507   { RequestMessage_logicalChannelRateRequest, "logicalChannelRateRequest" },
10508   { RequestMessage_genericRequest, "genericRequest" },
10509   { 0, NULL }
10510 };
10511
10512 static const per_choice_t RequestMessage_choice[] = {
10513   { RequestMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10514   { RequestMessage_masterSlaveDetermination, &hf_h245_masterSlaveDetermination, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDetermination },
10515   { RequestMessage_terminalCapabilitySet, &hf_h245_terminalCapabilitySet, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySet },
10516   { RequestMessage_openLogicalChannel, &hf_h245_openLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannel },
10517   { RequestMessage_closeLogicalChannel, &hf_h245_closeLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_CloseLogicalChannel },
10518   { RequestMessage_requestChannelClose, &hf_h245_requestChannelClose, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelClose },
10519   { RequestMessage_multiplexEntrySend, &hf_h245_multiplexEntrySend, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySend },
10520   { RequestMessage_requestMultiplexEntry, &hf_h245_requestMultiplexEntry, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntry },
10521   { RequestMessage_requestMode, &hf_h245_requestMode    , ASN1_EXTENSION_ROOT    , dissect_h245_RequestMode },
10522   { RequestMessage_roundTripDelayRequest, &hf_h245_roundTripDelayRequest, ASN1_EXTENSION_ROOT    , dissect_h245_RoundTripDelayRequest },
10523   { RequestMessage_maintenanceLoopRequest, &hf_h245_maintenanceLoopRequest, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopRequest },
10524   { RequestMessage_communicationModeRequest, &hf_h245_communicationModeRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_CommunicationModeRequest },
10525   { RequestMessage_conferenceRequest, &hf_h245_conferenceRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceRequest },
10526   { RequestMessage_multilinkRequest, &hf_h245_multilinkRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultilinkRequest },
10527   { RequestMessage_logicalChannelRateRequest, &hf_h245_logicalChannelRateRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateRequest },
10528   { RequestMessage_genericRequest, &hf_h245_genericRequest , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
10529   { 0, NULL, 0, NULL }
10530 };
10531
10532 static int
10533 dissect_h245_RequestMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10534 #line 367 "h245.cnf"
10535   guint32 value;
10536
10537   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10538                                  ett_h245_RequestMessage, RequestMessage_choice,
10539                                  &value);
10540
10541         if (check_col(actx->pinfo->cinfo, COL_INFO)){
10542                 if ( h245_shorttypes == TRUE )
10543                 {
10544                         col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
10545                                 val_to_str(value, h245_RequestMessage_short_vals, "<unknown>"));
10546                 }
10547                 else
10548                 {
10549                         col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
10550                                 val_to_str(value, h245_RequestMessage_vals, "<unknown>"));
10551                 }
10552         }
10553
10554         if (( check_col(actx->pinfo->cinfo, COL_INFO)) && ( codec_type != NULL ) && ( value == RequestMessage_openLogicalChannel) ){
10555                 col_append_fstr(actx->pinfo->cinfo, COL_INFO, "(%s) ", codec_type );
10556         }
10557
10558         col_set_fence(actx->pinfo->cinfo,COL_INFO);
10559
10560     /* Add to packet info */
10561         if (h245_pi == NULL)
10562                 return offset;
10563
10564     /* if it is TCS*/
10565     if ((codec_type != NULL) && ( value == RequestMessage_terminalCapabilitySet))
10566                 g_snprintf(h245_pi->frame_label, 50, "%s (%s) ",val_to_str(value, h245_RequestMessage_short_vals, "UKN"), h245_pi->frame_label);
10567     else
10568                 g_snprintf(h245_pi->frame_label, 50, "%s ", val_to_str(value, h245_RequestMessage_short_vals, "UKN"));
10569
10570         g_strlcat(h245_pi->comment, val_to_str(value, h245_RequestMessage_vals, "<unknown>"), 50);
10571
10572     /* if it is OLC or RM*/
10573     if ((codec_type != NULL) && (( value == RequestMessage_openLogicalChannel) || ( value == RequestMessage_requestMode)))
10574                 g_snprintf(h245_pi->frame_label, 50, "%s (%s) ", h245_pi->frame_label, codec_type);
10575
10576
10577   return offset;
10578 }
10579
10580
10581 static const value_string h245_T_decision_vals[] = {
10582   {   0, "master" },
10583   {   1, "slave" },
10584   { 0, NULL }
10585 };
10586
10587 static const per_choice_t T_decision_choice[] = {
10588   {   0, &hf_h245_master         , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
10589   {   1, &hf_h245_slave          , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
10590   { 0, NULL, 0, NULL }
10591 };
10592
10593 static int
10594 dissect_h245_T_decision(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10595   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10596                                  ett_h245_T_decision, T_decision_choice,
10597                                  NULL);
10598
10599   return offset;
10600 }
10601
10602
10603 static const per_sequence_t MasterSlaveDeterminationAck_sequence[] = {
10604   { &hf_h245_decision       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_decision },
10605   { NULL, 0, 0, NULL }
10606 };
10607
10608 static int
10609 dissect_h245_MasterSlaveDeterminationAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10610   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10611                                    ett_h245_MasterSlaveDeterminationAck, MasterSlaveDeterminationAck_sequence);
10612
10613 #line 542 "h245.cnf"
10614
10615 if (h245_pi != NULL)
10616   h245_pi->msg_type = H245_MastSlvDetAck;
10617
10618   return offset;
10619 }
10620
10621
10622 static const value_string h245_MasterSlaveDeterminationRejectCause_vals[] = {
10623   {   0, "identicalNumbers" },
10624   { 0, NULL }
10625 };
10626
10627 static const per_choice_t MasterSlaveDeterminationRejectCause_choice[] = {
10628   {   0, &hf_h245_identicalNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10629   { 0, NULL, 0, NULL }
10630 };
10631
10632 static int
10633 dissect_h245_MasterSlaveDeterminationRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10634   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10635                                  ett_h245_MasterSlaveDeterminationRejectCause, MasterSlaveDeterminationRejectCause_choice,
10636                                  NULL);
10637
10638   return offset;
10639 }
10640
10641
10642 static const per_sequence_t MasterSlaveDeterminationReject_sequence[] = {
10643   { &hf_h245_msd_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MasterSlaveDeterminationRejectCause },
10644   { NULL, 0, 0, NULL }
10645 };
10646
10647 static int
10648 dissect_h245_MasterSlaveDeterminationReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10649   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10650                                    ett_h245_MasterSlaveDeterminationReject, MasterSlaveDeterminationReject_sequence);
10651
10652 #line 548 "h245.cnf"
10653
10654 if (h245_pi != NULL)
10655   h245_pi->msg_type = H245_MastSlvDetRjc;
10656
10657   return offset;
10658 }
10659
10660
10661 static const per_sequence_t TerminalCapabilitySetAck_sequence[] = {
10662   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10663   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
10664   { NULL, 0, 0, NULL }
10665 };
10666
10667 static int
10668 dissect_h245_TerminalCapabilitySetAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10669   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10670                                    ett_h245_TerminalCapabilitySetAck, TerminalCapabilitySetAck_sequence);
10671
10672 #line 578 "h245.cnf"
10673
10674 if (h245_pi != NULL)
10675   h245_pi->msg_type = H245_TermCapSetAck;
10676
10677   return offset;
10678 }
10679
10680
10681 static const value_string h245_T_tableEntryCapacityExceeded_vals[] = {
10682   {   0, "highestEntryNumberProcessed" },
10683   {   1, "noneProcessed" },
10684   { 0, NULL }
10685 };
10686
10687 static const per_choice_t T_tableEntryCapacityExceeded_choice[] = {
10688   {   0, &hf_h245_highestEntryNumberProcessed, ASN1_NO_EXTENSIONS     , dissect_h245_CapabilityTableEntryNumber },
10689   {   1, &hf_h245_noneProcessed  , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
10690   { 0, NULL, 0, NULL }
10691 };
10692
10693 static int
10694 dissect_h245_T_tableEntryCapacityExceeded(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10695   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10696                                  ett_h245_T_tableEntryCapacityExceeded, T_tableEntryCapacityExceeded_choice,
10697                                  NULL);
10698
10699   return offset;
10700 }
10701
10702
10703 static const value_string h245_TerminalCapabilitySetRejectCause_vals[] = {
10704   {   0, "unspecified" },
10705   {   1, "undefinedTableEntryUsed" },
10706   {   2, "descriptorCapacityExceeded" },
10707   {   3, "tableEntryCapacityExceeded" },
10708   { 0, NULL }
10709 };
10710
10711 static const per_choice_t TerminalCapabilitySetRejectCause_choice[] = {
10712   {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10713   {   1, &hf_h245_undefinedTableEntryUsed, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10714   {   2, &hf_h245_descriptorCapacityExceeded, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10715   {   3, &hf_h245_tableEntryCapacityExceeded, ASN1_EXTENSION_ROOT    , dissect_h245_T_tableEntryCapacityExceeded },
10716   { 0, NULL, 0, NULL }
10717 };
10718
10719 static int
10720 dissect_h245_TerminalCapabilitySetRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10721   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10722                                  ett_h245_TerminalCapabilitySetRejectCause, TerminalCapabilitySetRejectCause_choice,
10723                                  NULL);
10724
10725   return offset;
10726 }
10727
10728
10729 static const per_sequence_t TerminalCapabilitySetReject_sequence[] = {
10730   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10731   { &hf_h245_tcs_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalCapabilitySetRejectCause },
10732   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
10733   { NULL, 0, 0, NULL }
10734 };
10735
10736 static int
10737 dissect_h245_TerminalCapabilitySetReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10738   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10739                                    ett_h245_TerminalCapabilitySetReject, TerminalCapabilitySetReject_sequence);
10740
10741 #line 590 "h245.cnf"
10742
10743 if (h245_pi != NULL)
10744   h245_pi->msg_type = H245_TermCapSetRjc;
10745
10746   return offset;
10747 }
10748
10749
10750
10751 static int
10752 dissect_h245_OLC_ack_fw_lcn(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10753   offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index);
10754
10755 #line 274 "h245.cnf"
10756   if (upcoming_olc) upcoming_olc->fwd_lc_num = h245_lc_temp;
10757   h223_fw_lc_num = h245_lc_temp;
10758
10759   return offset;
10760 }
10761
10762
10763
10764 static int
10765 dissect_h245_T_reverseLogicalChannelNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10766   offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index);
10767
10768 #line 288 "h245.cnf"
10769   h223_rev_lc_num = h245_lc_temp;
10770
10771   return offset;
10772 }
10773
10774
10775 static const value_string h245_T_olc_ack_multiplexParameters_vals[] = {
10776   {   0, "h222LogicalChannelParameters" },
10777   {   1, "h2250LogicalChannelParameters" },
10778   { 0, NULL }
10779 };
10780
10781 static const per_choice_t T_olc_ack_multiplexParameters_choice[] = {
10782   {   0, &hf_h245_h222LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_H222LogicalChannelParameters },
10783   {   1, &hf_h245_h2250LogicalChannelParameters, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250LogicalChannelParameters },
10784   { 0, NULL, 0, NULL }
10785 };
10786
10787 static int
10788 dissect_h245_T_olc_ack_multiplexParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10789   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10790                                  ett_h245_T_olc_ack_multiplexParameters, T_olc_ack_multiplexParameters_choice,
10791                                  NULL);
10792
10793   return offset;
10794 }
10795
10796
10797 static const per_sequence_t OLC_ack_reverseLogicalChannelParameters_sequence[] = {
10798   { &hf_h245_reverseLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_reverseLogicalChannelNumber },
10799   { &hf_h245_portNumber     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
10800   { &hf_h245_olc_ack_multiplexParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_olc_ack_multiplexParameters },
10801   { &hf_h245_replacementFor , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
10802   { NULL, 0, 0, NULL }
10803 };
10804
10805 static int
10806 dissect_h245_OLC_ack_reverseLogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10807   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10808                                    ett_h245_OLC_ack_reverseLogicalChannelParameters, OLC_ack_reverseLogicalChannelParameters_sequence);
10809
10810   return offset;
10811 }
10812
10813
10814
10815 static int
10816 dissect_h245_Ack_mediaChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10817 #line 833 "h245.cnf"
10818   if (upcoming_channel)
10819     upcoming_channel->upcoming_addr = &upcoming_channel->media_addr;
10820
10821   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
10822
10823 #line 837 "h245.cnf"
10824   if (upcoming_channel)
10825     upcoming_channel->upcoming_addr = NULL;
10826
10827   return offset;
10828 }
10829
10830
10831
10832 static int
10833 dissect_h245_Ack_mediaControlChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10834 #line 851 "h245.cnf"
10835   if (upcoming_channel)
10836     upcoming_channel->upcoming_addr = &upcoming_channel->media_control_addr;
10837
10838   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
10839
10840 #line 855 "h245.cnf"
10841   if (upcoming_channel)
10842     upcoming_channel->upcoming_addr = NULL;
10843
10844   return offset;
10845 }
10846
10847
10848 static const per_sequence_t H2250LogicalChannelAckParameters_sequence[] = {
10849   { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
10850   { &hf_h245_sessionID      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
10851   { &hf_h245_ack_mediaChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Ack_mediaChannel },
10852   { &hf_h245_ack_mediaControlChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Ack_mediaControlChannel },
10853   { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_96_127 },
10854   { &hf_h245_flowControlToZero, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
10855   { &hf_h245_portNumber     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
10856   { NULL, 0, 0, NULL }
10857 };
10858
10859 static int
10860 dissect_h245_H2250LogicalChannelAckParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10861   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10862                                    ett_h245_H2250LogicalChannelAckParameters, H2250LogicalChannelAckParameters_sequence);
10863
10864   return offset;
10865 }
10866
10867
10868 static const value_string h245_T_forwardMultiplexAckParameters_vals[] = {
10869   {   0, "h2250LogicalChannelAckParameters" },
10870   { 0, NULL }
10871 };
10872
10873 static const per_choice_t T_forwardMultiplexAckParameters_choice[] = {
10874   {   0, &hf_h245_h2250LogicalChannelAckParameters, ASN1_EXTENSION_ROOT    , dissect_h245_H2250LogicalChannelAckParameters },
10875   { 0, NULL, 0, NULL }
10876 };
10877
10878 static int
10879 dissect_h245_T_forwardMultiplexAckParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10880 #line 279 "h245.cnf"
10881
10882   upcoming_channel = (upcoming_olc) ? &upcoming_olc->fwd_lc : NULL;
10883
10884   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10885                                  ett_h245_T_forwardMultiplexAckParameters, T_forwardMultiplexAckParameters_choice,
10886                                  NULL);
10887
10888         
10889   upcoming_channel = NULL;
10890
10891
10892   return offset;
10893 }
10894
10895
10896 static const per_sequence_t OpenLogicalChannelAck_sequence[] = {
10897   { &hf_h245_olc_ack_fw_lcn , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OLC_ack_fw_lcn },
10898   { &hf_h245_olc_ack_reverseLogicalChannelParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OLC_ack_reverseLogicalChannelParameters },
10899   { &hf_h245_separateStack  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_NetworkAccessParameters },
10900   { &hf_h245_forwardMultiplexAckParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_forwardMultiplexAckParameters },
10901   { &hf_h245_encryptionSync , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptionSync },
10902   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
10903   { NULL, 0, 0, NULL }
10904 };
10905
10906 static int
10907 dissect_h245_OpenLogicalChannelAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10908 #line 217 "h245.cnf"
10909   guint32 temp;
10910   int p2p_dir;
10911   h223_pending_olc *pend;
10912   const gchar *olc_key;
10913   olc_info_t *olc_req;
10914
10915   upcoming_olc = (!actx->pinfo->fd->flags.visited) ? ep_alloc0(sizeof(olc_info_t)) : NULL;
10916
10917   h223_fw_lc_num = 0;
10918   h223_rev_lc_num = 0;
10919         
10920   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10921                                    ett_h245_OpenLogicalChannelAck, OpenLogicalChannelAck_sequence);
10922
10923
10924   temp = h223_fw_lc_num;
10925   p2p_dir = actx->pinfo->p2p_dir;
10926   
10927   if(actx->pinfo->p2p_dir == P2P_DIR_SENT)
10928         actx->pinfo->p2p_dir = P2P_DIR_RECV;
10929   else
10930         actx->pinfo->p2p_dir = P2P_DIR_SENT;
10931   pend = g_hash_table_lookup( h223_pending_olc_reqs[actx->pinfo->p2p_dir], GINT_TO_POINTER(temp) );
10932   if (pend) {
10933         DISSECTOR_ASSERT( ( h223_rev_lc_num &&  pend->rev_channel_params)
10934                                    || (!h223_rev_lc_num && !pend->rev_channel_params) );
10935         if(h223_add_lc_handle) {
10936           (*h223_add_lc_handle)( actx->pinfo, h223_fw_lc_num, pend->fw_channel_params );
10937           if(h223_rev_lc_num)
10938                 (*h223_add_lc_handle)( actx->pinfo, h223_rev_lc_num, pend->rev_channel_params );
10939         }
10940   } else {
10941         /* we missed the OpenLogicalChannel packet */
10942   }
10943   actx->pinfo->p2p_dir = p2p_dir;
10944
10945   if (upcoming_olc) {
10946     olc_key = gen_olc_key(upcoming_olc->fwd_lc_num, &actx->pinfo->src, &actx->pinfo->dst);
10947     olc_req = g_hash_table_lookup(h245_pending_olc_reqs, olc_key);
10948     if (olc_req) {
10949       printf("#%u: OLC found %s\n", actx->pinfo->fd->num, olc_key);
10950       update_unicast_addr(&olc_req->fwd_lc.media_addr, &upcoming_olc->fwd_lc.media_addr);
10951       update_unicast_addr(&olc_req->fwd_lc.media_control_addr, &upcoming_olc->fwd_lc.media_control_addr);
10952       update_unicast_addr(&olc_req->rev_lc.media_addr, &upcoming_olc->rev_lc.media_addr);
10953       update_unicast_addr(&olc_req->rev_lc.media_control_addr, &upcoming_olc->rev_lc.media_control_addr);
10954       h245_setup_channels(actx->pinfo, &olc_req->fwd_lc);
10955       h245_setup_channels(actx->pinfo, &olc_req->rev_lc);
10956       g_hash_table_remove(h245_pending_olc_reqs, olc_key);
10957     } else {
10958       h245_setup_channels(actx->pinfo, &upcoming_olc->fwd_lc);
10959     }
10960   }
10961   upcoming_olc = NULL;
10962
10963   if (h245_pi != NULL)
10964         h245_pi->msg_type = H245_OpenLogChnAck;
10965
10966
10967   return offset;
10968 }
10969
10970
10971 static const value_string h245_OpenLogicalChannelRejectCause_vals[] = {
10972   {   0, "unspecified" },
10973   {   1, "unsuitableReverseParameters" },
10974   {   2, "dataTypeNotSupported" },
10975   {   3, "dataTypeNotAvailable" },
10976   {   4, "unknownDataType" },
10977   {   5, "dataTypeALCombinationNotSupported" },
10978   {   6, "multicastChannelNotAllowed" },
10979   {   7, "insufficientBandwidth" },
10980   {   8, "separateStackEstablishmentFailed" },
10981   {   9, "invalidSessionID" },
10982   {  10, "masterSlaveConflict" },
10983   {  11, "waitForCommunicationMode" },
10984   {  12, "invalidDependentChannel" },
10985   {  13, "replacementForRejected" },
10986   {  14, "securityDenied" },
10987   { 0, NULL }
10988 };
10989
10990 static const per_choice_t OpenLogicalChannelRejectCause_choice[] = {
10991   {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10992   {   1, &hf_h245_unsuitableReverseParameters, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10993   {   2, &hf_h245_dataTypeNotSupported, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10994   {   3, &hf_h245_dataTypeNotAvailable, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10995   {   4, &hf_h245_unknownDataType, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10996   {   5, &hf_h245_dataTypeALCombinationNotSupported, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10997   {   6, &hf_h245_multicastChannelNotAllowed, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10998   {   7, &hf_h245_insufficientBandwidth, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10999   {   8, &hf_h245_separateStackEstablishmentFailed, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11000   {   9, &hf_h245_invalidSessionID, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11001   {  10, &hf_h245_masterSlaveConflict, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11002   {  11, &hf_h245_waitForCommunicationMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11003   {  12, &hf_h245_invalidDependentChannel, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11004   {  13, &hf_h245_replacementForRejected, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11005   {  14, &hf_h245_securityDenied , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11006   { 0, NULL, 0, NULL }
11007 };
11008
11009 static int
11010 dissect_h245_OpenLogicalChannelRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11011   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11012                                  ett_h245_OpenLogicalChannelRejectCause, OpenLogicalChannelRejectCause_choice,
11013                                  NULL);
11014
11015   return offset;
11016 }
11017
11018
11019 static const per_sequence_t OpenLogicalChannelReject_sequence[] = {
11020   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11021   { &hf_h245_olc_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OpenLogicalChannelRejectCause },
11022   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
11023   { NULL, 0, 0, NULL }
11024 };
11025
11026 static int
11027 dissect_h245_OpenLogicalChannelReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11028   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11029                                    ett_h245_OpenLogicalChannelReject, OpenLogicalChannelReject_sequence);
11030
11031 #line 554 "h245.cnf"
11032
11033 if (h245_pi != NULL)
11034   h245_pi->msg_type = H245_OpenLogChnRjc;
11035
11036   return offset;
11037 }
11038
11039
11040 static const per_sequence_t CloseLogicalChannelAck_sequence[] = {
11041   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11042   { NULL, 0, 0, NULL }
11043 };
11044
11045 static int
11046 dissect_h245_CloseLogicalChannelAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11047   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11048                                    ett_h245_CloseLogicalChannelAck, CloseLogicalChannelAck_sequence);
11049
11050 #line 566 "h245.cnf"
11051
11052 if (h245_pi != NULL)
11053   h245_pi->msg_type = H245_CloseLogChnAck;
11054
11055   return offset;
11056 }
11057
11058
11059 static const per_sequence_t RequestChannelCloseAck_sequence[] = {
11060   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11061   { NULL, 0, 0, NULL }
11062 };
11063
11064 static int
11065 dissect_h245_RequestChannelCloseAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11066   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11067                                    ett_h245_RequestChannelCloseAck, RequestChannelCloseAck_sequence);
11068
11069   return offset;
11070 }
11071
11072
11073 static const value_string h245_RequestChannelCloseRejectCause_vals[] = {
11074   {   0, "unspecified" },
11075   { 0, NULL }
11076 };
11077
11078 static const per_choice_t RequestChannelCloseRejectCause_choice[] = {
11079   {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11080   { 0, NULL, 0, NULL }
11081 };
11082
11083 static int
11084 dissect_h245_RequestChannelCloseRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11085   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11086                                  ett_h245_RequestChannelCloseRejectCause, RequestChannelCloseRejectCause_choice,
11087                                  NULL);
11088
11089   return offset;
11090 }
11091
11092
11093 static const per_sequence_t RequestChannelCloseReject_sequence[] = {
11094   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11095   { &hf_h245_req_chan_clos_rej_cause, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RequestChannelCloseRejectCause },
11096   { NULL, 0, 0, NULL }
11097 };
11098
11099 static int
11100 dissect_h245_RequestChannelCloseReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11101   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11102                                    ett_h245_RequestChannelCloseReject, RequestChannelCloseReject_sequence);
11103
11104   return offset;
11105 }
11106
11107
11108 static const per_sequence_t MultiplexEntrySendAck_sequence[] = {
11109   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11110   { &hf_h245_multiplexTableEntryNumbers, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
11111   { NULL, 0, 0, NULL }
11112 };
11113
11114 static int
11115 dissect_h245_MultiplexEntrySendAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11116   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11117                                    ett_h245_MultiplexEntrySendAck, MultiplexEntrySendAck_sequence);
11118
11119   return offset;
11120 }
11121
11122
11123 static const value_string h245_MultiplexEntryRejectionDescriptionsCause_vals[] = {
11124   {   0, "unspecifiedCause" },
11125   {   1, "descriptorTooComplex" },
11126   { 0, NULL }
11127 };
11128
11129 static const per_choice_t MultiplexEntryRejectionDescriptionsCause_choice[] = {
11130   {   0, &hf_h245_unspecifiedCause, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11131   {   1, &hf_h245_descriptorTooComplex, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11132   { 0, NULL, 0, NULL }
11133 };
11134
11135 static int
11136 dissect_h245_MultiplexEntryRejectionDescriptionsCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11137   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11138                                  ett_h245_MultiplexEntryRejectionDescriptionsCause, MultiplexEntryRejectionDescriptionsCause_choice,
11139                                  NULL);
11140
11141   return offset;
11142 }
11143
11144
11145 static const per_sequence_t MultiplexEntryRejectionDescriptions_sequence[] = {
11146   { &hf_h245_multiplexTableEntryNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
11147   { &hf_h245_mux_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexEntryRejectionDescriptionsCause },
11148   { NULL, 0, 0, NULL }
11149 };
11150
11151 static int
11152 dissect_h245_MultiplexEntryRejectionDescriptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11153   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11154                                    ett_h245_MultiplexEntryRejectionDescriptions, MultiplexEntryRejectionDescriptions_sequence);
11155
11156   return offset;
11157 }
11158
11159
11160 static const per_sequence_t SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions_set_of[1] = {
11161   { &hf_h245_sendRejectionDescriptions_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexEntryRejectionDescriptions },
11162 };
11163
11164 static int
11165 dissect_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11166   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11167                                              ett_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions, SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions_set_of,
11168                                              1, 15);
11169
11170   return offset;
11171 }
11172
11173
11174 static const per_sequence_t MultiplexEntrySendReject_sequence[] = {
11175   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11176   { &hf_h245_sendRejectionDescriptions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions },
11177   { NULL, 0, 0, NULL }
11178 };
11179
11180 static int
11181 dissect_h245_MultiplexEntrySendReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11182   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11183                                    ett_h245_MultiplexEntrySendReject, MultiplexEntrySendReject_sequence);
11184
11185   return offset;
11186 }
11187
11188
11189 static const per_sequence_t RequestMultiplexEntryAck_sequence[] = {
11190   { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
11191   { NULL, 0, 0, NULL }
11192 };
11193
11194 static int
11195 dissect_h245_RequestMultiplexEntryAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11196   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11197                                    ett_h245_RequestMultiplexEntryAck, RequestMultiplexEntryAck_sequence);
11198
11199   return offset;
11200 }
11201
11202
11203 static const value_string h245_RequestMultiplexEntryRejectionDescriptionsCause_vals[] = {
11204   {   0, "unspecifiedCause" },
11205   { 0, NULL }
11206 };
11207
11208 static const per_choice_t RequestMultiplexEntryRejectionDescriptionsCause_choice[] = {
11209   {   0, &hf_h245_unspecifiedCause, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11210   { 0, NULL, 0, NULL }
11211 };
11212
11213 static int
11214 dissect_h245_RequestMultiplexEntryRejectionDescriptionsCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11215   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11216                                  ett_h245_RequestMultiplexEntryRejectionDescriptionsCause, RequestMultiplexEntryRejectionDescriptionsCause_choice,
11217                                  NULL);
11218
11219   return offset;
11220 }
11221
11222
11223 static const per_sequence_t RequestMultiplexEntryRejectionDescriptions_sequence[] = {
11224   { &hf_h245_multiplexTableEntryNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
11225   { &hf_h245_req_mux_rej_cause, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RequestMultiplexEntryRejectionDescriptionsCause },
11226   { NULL, 0, 0, NULL }
11227 };
11228
11229 static int
11230 dissect_h245_RequestMultiplexEntryRejectionDescriptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11231   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11232                                    ett_h245_RequestMultiplexEntryRejectionDescriptions, RequestMultiplexEntryRejectionDescriptions_sequence);
11233
11234   return offset;
11235 }
11236
11237
11238 static const per_sequence_t SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions_set_of[1] = {
11239   { &hf_h245_rejectionDescriptions_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RequestMultiplexEntryRejectionDescriptions },
11240 };
11241
11242 static int
11243 dissect_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11244   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11245                                              ett_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions, SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions_set_of,
11246                                              1, 15);
11247
11248   return offset;
11249 }
11250
11251
11252 static const per_sequence_t RequestMultiplexEntryReject_sequence[] = {
11253   { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
11254   { &hf_h245_rejectionDescriptions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions },
11255   { NULL, 0, 0, NULL }
11256 };
11257
11258 static int
11259 dissect_h245_RequestMultiplexEntryReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11260   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11261                                    ett_h245_RequestMultiplexEntryReject, RequestMultiplexEntryReject_sequence);
11262
11263   return offset;
11264 }
11265
11266
11267 static const value_string h245_Req_mode_ack_response_vals[] = {
11268   {   0, "willTransmitMostPreferredMode" },
11269   {   1, "willTransmitLessPreferredMode" },
11270   { 0, NULL }
11271 };
11272
11273 static const per_choice_t Req_mode_ack_response_choice[] = {
11274   {   0, &hf_h245_willTransmitMostPreferredMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11275   {   1, &hf_h245_willTransmitLessPreferredMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11276   { 0, NULL, 0, NULL }
11277 };
11278
11279 static int
11280 dissect_h245_Req_mode_ack_response(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11281   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11282                                  ett_h245_Req_mode_ack_response, Req_mode_ack_response_choice,
11283                                  NULL);
11284
11285   return offset;
11286 }
11287
11288
11289 static const per_sequence_t RequestModeAck_sequence[] = {
11290   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11291   { &hf_h245_req_mode_ack_response, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Req_mode_ack_response },
11292   { NULL, 0, 0, NULL }
11293 };
11294
11295 static int
11296 dissect_h245_RequestModeAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11297   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11298                                    ett_h245_RequestModeAck, RequestModeAck_sequence);
11299
11300   return offset;
11301 }
11302
11303
11304 static const value_string h245_RequestModeRejectCause_vals[] = {
11305   {   0, "modeUnavailable" },
11306   {   1, "multipointConstraint" },
11307   {   2, "requestDenied" },
11308   { 0, NULL }
11309 };
11310
11311 static const per_choice_t RequestModeRejectCause_choice[] = {
11312   {   0, &hf_h245_modeUnavailable, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11313   {   1, &hf_h245_multipointConstraint, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11314   {   2, &hf_h245_requestDenied  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11315   { 0, NULL, 0, NULL }
11316 };
11317
11318 static int
11319 dissect_h245_RequestModeRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11320   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11321                                  ett_h245_RequestModeRejectCause, RequestModeRejectCause_choice,
11322                                  NULL);
11323
11324   return offset;
11325 }
11326
11327
11328 static const per_sequence_t RequestModeReject_sequence[] = {
11329   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11330   { &hf_h245_req_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RequestModeRejectCause },
11331   { NULL, 0, 0, NULL }
11332 };
11333
11334 static int
11335 dissect_h245_RequestModeReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11336   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11337                                    ett_h245_RequestModeReject, RequestModeReject_sequence);
11338
11339   return offset;
11340 }
11341
11342
11343 static const per_sequence_t RoundTripDelayResponse_sequence[] = {
11344   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11345   { NULL, 0, 0, NULL }
11346 };
11347
11348 static int
11349 dissect_h245_RoundTripDelayResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11350   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11351                                    ett_h245_RoundTripDelayResponse, RoundTripDelayResponse_sequence);
11352
11353   return offset;
11354 }
11355
11356
11357 static const value_string h245_Mla_type_vals[] = {
11358   {   0, "systemLoop" },
11359   {   1, "mediaLoop" },
11360   {   2, "logicalChannelLoop" },
11361   { 0, NULL }
11362 };
11363
11364 static const per_choice_t Mla_type_choice[] = {
11365   {   0, &hf_h245_systemLoop     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11366   {   1, &hf_h245_mediaLoop      , ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
11367   {   2, &hf_h245_logicalChannelLoop, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
11368   { 0, NULL, 0, NULL }
11369 };
11370
11371 static int
11372 dissect_h245_Mla_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11373   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11374                                  ett_h245_Mla_type, Mla_type_choice,
11375                                  NULL);
11376
11377   return offset;
11378 }
11379
11380
11381 static const per_sequence_t MaintenanceLoopAck_sequence[] = {
11382   { &hf_h245_mla_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mla_type },
11383   { NULL, 0, 0, NULL }
11384 };
11385
11386 static int
11387 dissect_h245_MaintenanceLoopAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11388   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11389                                    ett_h245_MaintenanceLoopAck, MaintenanceLoopAck_sequence);
11390
11391   return offset;
11392 }
11393
11394
11395 static const value_string h245_Mlrej_type_vals[] = {
11396   {   0, "systemLoop" },
11397   {   1, "mediaLoop" },
11398   {   2, "logicalChannelLoop" },
11399   { 0, NULL }
11400 };
11401
11402 static const per_choice_t Mlrej_type_choice[] = {
11403   {   0, &hf_h245_systemLoop     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11404   {   1, &hf_h245_mediaLoop      , ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
11405   {   2, &hf_h245_logicalChannelLoop, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
11406   { 0, NULL, 0, NULL }
11407 };
11408
11409 static int
11410 dissect_h245_Mlrej_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11411   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11412                                  ett_h245_Mlrej_type, Mlrej_type_choice,
11413                                  NULL);
11414
11415   return offset;
11416 }
11417
11418
11419 static const value_string h245_MaintenanceLoopRejectCause_vals[] = {
11420   {   0, "canNotPerformLoop" },
11421   { 0, NULL }
11422 };
11423
11424 static const per_choice_t MaintenanceLoopRejectCause_choice[] = {
11425   {   0, &hf_h245_canNotPerformLoop, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11426   { 0, NULL, 0, NULL }
11427 };
11428
11429 static int
11430 dissect_h245_MaintenanceLoopRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11431   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11432                                  ett_h245_MaintenanceLoopRejectCause, MaintenanceLoopRejectCause_choice,
11433                                  NULL);
11434
11435   return offset;
11436 }
11437
11438
11439 static const per_sequence_t MaintenanceLoopReject_sequence[] = {
11440   { &hf_h245_mlrej_type     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mlrej_type },
11441   { &hf_h245_maintloop_rej_cause, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MaintenanceLoopRejectCause },
11442   { NULL, 0, 0, NULL }
11443 };
11444
11445 static int
11446 dissect_h245_MaintenanceLoopReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11447   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11448                                    ett_h245_MaintenanceLoopReject, MaintenanceLoopReject_sequence);
11449
11450   return offset;
11451 }
11452
11453
11454
11455 static int
11456 dissect_h245_BMPString_SIZE_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11457   offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
11458                                           1, 128);
11459
11460   return offset;
11461 }
11462
11463
11464 static const value_string h245_T_entryDataType_vals[] = {
11465   {   0, "videoData" },
11466   {   1, "audioData" },
11467   {   2, "data" },
11468   { 0, NULL }
11469 };
11470
11471 static const per_choice_t T_entryDataType_choice[] = {
11472   {   0, &hf_h245_videoData      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
11473   {   1, &hf_h245_audioData      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
11474   {   2, &hf_h245_data           , ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
11475   { 0, NULL, 0, NULL }
11476 };
11477
11478 static int
11479 dissect_h245_T_entryDataType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11480   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11481                                  ett_h245_T_entryDataType, T_entryDataType_choice,
11482                                  NULL);
11483
11484   return offset;
11485 }
11486
11487
11488
11489 static int
11490 dissect_h245_Cm_mediaChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11491   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
11492
11493   return offset;
11494 }
11495
11496
11497 static const per_sequence_t CommunicationModeTableEntry_sequence[] = {
11498   { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
11499   { &hf_h245_sessionID      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
11500   { &hf_h245_associatedSessionID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
11501   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
11502   { &hf_h245_sessionDescription, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BMPString_SIZE_1_128 },
11503   { &hf_h245_entryDataType  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_entryDataType },
11504   { &hf_h245_cm_mediaChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Cm_mediaChannel },
11505   { &hf_h245_mediaGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
11506   { &hf_h245_cm_mediaControlChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TransportAddress },
11507   { &hf_h245_mediaControlGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
11508   { &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_RedundancyEncoding },
11509   { &hf_h245_sessionDependency, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
11510   { &hf_h245_destination    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
11511   { NULL, 0, 0, NULL }
11512 };
11513
11514 static int
11515 dissect_h245_CommunicationModeTableEntry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11516   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11517                                    ett_h245_CommunicationModeTableEntry, CommunicationModeTableEntry_sequence);
11518
11519   return offset;
11520 }
11521
11522
11523 static const per_sequence_t SET_SIZE_1_256_OF_CommunicationModeTableEntry_set_of[1] = {
11524   { &hf_h245_communicationModeTable_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CommunicationModeTableEntry },
11525 };
11526
11527 static int
11528 dissect_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11529   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11530                                              ett_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry, SET_SIZE_1_256_OF_CommunicationModeTableEntry_set_of,
11531                                              1, 256);
11532
11533   return offset;
11534 }
11535
11536
11537 static const value_string h245_CommunicationModeResponse_vals[] = {
11538   {   0, "communicationModeTable" },
11539   { 0, NULL }
11540 };
11541
11542 static const per_choice_t CommunicationModeResponse_choice[] = {
11543   {   0, &hf_h245_communicationModeTable, ASN1_EXTENSION_ROOT    , dissect_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry },
11544   { 0, NULL, 0, NULL }
11545 };
11546
11547 static int
11548 dissect_h245_CommunicationModeResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11549   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11550                                  ett_h245_CommunicationModeResponse, CommunicationModeResponse_choice,
11551                                  NULL);
11552
11553   return offset;
11554 }
11555
11556
11557
11558 static int
11559 dissect_h245_TerminalID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11560   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11561                                        1, 128, FALSE, NULL);
11562
11563   return offset;
11564 }
11565
11566
11567 static const per_sequence_t T_mCTerminalIDResponse_sequence[] = {
11568   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11569   { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11570   { NULL, 0, 0, NULL }
11571 };
11572
11573 static int
11574 dissect_h245_T_mCTerminalIDResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11575   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11576                                    ett_h245_T_mCTerminalIDResponse, T_mCTerminalIDResponse_sequence);
11577
11578   return offset;
11579 }
11580
11581
11582 static const per_sequence_t T_terminalIDResponse_sequence[] = {
11583   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11584   { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11585   { NULL, 0, 0, NULL }
11586 };
11587
11588 static int
11589 dissect_h245_T_terminalIDResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11590   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11591                                    ett_h245_T_terminalIDResponse, T_terminalIDResponse_sequence);
11592
11593   return offset;
11594 }
11595
11596
11597
11598 static int
11599 dissect_h245_ConferenceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11600   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11601                                        1, 32, FALSE, NULL);
11602
11603   return offset;
11604 }
11605
11606
11607 static const per_sequence_t T_conferenceIDResponse_sequence[] = {
11608   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11609   { &hf_h245_conferenceID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConferenceID },
11610   { NULL, 0, 0, NULL }
11611 };
11612
11613 static int
11614 dissect_h245_T_conferenceIDResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11615   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11616                                    ett_h245_T_conferenceIDResponse, T_conferenceIDResponse_sequence);
11617
11618   return offset;
11619 }
11620
11621
11622
11623 static int
11624 dissect_h245_Password(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11625   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11626                                        1, 32, FALSE, NULL);
11627
11628   return offset;
11629 }
11630
11631
11632 static const per_sequence_t T_passwordResponse_sequence[] = {
11633   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11634   { &hf_h245_password       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Password },
11635   { NULL, 0, 0, NULL }
11636 };
11637
11638 static int
11639 dissect_h245_T_passwordResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11640   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11641                                    ett_h245_T_passwordResponse, T_passwordResponse_sequence);
11642
11643   return offset;
11644 }
11645
11646
11647 static const per_sequence_t SET_SIZE_1_256_OF_TerminalLabel_set_of[1] = {
11648   { &hf_h245_terminalListResponse_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11649 };
11650
11651 static int
11652 dissect_h245_SET_SIZE_1_256_OF_TerminalLabel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11653   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11654                                              ett_h245_SET_SIZE_1_256_OF_TerminalLabel, SET_SIZE_1_256_OF_TerminalLabel_set_of,
11655                                              1, 256);
11656
11657   return offset;
11658 }
11659
11660
11661 static const value_string h245_T_makeMeChairResponse_vals[] = {
11662   {   0, "grantedChairToken" },
11663   {   1, "deniedChairToken" },
11664   { 0, NULL }
11665 };
11666
11667 static const per_choice_t T_makeMeChairResponse_choice[] = {
11668   {   0, &hf_h245_grantedChairToken, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11669   {   1, &hf_h245_deniedChairToken, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11670   { 0, NULL, 0, NULL }
11671 };
11672
11673 static int
11674 dissect_h245_T_makeMeChairResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11675   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11676                                  ett_h245_T_makeMeChairResponse, T_makeMeChairResponse_choice,
11677                                  NULL);
11678
11679   return offset;
11680 }
11681
11682
11683 static const per_sequence_t T_extensionAddressResponse_sequence[] = {
11684   { &hf_h245_extensionAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11685   { NULL, 0, 0, NULL }
11686 };
11687
11688 static int
11689 dissect_h245_T_extensionAddressResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11690   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11691                                    ett_h245_T_extensionAddressResponse, T_extensionAddressResponse_sequence);
11692
11693   return offset;
11694 }
11695
11696
11697 static const per_sequence_t T_chairTokenOwnerResponse_sequence[] = {
11698   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11699   { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11700   { NULL, 0, 0, NULL }
11701 };
11702
11703 static int
11704 dissect_h245_T_chairTokenOwnerResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11705   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11706                                    ett_h245_T_chairTokenOwnerResponse, T_chairTokenOwnerResponse_sequence);
11707
11708   return offset;
11709 }
11710
11711
11712 static const per_sequence_t T_terminalCertificateResponse_sequence[] = {
11713   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
11714   { &hf_h245_certificateResponse, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_65535 },
11715   { NULL, 0, 0, NULL }
11716 };
11717
11718 static int
11719 dissect_h245_T_terminalCertificateResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11720   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11721                                    ett_h245_T_terminalCertificateResponse, T_terminalCertificateResponse_sequence);
11722
11723   return offset;
11724 }
11725
11726
11727 static const value_string h245_T_broadcastMyLogicalChannelResponse_vals[] = {
11728   {   0, "grantedBroadcastMyLogicalChannel" },
11729   {   1, "deniedBroadcastMyLogicalChannel" },
11730   { 0, NULL }
11731 };
11732
11733 static const per_choice_t T_broadcastMyLogicalChannelResponse_choice[] = {
11734   {   0, &hf_h245_grantedBroadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11735   {   1, &hf_h245_deniedBroadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11736   { 0, NULL, 0, NULL }
11737 };
11738
11739 static int
11740 dissect_h245_T_broadcastMyLogicalChannelResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11741   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11742                                  ett_h245_T_broadcastMyLogicalChannelResponse, T_broadcastMyLogicalChannelResponse_choice,
11743                                  NULL);
11744
11745   return offset;
11746 }
11747
11748
11749 static const value_string h245_T_makeTerminalBroadcasterResponse_vals[] = {
11750   {   0, "grantedMakeTerminalBroadcaster" },
11751   {   1, "deniedMakeTerminalBroadcaster" },
11752   { 0, NULL }
11753 };
11754
11755 static const per_choice_t T_makeTerminalBroadcasterResponse_choice[] = {
11756   {   0, &hf_h245_grantedMakeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11757   {   1, &hf_h245_deniedMakeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11758   { 0, NULL, 0, NULL }
11759 };
11760
11761 static int
11762 dissect_h245_T_makeTerminalBroadcasterResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11763   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11764                                  ett_h245_T_makeTerminalBroadcasterResponse, T_makeTerminalBroadcasterResponse_choice,
11765                                  NULL);
11766
11767   return offset;
11768 }
11769
11770
11771 static const value_string h245_T_sendThisSourceResponse_vals[] = {
11772   {   0, "grantedSendThisSource" },
11773   {   1, "deniedSendThisSource" },
11774   { 0, NULL }
11775 };
11776
11777 static const per_choice_t T_sendThisSourceResponse_choice[] = {
11778   {   0, &hf_h245_grantedSendThisSource, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11779   {   1, &hf_h245_deniedSendThisSource, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11780   { 0, NULL, 0, NULL }
11781 };
11782
11783 static int
11784 dissect_h245_T_sendThisSourceResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11785   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11786                                  ett_h245_T_sendThisSourceResponse, T_sendThisSourceResponse_choice,
11787                                  NULL);
11788
11789   return offset;
11790 }
11791
11792
11793 static const per_sequence_t TerminalInformation_sequence[] = {
11794   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11795   { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11796   { NULL, 0, 0, NULL }
11797 };
11798
11799 static int
11800 dissect_h245_TerminalInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11801   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11802                                    ett_h245_TerminalInformation, TerminalInformation_sequence);
11803
11804   return offset;
11805 }
11806
11807
11808 static const per_sequence_t SEQUENCE_OF_TerminalInformation_sequence_of[1] = {
11809   { &hf_h245_terminalInformation_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_TerminalInformation },
11810 };
11811
11812 static int
11813 dissect_h245_SEQUENCE_OF_TerminalInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11814   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
11815                                       ett_h245_SEQUENCE_OF_TerminalInformation, SEQUENCE_OF_TerminalInformation_sequence_of);
11816
11817   return offset;
11818 }
11819
11820
11821 static const per_sequence_t RequestAllTerminalIDsResponse_sequence[] = {
11822   { &hf_h245_terminalInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_TerminalInformation },
11823   { NULL, 0, 0, NULL }
11824 };
11825
11826 static int
11827 dissect_h245_RequestAllTerminalIDsResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11828   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11829                                    ett_h245_RequestAllTerminalIDsResponse, RequestAllTerminalIDsResponse_sequence);
11830
11831   return offset;
11832 }
11833
11834
11835 static const value_string h245_T_reject_vals[] = {
11836   {   0, "unspecified" },
11837   {   1, "functionNotSupported" },
11838   { 0, NULL }
11839 };
11840
11841 static const per_choice_t T_reject_choice[] = {
11842   {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11843   {   1, &hf_h245_functionNotSupportedFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11844   { 0, NULL, 0, NULL }
11845 };
11846
11847 static int
11848 dissect_h245_T_reject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11849   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11850                                  ett_h245_T_reject, T_reject_choice,
11851                                  NULL);
11852
11853   return offset;
11854 }
11855
11856
11857 static const value_string h245_RemoteMCResponse_vals[] = {
11858   {   0, "accept" },
11859   {   1, "reject" },
11860   { 0, NULL }
11861 };
11862
11863 static const per_choice_t RemoteMCResponse_choice[] = {
11864   {   0, &hf_h245_accept         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11865   {   1, &hf_h245_reject         , ASN1_EXTENSION_ROOT    , dissect_h245_T_reject },
11866   { 0, NULL, 0, NULL }
11867 };
11868
11869 static int
11870 dissect_h245_RemoteMCResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11871   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11872                                  ett_h245_RemoteMCResponse, RemoteMCResponse_choice,
11873                                  NULL);
11874
11875   return offset;
11876 }
11877
11878
11879 static const value_string h245_ConferenceResponse_vals[] = {
11880   {   0, "mCTerminalIDResponse" },
11881   {   1, "terminalIDResponse" },
11882   {   2, "conferenceIDResponse" },
11883   {   3, "passwordResponse" },
11884   {   4, "terminalListResponse" },
11885   {   5, "videoCommandReject" },
11886   {   6, "terminalDropReject" },
11887   {   7, "makeMeChairResponse" },
11888   {   8, "extensionAddressResponse" },
11889   {   9, "chairTokenOwnerResponse" },
11890   {  10, "terminalCertificateResponse" },
11891   {  11, "broadcastMyLogicalChannelResponse" },
11892   {  12, "makeTerminalBroadcasterResponse" },
11893   {  13, "sendThisSourceResponse" },
11894   {  14, "requestAllTerminalIDsResponse" },
11895   {  15, "remoteMCResponse" },
11896   { 0, NULL }
11897 };
11898
11899 static const per_choice_t ConferenceResponse_choice[] = {
11900   {   0, &hf_h245_mCTerminalIDResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_mCTerminalIDResponse },
11901   {   1, &hf_h245_terminalIDResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_terminalIDResponse },
11902   {   2, &hf_h245_conferenceIDResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_conferenceIDResponse },
11903   {   3, &hf_h245_passwordResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_passwordResponse },
11904   {   4, &hf_h245_terminalListResponse, ASN1_EXTENSION_ROOT    , dissect_h245_SET_SIZE_1_256_OF_TerminalLabel },
11905   {   5, &hf_h245_videoCommandReject, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11906   {   6, &hf_h245_terminalDropReject, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11907   {   7, &hf_h245_makeMeChairResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_makeMeChairResponse },
11908   {   8, &hf_h245_extensionAddressResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_extensionAddressResponse },
11909   {   9, &hf_h245_chairTokenOwnerResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_chairTokenOwnerResponse },
11910   {  10, &hf_h245_terminalCertificateResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_terminalCertificateResponse },
11911   {  11, &hf_h245_broadcastMyLogicalChannelResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_broadcastMyLogicalChannelResponse },
11912   {  12, &hf_h245_makeTerminalBroadcasterResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_makeTerminalBroadcasterResponse },
11913   {  13, &hf_h245_sendThisSourceResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_sendThisSourceResponse },
11914   {  14, &hf_h245_requestAllTerminalIDsResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RequestAllTerminalIDsResponse },
11915   {  15, &hf_h245_remoteMCResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RemoteMCResponse },
11916   { 0, NULL, 0, NULL }
11917 };
11918
11919 static int
11920 dissect_h245_ConferenceResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11921   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11922                                  ett_h245_ConferenceResponse, ConferenceResponse_choice,
11923                                  NULL);
11924
11925   return offset;
11926 }
11927
11928
11929 static const per_sequence_t CallInformationResp_sequence[] = {
11930   { &hf_h245_dialingInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformation },
11931   { &hf_h245_callAssociationNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
11932   { NULL, 0, 0, NULL }
11933 };
11934
11935 static int
11936 dissect_h245_CallInformationResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11937   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11938                                    ett_h245_CallInformationResp, CallInformationResp_sequence);
11939
11940   return offset;
11941 }
11942
11943
11944 static const value_string h245_T_rejected_vals[] = {
11945   {   0, "connectionsNotAvailable" },
11946   {   1, "userRejected" },
11947   { 0, NULL }
11948 };
11949
11950 static const per_choice_t T_rejected_choice[] = {
11951   {   0, &hf_h245_connectionsNotAvailable, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11952   {   1, &hf_h245_userRejected   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11953   { 0, NULL, 0, NULL }
11954 };
11955
11956 static int
11957 dissect_h245_T_rejected(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11958   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11959                                  ett_h245_T_rejected, T_rejected_choice,
11960                                  NULL);
11961
11962   return offset;
11963 }
11964
11965
11966 static const value_string h245_T_responseCode_vals[] = {
11967   {   0, "accepted" },
11968   {   1, "rejected" },
11969   { 0, NULL }
11970 };
11971
11972 static const per_choice_t T_responseCode_choice[] = {
11973   {   0, &hf_h245_accepted       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11974   {   1, &hf_h245_rejected       , ASN1_EXTENSION_ROOT    , dissect_h245_T_rejected },
11975   { 0, NULL, 0, NULL }
11976 };
11977
11978 static int
11979 dissect_h245_T_responseCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11980   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11981                                  ett_h245_T_responseCode, T_responseCode_choice,
11982                                  NULL);
11983
11984   return offset;
11985 }
11986
11987
11988 static const per_sequence_t AddConnectionResp_sequence[] = {
11989   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11990   { &hf_h245_responseCode   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_responseCode },
11991   { NULL, 0, 0, NULL }
11992 };
11993
11994 static int
11995 dissect_h245_AddConnectionResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11996   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11997                                    ett_h245_AddConnectionResp, AddConnectionResp_sequence);
11998
11999   return offset;
12000 }
12001
12002
12003 static const per_sequence_t RemoveConnectionResp_sequence[] = {
12004   { &hf_h245_connectionIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConnectionIdentifier },
12005   { NULL, 0, 0, NULL }
12006 };
12007
12008 static int
12009 dissect_h245_RemoveConnectionResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12010   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12011                                    ett_h245_RemoveConnectionResp, RemoveConnectionResp_sequence);
12012
12013   return offset;
12014 }
12015
12016
12017 static const per_sequence_t MaximumHeaderIntervalResp_sequence[] = {
12018   { &hf_h245_currentInterval, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
12019   { NULL, 0, 0, NULL }
12020 };
12021
12022 static int
12023 dissect_h245_MaximumHeaderIntervalResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12024   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12025                                    ett_h245_MaximumHeaderIntervalResp, MaximumHeaderIntervalResp_sequence);
12026
12027   return offset;
12028 }
12029
12030
12031 static const value_string h245_MultilinkResponse_vals[] = {
12032   {   0, "nonStandard" },
12033   {   1, "callInformation" },
12034   {   2, "addConnection" },
12035   {   3, "removeConnection" },
12036   {   4, "maximumHeaderInterval" },
12037   { 0, NULL }
12038 };
12039
12040 static const per_choice_t MultilinkResponse_choice[] = {
12041   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
12042   {   1, &hf_h245_callInformationResp, ASN1_EXTENSION_ROOT    , dissect_h245_CallInformationResp },
12043   {   2, &hf_h245_addConnectionResp, ASN1_EXTENSION_ROOT    , dissect_h245_AddConnectionResp },
12044   {   3, &hf_h245_removeConnectionResp, ASN1_EXTENSION_ROOT    , dissect_h245_RemoveConnectionResp },
12045   {   4, &hf_h245_maximumHeaderIntervalResp, ASN1_EXTENSION_ROOT    , dissect_h245_MaximumHeaderIntervalResp },
12046   { 0, NULL, 0, NULL }
12047 };
12048
12049 static int
12050 dissect_h245_MultilinkResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12051   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12052                                  ett_h245_MultilinkResponse, MultilinkResponse_choice,
12053                                  NULL);
12054
12055   return offset;
12056 }
12057
12058
12059 static const per_sequence_t LogicalChannelRateAcknowledge_sequence[] = {
12060   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
12061   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
12062   { &hf_h245_maximumBitRate , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MaximumBitRate },
12063   { NULL, 0, 0, NULL }
12064 };
12065
12066 static int
12067 dissect_h245_LogicalChannelRateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12068   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12069                                    ett_h245_LogicalChannelRateAcknowledge, LogicalChannelRateAcknowledge_sequence);
12070
12071   return offset;
12072 }
12073
12074
12075 static const value_string h245_LogicalChannelRateRejectReason_vals[] = {
12076   {   0, "undefinedReason" },
12077   {   1, "insufficientResources" },
12078   { 0, NULL }
12079 };
12080
12081 static const per_choice_t LogicalChannelRateRejectReason_choice[] = {
12082   {   0, &hf_h245_undefinedReason, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12083   {   1, &hf_h245_insufficientResources, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12084   { 0, NULL, 0, NULL }
12085 };
12086
12087 static int
12088 dissect_h245_LogicalChannelRateRejectReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12089   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12090                                  ett_h245_LogicalChannelRateRejectReason, LogicalChannelRateRejectReason_choice,
12091                                  NULL);
12092
12093   return offset;
12094 }
12095
12096
12097 static const per_sequence_t LogicalChannelRateReject_sequence[] = {
12098   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
12099   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
12100   { &hf_h245_rejectReason   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelRateRejectReason },
12101   { &hf_h245_currentMaximumBitRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MaximumBitRate },
12102   { NULL, 0, 0, NULL }
12103 };
12104
12105 static int
12106 dissect_h245_LogicalChannelRateReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12107   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12108                                    ett_h245_LogicalChannelRateReject, LogicalChannelRateReject_sequence);
12109
12110   return offset;
12111 }
12112
12113
12114 static const value_string h245_ResponseMessage_vals[] = {
12115   { ResponseMessage_nonStandard, "nonStandard" },
12116   { ResponseMessage_masterSlaveDeterminationAck, "masterSlaveDeterminationAck" },
12117   { ResponseMessage_masterSlaveDeterminationReject, "masterSlaveDeterminationReject" },
12118   { ResponseMessage_terminalCapabilitySetAck, "terminalCapabilitySetAck" },
12119   { ResponseMessage_terminalCapabilitySetReject, "terminalCapabilitySetReject" },
12120   { ResponseMessage_openLogicalChannelAck, "openLogicalChannelAck" },
12121   { ResponseMessage_openLogicalChannelReject, "openLogicalChannelReject" },
12122   { ResponseMessage_closeLogicalChannelAck, "closeLogicalChannelAck" },
12123   { ResponseMessage_requestChannelCloseAck, "requestChannelCloseAck" },
12124   { ResponseMessage_requestChannelCloseReject, "requestChannelCloseReject" },
12125   { ResponseMessage_multiplexEntrySendAck, "multiplexEntrySendAck" },
12126   { ResponseMessage_multiplexEntrySendReject, "multiplexEntrySendReject" },
12127   { ResponseMessage_requestMultiplexEntryAck, "requestMultiplexEntryAck" },
12128   { ResponseMessage_requestMultiplexEntryReject, "requestMultiplexEntryReject" },
12129   { ResponseMessage_requestModeAck, "requestModeAck" },
12130   { ResponseMessage_requestModeReject, "requestModeReject" },
12131   { ResponseMessage_roundTripDelayResponse, "roundTripDelayResponse" },
12132   { ResponseMessage_maintenanceLoopAck, "maintenanceLoopAck" },
12133   { ResponseMessage_maintenanceLoopReject, "maintenanceLoopReject" },
12134   { ResponseMessage_communicationModeResponse, "communicationModeResponse" },
12135   { ResponseMessage_conferenceResponse, "conferenceResponse" },
12136   { ResponseMessage_multilinkResponse, "multilinkResponse" },
12137   { ResponseMessage_logicalChannelRateAcknowledge, "logicalChannelRateAcknowledge" },
12138   { ResponseMessage_logicalChannelRateReject, "logicalChannelRateReject" },
12139   { ResponseMessage_genericResponse, "genericResponse" },
12140   { 0, NULL }
12141 };
12142
12143 static const per_choice_t ResponseMessage_choice[] = {
12144   { ResponseMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
12145   { ResponseMessage_masterSlaveDeterminationAck, &hf_h245_masterSlaveDeterminationAck, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDeterminationAck },
12146   { ResponseMessage_masterSlaveDeterminationReject, &hf_h245_masterSlaveDeterminationReject, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDeterminationReject },
12147   { ResponseMessage_terminalCapabilitySetAck, &hf_h245_terminalCapabilitySetAck, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySetAck },
12148   { ResponseMessage_terminalCapabilitySetReject, &hf_h245_terminalCapabilitySetReject, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySetReject },
12149   { ResponseMessage_openLogicalChannelAck, &hf_h245_openLogicalChannelAck, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannelAck },
12150   { ResponseMessage_openLogicalChannelReject, &hf_h245_openLogicalChannelReject, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannelReject },
12151   { ResponseMessage_closeLogicalChannelAck, &hf_h245_closeLogicalChannelAck, ASN1_EXTENSION_ROOT    , dissect_h245_CloseLogicalChannelAck },
12152   { ResponseMessage_requestChannelCloseAck, &hf_h245_requestChannelCloseAck, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelCloseAck },
12153   { ResponseMessage_requestChannelCloseReject, &hf_h245_requestChannelCloseReject, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelCloseReject },
12154   { ResponseMessage_multiplexEntrySendAck, &hf_h245_multiplexEntrySendAck, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySendAck },
12155   { ResponseMessage_multiplexEntrySendReject, &hf_h245_multiplexEntrySendReject, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySendReject },
12156   { ResponseMessage_requestMultiplexEntryAck, &hf_h245_requestMultiplexEntryAck, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntryAck },
12157   { ResponseMessage_requestMultiplexEntryReject, &hf_h245_requestMultiplexEntryReject, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntryReject },
12158   { ResponseMessage_requestModeAck, &hf_h245_requestModeAck , ASN1_EXTENSION_ROOT    , dissect_h245_RequestModeAck },
12159   { ResponseMessage_requestModeReject, &hf_h245_requestModeReject, ASN1_EXTENSION_ROOT    , dissect_h245_RequestModeReject },
12160   { ResponseMessage_roundTripDelayResponse, &hf_h245_roundTripDelayResponse, ASN1_EXTENSION_ROOT    , dissect_h245_RoundTripDelayResponse },
12161   { ResponseMessage_maintenanceLoopAck, &hf_h245_maintenanceLoopAck, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopAck },
12162   { ResponseMessage_maintenanceLoopReject, &hf_h245_maintenanceLoopReject, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopReject },
12163   { ResponseMessage_communicationModeResponse, &hf_h245_communicationModeResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_CommunicationModeResponse },
12164   { ResponseMessage_conferenceResponse, &hf_h245_conferenceResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceResponse },
12165   { ResponseMessage_multilinkResponse, &hf_h245_multilinkResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultilinkResponse },
12166   { ResponseMessage_logicalChannelRateAcknowledge, &hf_h245_logicalChannelRateAcknowledge, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateAcknowledge },
12167   { ResponseMessage_logicalChannelRateReject, &hf_h245_logicalChannelRateReject, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateReject },
12168   { ResponseMessage_genericResponse, &hf_h245_genericResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
12169   { 0, NULL, 0, NULL }
12170 };
12171
12172 static int
12173 dissect_h245_ResponseMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12174 #line 407 "h245.cnf"
12175   guint32 value;
12176
12177   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12178                                  ett_h245_ResponseMessage, ResponseMessage_choice,
12179                                  &value);
12180
12181         if (check_col(actx->pinfo->cinfo, COL_INFO)){
12182                 if ( h245_shorttypes == TRUE )
12183                 {
12184                         col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
12185                                 val_to_str(value, h245_ResponseMessage_short_vals, "<unknown>"));
12186                 }
12187                 else
12188                 {
12189                         col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
12190                                 val_to_str(value, h245_ResponseMessage_vals, "<unknown>"));
12191                 }
12192         }
12193
12194         col_set_fence(actx->pinfo->cinfo,COL_INFO);
12195
12196         if (h245_pi != NULL){
12197                 /* Add to packet info */
12198                 g_snprintf(h245_pi->frame_label, 50, "%s %s ", h245_pi->frame_label, val_to_str(value, h245_ResponseMessage_short_vals, "UKN"));
12199                 g_strlcat(h245_pi->comment, val_to_str(value, h245_ResponseMessage_vals, "<unknown>"), 50);
12200         }
12201
12202
12203
12204   return offset;
12205 }
12206
12207
12208 static const per_sequence_t MaintenanceLoopOffCommand_sequence[] = {
12209   { NULL, 0, 0, NULL }
12210 };
12211
12212 static int
12213 dissect_h245_MaintenanceLoopOffCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12214   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12215                                    ett_h245_MaintenanceLoopOffCommand, MaintenanceLoopOffCommand_sequence);
12216
12217   return offset;
12218 }
12219
12220
12221 static const per_sequence_t SET_SIZE_1_65535_OF_CapabilityTableEntryNumber_set_of[1] = {
12222   { &hf_h245_capabilityTableEntryNumbers_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
12223 };
12224
12225 static int
12226 dissect_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12227   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
12228                                              ett_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber, SET_SIZE_1_65535_OF_CapabilityTableEntryNumber_set_of,
12229                                              1, 65535);
12230
12231   return offset;
12232 }
12233
12234
12235 static const per_sequence_t SET_SIZE_1_256_OF_CapabilityDescriptorNumber_set_of[1] = {
12236   { &hf_h245_capabilityDescriptorNumbers_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityDescriptorNumber },
12237 };
12238
12239 static int
12240 dissect_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12241   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
12242                                              ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber, SET_SIZE_1_256_OF_CapabilityDescriptorNumber_set_of,
12243                                              1, 256);
12244
12245   return offset;
12246 }
12247
12248
12249 static const per_sequence_t T_specificRequest_sequence[] = {
12250   { &hf_h245_multiplexCapabilityBool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12251   { &hf_h245_capabilityTableEntryNumbers, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber },
12252   { &hf_h245_capabilityDescriptorNumbers, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber },
12253   { NULL, 0, 0, NULL }
12254 };
12255
12256 static int
12257 dissect_h245_T_specificRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12258   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12259                                    ett_h245_T_specificRequest, T_specificRequest_sequence);
12260
12261   return offset;
12262 }
12263
12264
12265 static const value_string h245_SendTerminalCapabilitySet_vals[] = {
12266   {   0, "specificRequest" },
12267   {   1, "genericRequest" },
12268   { 0, NULL }
12269 };
12270
12271 static const per_choice_t SendTerminalCapabilitySet_choice[] = {
12272   {   0, &hf_h245_specificRequest, ASN1_EXTENSION_ROOT    , dissect_h245_T_specificRequest },
12273   {   1, &hf_h245_genericRequestFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12274   { 0, NULL, 0, NULL }
12275 };
12276
12277 static int
12278 dissect_h245_SendTerminalCapabilitySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12279   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12280                                  ett_h245_SendTerminalCapabilitySet, SendTerminalCapabilitySet_choice,
12281                                  NULL);
12282
12283   return offset;
12284 }
12285
12286
12287 static const per_sequence_t T_encryptionAlgorithmID_sequence[] = {
12288   { &hf_h245_h233AlgorithmIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
12289   { &hf_h245_associatedAlgorithm, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
12290   { NULL, 0, 0, NULL }
12291 };
12292
12293 static int
12294 dissect_h245_T_encryptionAlgorithmID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12295   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12296                                    ett_h245_T_encryptionAlgorithmID, T_encryptionAlgorithmID_sequence);
12297
12298   return offset;
12299 }
12300
12301
12302 static const value_string h245_EncryptionCommand_vals[] = {
12303   {   0, "encryptionSE" },
12304   {   1, "encryptionIVRequest" },
12305   {   2, "encryptionAlgorithmID" },
12306   { 0, NULL }
12307 };
12308
12309 static const per_choice_t EncryptionCommand_choice[] = {
12310   {   0, &hf_h245_encryptionSE   , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING },
12311   {   1, &hf_h245_encryptionIVRequest, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12312   {   2, &hf_h245_encryptionAlgorithmID, ASN1_EXTENSION_ROOT    , dissect_h245_T_encryptionAlgorithmID },
12313   { 0, NULL, 0, NULL }
12314 };
12315
12316 static int
12317 dissect_h245_EncryptionCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12318   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12319                                  ett_h245_EncryptionCommand, EncryptionCommand_choice,
12320                                  NULL);
12321
12322   return offset;
12323 }
12324
12325
12326 static const value_string h245_Scope_vals[] = {
12327   {   0, "logicalChannelNumber" },
12328   {   1, "resourceID" },
12329   {   2, "wholeMultiplex" },
12330   { 0, NULL }
12331 };
12332
12333 static const per_choice_t Scope_choice[] = {
12334   {   0, &hf_h245_logicalChannelNumber, ASN1_NO_EXTENSIONS     , dissect_h245_LogicalChannelNumber },
12335   {   1, &hf_h245_resourceID     , ASN1_NO_EXTENSIONS     , dissect_h245_INTEGER_0_65535 },
12336   {   2, &hf_h245_wholeMultiplex , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
12337   { 0, NULL, 0, NULL }
12338 };
12339
12340 static int
12341 dissect_h245_Scope(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12342   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12343                                  ett_h245_Scope, Scope_choice,
12344                                  NULL);
12345
12346   return offset;
12347 }
12348
12349
12350 static const value_string h245_Restriction_vals[] = {
12351   {   0, "maximumBitRate" },
12352   {   1, "noRestriction" },
12353   { 0, NULL }
12354 };
12355
12356 static const per_choice_t Restriction_choice[] = {
12357   {   0, &hf_h245_res_maximumBitRate, ASN1_NO_EXTENSIONS     , dissect_h245_INTEGER_0_16777215 },
12358   {   1, &hf_h245_noRestriction  , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
12359   { 0, NULL, 0, NULL }
12360 };
12361
12362 static int
12363 dissect_h245_Restriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12364   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12365                                  ett_h245_Restriction, Restriction_choice,
12366                                  NULL);
12367
12368   return offset;
12369 }
12370
12371
12372 static const per_sequence_t FlowControlCommand_sequence[] = {
12373   { &hf_h245_scope          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Scope },
12374   { &hf_h245_restriction    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Restriction },
12375   { NULL, 0, 0, NULL }
12376 };
12377
12378 static int
12379 dissect_h245_FlowControlCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12380   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12381                                    ett_h245_FlowControlCommand, FlowControlCommand_sequence);
12382
12383   return offset;
12384 }
12385
12386
12387 static const value_string h245_T_gstnOptions_vals[] = {
12388   {   0, "telephonyMode" },
12389   {   1, "v8bis" },
12390   {   2, "v34DSVD" },
12391   {   3, "v34DuplexFAX" },
12392   {   4, "v34H324" },
12393   { 0, NULL }
12394 };
12395
12396 static const per_choice_t T_gstnOptions_choice[] = {
12397   {   0, &hf_h245_telephonyMode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12398   {   1, &hf_h245_v8bis          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12399   {   2, &hf_h245_v34DSVD        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12400   {   3, &hf_h245_v34DuplexFAX   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12401   {   4, &hf_h245_v34H324        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12402   { 0, NULL, 0, NULL }
12403 };
12404
12405 static int
12406 dissect_h245_T_gstnOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12407   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12408                                  ett_h245_T_gstnOptions, T_gstnOptions_choice,
12409                                  NULL);
12410
12411   return offset;
12412 }
12413
12414
12415 static const value_string h245_T_isdnOptions_vals[] = {
12416   {   0, "telephonyMode" },
12417   {   1, "v140" },
12418   {   2, "terminalOnHold" },
12419   { 0, NULL }
12420 };
12421
12422 static const per_choice_t T_isdnOptions_choice[] = {
12423   {   0, &hf_h245_telephonyMode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12424   {   1, &hf_h245_v140           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12425   {   2, &hf_h245_terminalOnHold , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12426   { 0, NULL, 0, NULL }
12427 };
12428
12429 static int
12430 dissect_h245_T_isdnOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12431   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12432                                  ett_h245_T_isdnOptions, T_isdnOptions_choice,
12433                                  NULL);
12434
12435   return offset;
12436 }
12437
12438
12439 static const value_string h245_EndSessionCommand_vals[] = {
12440   {   0, "nonStandard" },
12441   {   1, "disconnect" },
12442   {   2, "gstnOptions" },
12443   {   3, "isdnOptions" },
12444   {   4, "genericInformation" },
12445   { 0, NULL }
12446 };
12447
12448 static const per_choice_t EndSessionCommand_choice[] = {
12449   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
12450   {   1, &hf_h245_disconnect     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12451   {   2, &hf_h245_gstnOptions    , ASN1_EXTENSION_ROOT    , dissect_h245_T_gstnOptions },
12452   {   3, &hf_h245_isdnOptions    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_isdnOptions },
12453   {   4, &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_GenericInformation },
12454   { 0, NULL, 0, NULL }
12455 };
12456
12457 static int
12458 dissect_h245_EndSessionCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12459   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12460                                  ett_h245_EndSessionCommand, EndSessionCommand_choice,
12461                                  NULL);
12462
12463   return offset;
12464 }
12465
12466
12467
12468 static int
12469 dissect_h245_INTEGER_0_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12470   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12471                                                             0U, 17U, NULL, FALSE);
12472
12473   return offset;
12474 }
12475
12476
12477
12478 static int
12479 dissect_h245_INTEGER_1_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12480   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12481                                                             1U, 18U, NULL, FALSE);
12482
12483   return offset;
12484 }
12485
12486
12487 static const per_sequence_t T_videoFastUpdateGOB_sequence[] = {
12488   { &hf_h245_firstGOB       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_17 },
12489   { &hf_h245_numberOfGOBs   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_18 },
12490   { NULL, 0, 0, NULL }
12491 };
12492
12493 static int
12494 dissect_h245_T_videoFastUpdateGOB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12495   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12496                                    ett_h245_T_videoFastUpdateGOB, T_videoFastUpdateGOB_sequence);
12497
12498   return offset;
12499 }
12500
12501
12502
12503 static int
12504 dissect_h245_INTEGER_0_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12505   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12506                                                             0U, 31U, NULL, FALSE);
12507
12508   return offset;
12509 }
12510
12511
12512
12513 static int
12514 dissect_h245_INTEGER_1_8192(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12515   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12516                                                             1U, 8192U, NULL, FALSE);
12517
12518   return offset;
12519 }
12520
12521
12522 static const per_sequence_t T_videoFastUpdateMB_sequence[] = {
12523   { &hf_h245_firstGOB_0_255 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_255 },
12524   { &hf_h245_firstMB_1_8192 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_8192 },
12525   { &hf_h245_numberOfMBs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_8192 },
12526   { NULL, 0, 0, NULL }
12527 };
12528
12529 static int
12530 dissect_h245_T_videoFastUpdateMB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12531   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12532                                    ett_h245_T_videoFastUpdateMB, T_videoFastUpdateMB_sequence);
12533
12534   return offset;
12535 }
12536
12537
12538 static const per_sequence_t KeyProtectionMethod_sequence[] = {
12539   { &hf_h245_secureChannel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12540   { &hf_h245_sharedSecret   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12541   { &hf_h245_certProtectedKey, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12542   { NULL, 0, 0, NULL }
12543 };
12544
12545 static int
12546 dissect_h245_KeyProtectionMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12547   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12548                                    ett_h245_KeyProtectionMethod, KeyProtectionMethod_sequence);
12549
12550   return offset;
12551 }
12552
12553
12554 static const per_sequence_t EncryptionUpdateRequest_sequence[] = {
12555   { &hf_h245_keyProtectionMethod, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_KeyProtectionMethod },
12556   { &hf_h245_synchFlag      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_255 },
12557   { NULL, 0, 0, NULL }
12558 };
12559
12560 static int
12561 dissect_h245_EncryptionUpdateRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12562   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12563                                    ett_h245_EncryptionUpdateRequest, EncryptionUpdateRequest_sequence);
12564
12565   return offset;
12566 }
12567
12568
12569 static const value_string h245_T_repeatCount_vals[] = {
12570   {   0, "doOneProgression" },
12571   {   1, "doContinuousProgressions" },
12572   {   2, "doOneIndependentProgression" },
12573   {   3, "doContinuousIndependentProgressions" },
12574   { 0, NULL }
12575 };
12576
12577 static const per_choice_t T_repeatCount_choice[] = {
12578   {   0, &hf_h245_doOneProgression, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12579   {   1, &hf_h245_doContinuousProgressions, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12580   {   2, &hf_h245_doOneIndependentProgression, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12581   {   3, &hf_h245_doContinuousIndependentProgressions, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12582   { 0, NULL, 0, NULL }
12583 };
12584
12585 static int
12586 dissect_h245_T_repeatCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12587   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12588                                  ett_h245_T_repeatCount, T_repeatCount_choice,
12589                                  NULL);
12590
12591   return offset;
12592 }
12593
12594
12595 static const per_sequence_t T_progressiveRefinementStart_sequence[] = {
12596   { &hf_h245_repeatCount    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_repeatCount },
12597   { NULL, 0, 0, NULL }
12598 };
12599
12600 static int
12601 dissect_h245_T_progressiveRefinementStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12602   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12603                                    ett_h245_T_progressiveRefinementStart, T_progressiveRefinementStart_sequence);
12604
12605   return offset;
12606 }
12607
12608
12609
12610 static int
12611 dissect_h245_INTEGER_1_9216(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12612   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12613                                                             1U, 9216U, NULL, FALSE);
12614
12615   return offset;
12616 }
12617
12618
12619 static const per_sequence_t T_videoBadMBs_sequence[] = {
12620   { &hf_h245_firstMB        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12621   { &hf_h245_numberOfMBs1_1_9216, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12622   { &hf_h245_temporalReference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_1023 },
12623   { NULL, 0, 0, NULL }
12624 };
12625
12626 static int
12627 dissect_h245_T_videoBadMBs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12628   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12629                                    ett_h245_T_videoBadMBs, T_videoBadMBs_sequence);
12630
12631   return offset;
12632 }
12633
12634
12635 static const value_string h245_PictureReference_vals[] = {
12636   {   0, "pictureNumber" },
12637   {   1, "longTermPictureIndex" },
12638   { 0, NULL }
12639 };
12640
12641 static const per_choice_t PictureReference_choice[] = {
12642   {   0, &hf_h245_pictureNumber  , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_1023 },
12643   {   1, &hf_h245_longTermPictureIndex, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_255 },
12644   { 0, NULL, 0, NULL }
12645 };
12646
12647 static int
12648 dissect_h245_PictureReference(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12649   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12650                                  ett_h245_PictureReference, PictureReference_choice,
12651                                  NULL);
12652
12653   return offset;
12654 }
12655
12656
12657 static const per_sequence_t SEQUENCE_OF_PictureReference_sequence_of[1] = {
12658   { &hf_h245_lostPicture_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_PictureReference },
12659 };
12660
12661 static int
12662 dissect_h245_SEQUENCE_OF_PictureReference(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12663   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
12664                                       ett_h245_SEQUENCE_OF_PictureReference, SEQUENCE_OF_PictureReference_sequence_of);
12665
12666   return offset;
12667 }
12668
12669
12670 static const per_sequence_t T_lostPartialPicture_sequence[] = {
12671   { &hf_h245_pictureReference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_PictureReference },
12672   { &hf_h245_firstMB        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12673   { &hf_h245_numberOfMBs1_1_9216, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12674   { NULL, 0, 0, NULL }
12675 };
12676
12677 static int
12678 dissect_h245_T_lostPartialPicture(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12679   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12680                                    ett_h245_T_lostPartialPicture, T_lostPartialPicture_sequence);
12681
12682   return offset;
12683 }
12684
12685
12686 static const per_sequence_t T_encryptionUpdateCommand_sequence[] = {
12687   { &hf_h245_encryptionSync , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionSync },
12688   { &hf_h245_multiplePayloadStream, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MultiplePayloadStream },
12689   { NULL, 0, 0, NULL }
12690 };
12691
12692 static int
12693 dissect_h245_T_encryptionUpdateCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12694   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12695                                    ett_h245_T_encryptionUpdateCommand, T_encryptionUpdateCommand_sequence);
12696
12697   return offset;
12698 }
12699
12700
12701 static const per_sequence_t T_encryptionUpdateAck_sequence[] = {
12702   { &hf_h245_synchFlag      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
12703   { NULL, 0, 0, NULL }
12704 };
12705
12706 static int
12707 dissect_h245_T_encryptionUpdateAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12708   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12709                                    ett_h245_T_encryptionUpdateAck, T_encryptionUpdateAck_sequence);
12710
12711   return offset;
12712 }
12713
12714
12715 static const value_string h245_Mc_type_vals[] = {
12716   {   0, "equaliseDelay" },
12717   {   1, "zeroDelay" },
12718   {   2, "multipointModeCommand" },
12719   {   3, "cancelMultipointModeCommand" },
12720   {   4, "videoFreezePicture" },
12721   {   5, "videoFastUpdatePicture" },
12722   {   6, "videoFastUpdateGOB" },
12723   {   7, "videoTemporalSpatialTradeOff" },
12724   {   8, "videoSendSyncEveryGOB" },
12725   {   9, "videoSendSyncEveryGOBCancel" },
12726   {  10, "videoFastUpdateMB" },
12727   {  11, "maxH223MUXPDUsize" },
12728   {  12, "encryptionUpdate" },
12729   {  13, "encryptionUpdateRequest" },
12730   {  14, "switchReceiveMediaOff" },
12731   {  15, "switchReceiveMediaOn" },
12732   {  16, "progressiveRefinementStart" },
12733   {  17, "progressiveRefinementAbortOne" },
12734   {  18, "progressiveRefinementAbortContinuous" },
12735   {  19, "videoBadMBs" },
12736   {  20, "lostPicture" },
12737   {  21, "lostPartialPicture" },
12738   {  22, "recoveryReferencePicture" },
12739   {  23, "encryptionUpdateCommand" },
12740   {  24, "encryptionUpdateAck" },
12741   { 0, NULL }
12742 };
12743
12744 static const per_choice_t Mc_type_choice[] = {
12745   {   0, &hf_h245_equaliseDelay  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12746   {   1, &hf_h245_zeroDelay      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12747   {   2, &hf_h245_multipointModeCommand, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12748   {   3, &hf_h245_cancelMultipointModeCommand, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12749   {   4, &hf_h245_videoFreezePicture, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12750   {   5, &hf_h245_videoFastUpdatePicture, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12751   {   6, &hf_h245_videoFastUpdateGOB, ASN1_EXTENSION_ROOT    , dissect_h245_T_videoFastUpdateGOB },
12752   {   7, &hf_h245_videoTemporalSpatialTradeOff, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_31 },
12753   {   8, &hf_h245_videoSendSyncEveryGOB, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12754   {   9, &hf_h245_videoSendSyncEveryGOBCancel, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12755   {  10, &hf_h245_videoFastUpdateMB, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_videoFastUpdateMB },
12756   {  11, &hf_h245_maxH223MUXPDUsize, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_65535 },
12757   {  12, &hf_h245_encryptionUpdate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_EncryptionSync },
12758   {  13, &hf_h245_encryptionUpdateRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_EncryptionUpdateRequest },
12759   {  14, &hf_h245_switchReceiveMediaOff, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12760   {  15, &hf_h245_switchReceiveMediaOn, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12761   {  16, &hf_h245_progressiveRefinementStart, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_progressiveRefinementStart },
12762   {  17, &hf_h245_progressiveRefinementAbortOne, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12763   {  18, &hf_h245_progressiveRefinementAbortContinuous, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12764   {  19, &hf_h245_videoBadMBs    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_videoBadMBs },
12765   {  20, &hf_h245_lostPicture    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_PictureReference },
12766   {  21, &hf_h245_lostPartialPicture, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_lostPartialPicture },
12767   {  22, &hf_h245_recoveryReferencePicture, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_PictureReference },
12768   {  23, &hf_h245_encryptionUpdateCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_encryptionUpdateCommand },
12769   {  24, &hf_h245_encryptionUpdateAck, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_encryptionUpdateAck },
12770   { 0, NULL, 0, NULL }
12771 };
12772
12773 static int
12774 dissect_h245_Mc_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12775   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12776                                  ett_h245_Mc_type, Mc_type_choice,
12777                                  NULL);
12778
12779   return offset;
12780 }
12781
12782
12783 static const value_string h245_EncryptionUpdateDirection_vals[] = {
12784   {   0, "masterToSlave" },
12785   {   1, "slaveToMaster" },
12786   { 0, NULL }
12787 };
12788
12789 static const per_choice_t EncryptionUpdateDirection_choice[] = {
12790   {   0, &hf_h245_masterToSlave  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12791   {   1, &hf_h245_slaveToMaster  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12792   { 0, NULL, 0, NULL }
12793 };
12794
12795 static int
12796 dissect_h245_EncryptionUpdateDirection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12797   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12798                                  ett_h245_EncryptionUpdateDirection, EncryptionUpdateDirection_choice,
12799                                  NULL);
12800
12801   return offset;
12802 }
12803
12804
12805 static const per_sequence_t MiscellaneousCommand_sequence[] = {
12806   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
12807   { &hf_h245_mc_type        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mc_type },
12808   { &hf_h245_direction      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptionUpdateDirection },
12809   { NULL, 0, 0, NULL }
12810 };
12811
12812 static int
12813 dissect_h245_MiscellaneousCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12814   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12815                                    ett_h245_MiscellaneousCommand, MiscellaneousCommand_sequence);
12816
12817   return offset;
12818 }
12819
12820
12821 static const per_sequence_t CommunicationModeCommand_sequence[] = {
12822   { &hf_h245_communicationModeTable, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry },
12823   { NULL, 0, 0, NULL }
12824 };
12825
12826 static int
12827 dissect_h245_CommunicationModeCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12828   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12829                                    ett_h245_CommunicationModeCommand, CommunicationModeCommand_sequence);
12830
12831   return offset;
12832 }
12833
12834
12835 static const per_sequence_t SubstituteConferenceIDCommand_sequence[] = {
12836   { &hf_h245_conferenceIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_16 },
12837   { NULL, 0, 0, NULL }
12838 };
12839
12840 static int
12841 dissect_h245_SubstituteConferenceIDCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12842   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12843                                    ett_h245_SubstituteConferenceIDCommand, SubstituteConferenceIDCommand_sequence);
12844
12845   return offset;
12846 }
12847
12848
12849 static const value_string h245_ConferenceCommand_vals[] = {
12850   {   0, "broadcastMyLogicalChannel" },
12851   {   1, "cancelBroadcastMyLogicalChannel" },
12852   {   2, "makeTerminalBroadcaster" },
12853   {   3, "cancelMakeTerminalBroadcaster" },
12854   {   4, "sendThisSource" },
12855   {   5, "cancelSendThisSource" },
12856   {   6, "dropConference" },
12857   {   7, "substituteConferenceIDCommand" },
12858   { 0, NULL }
12859 };
12860
12861 static const per_choice_t ConferenceCommand_choice[] = {
12862   {   0, &hf_h245_broadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
12863   {   1, &hf_h245_cancelBroadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
12864   {   2, &hf_h245_makeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
12865   {   3, &hf_h245_cancelMakeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12866   {   4, &hf_h245_sendThisSource , ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
12867   {   5, &hf_h245_cancelSendThisSource, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12868   {   6, &hf_h245_dropConference , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12869   {   7, &hf_h245_substituteConferenceIDCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SubstituteConferenceIDCommand },
12870   { 0, NULL, 0, NULL }
12871 };
12872
12873 static int
12874 dissect_h245_ConferenceCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12875   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12876                                  ett_h245_ConferenceCommand, ConferenceCommand_choice,
12877                                  NULL);
12878
12879   return offset;
12880 }
12881
12882
12883 static const value_string h245_T_h223ModeChange_vals[] = {
12884   {   0, "toLevel0" },
12885   {   1, "toLevel1" },
12886   {   2, "toLevel2" },
12887   {   3, "toLevel2withOptionalHeader" },
12888   { 0, NULL }
12889 };
12890
12891 static const per_choice_t T_h223ModeChange_choice[] = {
12892   {   0, &hf_h245_toLevel0       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12893   {   1, &hf_h245_toLevel1       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12894   {   2, &hf_h245_toLevel2       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12895   {   3, &hf_h245_toLevel2withOptionalHeader, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12896   { 0, NULL, 0, NULL }
12897 };
12898
12899 static int
12900 dissect_h245_T_h223ModeChange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12901   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12902                                  ett_h245_T_h223ModeChange, T_h223ModeChange_choice,
12903                                  NULL);
12904
12905   return offset;
12906 }
12907
12908
12909 static const value_string h245_T_h223AnnexADoubleFlag_vals[] = {
12910   {   0, "start" },
12911   {   1, "stop" },
12912   { 0, NULL }
12913 };
12914
12915 static const per_choice_t T_h223AnnexADoubleFlag_choice[] = {
12916   {   0, &hf_h245_start          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12917   {   1, &hf_h245_stop           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12918   { 0, NULL, 0, NULL }
12919 };
12920
12921 static int
12922 dissect_h245_T_h223AnnexADoubleFlag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12923   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12924                                  ett_h245_T_h223AnnexADoubleFlag, T_h223AnnexADoubleFlag_choice,
12925                                  NULL);
12926
12927   return offset;
12928 }
12929
12930
12931 static const value_string h245_H223MultiplexReconfiguration_vals[] = {
12932   {   0, "h223ModeChange" },
12933   {   1, "h223AnnexADoubleFlag" },
12934   { 0, NULL }
12935 };
12936
12937 static const per_choice_t H223MultiplexReconfiguration_choice[] = {
12938   {   0, &hf_h245_h223ModeChange , ASN1_EXTENSION_ROOT    , dissect_h245_T_h223ModeChange },
12939   {   1, &hf_h245_h223AnnexADoubleFlag, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223AnnexADoubleFlag },
12940   { 0, NULL, 0, NULL }
12941 };
12942
12943 static int
12944 dissect_h245_H223MultiplexReconfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12945   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12946                                  ett_h245_H223MultiplexReconfiguration, H223MultiplexReconfiguration_choice,
12947                                  NULL);
12948
12949   return offset;
12950 }
12951
12952
12953 static const value_string h245_Cmd_clockRecovery_vals[] = {
12954   {   0, "nullClockRecovery" },
12955   {   1, "srtsClockRecovery" },
12956   {   2, "adaptiveClockRecovery" },
12957   { 0, NULL }
12958 };
12959
12960 static const per_choice_t Cmd_clockRecovery_choice[] = {
12961   {   0, &hf_h245_nullClockRecoveryflag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12962   {   1, &hf_h245_srtsClockRecovery, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12963   {   2, &hf_h245_adaptiveClockRecoveryFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12964   { 0, NULL, 0, NULL }
12965 };
12966
12967 static int
12968 dissect_h245_Cmd_clockRecovery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12969   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12970                                  ett_h245_Cmd_clockRecovery, Cmd_clockRecovery_choice,
12971                                  NULL);
12972
12973   return offset;
12974 }
12975
12976
12977 static const value_string h245_Cmd_errorCorrection_vals[] = {
12978   {   0, "nullErrorCorrection" },
12979   {   1, "longInterleaver" },
12980   {   2, "shortInterleaver" },
12981   {   3, "errorCorrectionOnly" },
12982   { 0, NULL }
12983 };
12984
12985 static const per_choice_t Cmd_errorCorrection_choice[] = {
12986   {   0, &hf_h245_nullErrorCorrectionFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12987   {   1, &hf_h245_longInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12988   {   2, &hf_h245_shortInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12989   {   3, &hf_h245_errorCorrectionOnlyFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12990   { 0, NULL, 0, NULL }
12991 };
12992
12993 static int
12994 dissect_h245_Cmd_errorCorrection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12995   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12996                                  ett_h245_Cmd_errorCorrection, Cmd_errorCorrection_choice,
12997                                  NULL);
12998
12999   return offset;
13000 }
13001
13002
13003 static const per_sequence_t Cmd_aal1_sequence[] = {
13004   { &hf_h245_cmd_clockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_clockRecovery },
13005   { &hf_h245_cmd_errorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_errorCorrection },
13006   { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13007   { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13008   { NULL, 0, 0, NULL }
13009 };
13010
13011 static int
13012 dissect_h245_Cmd_aal1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13013   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13014                                    ett_h245_Cmd_aal1, Cmd_aal1_sequence);
13015
13016   return offset;
13017 }
13018
13019
13020 static const per_sequence_t Cmd_aal5_sequence[] = {
13021   { &hf_h245_forwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13022   { &hf_h245_backwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13023   { NULL, 0, 0, NULL }
13024 };
13025
13026 static int
13027 dissect_h245_Cmd_aal5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13028   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13029                                    ett_h245_Cmd_aal5, Cmd_aal5_sequence);
13030
13031   return offset;
13032 }
13033
13034
13035 static const value_string h245_Cmd_aal_vals[] = {
13036   {   0, "aal1" },
13037   {   1, "aal5" },
13038   { 0, NULL }
13039 };
13040
13041 static const per_choice_t Cmd_aal_choice[] = {
13042   {   0, &hf_h245_cmd_aal1       , ASN1_EXTENSION_ROOT    , dissect_h245_Cmd_aal1 },
13043   {   1, &hf_h245_cmd_aal5       , ASN1_EXTENSION_ROOT    , dissect_h245_Cmd_aal5 },
13044   { 0, NULL, 0, NULL }
13045 };
13046
13047 static int
13048 dissect_h245_Cmd_aal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13049   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13050                                  ett_h245_Cmd_aal, Cmd_aal_choice,
13051                                  NULL);
13052
13053   return offset;
13054 }
13055
13056
13057 static const value_string h245_Cmd_multiplex_vals[] = {
13058   {   0, "noMultiplex" },
13059   {   1, "transportStream" },
13060   {   2, "programStream" },
13061   { 0, NULL }
13062 };
13063
13064 static const per_choice_t Cmd_multiplex_choice[] = {
13065   {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13066   {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13067   {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13068   { 0, NULL, 0, NULL }
13069 };
13070
13071 static int
13072 dissect_h245_Cmd_multiplex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13073   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13074                                  ett_h245_Cmd_multiplex, Cmd_multiplex_choice,
13075                                  NULL);
13076
13077   return offset;
13078 }
13079
13080
13081 static const value_string h245_CmdR_multiplex_vals[] = {
13082   {   0, "noMultiplex" },
13083   {   1, "transportStream" },
13084   {   2, "programStream" },
13085   { 0, NULL }
13086 };
13087
13088 static const per_choice_t CmdR_multiplex_choice[] = {
13089   {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13090   {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13091   {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13092   { 0, NULL, 0, NULL }
13093 };
13094
13095 static int
13096 dissect_h245_CmdR_multiplex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13097   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13098                                  ett_h245_CmdR_multiplex, CmdR_multiplex_choice,
13099                                  NULL);
13100
13101   return offset;
13102 }
13103
13104
13105 static const per_sequence_t Cmd_reverseParameters_sequence[] = {
13106   { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13107   { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13108   { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13109   { &hf_h245_cmdr_multiplex , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CmdR_multiplex },
13110   { NULL, 0, 0, NULL }
13111 };
13112
13113 static int
13114 dissect_h245_Cmd_reverseParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13115   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13116                                    ett_h245_Cmd_reverseParameters, Cmd_reverseParameters_sequence);
13117
13118   return offset;
13119 }
13120
13121
13122 static const per_sequence_t NewATMVCCommand_sequence[] = {
13123   { &hf_h245_resourceID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13124   { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13125   { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13126   { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13127   { &hf_h245_cmd_aal        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_aal },
13128   { &hf_h245_cmd_multiplex  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_multiplex },
13129   { &hf_h245_cmd_reverseParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_reverseParameters },
13130   { NULL, 0, 0, NULL }
13131 };
13132
13133 static int
13134 dissect_h245_NewATMVCCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13135   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13136                                    ett_h245_NewATMVCCommand, NewATMVCCommand_sequence);
13137
13138   return offset;
13139 }
13140
13141
13142 static const value_string h245_T_status_vals[] = {
13143   {   0, "synchronized" },
13144   {   1, "reconfiguration" },
13145   { 0, NULL }
13146 };
13147
13148 static const per_choice_t T_status_choice[] = {
13149   {   0, &hf_h245_synchronized   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13150   {   1, &hf_h245_reconfiguration, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13151   { 0, NULL, 0, NULL }
13152 };
13153
13154 static int
13155 dissect_h245_T_status(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13156   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13157                                  ett_h245_T_status, T_status_choice,
13158                                  NULL);
13159
13160   return offset;
13161 }
13162
13163
13164 static const per_sequence_t MobileMultilinkReconfigurationCommand_sequence[] = {
13165   { &hf_h245_sampleSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
13166   { &hf_h245_samplesPerFrame, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
13167   { &hf_h245_status         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_status },
13168   { NULL, 0, 0, NULL }
13169 };
13170
13171 static int
13172 dissect_h245_MobileMultilinkReconfigurationCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13173   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13174                                    ett_h245_MobileMultilinkReconfigurationCommand, MobileMultilinkReconfigurationCommand_sequence);
13175
13176   return offset;
13177 }
13178
13179
13180 static const value_string h245_CommandMessage_vals[] = {
13181   { CommandMessage_nonStandard, "nonStandard" },
13182   { CommandMessage_maintenanceLoopOffCommand, "maintenanceLoopOffCommand" },
13183   { CommandMessage_sendTerminalCapabilitySet, "sendTerminalCapabilitySet" },
13184   { CommandMessage_encryptionCommand, "encryptionCommand" },
13185   { CommandMessage_flowControlCommand, "flowControlCommand" },
13186   { CommandMessage_endSessionCommand, "endSessionCommand" },
13187   { CommandMessage_miscellaneousCommand, "miscellaneousCommand" },
13188   { CommandMessage_communicationModeCommand, "communicationModeCommand" },
13189   { CommandMessage_conferenceCommand, "conferenceCommand" },
13190   { CommandMessage_h223MultiplexReconfiguration, "h223MultiplexReconfiguration" },
13191   { CommandMessage_newATMVCCommand, "newATMVCCommand" },
13192   { CommandMessage_mobileMultilinkReconfigurationCommand, "mobileMultilinkReconfigurationCommand" },
13193   { CommandMessage_genericCommand, "genericCommand" },
13194   { 0, NULL }
13195 };
13196
13197 static const per_choice_t CommandMessage_choice[] = {
13198   { CommandMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
13199   { CommandMessage_maintenanceLoopOffCommand, &hf_h245_maintenanceLoopOffCommand, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopOffCommand },
13200   { CommandMessage_sendTerminalCapabilitySet, &hf_h245_sendTerminalCapabilitySet, ASN1_EXTENSION_ROOT    , dissect_h245_SendTerminalCapabilitySet },
13201   { CommandMessage_encryptionCommand, &hf_h245_encryptionCommand, ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionCommand },
13202   { CommandMessage_flowControlCommand, &hf_h245_flowControlCommand, ASN1_EXTENSION_ROOT    , dissect_h245_FlowControlCommand },
13203   { CommandMessage_endSessionCommand, &hf_h245_endSessionCommand, ASN1_EXTENSION_ROOT    , dissect_h245_EndSessionCommand },
13204   { CommandMessage_miscellaneousCommand, &hf_h245_miscellaneousCommand, ASN1_EXTENSION_ROOT    , dissect_h245_MiscellaneousCommand },
13205   { CommandMessage_communicationModeCommand, &hf_h245_communicationModeCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_CommunicationModeCommand },
13206   { CommandMessage_conferenceCommand, &hf_h245_conferenceCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceCommand },
13207   { CommandMessage_h223MultiplexReconfiguration, &hf_h245_h223MultiplexReconfiguration, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223MultiplexReconfiguration },
13208   { CommandMessage_newATMVCCommand, &hf_h245_newATMVCCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NewATMVCCommand },
13209   { CommandMessage_mobileMultilinkReconfigurationCommand, &hf_h245_mobileMultilinkReconfigurationCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MobileMultilinkReconfigurationCommand },
13210   { CommandMessage_genericCommand, &hf_h245_genericCommand , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
13211   { 0, NULL, 0, NULL }
13212 };
13213
13214 static int
13215 dissect_h245_CommandMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13216 #line 460 "h245.cnf"
13217   guint32 value;
13218
13219   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13220                                  ett_h245_CommandMessage, CommandMessage_choice,
13221                                  &value);
13222
13223         if (check_col(actx->pinfo->cinfo, COL_INFO)){
13224                 if ( h245_shorttypes == TRUE )
13225                 {
13226                         col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
13227                                 val_to_str(value, h245_CommandMessage_short_vals, "<unknown>"));
13228                 }
13229                 else
13230                 {
13231                         col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
13232                                 val_to_str(value, h245_CommandMessage_vals, "<unknown>"));
13233                 }
13234         }
13235
13236         col_set_fence(actx->pinfo->cinfo,COL_INFO);
13237     /* Add to packet info */
13238         if (h245_pi != NULL){
13239             g_snprintf(h245_pi->frame_label, 50, "%s %s ", h245_pi->frame_label, val_to_str(value, h245_CommandMessage_short_vals, "UKN"));
13240                 g_strlcat(h245_pi->comment, val_to_str(value, h245_CommandMessage_vals, "<unknown>"), 50);
13241         }
13242
13243
13244
13245   return offset;
13246 }
13247
13248
13249 static const value_string h245_FunctionNotUnderstood_vals[] = {
13250   {   0, "request" },
13251   {   1, "response" },
13252   {   2, "command" },
13253   { 0, NULL }
13254 };
13255
13256 static const per_choice_t FunctionNotUnderstood_choice[] = {
13257   {   0, &hf_h245_request        , ASN1_NO_EXTENSIONS     , dissect_h245_RequestMessage },
13258   {   1, &hf_h245_response       , ASN1_NO_EXTENSIONS     , dissect_h245_ResponseMessage },
13259   {   2, &hf_h245_command        , ASN1_NO_EXTENSIONS     , dissect_h245_CommandMessage },
13260   { 0, NULL, 0, NULL }
13261 };
13262
13263 static int
13264 dissect_h245_FunctionNotUnderstood(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13265   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13266                                  ett_h245_FunctionNotUnderstood, FunctionNotUnderstood_choice,
13267                                  NULL);
13268
13269   return offset;
13270 }
13271
13272
13273 static const per_sequence_t MasterSlaveDeterminationRelease_sequence[] = {
13274   { NULL, 0, 0, NULL }
13275 };
13276
13277 static int
13278 dissect_h245_MasterSlaveDeterminationRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13279   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13280                                    ett_h245_MasterSlaveDeterminationRelease, MasterSlaveDeterminationRelease_sequence);
13281
13282 #line 596 "h245.cnf"
13283
13284 if (h245_pi != NULL)
13285   h245_pi->msg_type = H245_MastSlvDetRls;
13286
13287   return offset;
13288 }
13289
13290
13291 static const per_sequence_t TerminalCapabilitySetRelease_sequence[] = {
13292   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
13293   { NULL, 0, 0, NULL }
13294 };
13295
13296 static int
13297 dissect_h245_TerminalCapabilitySetRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13298   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13299                                    ett_h245_TerminalCapabilitySetRelease, TerminalCapabilitySetRelease_sequence);
13300
13301 #line 608 "h245.cnf"
13302
13303 if (h245_pi != NULL)
13304   h245_pi->msg_type = H245_TermCapSetRls;
13305
13306   return offset;
13307 }
13308
13309
13310 static const per_sequence_t OpenLogicalChannelConfirm_sequence[] = {
13311   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13312   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
13313   { NULL, 0, 0, NULL }
13314 };
13315
13316 static int
13317 dissect_h245_OpenLogicalChannelConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13318   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13319                                    ett_h245_OpenLogicalChannelConfirm, OpenLogicalChannelConfirm_sequence);
13320
13321 #line 572 "h245.cnf"
13322
13323 if (h245_pi != NULL)
13324   h245_pi->msg_type = H245_OpenLogChnCnf;
13325
13326   return offset;
13327 }
13328
13329
13330 static const per_sequence_t RequestChannelCloseRelease_sequence[] = {
13331   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13332   { NULL, 0, 0, NULL }
13333 };
13334
13335 static int
13336 dissect_h245_RequestChannelCloseRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13337   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13338                                    ett_h245_RequestChannelCloseRelease, RequestChannelCloseRelease_sequence);
13339
13340   return offset;
13341 }
13342
13343
13344 static const per_sequence_t MultiplexEntrySendRelease_sequence[] = {
13345   { &hf_h245_multiplexTableEntryNumbers, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
13346   { NULL, 0, 0, NULL }
13347 };
13348
13349 static int
13350 dissect_h245_MultiplexEntrySendRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13351   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13352                                    ett_h245_MultiplexEntrySendRelease, MultiplexEntrySendRelease_sequence);
13353
13354   return offset;
13355 }
13356
13357
13358 static const per_sequence_t RequestMultiplexEntryRelease_sequence[] = {
13359   { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
13360   { NULL, 0, 0, NULL }
13361 };
13362
13363 static int
13364 dissect_h245_RequestMultiplexEntryRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13365   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13366                                    ett_h245_RequestMultiplexEntryRelease, RequestMultiplexEntryRelease_sequence);
13367
13368   return offset;
13369 }
13370
13371
13372 static const per_sequence_t RequestModeRelease_sequence[] = {
13373   { NULL, 0, 0, NULL }
13374 };
13375
13376 static int
13377 dissect_h245_RequestModeRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13378   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13379                                    ett_h245_RequestModeRelease, RequestModeRelease_sequence);
13380
13381   return offset;
13382 }
13383
13384
13385 static const per_sequence_t T_videoNotDecodedMBs_sequence[] = {
13386   { &hf_h245_firstMB_1_8192 , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_8192 },
13387   { &hf_h245_numberOfMBs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_8192 },
13388   { &hf_h245_temporalReference_0_255, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
13389   { NULL, 0, 0, NULL }
13390 };
13391
13392 static int
13393 dissect_h245_T_videoNotDecodedMBs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13394   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13395                                    ett_h245_T_videoNotDecodedMBs, T_videoNotDecodedMBs_sequence);
13396
13397   return offset;
13398 }
13399
13400
13401 static const value_string h245_Mi_type_vals[] = {
13402   {   0, "logicalChannelActive" },
13403   {   1, "logicalChannelInactive" },
13404   {   2, "multipointConference" },
13405   {   3, "cancelMultipointConference" },
13406   {   4, "multipointZeroComm" },
13407   {   5, "cancelMultipointZeroComm" },
13408   {   6, "multipointSecondaryStatus" },
13409   {   7, "cancelMultipointSecondaryStatus" },
13410   {   8, "videoIndicateReadyToActivate" },
13411   {   9, "videoTemporalSpatialTradeOff" },
13412   {  10, "videoNotDecodedMBs" },
13413   {  11, "transportCapability" },
13414   { 0, NULL }
13415 };
13416
13417 static const per_choice_t Mi_type_choice[] = {
13418   {   0, &hf_h245_logicalChannelActive, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13419   {   1, &hf_h245_logicalChannelInactive, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13420   {   2, &hf_h245_multipointConference, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13421   {   3, &hf_h245_cancelMultipointConference, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13422   {   4, &hf_h245_multipointZeroComm, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13423   {   5, &hf_h245_cancelMultipointZeroComm, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13424   {   6, &hf_h245_multipointSecondaryStatus, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13425   {   7, &hf_h245_cancelMultipointSecondaryStatus, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13426   {   8, &hf_h245_videoIndicateReadyToActivate, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13427   {   9, &hf_h245_videoTemporalSpatialTradeOff, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_31 },
13428   {  10, &hf_h245_videoNotDecodedMBs, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_videoNotDecodedMBs },
13429   {  11, &hf_h245_transportCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_TransportCapability },
13430   { 0, NULL, 0, NULL }
13431 };
13432
13433 static int
13434 dissect_h245_Mi_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13435   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13436                                  ett_h245_Mi_type, Mi_type_choice,
13437                                  NULL);
13438
13439   return offset;
13440 }
13441
13442
13443 static const per_sequence_t MiscellaneousIndication_sequence[] = {
13444   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13445   { &hf_h245_mi_type        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mi_type },
13446   { NULL, 0, 0, NULL }
13447 };
13448
13449 static int
13450 dissect_h245_MiscellaneousIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13451   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13452                                    ett_h245_MiscellaneousIndication, MiscellaneousIndication_sequence);
13453
13454   return offset;
13455 }
13456
13457
13458
13459 static int
13460 dissect_h245_INTEGER_0_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13461   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
13462                                                             0U, 3U, NULL, FALSE);
13463
13464   return offset;
13465 }
13466
13467
13468
13469 static int
13470 dissect_h245_INTEGER_0_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13471   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
13472                                                             0U, 7U, NULL, FALSE);
13473
13474   return offset;
13475 }
13476
13477
13478 static const per_sequence_t JitterIndication_sequence[] = {
13479   { &hf_h245_scope          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Scope },
13480   { &hf_h245_estimatedReceivedJitterMantissa, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_3 },
13481   { &hf_h245_estimatedReceivedJitterExponent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_7 },
13482   { &hf_h245_skippedFrameCount, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
13483   { &hf_h245_additionalDecoderBuffer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
13484   { NULL, 0, 0, NULL }
13485 };
13486
13487 static int
13488 dissect_h245_JitterIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13489   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13490                                    ett_h245_JitterIndication, JitterIndication_sequence);
13491
13492   return offset;
13493 }
13494
13495
13496
13497 static int
13498 dissect_h245_INTEGER_0_4095(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13499   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
13500                                                             0U, 4095U, NULL, FALSE);
13501
13502   return offset;
13503 }
13504
13505
13506 static const per_sequence_t H223SkewIndication_sequence[] = {
13507   { &hf_h245_logicalChannelNumber1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13508   { &hf_h245_logicalChannelNumber2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13509   { &hf_h245_skew           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4095 },
13510   { NULL, 0, 0, NULL }
13511 };
13512
13513 static int
13514 dissect_h245_H223SkewIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13515   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13516                                    ett_h245_H223SkewIndication, H223SkewIndication_sequence);
13517
13518   return offset;
13519 }
13520
13521
13522 static const value_string h245_Ind_clockRecovery_vals[] = {
13523   {   0, "nullClockRecovery" },
13524   {   1, "srtsClockRecovery" },
13525   {   2, "adaptiveClockRecovery" },
13526   { 0, NULL }
13527 };
13528
13529 static const per_choice_t Ind_clockRecovery_choice[] = {
13530   {   0, &hf_h245_nullClockRecoveryflag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13531   {   1, &hf_h245_srtsClockRecovery, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13532   {   2, &hf_h245_adaptiveClockRecoveryFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13533   { 0, NULL, 0, NULL }
13534 };
13535
13536 static int
13537 dissect_h245_Ind_clockRecovery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13538   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13539                                  ett_h245_Ind_clockRecovery, Ind_clockRecovery_choice,
13540                                  NULL);
13541
13542   return offset;
13543 }
13544
13545
13546 static const value_string h245_Ind_errorCorrection_vals[] = {
13547   {   0, "nullErrorCorrection" },
13548   {   1, "longInterleaver" },
13549   {   2, "shortInterleaver" },
13550   {   3, "errorCorrectionOnly" },
13551   { 0, NULL }
13552 };
13553
13554 static const per_choice_t Ind_errorCorrection_choice[] = {
13555   {   0, &hf_h245_nullErrorCorrectionFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13556   {   1, &hf_h245_longInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13557   {   2, &hf_h245_shortInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13558   {   3, &hf_h245_errorCorrectionOnlyFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13559   { 0, NULL, 0, NULL }
13560 };
13561
13562 static int
13563 dissect_h245_Ind_errorCorrection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13564   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13565                                  ett_h245_Ind_errorCorrection, Ind_errorCorrection_choice,
13566                                  NULL);
13567
13568   return offset;
13569 }
13570
13571
13572 static const per_sequence_t Ind_aal1_sequence[] = {
13573   { &hf_h245_ind_clockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_clockRecovery },
13574   { &hf_h245_ind_errorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_errorCorrection },
13575   { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13576   { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13577   { NULL, 0, 0, NULL }
13578 };
13579
13580 static int
13581 dissect_h245_Ind_aal1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13582   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13583                                    ett_h245_Ind_aal1, Ind_aal1_sequence);
13584
13585   return offset;
13586 }
13587
13588
13589 static const per_sequence_t Ind_aal5_sequence[] = {
13590   { &hf_h245_forwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13591   { &hf_h245_backwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13592   { NULL, 0, 0, NULL }
13593 };
13594
13595 static int
13596 dissect_h245_Ind_aal5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13597   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13598                                    ett_h245_Ind_aal5, Ind_aal5_sequence);
13599
13600   return offset;
13601 }
13602
13603
13604 static const value_string h245_Ind_aal_vals[] = {
13605   {   0, "aal1" },
13606   {   1, "aal5" },
13607   { 0, NULL }
13608 };
13609
13610 static const per_choice_t Ind_aal_choice[] = {
13611   {   0, &hf_h245_ind_aal1       , ASN1_EXTENSION_ROOT    , dissect_h245_Ind_aal1 },
13612   {   1, &hf_h245_ind_aal5       , ASN1_EXTENSION_ROOT    , dissect_h245_Ind_aal5 },
13613   { 0, NULL, 0, NULL }
13614 };
13615
13616 static int
13617 dissect_h245_Ind_aal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13618   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13619                                  ett_h245_Ind_aal, Ind_aal_choice,
13620                                  NULL);
13621
13622   return offset;
13623 }
13624
13625
13626 static const value_string h245_Ind_multiplex_vals[] = {
13627   {   0, "noMultiplex" },
13628   {   1, "transportStream" },
13629   {   2, "programStream" },
13630   { 0, NULL }
13631 };
13632
13633 static const per_choice_t Ind_multiplex_choice[] = {
13634   {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13635   {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13636   {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13637   { 0, NULL, 0, NULL }
13638 };
13639
13640 static int
13641 dissect_h245_Ind_multiplex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13642   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13643                                  ett_h245_Ind_multiplex, Ind_multiplex_choice,
13644                                  NULL);
13645
13646   return offset;
13647 }
13648
13649
13650 static const value_string h245_IndR_multiplex_vals[] = {
13651   {   0, "noMultiplex" },
13652   {   1, "transportStream" },
13653   {   2, "programStream" },
13654   { 0, NULL }
13655 };
13656
13657 static const per_choice_t IndR_multiplex_choice[] = {
13658   {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13659   {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13660   {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13661   { 0, NULL, 0, NULL }
13662 };
13663
13664 static int
13665 dissect_h245_IndR_multiplex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13666   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13667                                  ett_h245_IndR_multiplex, IndR_multiplex_choice,
13668                                  NULL);
13669
13670   return offset;
13671 }
13672
13673
13674 static const per_sequence_t Ind_reverseParameters_sequence[] = {
13675   { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13676   { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13677   { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13678   { &hf_h245_indr_multiplex , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IndR_multiplex },
13679   { NULL, 0, 0, NULL }
13680 };
13681
13682 static int
13683 dissect_h245_Ind_reverseParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13684   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13685                                    ett_h245_Ind_reverseParameters, Ind_reverseParameters_sequence);
13686
13687   return offset;
13688 }
13689
13690
13691 static const per_sequence_t NewATMVCIndication_sequence[] = {
13692   { &hf_h245_resourceID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13693   { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13694   { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13695   { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13696   { &hf_h245_ind_aal        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_aal },
13697   { &hf_h245_ind_multiplex  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_multiplex },
13698   { &hf_h245_ind_reverseParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_Ind_reverseParameters },
13699   { NULL, 0, 0, NULL }
13700 };
13701
13702 static int
13703 dissect_h245_NewATMVCIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13704   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13705                                    ett_h245_NewATMVCIndication, NewATMVCIndication_sequence);
13706
13707   return offset;
13708 }
13709
13710
13711 static const value_string h245_T_userInputSupportIndication_vals[] = {
13712   {   0, "nonStandard" },
13713   {   1, "basicString" },
13714   {   2, "iA5String" },
13715   {   3, "generalString" },
13716   {   4, "encryptedBasicString" },
13717   {   5, "encryptedIA5String" },
13718   {   6, "encryptedGeneralString" },
13719   { 0, NULL }
13720 };
13721
13722 static const per_choice_t T_userInputSupportIndication_choice[] = {
13723   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
13724   {   1, &hf_h245_basicString    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13725   {   2, &hf_h245_iA5String      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13726   {   3, &hf_h245_generalString  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13727   {   4, &hf_h245_encryptedBasicString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
13728   {   5, &hf_h245_encryptedIA5String, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
13729   {   6, &hf_h245_encryptedGeneralString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
13730   { 0, NULL, 0, NULL }
13731 };
13732
13733 static int
13734 dissect_h245_T_userInputSupportIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13735   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13736                                  ett_h245_T_userInputSupportIndication, T_userInputSupportIndication_choice,
13737                                  NULL);
13738
13739   return offset;
13740 }
13741
13742
13743
13744 static int
13745 dissect_h245_T_signalType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13746   offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
13747                                                       1, 1, "0123456789#*ABCD!", 17,
13748                                                       NULL);
13749
13750   return offset;
13751 }
13752
13753
13754 static const per_sequence_t T_rtp_sequence[] = {
13755   { &hf_h245_timestamp      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
13756   { &hf_h245_expirationTime , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
13757   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13758   { NULL, 0, 0, NULL }
13759 };
13760
13761 static int
13762 dissect_h245_T_rtp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13763   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13764                                    ett_h245_T_rtp, T_rtp_sequence);
13765
13766   return offset;
13767 }
13768
13769
13770
13771 static int
13772 dissect_h245_IV8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13773   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
13774                                        8, 8, FALSE, NULL);
13775
13776   return offset;
13777 }
13778
13779
13780
13781 static int
13782 dissect_h245_IV16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13783   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
13784                                        16, 16, FALSE, NULL);
13785
13786   return offset;
13787 }
13788
13789
13790 static const per_sequence_t Params_sequence[] = {
13791   { &hf_h245_iv8            , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IV8 },
13792   { &hf_h245_iv16           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IV16 },
13793   { &hf_h245_iv             , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING },
13794   { NULL, 0, 0, NULL }
13795 };
13796
13797 static int
13798 dissect_h245_Params(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13799   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13800                                    ett_h245_Params, Params_sequence);
13801
13802   return offset;
13803 }
13804
13805
13806
13807 static int
13808 dissect_h245_OCTET_STRING_SIZE_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13809   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
13810                                        1, 1, FALSE, NULL);
13811
13812   return offset;
13813 }
13814
13815
13816 static const per_sequence_t T_signal_sequence[] = {
13817   { &hf_h245_signalType     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_signalType },
13818   { &hf_h245_duration       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_65535 },
13819   { &hf_h245_rtp            , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_rtp },
13820   { &hf_h245_rtpPayloadIndication, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_NULL },
13821   { &hf_h245_paramS         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_Params },
13822   { &hf_h245_encryptedSignalType, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1 },
13823   { &hf_h245_algorithmOID   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
13824   { NULL, 0, 0, NULL }
13825 };
13826
13827 static int
13828 dissect_h245_T_signal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13829   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13830                                    ett_h245_T_signal, T_signal_sequence);
13831
13832   return offset;
13833 }
13834
13835
13836 static const per_sequence_t Si_rtp_sequence[] = {
13837   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13838   { NULL, 0, 0, NULL }
13839 };
13840
13841 static int
13842 dissect_h245_Si_rtp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13843   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13844                                    ett_h245_Si_rtp, Si_rtp_sequence);
13845
13846   return offset;
13847 }
13848
13849
13850 static const per_sequence_t T_signalUpdate_sequence[] = {
13851   { &hf_h245_duration       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13852   { &hf_h245_si_rtp         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Si_rtp },
13853   { NULL, 0, 0, NULL }
13854 };
13855
13856 static int
13857 dissect_h245_T_signalUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13858   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13859                                    ett_h245_T_signalUpdate, T_signalUpdate_sequence);
13860
13861   return offset;
13862 }
13863
13864
13865 static const per_sequence_t EncryptedAlphanumeric_sequence[] = {
13866   { &hf_h245_algorithmOID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
13867   { &hf_h245_paramS         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Params },
13868   { &hf_h245_encrypted      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING },
13869   { NULL, 0, 0, NULL }
13870 };
13871
13872 static int
13873 dissect_h245_EncryptedAlphanumeric(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13874   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13875                                    ett_h245_EncryptedAlphanumeric, EncryptedAlphanumeric_sequence);
13876
13877   return offset;
13878 }
13879
13880
13881 static const per_sequence_t T_extendedAlphanumeric_sequence[] = {
13882   { &hf_h245_alphanumeric   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_GeneralString },
13883   { &hf_h245_rtpPayloadIndication, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NULL },
13884   { &hf_h245_encryptedAlphanumeric, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptedAlphanumeric },
13885   { NULL, 0, 0, NULL }
13886 };
13887
13888 static int
13889 dissect_h245_T_extendedAlphanumeric(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13890   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13891                                    ett_h245_T_extendedAlphanumeric, T_extendedAlphanumeric_sequence);
13892
13893   return offset;
13894 }
13895
13896
13897 static const value_string h245_UserInputIndication_vals[] = {
13898   {   0, "nonStandard" },
13899   {   1, "alphanumeric" },
13900   {   2, "userInputSupportIndication" },
13901   {   3, "signal" },
13902   {   4, "signalUpdate" },
13903   {   5, "extendedAlphanumeric" },
13904   {   6, "encryptedAlphanumeric" },
13905   {   7, "genericInformation" },
13906   { 0, NULL }
13907 };
13908
13909 static const per_choice_t UserInputIndication_choice[] = {
13910   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
13911   {   1, &hf_h245_alphanumeric   , ASN1_EXTENSION_ROOT    , dissect_h245_GeneralString },
13912   {   2, &hf_h245_userInputSupportIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_userInputSupportIndication },
13913   {   3, &hf_h245_signal         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_signal },
13914   {   4, &hf_h245_signalUpdate   , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_signalUpdate },
13915   {   5, &hf_h245_extendedAlphanumeric, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_extendedAlphanumeric },
13916   {   6, &hf_h245_encryptedAlphanumeric, ASN1_NOT_EXTENSION_ROOT, dissect_h245_EncryptedAlphanumeric },
13917   {   7, &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_GenericInformation },
13918   { 0, NULL, 0, NULL }
13919 };
13920
13921 static int
13922 dissect_h245_UserInputIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13923   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13924                                  ett_h245_UserInputIndication, UserInputIndication_choice,
13925                                  NULL);
13926
13927   return offset;
13928 }
13929
13930
13931 static const per_sequence_t H2250MaximumSkewIndication_sequence[] = {
13932   { &hf_h245_logicalChannelNumber1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13933   { &hf_h245_logicalChannelNumber2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13934   { &hf_h245_maximumSkew    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4095 },
13935   { NULL, 0, 0, NULL }
13936 };
13937
13938 static int
13939 dissect_h245_H2250MaximumSkewIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13940   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13941                                    ett_h245_H2250MaximumSkewIndication, H2250MaximumSkewIndication_sequence);
13942
13943   return offset;
13944 }
13945
13946
13947 static const per_sequence_t MCLocationIndication_sequence[] = {
13948   { &hf_h245_signalAddress  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TransportAddress },
13949   { NULL, 0, 0, NULL }
13950 };
13951
13952 static int
13953 dissect_h245_MCLocationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13954   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13955                                    ett_h245_MCLocationIndication, MCLocationIndication_sequence);
13956
13957   return offset;
13958 }
13959
13960
13961
13962 static int
13963 dissect_h245_INTEGER_0_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13964   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
13965                                                             0U, 9U, NULL, FALSE);
13966
13967   return offset;
13968 }
13969
13970
13971 static const per_sequence_t TerminalYouAreSeeingInSubPictureNumber_sequence[] = {
13972   { &hf_h245_terminalNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalNumber },
13973   { &hf_h245_subPictureNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
13974   { NULL, 0, 0, NULL }
13975 };
13976
13977 static int
13978 dissect_h245_TerminalYouAreSeeingInSubPictureNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13979   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13980                                    ett_h245_TerminalYouAreSeeingInSubPictureNumber, TerminalYouAreSeeingInSubPictureNumber_sequence);
13981
13982   return offset;
13983 }
13984
13985
13986 static const per_sequence_t VideoIndicateCompose_sequence[] = {
13987   { &hf_h245_compositionNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
13988   { NULL, 0, 0, NULL }
13989 };
13990
13991 static int
13992 dissect_h245_VideoIndicateCompose(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13993   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13994                                    ett_h245_VideoIndicateCompose, VideoIndicateCompose_sequence);
13995
13996   return offset;
13997 }
13998
13999
14000 static const value_string h245_ConferenceIndication_vals[] = {
14001   {   0, "sbeNumber" },
14002   {   1, "terminalNumberAssign" },
14003   {   2, "terminalJoinedConference" },
14004   {   3, "terminalLeftConference" },
14005   {   4, "seenByAtLeastOneOther" },
14006   {   5, "cancelSeenByAtLeastOneOther" },
14007   {   6, "seenByAll" },
14008   {   7, "cancelSeenByAll" },
14009   {   8, "terminalYouAreSeeing" },
14010   {   9, "requestForFloor" },
14011   {  10, "withdrawChairToken" },
14012   {  11, "floorRequested" },
14013   {  12, "terminalYouAreSeeingInSubPictureNumber" },
14014   {  13, "videoIndicateCompose" },
14015   { 0, NULL }
14016 };
14017
14018 static const per_choice_t ConferenceIndication_choice[] = {
14019   {   0, &hf_h245_sbeNumber      , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_9 },
14020   {   1, &hf_h245_terminalNumberAssign, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
14021   {   2, &hf_h245_terminalJoinedConference, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
14022   {   3, &hf_h245_terminalLeftConference, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
14023   {   4, &hf_h245_seenByAtLeastOneOther, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14024   {   5, &hf_h245_cancelSeenByAtLeastOneOther, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14025   {   6, &hf_h245_seenByAll      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14026   {   7, &hf_h245_cancelSeenByAll, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14027   {   8, &hf_h245_terminalYouAreSeeing, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
14028   {   9, &hf_h245_requestForFloor, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14029   {  10, &hf_h245_withdrawChairToken, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
14030   {  11, &hf_h245_floorRequested , ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalLabel },
14031   {  12, &hf_h245_terminalYouAreSeeingInSubPictureNumber, ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalYouAreSeeingInSubPictureNumber },
14032   {  13, &hf_h245_videoIndicateCompose, ASN1_NOT_EXTENSION_ROOT, dissect_h245_VideoIndicateCompose },
14033   { 0, NULL, 0, NULL }
14034 };
14035
14036 static int
14037 dissect_h245_ConferenceIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14038   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14039                                  ett_h245_ConferenceIndication, ConferenceIndication_choice,
14040                                  NULL);
14041
14042   return offset;
14043 }
14044
14045
14046
14047 static int
14048 dissect_h245_OCTET_STRING_SIZE_1_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14049   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
14050                                        1, 256, FALSE, NULL);
14051
14052   return offset;
14053 }
14054
14055
14056 static const per_sequence_t VendorIdentification_sequence[] = {
14057   { &hf_h245_vendor         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardIdentifier },
14058   { &hf_h245_productNumber  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_256 },
14059   { &hf_h245_versionNumber  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_256 },
14060   { NULL, 0, 0, NULL }
14061 };
14062
14063 static int
14064 dissect_h245_VendorIdentification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14065   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14066                                    ett_h245_VendorIdentification, VendorIdentification_sequence);
14067
14068   return offset;
14069 }
14070
14071
14072 static const value_string h245_FunctionNotSupportedCause_vals[] = {
14073   {   0, "syntaxError" },
14074   {   1, "semanticError" },
14075   {   2, "unknownFunction" },
14076   { 0, NULL }
14077 };
14078
14079 static const per_choice_t FunctionNotSupportedCause_choice[] = {
14080   {   0, &hf_h245_syntaxError    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14081   {   1, &hf_h245_semanticError  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14082   {   2, &hf_h245_unknownFunction, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14083   { 0, NULL, 0, NULL }
14084 };
14085
14086 static int
14087 dissect_h245_FunctionNotSupportedCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14088   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14089                                  ett_h245_FunctionNotSupportedCause, FunctionNotSupportedCause_choice,
14090                                  NULL);
14091
14092   return offset;
14093 }
14094
14095
14096
14097 static int
14098 dissect_h245_T_returnedFunction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14099 #line 936 "h245.cnf"
14100   tvbuff_t *next_tvb = NULL;
14101   proto_item *item;
14102   proto_tree *subtree;
14103   h245_packet_info *saved_h245_pi;
14104
14105   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
14106                                        NO_BOUND, NO_BOUND, FALSE, &next_tvb);
14107
14108
14109  if (next_tvb && tvb_length(next_tvb)) {
14110         saved_h245_pi = h245_pi;
14111         h245_pi = NULL;
14112         item = proto_tree_add_text(tree, next_tvb, 0, -1,"The returned function");
14113         subtree = proto_item_add_subtree(item, ett_h245_returnedFunction);
14114         PROTO_ITEM_SET_GENERATED(item);
14115         dissect_h245_MultimediaSystemControlMessage(next_tvb, 0, actx, subtree, hf_h245_pdu_type);
14116         h245_pi = saved_h245_pi;
14117  }
14118
14119
14120
14121   return offset;
14122 }
14123
14124
14125 static const per_sequence_t FunctionNotSupported_sequence[] = {
14126   { &hf_h245_fns_cause      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_FunctionNotSupportedCause },
14127   { &hf_h245_returnedFunction, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_returnedFunction },
14128   { NULL, 0, 0, NULL }
14129 };
14130
14131 static int
14132 dissect_h245_FunctionNotSupported(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14133   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14134                                    ett_h245_FunctionNotSupported, FunctionNotSupported_sequence);
14135
14136   return offset;
14137 }
14138
14139
14140 static const per_sequence_t T_crcDesired_sequence[] = {
14141   { NULL, 0, 0, NULL }
14142 };
14143
14144 static int
14145 dissect_h245_T_crcDesired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14146   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14147                                    ett_h245_T_crcDesired, T_crcDesired_sequence);
14148
14149   return offset;
14150 }
14151
14152
14153 static const per_sequence_t T_excessiveError_sequence[] = {
14154   { &hf_h245_connectionIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConnectionIdentifier },
14155   { NULL, 0, 0, NULL }
14156 };
14157
14158 static int
14159 dissect_h245_T_excessiveError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14160   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14161                                    ett_h245_T_excessiveError, T_excessiveError_sequence);
14162
14163   return offset;
14164 }
14165
14166
14167 static const value_string h245_MultilinkIndication_vals[] = {
14168   {   0, "nonStandard" },
14169   {   1, "crcDesired" },
14170   {   2, "excessiveError" },
14171   { 0, NULL }
14172 };
14173
14174 static const per_choice_t MultilinkIndication_choice[] = {
14175   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
14176   {   1, &hf_h245_crcDesired     , ASN1_EXTENSION_ROOT    , dissect_h245_T_crcDesired },
14177   {   2, &hf_h245_excessiveError , ASN1_EXTENSION_ROOT    , dissect_h245_T_excessiveError },
14178   { 0, NULL, 0, NULL }
14179 };
14180
14181 static int
14182 dissect_h245_MultilinkIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14183   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14184                                  ett_h245_MultilinkIndication, MultilinkIndication_choice,
14185                                  NULL);
14186
14187   return offset;
14188 }
14189
14190
14191 static const per_sequence_t LogicalChannelRateRelease_sequence[] = {
14192   { NULL, 0, 0, NULL }
14193 };
14194
14195 static int
14196 dissect_h245_LogicalChannelRateRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14197   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14198                                    ett_h245_LogicalChannelRateRelease, LogicalChannelRateRelease_sequence);
14199
14200   return offset;
14201 }
14202
14203
14204 static const per_sequence_t FlowControlIndication_sequence[] = {
14205   { &hf_h245_scope          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Scope },
14206   { &hf_h245_restriction    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Restriction },
14207   { NULL, 0, 0, NULL }
14208 };
14209
14210 static int
14211 dissect_h245_FlowControlIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14212   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14213                                    ett_h245_FlowControlIndication, FlowControlIndication_sequence);
14214
14215   return offset;
14216 }
14217
14218
14219 static const per_sequence_t MobileMultilinkReconfigurationIndication_sequence[] = {
14220   { &hf_h245_sampleSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
14221   { &hf_h245_samplesPerFrame, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
14222   { NULL, 0, 0, NULL }
14223 };
14224
14225 static int
14226 dissect_h245_MobileMultilinkReconfigurationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14227   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14228                                    ett_h245_MobileMultilinkReconfigurationIndication, MobileMultilinkReconfigurationIndication_sequence);
14229
14230   return offset;
14231 }
14232
14233
14234 static const value_string h245_IndicationMessage_vals[] = {
14235   { IndicationMessage_nonStandard, "nonStandard" },
14236   { IndicationMessage_functionNotUnderstood, "functionNotUnderstood" },
14237   { IndicationMessage_masterSlaveDeterminationRelease, "masterSlaveDeterminationRelease" },
14238   { IndicationMessage_terminalCapabilitySetRelease, "terminalCapabilitySetRelease" },
14239   { IndicationMessage_openLogicalChannelConfirm, "openLogicalChannelConfirm" },
14240   { IndicationMessage_requestChannelCloseRelease, "requestChannelCloseRelease" },
14241   { IndicationMessage_multiplexEntrySendRelease, "multiplexEntrySendRelease" },
14242   { IndicationMessage_requestMultiplexEntryRelease, "requestMultiplexEntryRelease" },
14243   { IndicationMessage_requestModeRelease, "requestModeRelease" },
14244   { IndicationMessage_miscellaneousIndication, "miscellaneousIndication" },
14245   { IndicationMessage_jitterIndication, "jitterIndication" },
14246   { IndicationMessage_h223SkewIndication, "h223SkewIndication" },
14247   { IndicationMessage_newATMVCIndication, "newATMVCIndication" },
14248   { IndicationMessage_userInput, "userInput" },
14249   { IndicationMessage_h2250MaximumSkewIndication, "h2250MaximumSkewIndication" },
14250   { IndicationMessage_mcLocationIndication, "mcLocationIndication" },
14251   { IndicationMessage_conferenceIndication, "conferenceIndication" },
14252   { IndicationMessage_vendorIdentification, "vendorIdentification" },
14253   { IndicationMessage_functionNotSupported, "functionNotSupported" },
14254   { IndicationMessage_multilinkIndication, "multilinkIndication" },
14255   { IndicationMessage_logicalChannelRateRelease, "logicalChannelRateRelease" },
14256   { IndicationMessage_flowControlIndication, "flowControlIndication" },
14257   { IndicationMessage_mobileMultilinkReconfigurationIndication, "mobileMultilinkReconfigurationIndication" },
14258   { IndicationMessage_genericIndication, "genericIndication" },
14259   { 0, NULL }
14260 };
14261
14262 static const per_choice_t IndicationMessage_choice[] = {
14263   { IndicationMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
14264   { IndicationMessage_functionNotUnderstood, &hf_h245_functionNotUnderstood, ASN1_EXTENSION_ROOT    , dissect_h245_FunctionNotUnderstood },
14265   { IndicationMessage_masterSlaveDeterminationRelease, &hf_h245_masterSlaveDeterminationRelease, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDeterminationRelease },
14266   { IndicationMessage_terminalCapabilitySetRelease, &hf_h245_terminalCapabilitySetRelease, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySetRelease },
14267   { IndicationMessage_openLogicalChannelConfirm, &hf_h245_openLogicalChannelConfirm, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannelConfirm },
14268   { IndicationMessage_requestChannelCloseRelease, &hf_h245_requestChannelCloseRelease, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelCloseRelease },
14269   { IndicationMessage_multiplexEntrySendRelease, &hf_h245_multiplexEntrySendRelease, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySendRelease },
14270   { IndicationMessage_requestMultiplexEntryRelease, &hf_h245_requestMultiplexEntryRelease, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntryRelease },
14271   { IndicationMessage_requestModeRelease, &hf_h245_requestModeRelease, ASN1_EXTENSION_ROOT    , dissect_h245_RequestModeRelease },
14272   { IndicationMessage_miscellaneousIndication, &hf_h245_miscellaneousIndication, ASN1_EXTENSION_ROOT    , dissect_h245_MiscellaneousIndication },
14273   { IndicationMessage_jitterIndication, &hf_h245_jitterIndication, ASN1_EXTENSION_ROOT    , dissect_h245_JitterIndication },
14274   { IndicationMessage_h223SkewIndication, &hf_h245_h223SkewIndication, ASN1_EXTENSION_ROOT    , dissect_h245_H223SkewIndication },
14275   { IndicationMessage_newATMVCIndication, &hf_h245_newATMVCIndication, ASN1_EXTENSION_ROOT    , dissect_h245_NewATMVCIndication },
14276   { IndicationMessage_userInput, &hf_h245_userInput      , ASN1_EXTENSION_ROOT    , dissect_h245_UserInputIndication },
14277   { IndicationMessage_h2250MaximumSkewIndication, &hf_h245_h2250MaximumSkewIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250MaximumSkewIndication },
14278   { IndicationMessage_mcLocationIndication, &hf_h245_mcLocationIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MCLocationIndication },
14279   { IndicationMessage_conferenceIndication, &hf_h245_conferenceIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceIndication },
14280   { IndicationMessage_vendorIdentification, &hf_h245_vendorIdentification, ASN1_NOT_EXTENSION_ROOT, dissect_h245_VendorIdentification },
14281   { IndicationMessage_functionNotSupported, &hf_h245_functionNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h245_FunctionNotSupported },
14282   { IndicationMessage_multilinkIndication, &hf_h245_multilinkIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultilinkIndication },
14283   { IndicationMessage_logicalChannelRateRelease, &hf_h245_logicalChannelRateRelease, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateRelease },
14284   { IndicationMessage_flowControlIndication, &hf_h245_flowControlIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_FlowControlIndication },
14285   { IndicationMessage_mobileMultilinkReconfigurationIndication, &hf_h245_mobileMultilinkReconfigurationIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MobileMultilinkReconfigurationIndication },
14286   { IndicationMessage_genericIndication, &hf_h245_genericIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
14287   { 0, NULL, 0, NULL }
14288 };
14289
14290 static int
14291 dissect_h245_IndicationMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14292 #line 434 "h245.cnf"
14293   guint32 value;
14294
14295   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14296                                  ett_h245_IndicationMessage, IndicationMessage_choice,
14297                                  &value);
14298
14299         if (check_col(actx->pinfo->cinfo, COL_INFO)){
14300                 if ( h245_shorttypes == TRUE )
14301                 {
14302                         col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
14303                                 val_to_str(value, h245_IndicationMessage_short_vals, "<unknown>"));
14304                 }
14305                 else
14306                 {
14307                         col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
14308                                 val_to_str(value, h245_IndicationMessage_vals, "<unknown>"));
14309                 }
14310         }
14311
14312         col_set_fence(actx->pinfo->cinfo,COL_INFO);
14313     /* Add to packet info */
14314         if (h245_pi  !=NULL){
14315                 g_snprintf(h245_pi->frame_label, 50, "%s %s ", h245_pi->frame_label, val_to_str(value, h245_IndicationMessage_short_vals, "UKN"));
14316                 g_strlcat(h245_pi->comment, val_to_str(value, h245_IndicationMessage_vals, "<unknown>"), 50);
14317         }
14318
14319
14320
14321   return offset;
14322 }
14323
14324
14325 static const value_string h245_MultimediaSystemControlMessage_vals[] = {
14326   {   0, "request" },
14327   {   1, "response" },
14328   {   2, "command" },
14329   {   3, "indication" },
14330   { 0, NULL }
14331 };
14332
14333 static const per_choice_t MultimediaSystemControlMessage_choice[] = {
14334   {   0, &hf_h245_request        , ASN1_EXTENSION_ROOT    , dissect_h245_RequestMessage },
14335   {   1, &hf_h245_response       , ASN1_EXTENSION_ROOT    , dissect_h245_ResponseMessage },
14336   {   2, &hf_h245_command        , ASN1_EXTENSION_ROOT    , dissect_h245_CommandMessage },
14337   {   3, &hf_h245_indication     , ASN1_EXTENSION_ROOT    , dissect_h245_IndicationMessage },
14338   { 0, NULL, 0, NULL }
14339 };
14340
14341 static int
14342 dissect_h245_MultimediaSystemControlMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14343   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14344                                  ett_h245_MultimediaSystemControlMessage, MultimediaSystemControlMessage_choice,
14345                                  NULL);
14346
14347   return offset;
14348 }
14349
14350 /*--- PDUs ---*/
14351
14352 static void dissect_OpenLogicalChannel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
14353   asn1_ctx_t asn1_ctx;
14354   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
14355   dissect_h245_OpenLogicalChannel(tvb, 0, &asn1_ctx, tree, hf_h245_OpenLogicalChannel_PDU);
14356 }
14357
14358
14359 /*--- End of included file: packet-h245-fn.c ---*/
14360 #line 389 "packet-h245-template.c"
14361
14362 static void
14363 dissect_h245(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
14364 {
14365         /*
14366          * MultimediaSystemControlMessage_handle is the handle for
14367          * dissect_h245_h245, so we don't want to do any h245_pi or tap stuff here.
14368          */
14369         dissect_tpkt_encap(tvb, pinfo, parent_tree, h245_reassembly, MultimediaSystemControlMessage_handle);
14370 }
14371
14372
14373 static void
14374 dissect_h245_h245(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
14375 {
14376         proto_item *it;
14377         proto_tree *tr;
14378         guint32 offset=0;
14379         asn1_ctx_t asn1_ctx;
14380
14381         fast_start = FALSE;
14382         /* Clean up from any previous packet dissection */
14383         upcoming_olc = NULL;
14384         upcoming_channel = NULL;
14385         codec_type = NULL;
14386
14387         if (check_col(pinfo->cinfo, COL_PROTOCOL)){
14388                 col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
14389         }
14390
14391         it=proto_tree_add_protocol_format(parent_tree, proto_h245, tvb, 0, tvb_length(tvb), PSNAME);
14392         tr=proto_item_add_subtree(it, ett_h245);
14393
14394         /* assume that whilst there is more tvb data, there are more h245 commands */
14395         while ( tvb_length_remaining( tvb, offset>>3 )>0 ){
14396                 CLEANUP_PUSH(reset_h245_pi, NULL);
14397                 h245_pi=ep_alloc(sizeof(h245_packet_info));
14398                 init_h245_packet_info(h245_pi);
14399                 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
14400                 offset = dissect_h245_MultimediaSystemControlMessage(tvb, offset, &asn1_ctx, tr, hf_h245_pdu_type);
14401                 tap_queue_packet(h245dg_tap, pinfo, h245_pi);
14402                 offset = (offset+0x07) & 0xfffffff8;
14403                 CLEANUP_CALL_AND_POP;
14404         }
14405 }
14406
14407 void
14408 dissect_h245_FastStart_OLC(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, char *codec_str) {
14409
14410   fast_start = TRUE;
14411   /* Clean up from any previous packet dissection */
14412   upcoming_olc = NULL;
14413   upcoming_channel = NULL;
14414   codec_type = NULL;
14415
14416   dissect_OpenLogicalChannel_PDU(tvb, pinfo, tree);
14417
14418   if (h245_pi != NULL) 
14419           h245_pi->msg_type = H245_OpenLogChn;
14420
14421   if (codec_str && codec_type){
14422         g_strlcpy(codec_str, codec_type, 50);
14423   }
14424
14425 }
14426
14427 /*--- proto_register_h245 -------------------------------------------*/
14428 void proto_register_h245(void) {
14429
14430   /* List of fields */
14431   static hf_register_info hf[] = {
14432     { &hf_h245_pdu_type,
14433  { "PDU Type", "h245.pdu_type", FT_UINT32, BASE_DEC,
14434                 VALS(h245_MultimediaSystemControlMessage_vals), 0, "Type of H.245 PDU", HFILL }},
14435         { &hf_h245Manufacturer,
14436                 { "H.245 Manufacturer", "h245.Manufacturer", FT_UINT32, BASE_HEX,
14437                 VALS(H221ManufacturerCode_vals), 0, "h245.H.221 Manufacturer", HFILL }},
14438
14439 /*--- Included file: packet-h245-hfarr.c ---*/
14440 #line 1 "packet-h245-hfarr.c"
14441     { &hf_h245_OpenLogicalChannel_PDU,
14442       { "OpenLogicalChannel", "h245.OpenLogicalChannel",
14443         FT_NONE, BASE_NONE, NULL, 0,
14444         "h245.OpenLogicalChannel", HFILL }},
14445     { &hf_h245_request,
14446       { "request", "h245.request",
14447         FT_UINT32, BASE_DEC, VALS(h245_RequestMessage_vals), 0,
14448         "h245.RequestMessage", HFILL }},
14449     { &hf_h245_response,
14450       { "response", "h245.response",
14451         FT_UINT32, BASE_DEC, VALS(h245_ResponseMessage_vals), 0,
14452         "h245.ResponseMessage", HFILL }},
14453     { &hf_h245_command,
14454       { "command", "h245.command",
14455         FT_UINT32, BASE_DEC, VALS(h245_CommandMessage_vals), 0,
14456         "h245.CommandMessage", HFILL }},
14457     { &hf_h245_indication,
14458       { "indication", "h245.indication",
14459         FT_UINT32, BASE_DEC, VALS(h245_IndicationMessage_vals), 0,
14460         "h245.IndicationMessage", HFILL }},
14461     { &hf_h245_nonStandardMsg,
14462       { "nonStandard", "h245.nonStandard",
14463         FT_NONE, BASE_NONE, NULL, 0,
14464         "h245.NonStandardMessage", HFILL }},
14465     { &hf_h245_masterSlaveDetermination,
14466       { "masterSlaveDetermination", "h245.masterSlaveDetermination",
14467         FT_NONE, BASE_NONE, NULL, 0,
14468         "h245.MasterSlaveDetermination", HFILL }},
14469     { &hf_h245_terminalCapabilitySet,
14470       { "terminalCapabilitySet", "h245.terminalCapabilitySet",
14471         FT_NONE, BASE_NONE, NULL, 0,
14472         "h245.TerminalCapabilitySet", HFILL }},
14473     { &hf_h245_openLogicalChannel,
14474       { "openLogicalChannel", "h245.openLogicalChannel",
14475         FT_NONE, BASE_NONE, NULL, 0,
14476         "h245.OpenLogicalChannel", HFILL }},
14477     { &hf_h245_closeLogicalChannel,
14478       { "closeLogicalChannel", "h245.closeLogicalChannel",
14479         FT_NONE, BASE_NONE, NULL, 0,
14480         "h245.CloseLogicalChannel", HFILL }},
14481     { &hf_h245_requestChannelClose,
14482       { "requestChannelClose", "h245.requestChannelClose",
14483         FT_NONE, BASE_NONE, NULL, 0,
14484         "h245.RequestChannelClose", HFILL }},
14485     { &hf_h245_multiplexEntrySend,
14486       { "multiplexEntrySend", "h245.multiplexEntrySend",
14487         FT_NONE, BASE_NONE, NULL, 0,
14488         "h245.MultiplexEntrySend", HFILL }},
14489     { &hf_h245_requestMultiplexEntry,
14490       { "requestMultiplexEntry", "h245.requestMultiplexEntry",
14491         FT_NONE, BASE_NONE, NULL, 0,
14492         "h245.RequestMultiplexEntry", HFILL }},
14493     { &hf_h245_requestMode,
14494       { "requestMode", "h245.requestMode",
14495         FT_NONE, BASE_NONE, NULL, 0,
14496         "h245.RequestMode", HFILL }},
14497     { &hf_h245_roundTripDelayRequest,
14498       { "roundTripDelayRequest", "h245.roundTripDelayRequest",
14499         FT_NONE, BASE_NONE, NULL, 0,
14500         "h245.RoundTripDelayRequest", HFILL }},
14501     { &hf_h245_maintenanceLoopRequest,
14502       { "maintenanceLoopRequest", "h245.maintenanceLoopRequest",
14503         FT_NONE, BASE_NONE, NULL, 0,
14504         "h245.MaintenanceLoopRequest", HFILL }},
14505     { &hf_h245_communicationModeRequest,
14506       { "communicationModeRequest", "h245.communicationModeRequest",
14507         FT_NONE, BASE_NONE, NULL, 0,
14508         "h245.CommunicationModeRequest", HFILL }},
14509     { &hf_h245_conferenceRequest,
14510       { "conferenceRequest", "h245.conferenceRequest",
14511         FT_UINT32, BASE_DEC, VALS(h245_ConferenceRequest_vals), 0,
14512         "h245.ConferenceRequest", HFILL }},
14513     { &hf_h245_multilinkRequest,
14514       { "multilinkRequest", "h245.multilinkRequest",
14515         FT_UINT32, BASE_DEC, VALS(h245_MultilinkRequest_vals), 0,
14516         "h245.MultilinkRequest", HFILL }},
14517     { &hf_h245_logicalChannelRateRequest,
14518       { "logicalChannelRateRequest", "h245.logicalChannelRateRequest",
14519         FT_NONE, BASE_NONE, NULL, 0,
14520         "h245.LogicalChannelRateRequest", HFILL }},
14521     { &hf_h245_genericRequest,
14522       { "genericRequest", "h245.genericRequest",
14523         FT_NONE, BASE_NONE, NULL, 0,
14524         "h245.GenericMessage", HFILL }},
14525     { &hf_h245_masterSlaveDeterminationAck,
14526       { "masterSlaveDeterminationAck", "h245.masterSlaveDeterminationAck",
14527         FT_NONE, BASE_NONE, NULL, 0,
14528         "h245.MasterSlaveDeterminationAck", HFILL }},
14529     { &hf_h245_masterSlaveDeterminationReject,
14530       { "masterSlaveDeterminationReject", "h245.masterSlaveDeterminationReject",
14531         FT_NONE, BASE_NONE, NULL, 0,
14532         "h245.MasterSlaveDeterminationReject", HFILL }},
14533     { &hf_h245_terminalCapabilitySetAck,
14534       { "terminalCapabilitySetAck", "h245.terminalCapabilitySetAck",
14535         FT_NONE, BASE_NONE, NULL, 0,
14536         "h245.TerminalCapabilitySetAck", HFILL }},
14537     { &hf_h245_terminalCapabilitySetReject,
14538       { "terminalCapabilitySetReject", "h245.terminalCapabilitySetReject",
14539         FT_NONE, BASE_NONE, NULL, 0,
14540         "h245.TerminalCapabilitySetReject", HFILL }},
14541     { &hf_h245_openLogicalChannelAck,
14542       { "openLogicalChannelAck", "h245.openLogicalChannelAck",
14543         FT_NONE, BASE_NONE, NULL, 0,
14544         "h245.OpenLogicalChannelAck", HFILL }},
14545     { &hf_h245_openLogicalChannelReject,
14546       { "openLogicalChannelReject", "h245.openLogicalChannelReject",
14547         FT_NONE, BASE_NONE, NULL, 0,
14548         "h245.OpenLogicalChannelReject", HFILL }},
14549     { &hf_h245_closeLogicalChannelAck,
14550       { "closeLogicalChannelAck", "h245.closeLogicalChannelAck",
14551         FT_NONE, BASE_NONE, NULL, 0,
14552         "h245.CloseLogicalChannelAck", HFILL }},
14553     { &hf_h245_requestChannelCloseAck,
14554       { "requestChannelCloseAck", "h245.requestChannelCloseAck",
14555         FT_NONE, BASE_NONE, NULL, 0,
14556         "h245.RequestChannelCloseAck", HFILL }},
14557     { &hf_h245_requestChannelCloseReject,
14558       { "requestChannelCloseReject", "h245.requestChannelCloseReject",
14559         FT_NONE, BASE_NONE, NULL, 0,
14560         "h245.RequestChannelCloseReject", HFILL }},
14561     { &hf_h245_multiplexEntrySendAck,
14562       { "multiplexEntrySendAck", "h245.multiplexEntrySendAck",
14563         FT_NONE, BASE_NONE, NULL, 0,
14564         "h245.MultiplexEntrySendAck", HFILL }},
14565     { &hf_h245_multiplexEntrySendReject,
14566       { "multiplexEntrySendReject", "h245.multiplexEntrySendReject",
14567         FT_NONE, BASE_NONE, NULL, 0,
14568         "h245.MultiplexEntrySendReject", HFILL }},
14569     { &hf_h245_requestMultiplexEntryAck,
14570       { "requestMultiplexEntryAck", "h245.requestMultiplexEntryAck",
14571         FT_NONE, BASE_NONE, NULL, 0,
14572         "h245.RequestMultiplexEntryAck", HFILL }},
14573     { &hf_h245_requestMultiplexEntryReject,
14574       { "requestMultiplexEntryReject", "h245.requestMultiplexEntryReject",
14575         FT_NONE, BASE_NONE, NULL, 0,
14576         "h245.RequestMultiplexEntryReject", HFILL }},
14577     { &hf_h245_requestModeAck,
14578       { "requestModeAck", "h245.requestModeAck",
14579         FT_NONE, BASE_NONE, NULL, 0,
14580         "h245.RequestModeAck", HFILL }},
14581     { &hf_h245_requestModeReject,
14582       { "requestModeReject", "h245.requestModeReject",
14583         FT_NONE, BASE_NONE, NULL, 0,
14584         "h245.RequestModeReject", HFILL }},
14585     { &hf_h245_roundTripDelayResponse,
14586       { "roundTripDelayResponse", "h245.roundTripDelayResponse",
14587         FT_NONE, BASE_NONE, NULL, 0,
14588         "h245.RoundTripDelayResponse", HFILL }},
14589     { &hf_h245_maintenanceLoopAck,
14590       { "maintenanceLoopAck", "h245.maintenanceLoopAck",
14591         FT_NONE, BASE_NONE, NULL, 0,
14592         "h245.MaintenanceLoopAck", HFILL }},
14593     { &hf_h245_maintenanceLoopReject,
14594       { "maintenanceLoopReject", "h245.maintenanceLoopReject",
14595         FT_NONE, BASE_NONE, NULL, 0,
14596         "h245.MaintenanceLoopReject", HFILL }},
14597     { &hf_h245_communicationModeResponse,
14598       { "communicationModeResponse", "h245.communicationModeResponse",
14599         FT_UINT32, BASE_DEC, VALS(h245_CommunicationModeResponse_vals), 0,
14600         "h245.CommunicationModeResponse", HFILL }},
14601     { &hf_h245_conferenceResponse,
14602       { "conferenceResponse", "h245.conferenceResponse",
14603         FT_UINT32, BASE_DEC, VALS(h245_ConferenceResponse_vals), 0,
14604         "h245.ConferenceResponse", HFILL }},
14605     { &hf_h245_multilinkResponse,
14606       { "multilinkResponse", "h245.multilinkResponse",
14607         FT_UINT32, BASE_DEC, VALS(h245_MultilinkResponse_vals), 0,
14608         "h245.MultilinkResponse", HFILL }},
14609     { &hf_h245_logicalChannelRateAcknowledge,
14610       { "logicalChannelRateAcknowledge", "h245.logicalChannelRateAcknowledge",
14611         FT_NONE, BASE_NONE, NULL, 0,
14612         "h245.LogicalChannelRateAcknowledge", HFILL }},
14613     { &hf_h245_logicalChannelRateReject,
14614       { "logicalChannelRateReject", "h245.logicalChannelRateReject",
14615         FT_NONE, BASE_NONE, NULL, 0,
14616         "h245.LogicalChannelRateReject", HFILL }},
14617     { &hf_h245_genericResponse,
14618       { "genericResponse", "h245.genericResponse",
14619         FT_NONE, BASE_NONE, NULL, 0,
14620         "h245.GenericMessage", HFILL }},
14621     { &hf_h245_maintenanceLoopOffCommand,
14622       { "maintenanceLoopOffCommand", "h245.maintenanceLoopOffCommand",
14623         FT_NONE, BASE_NONE, NULL, 0,
14624         "h245.MaintenanceLoopOffCommand", HFILL }},
14625     { &hf_h245_sendTerminalCapabilitySet,
14626       { "sendTerminalCapabilitySet", "h245.sendTerminalCapabilitySet",
14627         FT_UINT32, BASE_DEC, VALS(h245_SendTerminalCapabilitySet_vals), 0,
14628         "h245.SendTerminalCapabilitySet", HFILL }},
14629     { &hf_h245_encryptionCommand,
14630       { "encryptionCommand", "h245.encryptionCommand",
14631         FT_UINT32, BASE_DEC, VALS(h245_EncryptionCommand_vals), 0,
14632         "h245.EncryptionCommand", HFILL }},
14633     { &hf_h245_flowControlCommand,
14634       { "flowControlCommand", "h245.flowControlCommand",
14635         FT_NONE, BASE_NONE, NULL, 0,
14636         "h245.FlowControlCommand", HFILL }},
14637     { &hf_h245_endSessionCommand,
14638       { "endSessionCommand", "h245.endSessionCommand",
14639         FT_UINT32, BASE_DEC, VALS(h245_EndSessionCommand_vals), 0,
14640         "h245.EndSessionCommand", HFILL }},
14641     { &hf_h245_miscellaneousCommand,
14642       { "miscellaneousCommand", "h245.miscellaneousCommand",
14643         FT_NONE, BASE_NONE, NULL, 0,
14644         "h245.MiscellaneousCommand", HFILL }},
14645     { &hf_h245_communicationModeCommand,
14646       { "communicationModeCommand", "h245.communicationModeCommand",
14647         FT_NONE, BASE_NONE, NULL, 0,
14648         "h245.CommunicationModeCommand", HFILL }},
14649     { &hf_h245_conferenceCommand,
14650       { "conferenceCommand", "h245.conferenceCommand",
14651         FT_UINT32, BASE_DEC, VALS(h245_ConferenceCommand_vals), 0,
14652         "h245.ConferenceCommand", HFILL }},
14653     { &hf_h245_h223MultiplexReconfiguration,
14654       { "h223MultiplexReconfiguration", "h245.h223MultiplexReconfiguration",
14655         FT_UINT32, BASE_DEC, VALS(h245_H223MultiplexReconfiguration_vals), 0,
14656         "h245.H223MultiplexReconfiguration", HFILL }},
14657     { &hf_h245_newATMVCCommand,
14658       { "newATMVCCommand", "h245.newATMVCCommand",
14659         FT_NONE, BASE_NONE, NULL, 0,
14660         "h245.NewATMVCCommand", HFILL }},
14661     { &hf_h245_mobileMultilinkReconfigurationCommand,
14662       { "mobileMultilinkReconfigurationCommand", "h245.mobileMultilinkReconfigurationCommand",
14663         FT_NONE, BASE_NONE, NULL, 0,
14664         "h245.MobileMultilinkReconfigurationCommand", HFILL }},
14665     { &hf_h245_genericCommand,
14666       { "genericCommand", "h245.genericCommand",
14667         FT_NONE, BASE_NONE, NULL, 0,
14668         "h245.GenericMessage", HFILL }},
14669     { &hf_h245_functionNotUnderstood,
14670       { "functionNotUnderstood", "h245.functionNotUnderstood",
14671         FT_UINT32, BASE_DEC, VALS(h245_FunctionNotUnderstood_vals), 0,
14672         "h245.FunctionNotUnderstood", HFILL }},
14673     { &hf_h245_masterSlaveDeterminationRelease,
14674       { "masterSlaveDeterminationRelease", "h245.masterSlaveDeterminationRelease",
14675         FT_NONE, BASE_NONE, NULL, 0,
14676         "h245.MasterSlaveDeterminationRelease", HFILL }},
14677     { &hf_h245_terminalCapabilitySetRelease,
14678       { "terminalCapabilitySetRelease", "h245.terminalCapabilitySetRelease",
14679         FT_NONE, BASE_NONE, NULL, 0,
14680         "h245.TerminalCapabilitySetRelease", HFILL }},
14681     { &hf_h245_openLogicalChannelConfirm,
14682       { "openLogicalChannelConfirm", "h245.openLogicalChannelConfirm",
14683         FT_NONE, BASE_NONE, NULL, 0,
14684         "h245.OpenLogicalChannelConfirm", HFILL }},
14685     { &hf_h245_requestChannelCloseRelease,
14686       { "requestChannelCloseRelease", "h245.requestChannelCloseRelease",
14687         FT_NONE, BASE_NONE, NULL, 0,
14688         "h245.RequestChannelCloseRelease", HFILL }},
14689     { &hf_h245_multiplexEntrySendRelease,
14690       { "multiplexEntrySendRelease", "h245.multiplexEntrySendRelease",
14691         FT_NONE, BASE_NONE, NULL, 0,
14692         "h245.MultiplexEntrySendRelease", HFILL }},
14693     { &hf_h245_requestMultiplexEntryRelease,
14694       { "requestMultiplexEntryRelease", "h245.requestMultiplexEntryRelease",
14695         FT_NONE, BASE_NONE, NULL, 0,
14696         "h245.RequestMultiplexEntryRelease", HFILL }},
14697     { &hf_h245_requestModeRelease,
14698       { "requestModeRelease", "h245.requestModeRelease",
14699         FT_NONE, BASE_NONE, NULL, 0,
14700         "h245.RequestModeRelease", HFILL }},
14701     { &hf_h245_miscellaneousIndication,
14702       { "miscellaneousIndication", "h245.miscellaneousIndication",
14703         FT_NONE, BASE_NONE, NULL, 0,
14704         "h245.MiscellaneousIndication", HFILL }},
14705     { &hf_h245_jitterIndication,
14706       { "jitterIndication", "h245.jitterIndication",
14707         FT_NONE, BASE_NONE, NULL, 0,
14708         "h245.JitterIndication", HFILL }},
14709     { &hf_h245_h223SkewIndication,
14710       { "h223SkewIndication", "h245.h223SkewIndication",
14711         FT_NONE, BASE_NONE, NULL, 0,
14712         "h245.H223SkewIndication", HFILL }},
14713     { &hf_h245_newATMVCIndication,
14714       { "newATMVCIndication", "h245.newATMVCIndication",
14715         FT_NONE, BASE_NONE, NULL, 0,
14716         "h245.NewATMVCIndication", HFILL }},
14717     { &hf_h245_userInput,
14718       { "userInput", "h245.userInput",
14719         FT_UINT32, BASE_DEC, VALS(h245_UserInputIndication_vals), 0,
14720         "h245.UserInputIndication", HFILL }},
14721     { &hf_h245_h2250MaximumSkewIndication,
14722       { "h2250MaximumSkewIndication", "h245.h2250MaximumSkewIndication",
14723         FT_NONE, BASE_NONE, NULL, 0,
14724         "h245.H2250MaximumSkewIndication", HFILL }},
14725     { &hf_h245_mcLocationIndication,
14726       { "mcLocationIndication", "h245.mcLocationIndication",
14727         FT_NONE, BASE_NONE, NULL, 0,
14728         "h245.MCLocationIndication", HFILL }},
14729     { &hf_h245_conferenceIndication,
14730       { "conferenceIndication", "h245.conferenceIndication",
14731         FT_UINT32, BASE_DEC, VALS(h245_ConferenceIndication_vals), 0,
14732         "h245.ConferenceIndication", HFILL }},
14733     { &hf_h245_vendorIdentification,
14734       { "vendorIdentification", "h245.vendorIdentification",
14735         FT_NONE, BASE_NONE, NULL, 0,
14736         "h245.VendorIdentification", HFILL }},
14737     { &hf_h245_functionNotSupported,
14738       { "functionNotSupported", "h245.functionNotSupported",
14739         FT_NONE, BASE_NONE, NULL, 0,
14740         "h245.FunctionNotSupported", HFILL }},
14741     { &hf_h245_multilinkIndication,
14742       { "multilinkIndication", "h245.multilinkIndication",
14743         FT_UINT32, BASE_DEC, VALS(h245_MultilinkIndication_vals), 0,
14744         "h245.MultilinkIndication", HFILL }},
14745     { &hf_h245_logicalChannelRateRelease,
14746       { "logicalChannelRateRelease", "h245.logicalChannelRateRelease",
14747         FT_NONE, BASE_NONE, NULL, 0,
14748         "h245.LogicalChannelRateRelease", HFILL }},
14749     { &hf_h245_flowControlIndication,
14750       { "flowControlIndication", "h245.flowControlIndication",
14751         FT_NONE, BASE_NONE, NULL, 0,
14752         "h245.FlowControlIndication", HFILL }},
14753     { &hf_h245_mobileMultilinkReconfigurationIndication,
14754       { "mobileMultilinkReconfigurationIndication", "h245.mobileMultilinkReconfigurationIndication",
14755         FT_NONE, BASE_NONE, NULL, 0,
14756         "h245.MobileMultilinkReconfigurationIndication", HFILL }},
14757     { &hf_h245_genericIndication,
14758       { "genericIndication", "h245.genericIndication",
14759         FT_NONE, BASE_NONE, NULL, 0,
14760         "h245.GenericMessage", HFILL }},
14761     { &hf_h245_messageIdentifier,
14762       { "messageIdentifier", "h245.messageIdentifier",
14763         FT_UINT32, BASE_DEC, VALS(h245_CapabilityIdentifier_vals), 0,
14764         "h245.CapabilityIdentifier", HFILL }},
14765     { &hf_h245_subMessageIdentifier,
14766       { "subMessageIdentifier", "h245.subMessageIdentifier",
14767         FT_UINT32, BASE_DEC, NULL, 0,
14768         "h245.T_subMessageIdentifier", HFILL }},
14769     { &hf_h245_messageContent,
14770       { "messageContent", "h245.messageContent",
14771         FT_UINT32, BASE_DEC, NULL, 0,
14772         "h245.T_messageContent", HFILL }},
14773     { &hf_h245_messageContent_item,
14774       { "Item", "h245.messageContent_item",
14775         FT_NONE, BASE_NONE, NULL, 0,
14776         "h245.T_messageContent_item", HFILL }},
14777     { &hf_h245_nonStandardData,
14778       { "nonStandardData", "h245.nonStandardData",
14779         FT_NONE, BASE_NONE, NULL, 0,
14780         "h245.NonStandardParameter", HFILL }},
14781     { &hf_h245_nonStandardIdentifier,
14782       { "nonStandardIdentifier", "h245.nonStandardIdentifier",
14783         FT_UINT32, BASE_DEC, VALS(h245_NonStandardIdentifier_vals), 0,
14784         "h245.NonStandardIdentifier", HFILL }},
14785     { &hf_h245_nsd_data,
14786       { "data", "h245.data",
14787         FT_BYTES, BASE_HEX, NULL, 0,
14788         "h245.T_nsd_data", HFILL }},
14789     { &hf_h245_object,
14790       { "object", "h245.object",
14791         FT_OID, BASE_NONE, NULL, 0,
14792         "h245.T_object", HFILL }},
14793     { &hf_h245_h221NonStandardID,
14794       { "h221NonStandard", "h245.h221NonStandard",
14795         FT_NONE, BASE_NONE, NULL, 0,
14796         "h245.H221NonStandardID", HFILL }},
14797     { &hf_h245_t35CountryCode,
14798       { "t35CountryCode", "h245.t35CountryCode",
14799         FT_UINT32, BASE_DEC, VALS(T35CountryCode_vals), 0,
14800         "h245.T_t35CountryCode", HFILL }},
14801     { &hf_h245_t35Extension,
14802       { "t35Extension", "h245.t35Extension",
14803         FT_UINT32, BASE_DEC, NULL, 0,
14804         "h245.T_t35Extension", HFILL }},
14805     { &hf_h245_manufacturerCode,
14806       { "manufacturerCode", "h245.manufacturerCode",
14807         FT_UINT32, BASE_DEC, NULL, 0,
14808         "h245.T_manufacturerCode", HFILL }},
14809     { &hf_h245_terminalType,
14810       { "terminalType", "h245.terminalType",
14811         FT_UINT32, BASE_DEC, NULL, 0,
14812         "h245.INTEGER_0_255", HFILL }},
14813     { &hf_h245_statusDeterminationNumber,
14814       { "statusDeterminationNumber", "h245.statusDeterminationNumber",
14815         FT_UINT32, BASE_DEC, NULL, 0,
14816         "h245.INTEGER_0_16777215", HFILL }},
14817     { &hf_h245_decision,
14818       { "decision", "h245.decision",
14819         FT_UINT32, BASE_DEC, VALS(h245_T_decision_vals), 0,
14820         "h245.T_decision", HFILL }},
14821     { &hf_h245_master,
14822       { "master", "h245.master",
14823         FT_NONE, BASE_NONE, NULL, 0,
14824         "h245.NULL", HFILL }},
14825     { &hf_h245_slave,
14826       { "slave", "h245.slave",
14827         FT_NONE, BASE_NONE, NULL, 0,
14828         "h245.NULL", HFILL }},
14829     { &hf_h245_msd_rej_cause,
14830       { "cause", "h245.cause",
14831         FT_UINT32, BASE_DEC, VALS(h245_MasterSlaveDeterminationRejectCause_vals), 0,
14832         "h245.MasterSlaveDeterminationRejectCause", HFILL }},
14833     { &hf_h245_identicalNumbers,
14834       { "identicalNumbers", "h245.identicalNumbers",
14835         FT_NONE, BASE_NONE, NULL, 0,
14836         "h245.NULL", HFILL }},
14837     { &hf_h245_sequenceNumber,
14838       { "sequenceNumber", "h245.sequenceNumber",
14839         FT_UINT32, BASE_DEC, NULL, 0,
14840         "h245.SequenceNumber", HFILL }},
14841     { &hf_h245_protocolIdentifier,
14842       { "protocolIdentifier", "h245.protocolIdentifier",
14843         FT_OID, BASE_NONE, NULL, 0,
14844         "h245.OBJECT_IDENTIFIER", HFILL }},
14845     { &hf_h245_multiplexCapability,
14846       { "multiplexCapability", "h245.multiplexCapability",
14847         FT_UINT32, BASE_DEC, VALS(h245_MultiplexCapability_vals), 0,
14848         "h245.MultiplexCapability", HFILL }},
14849     { &hf_h245_capabilityTable,
14850       { "capabilityTable", "h245.capabilityTable",
14851         FT_UINT32, BASE_DEC, NULL, 0,
14852         "h245.SET_SIZE_1_256_OF_CapabilityTableEntry", HFILL }},
14853     { &hf_h245_capabilityTable_item,
14854       { "Item", "h245.capabilityTable_item",
14855         FT_NONE, BASE_NONE, NULL, 0,
14856         "h245.CapabilityTableEntry", HFILL }},
14857     { &hf_h245_capabilityDescriptors,
14858       { "capabilityDescriptors", "h245.capabilityDescriptors",
14859         FT_UINT32, BASE_DEC, NULL, 0,
14860         "h245.SET_SIZE_1_256_OF_CapabilityDescriptor", HFILL }},
14861     { &hf_h245_capabilityDescriptors_item,
14862       { "Item", "h245.capabilityDescriptors_item",
14863         FT_NONE, BASE_NONE, NULL, 0,
14864         "h245.CapabilityDescriptor", HFILL }},
14865     { &hf_h245_genericInformation,
14866       { "genericInformation", "h245.genericInformation",
14867         FT_UINT32, BASE_DEC, NULL, 0,
14868         "h245.SEQUENCE_OF_GenericInformation", HFILL }},
14869     { &hf_h245_genericInformation_item,
14870       { "Item", "h245.genericInformation_item",
14871         FT_NONE, BASE_NONE, NULL, 0,
14872         "h245.GenericInformation", HFILL }},
14873     { &hf_h245_capabilityTableEntryNumber,
14874       { "capabilityTableEntryNumber", "h245.capabilityTableEntryNumber",
14875         FT_UINT32, BASE_DEC, NULL, 0,
14876         "h245.CapabilityTableEntryNumber", HFILL }},
14877     { &hf_h245_capability,
14878       { "capability", "h245.capability",
14879         FT_UINT32, BASE_DEC, VALS(h245_Capability_vals), 0,
14880         "h245.Capability", HFILL }},
14881     { &hf_h245_capabilityDescriptorNumber,
14882       { "capabilityDescriptorNumber", "h245.capabilityDescriptorNumber",
14883         FT_UINT32, BASE_DEC, NULL, 0,
14884         "h245.CapabilityDescriptorNumber", HFILL }},
14885     { &hf_h245_simultaneousCapabilities,
14886       { "simultaneousCapabilities", "h245.simultaneousCapabilities",
14887         FT_UINT32, BASE_DEC, NULL, 0,
14888         "h245.SET_SIZE_1_256_OF_AlternativeCapabilitySet", HFILL }},
14889     { &hf_h245_simultaneousCapabilities_item,
14890       { "Item", "h245.simultaneousCapabilities_item",
14891         FT_UINT32, BASE_DEC, NULL, 0,
14892         "h245.AlternativeCapabilitySet", HFILL }},
14893     { &hf_h245_AlternativeCapabilitySet_item,
14894       { "alternativeCapability", "h245.AlternativeCapabilitySet_item",
14895         FT_UINT32, BASE_DEC, NULL, 0,
14896         "h245.CapabilityTableEntryNumber", HFILL }},
14897     { &hf_h245_tcs_rej_cause,
14898       { "cause", "h245.cause",
14899         FT_UINT32, BASE_DEC, VALS(h245_TerminalCapabilitySetRejectCause_vals), 0,
14900         "h245.TerminalCapabilitySetRejectCause", HFILL }},
14901     { &hf_h245_unspecified,
14902       { "unspecified", "h245.unspecified",
14903         FT_NONE, BASE_NONE, NULL, 0,
14904         "h245.NULL", HFILL }},
14905     { &hf_h245_undefinedTableEntryUsed,
14906       { "undefinedTableEntryUsed", "h245.undefinedTableEntryUsed",
14907         FT_NONE, BASE_NONE, NULL, 0,
14908         "h245.NULL", HFILL }},
14909     { &hf_h245_descriptorCapacityExceeded,
14910       { "descriptorCapacityExceeded", "h245.descriptorCapacityExceeded",
14911         FT_NONE, BASE_NONE, NULL, 0,
14912         "h245.NULL", HFILL }},
14913     { &hf_h245_tableEntryCapacityExceeded,
14914       { "tableEntryCapacityExceeded", "h245.tableEntryCapacityExceeded",
14915         FT_UINT32, BASE_DEC, VALS(h245_T_tableEntryCapacityExceeded_vals), 0,
14916         "h245.T_tableEntryCapacityExceeded", HFILL }},
14917     { &hf_h245_highestEntryNumberProcessed,
14918       { "highestEntryNumberProcessed", "h245.highestEntryNumberProcessed",
14919         FT_UINT32, BASE_DEC, NULL, 0,
14920         "h245.CapabilityTableEntryNumber", HFILL }},
14921     { &hf_h245_noneProcessed,
14922       { "noneProcessed", "h245.noneProcessed",
14923         FT_NONE, BASE_NONE, NULL, 0,
14924         "h245.NULL", HFILL }},
14925     { &hf_h245_nonStandard,
14926       { "nonStandard", "h245.nonStandard",
14927         FT_NONE, BASE_NONE, NULL, 0,
14928         "h245.NonStandardParameter", HFILL }},
14929     { &hf_h245_receiveVideoCapability,
14930       { "receiveVideoCapability", "h245.receiveVideoCapability",
14931         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
14932         "h245.VideoCapability", HFILL }},
14933     { &hf_h245_transmitVideoCapability,
14934       { "transmitVideoCapability", "h245.transmitVideoCapability",
14935         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
14936         "h245.VideoCapability", HFILL }},
14937     { &hf_h245_receiveAndTransmitVideoCapability,
14938       { "receiveAndTransmitVideoCapability", "h245.receiveAndTransmitVideoCapability",
14939         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
14940         "h245.VideoCapability", HFILL }},
14941     { &hf_h245_receiveAudioCapability,
14942       { "receiveAudioCapability", "h245.receiveAudioCapability",
14943         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
14944         "h245.AudioCapability", HFILL }},
14945     { &hf_h245_transmitAudioCapability,
14946       { "transmitAudioCapability", "h245.transmitAudioCapability",
14947         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
14948         "h245.AudioCapability", HFILL }},
14949     { &hf_h245_receiveAndTransmitAudioCapability,
14950       { "receiveAndTransmitAudioCapability", "h245.receiveAndTransmitAudioCapability",
14951         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
14952         "h245.AudioCapability", HFILL }},
14953     { &hf_h245_receiveDataApplicationCapability,
14954       { "receiveDataApplicationCapability", "h245.receiveDataApplicationCapability",
14955         FT_NONE, BASE_NONE, NULL, 0,
14956         "h245.DataApplicationCapability", HFILL }},
14957     { &hf_h245_transmitDataApplicationCapability,
14958       { "transmitDataApplicationCapability", "h245.transmitDataApplicationCapability",
14959         FT_NONE, BASE_NONE, NULL, 0,
14960         "h245.DataApplicationCapability", HFILL }},
14961     { &hf_h245_receiveAndTransmitDataApplicationCapability,
14962       { "receiveAndTransmitDataApplicationCapability", "h245.receiveAndTransmitDataApplicationCapability",
14963         FT_NONE, BASE_NONE, NULL, 0,
14964         "h245.DataApplicationCapability", HFILL }},
14965     { &hf_h245_h233EncryptionTransmitCapability,
14966       { "h233EncryptionTransmitCapability", "h245.h233EncryptionTransmitCapability",
14967         FT_BOOLEAN, 8, NULL, 0,
14968         "h245.BOOLEAN", HFILL }},
14969     { &hf_h245_h233EncryptionReceiveCapability,
14970       { "h233EncryptionReceiveCapability", "h245.h233EncryptionReceiveCapability",
14971         FT_NONE, BASE_NONE, NULL, 0,
14972         "h245.T_h233EncryptionReceiveCapability", HFILL }},
14973     { &hf_h245_h233IVResponseTime,
14974       { "h233IVResponseTime", "h245.h233IVResponseTime",
14975         FT_UINT32, BASE_DEC, NULL, 0,
14976         "h245.INTEGER_0_255", HFILL }},
14977     { &hf_h245_conferenceCapability,
14978       { "conferenceCapability", "h245.conferenceCapability",
14979         FT_NONE, BASE_NONE, NULL, 0,
14980         "h245.ConferenceCapability", HFILL }},
14981     { &hf_h245_h235SecurityCapability,
14982       { "h235SecurityCapability", "h245.h235SecurityCapability",
14983         FT_NONE, BASE_NONE, NULL, 0,
14984         "h245.H235SecurityCapability", HFILL }},
14985     { &hf_h245_maxPendingReplacementFor,
14986       { "maxPendingReplacementFor", "h245.maxPendingReplacementFor",
14987         FT_UINT32, BASE_DEC, NULL, 0,
14988         "h245.INTEGER_0_255", HFILL }},
14989     { &hf_h245_receiveUserInputCapability,
14990       { "receiveUserInputCapability", "h245.receiveUserInputCapability",
14991         FT_UINT32, BASE_DEC, VALS(h245_UserInputCapability_vals), 0,
14992         "h245.UserInputCapability", HFILL }},
14993     { &hf_h245_transmitUserInputCapability,
14994       { "transmitUserInputCapability", "h245.transmitUserInputCapability",
14995         FT_UINT32, BASE_DEC, VALS(h245_UserInputCapability_vals), 0,
14996         "h245.UserInputCapability", HFILL }},
14997     { &hf_h245_receiveAndTransmitUserInputCapability,
14998       { "receiveAndTransmitUserInputCapability", "h245.receiveAndTransmitUserInputCapability",
14999         FT_UINT32, BASE_DEC, VALS(h245_UserInputCapability_vals), 0,
15000         "h245.UserInputCapability", HFILL }},
15001     { &hf_h245_genericControlCapability,
15002       { "genericControlCapability", "h245.genericControlCapability",
15003         FT_NONE, BASE_NONE, NULL, 0,
15004         "h245.GenericCapability", HFILL }},
15005     { &hf_h245_receiveMultiplexedStreamCapability,
15006       { "receiveMultiplexedStreamCapability", "h245.receiveMultiplexedStreamCapability",
15007         FT_NONE, BASE_NONE, NULL, 0,
15008         "h245.MultiplexedStreamCapability", HFILL }},
15009     { &hf_h245_transmitMultiplexedStreamCapability,
15010       { "transmitMultiplexedStreamCapability", "h245.transmitMultiplexedStreamCapability",
15011         FT_NONE, BASE_NONE, NULL, 0,
15012         "h245.MultiplexedStreamCapability", HFILL }},
15013     { &hf_h245_receiveAndTransmitMultiplexedStreamCapability,
15014       { "receiveAndTransmitMultiplexedStreamCapability", "h245.receiveAndTransmitMultiplexedStreamCapability",
15015         FT_NONE, BASE_NONE, NULL, 0,
15016         "h245.MultiplexedStreamCapability", HFILL }},
15017     { &hf_h245_receiveRTPAudioTelephonyEventCapability,
15018       { "receiveRTPAudioTelephonyEventCapability", "h245.receiveRTPAudioTelephonyEventCapability",
15019         FT_NONE, BASE_NONE, NULL, 0,
15020         "h245.AudioTelephonyEventCapability", HFILL }},
15021     { &hf_h245_receiveRTPAudioToneCapability,
15022       { "receiveRTPAudioToneCapability", "h245.receiveRTPAudioToneCapability",
15023         FT_NONE, BASE_NONE, NULL, 0,
15024         "h245.AudioToneCapability", HFILL }},
15025     { &hf_h245_depFecCapability,
15026       { "depFecCapability", "h245.depFecCapability",
15027         FT_UINT32, BASE_DEC, VALS(h245_DepFECCapability_vals), 0,
15028         "h245.DepFECCapability", HFILL }},
15029     { &hf_h245_multiplePayloadStreamCapability,
15030       { "multiplePayloadStreamCapability", "h245.multiplePayloadStreamCapability",
15031         FT_NONE, BASE_NONE, NULL, 0,
15032         "h245.MultiplePayloadStreamCapability", HFILL }},
15033     { &hf_h245_fecCapability,
15034       { "fecCapability", "h245.fecCapability",
15035         FT_NONE, BASE_NONE, NULL, 0,
15036         "h245.FECCapability", HFILL }},
15037     { &hf_h245_redundancyEncodingCap,
15038       { "redundancyEncodingCap", "h245.redundancyEncodingCap",
15039         FT_NONE, BASE_NONE, NULL, 0,
15040         "h245.RedundancyEncodingCapability", HFILL }},
15041     { &hf_h245_oneOfCapabilities,
15042       { "oneOfCapabilities", "h245.oneOfCapabilities",
15043         FT_UINT32, BASE_DEC, NULL, 0,
15044         "h245.AlternativeCapabilitySet", HFILL }},
15045     { &hf_h245_encryptionAuthenticationAndIntegrity,
15046       { "encryptionAuthenticationAndIntegrity", "h245.encryptionAuthenticationAndIntegrity",
15047         FT_NONE, BASE_NONE, NULL, 0,
15048         "h245.EncryptionAuthenticationAndIntegrity", HFILL }},
15049     { &hf_h245_mediaCapability,
15050       { "mediaCapability", "h245.mediaCapability",
15051         FT_UINT32, BASE_DEC, NULL, 0,
15052         "h245.CapabilityTableEntryNumber", HFILL }},
15053     { &hf_h245_h222Capability,
15054       { "h222Capability", "h245.h222Capability",
15055         FT_NONE, BASE_NONE, NULL, 0,
15056         "h245.H222Capability", HFILL }},
15057     { &hf_h245_h223Capability,
15058       { "h223Capability", "h245.h223Capability",
15059         FT_NONE, BASE_NONE, NULL, 0,
15060         "h245.H223Capability", HFILL }},
15061     { &hf_h245_v76Capability,
15062       { "v76Capability", "h245.v76Capability",
15063         FT_NONE, BASE_NONE, NULL, 0,
15064         "h245.V76Capability", HFILL }},
15065     { &hf_h245_h2250Capability,
15066       { "h2250Capability", "h245.h2250Capability",
15067         FT_NONE, BASE_NONE, NULL, 0,
15068         "h245.H2250Capability", HFILL }},
15069     { &hf_h245_genericMultiplexCapability,
15070       { "genericMultiplexCapability", "h245.genericMultiplexCapability",
15071         FT_NONE, BASE_NONE, NULL, 0,
15072         "h245.GenericCapability", HFILL }},
15073     { &hf_h245_numberOfVCs,
15074       { "numberOfVCs", "h245.numberOfVCs",
15075         FT_UINT32, BASE_DEC, NULL, 0,
15076         "h245.INTEGER_1_256", HFILL }},
15077     { &hf_h245_vcCapability,
15078       { "vcCapability", "h245.vcCapability",
15079         FT_UINT32, BASE_DEC, NULL, 0,
15080         "h245.SET_OF_VCCapability", HFILL }},
15081     { &hf_h245_vcCapability_item,
15082       { "Item", "h245.vcCapability_item",
15083         FT_NONE, BASE_NONE, NULL, 0,
15084         "h245.VCCapability", HFILL }},
15085     { &hf_h245_aal1,
15086       { "aal1", "h245.aal1",
15087         FT_NONE, BASE_NONE, NULL, 0,
15088         "h245.T_aal1", HFILL }},
15089     { &hf_h245_nullClockRecovery,
15090       { "nullClockRecovery", "h245.nullClockRecovery",
15091         FT_BOOLEAN, 8, NULL, 0,
15092         "h245.BOOLEAN", HFILL }},
15093     { &hf_h245_srtsClockRecovery_bool,
15094       { "srtsClockRecovery", "h245.srtsClockRecovery",
15095         FT_BOOLEAN, 8, NULL, 0,
15096         "h245.BOOLEAN", HFILL }},
15097     { &hf_h245_adaptiveClockRecovery,
15098       { "adaptiveClockRecovery", "h245.adaptiveClockRecovery",
15099         FT_BOOLEAN, 8, NULL, 0,
15100         "h245.BOOLEAN", HFILL }},
15101     { &hf_h245_nullErrorCorrection,
15102       { "nullErrorCorrection", "h245.nullErrorCorrection",
15103         FT_BOOLEAN, 8, NULL, 0,
15104         "h245.BOOLEAN", HFILL }},
15105     { &hf_h245_longInterleaver,
15106       { "longInterleaver", "h245.longInterleaver",
15107         FT_BOOLEAN, 8, NULL, 0,
15108         "h245.BOOLEAN", HFILL }},
15109     { &hf_h245_shortInterleaver,
15110       { "shortInterleaver", "h245.shortInterleaver",
15111         FT_BOOLEAN, 8, NULL, 0,
15112         "h245.BOOLEAN", HFILL }},
15113     { &hf_h245_errorCorrectionOnly,
15114       { "errorCorrectionOnly", "h245.errorCorrectionOnly",
15115         FT_BOOLEAN, 8, NULL, 0,
15116         "h245.BOOLEAN", HFILL }},
15117     { &hf_h245_structuredDataTransfer,
15118       { "structuredDataTransfer", "h245.structuredDataTransfer",
15119         FT_BOOLEAN, 8, NULL, 0,
15120         "h245.BOOLEAN", HFILL }},
15121     { &hf_h245_partiallyFilledCells,
15122       { "partiallyFilledCells", "h245.partiallyFilledCells",
15123         FT_BOOLEAN, 8, NULL, 0,
15124         "h245.BOOLEAN", HFILL }},
15125     { &hf_h245_aal5,
15126       { "aal5", "h245.aal5",
15127         FT_NONE, BASE_NONE, NULL, 0,
15128         "h245.T_aal5", HFILL }},
15129     { &hf_h245_forwardMaximumSDUSize,
15130       { "forwardMaximumSDUSize", "h245.forwardMaximumSDUSize",
15131         FT_UINT32, BASE_DEC, NULL, 0,
15132         "h245.INTEGER_0_65535", HFILL }},
15133     { &hf_h245_backwardMaximumSDUSize,
15134       { "backwardMaximumSDUSize", "h245.backwardMaximumSDUSize",
15135         FT_UINT32, BASE_DEC, NULL, 0,
15136         "h245.INTEGER_0_65535", HFILL }},
15137     { &hf_h245_transportStream_bool,
15138       { "transportStream", "h245.transportStream",
15139         FT_BOOLEAN, 8, NULL, 0,
15140         "h245.BOOLEAN", HFILL }},
15141     { &hf_h245_programStream,
15142       { "programStream", "h245.programStream",
15143         FT_BOOLEAN, 8, NULL, 0,
15144         "h245.BOOLEAN", HFILL }},
15145     { &hf_h245_availableBitRates,
15146       { "availableBitRates", "h245.availableBitRates",
15147         FT_NONE, BASE_NONE, NULL, 0,
15148         "h245.T_availableBitRates", HFILL }},
15149     { &hf_h245_avb_type,
15150       { "type", "h245.type",
15151         FT_UINT32, BASE_DEC, VALS(h245_Avb_type_vals), 0,
15152         "h245.Avb_type", HFILL }},
15153     { &hf_h245_singleBitRate,
15154       { "singleBitRate", "h245.singleBitRate",
15155         FT_UINT32, BASE_DEC, NULL, 0,
15156         "h245.INTEGER_1_65535", HFILL }},
15157     { &hf_h245_rangeOfBitRates,
15158       { "rangeOfBitRates", "h245.rangeOfBitRates",
15159         FT_NONE, BASE_NONE, NULL, 0,
15160         "h245.T_rangeOfBitRates", HFILL }},
15161     { &hf_h245_lowerBitRate,
15162       { "lowerBitRate", "h245.lowerBitRate",
15163         FT_UINT32, BASE_DEC, NULL, 0,
15164         "h245.INTEGER_1_65535", HFILL }},
15165     { &hf_h245_higherBitRate,
15166       { "higherBitRate", "h245.higherBitRate",
15167         FT_UINT32, BASE_DEC, NULL, 0,
15168         "h245.INTEGER_1_65535", HFILL }},
15169     { &hf_h245_aal1ViaGateway,
15170       { "aal1ViaGateway", "h245.aal1ViaGateway",
15171         FT_NONE, BASE_NONE, NULL, 0,
15172         "h245.T_aal1ViaGateway", HFILL }},
15173     { &hf_h245_gatewayAddress,
15174       { "gatewayAddress", "h245.gatewayAddress",
15175         FT_UINT32, BASE_DEC, NULL, 0,
15176         "h245.SET_SIZE_1_256_OF_Q2931Address", HFILL }},
15177     { &hf_h245_gatewayAddress_item,
15178       { "Item", "h245.gatewayAddress_item",
15179         FT_NONE, BASE_NONE, NULL, 0,
15180         "h245.Q2931Address", HFILL }},
15181     { &hf_h245_srtsClockRecoveryflag,
15182       { "srtsClockRecovery", "h245.srtsClockRecovery",
15183         FT_BOOLEAN, 8, NULL, 0,
15184         "h245.BOOLEAN", HFILL }},
15185     { &hf_h245_transportWithI_frames,
15186       { "transportWithI-frames", "h245.transportWithI_frames",
15187         FT_BOOLEAN, 8, NULL, 0,
15188         "h245.BOOLEAN", HFILL }},
15189     { &hf_h245_videoWithAL1,
15190       { "videoWithAL1", "h245.videoWithAL1",
15191         FT_BOOLEAN, 8, NULL, 0,
15192         "h245.BOOLEAN", HFILL }},
15193     { &hf_h245_videoWithAL2,
15194       { "videoWithAL2", "h245.videoWithAL2",
15195         FT_BOOLEAN, 8, NULL, 0,
15196         "h245.BOOLEAN", HFILL }},
15197     { &hf_h245_videoWithAL3,
15198       { "videoWithAL3", "h245.videoWithAL3",
15199         FT_BOOLEAN, 8, NULL, 0,
15200         "h245.BOOLEAN", HFILL }},
15201     { &hf_h245_audioWithAL1,
15202       { "audioWithAL1", "h245.audioWithAL1",
15203         FT_BOOLEAN, 8, NULL, 0,
15204         "h245.BOOLEAN", HFILL }},
15205     { &hf_h245_audioWithAL2,
15206       { "audioWithAL2", "h245.audioWithAL2",
15207         FT_BOOLEAN, 8, NULL, 0,
15208         "h245.BOOLEAN", HFILL }},
15209     { &hf_h245_audioWithAL3,
15210       { "audioWithAL3", "h245.audioWithAL3",
15211         FT_BOOLEAN, 8, NULL, 0,
15212         "h245.BOOLEAN", HFILL }},
15213     { &hf_h245_dataWithAL1,
15214       { "dataWithAL1", "h245.dataWithAL1",
15215         FT_BOOLEAN, 8, NULL, 0,
15216         "h245.BOOLEAN", HFILL }},
15217     { &hf_h245_dataWithAL2,
15218       { "dataWithAL2", "h245.dataWithAL2",
15219         FT_BOOLEAN, 8, NULL, 0,
15220         "h245.BOOLEAN", HFILL }},
15221     { &hf_h245_dataWithAL3,
15222       { "dataWithAL3", "h245.dataWithAL3",
15223         FT_BOOLEAN, 8, NULL, 0,
15224         "h245.BOOLEAN", HFILL }},
15225     { &hf_h245_maximumAl2SDUSize,
15226       { "maximumAl2SDUSize", "h245.maximumAl2SDUSize",
15227         FT_UINT32, BASE_DEC, NULL, 0,
15228         "h245.INTEGER_0_65535", HFILL }},
15229     { &hf_h245_maximumAl3SDUSize,
15230       { "maximumAl3SDUSize", "h245.maximumAl3SDUSize",
15231         FT_UINT32, BASE_DEC, NULL, 0,
15232         "h245.INTEGER_0_65535", HFILL }},
15233     { &hf_h245_maximumDelayJitter,
15234       { "maximumDelayJitter", "h245.maximumDelayJitter",
15235         FT_UINT32, BASE_DEC, NULL, 0,
15236         "h245.INTEGER_0_1023", HFILL }},
15237     { &hf_h245_h223MultiplexTableCapability,
15238       { "h223MultiplexTableCapability", "h245.h223MultiplexTableCapability",
15239         FT_UINT32, BASE_DEC, VALS(h245_T_h223MultiplexTableCapability_vals), 0,
15240         "h245.T_h223MultiplexTableCapability", HFILL }},
15241     { &hf_h245_basic,
15242       { "basic", "h245.basic",
15243         FT_NONE, BASE_NONE, NULL, 0,
15244         "h245.NULL", HFILL }},
15245     { &hf_h245_enhanced,
15246       { "enhanced", "h245.enhanced",
15247         FT_NONE, BASE_NONE, NULL, 0,
15248         "h245.T_enhanced", HFILL }},
15249     { &hf_h245_maximumNestingDepth,
15250       { "maximumNestingDepth", "h245.maximumNestingDepth",
15251         FT_UINT32, BASE_DEC, NULL, 0,
15252         "h245.INTEGER_1_15", HFILL }},
15253     { &hf_h245_maximumElementListSize,
15254       { "maximumElementListSize", "h245.maximumElementListSize",
15255         FT_UINT32, BASE_DEC, NULL, 0,
15256         "h245.INTEGER_2_255", HFILL }},
15257     { &hf_h245_maximumSubElementListSize,
15258       { "maximumSubElementListSize", "h245.maximumSubElementListSize",
15259         FT_UINT32, BASE_DEC, NULL, 0,
15260         "h245.INTEGER_2_255", HFILL }},
15261     { &hf_h245_maxMUXPDUSizeCapability,
15262       { "maxMUXPDUSizeCapability", "h245.maxMUXPDUSizeCapability",
15263         FT_BOOLEAN, 8, NULL, 0,
15264         "h245.BOOLEAN", HFILL }},
15265     { &hf_h245_nsrpSupport,
15266       { "nsrpSupport", "h245.nsrpSupport",
15267         FT_BOOLEAN, 8, NULL, 0,
15268         "h245.BOOLEAN", HFILL }},
15269     { &hf_h245_mobileOperationTransmitCapability,
15270       { "mobileOperationTransmitCapability", "h245.mobileOperationTransmitCapability",
15271         FT_NONE, BASE_NONE, NULL, 0,
15272         "h245.T_mobileOperationTransmitCapability", HFILL }},
15273     { &hf_h245_modeChangeCapability,
15274       { "modeChangeCapability", "h245.modeChangeCapability",
15275         FT_BOOLEAN, 8, NULL, 0,
15276         "h245.BOOLEAN", HFILL }},
15277     { &hf_h245_h223AnnexA,
15278       { "h223AnnexA", "h245.h223AnnexA",
15279         FT_BOOLEAN, 8, NULL, 0,
15280         "h245.BOOLEAN", HFILL }},
15281     { &hf_h245_h223AnnexADoubleFlagFlag,
15282       { "h223AnnexADoubleFlag", "h245.h223AnnexADoubleFlag",
15283         FT_BOOLEAN, 8, NULL, 0,
15284         "h245.BOOLEAN", HFILL }},
15285     { &hf_h245_h223AnnexB,
15286       { "h223AnnexB", "h245.h223AnnexB",
15287         FT_BOOLEAN, 8, NULL, 0,
15288         "h245.BOOLEAN", HFILL }},
15289     { &hf_h245_h223AnnexBwithHeader,
15290       { "h223AnnexBwithHeader", "h245.h223AnnexBwithHeader",
15291         FT_BOOLEAN, 8, NULL, 0,
15292         "h245.BOOLEAN", HFILL }},
15293     { &hf_h245_h223AnnexCCapability,
15294       { "h223AnnexCCapability", "h245.h223AnnexCCapability",
15295         FT_NONE, BASE_NONE, NULL, 0,
15296         "h245.H223AnnexCCapability", HFILL }},
15297     { &hf_h245_bitRate_1_19200,
15298       { "bitRate", "h245.bitRate",
15299         FT_UINT32, BASE_DEC, NULL, 0,
15300         "h245.INTEGER_1_19200", HFILL }},
15301     { &hf_h245_mobileMultilinkFrameCapability,
15302       { "mobileMultilinkFrameCapability", "h245.mobileMultilinkFrameCapability",
15303         FT_NONE, BASE_NONE, NULL, 0,
15304         "h245.T_mobileMultilinkFrameCapability", HFILL }},
15305     { &hf_h245_maximumSampleSize,
15306       { "maximumSampleSize", "h245.maximumSampleSize",
15307         FT_UINT32, BASE_DEC, NULL, 0,
15308         "h245.INTEGER_1_255", HFILL }},
15309     { &hf_h245_maximumPayloadLength,
15310       { "maximumPayloadLength", "h245.maximumPayloadLength",
15311         FT_UINT32, BASE_DEC, NULL, 0,
15312         "h245.INTEGER_1_65025", HFILL }},
15313     { &hf_h245_videoWithAL1M,
15314       { "videoWithAL1M", "h245.videoWithAL1M",
15315         FT_BOOLEAN, 8, NULL, 0,
15316         "h245.BOOLEAN", HFILL }},
15317     { &hf_h245_videoWithAL2M,
15318       { "videoWithAL2M", "h245.videoWithAL2M",
15319         FT_BOOLEAN, 8, NULL, 0,
15320         "h245.BOOLEAN", HFILL }},
15321     { &hf_h245_videoWithAL3M,
15322       { "videoWithAL3M", "h245.videoWithAL3M",
15323         FT_BOOLEAN, 8, NULL, 0,
15324         "h245.BOOLEAN", HFILL }},
15325     { &hf_h245_audioWithAL1M,
15326       { "audioWithAL1M", "h245.audioWithAL1M",
15327         FT_BOOLEAN, 8, NULL, 0,
15328         "h245.BOOLEAN", HFILL }},
15329     { &hf_h245_audioWithAL2M,
15330       { "audioWithAL2M", "h245.audioWithAL2M",
15331         FT_BOOLEAN, 8, NULL, 0,
15332         "h245.BOOLEAN", HFILL }},
15333     { &hf_h245_audioWithAL3M,
15334       { "audioWithAL3M", "h245.audioWithAL3M",
15335         FT_BOOLEAN, 8, NULL, 0,
15336         "h245.BOOLEAN", HFILL }},
15337     { &hf_h245_dataWithAL1M,
15338       { "dataWithAL1M", "h245.dataWithAL1M",
15339         FT_BOOLEAN, 8, NULL, 0,
15340         "h245.BOOLEAN", HFILL }},
15341     { &hf_h245_dataWithAL2M,
15342       { "dataWithAL2M", "h245.dataWithAL2M",
15343         FT_BOOLEAN, 8, NULL, 0,
15344         "h245.BOOLEAN", HFILL }},
15345     { &hf_h245_dataWithAL3M,
15346       { "dataWithAL3M", "h245.dataWithAL3M",
15347         FT_BOOLEAN, 8, NULL, 0,
15348         "h245.BOOLEAN", HFILL }},
15349     { &hf_h245_alpduInterleaving,
15350       { "alpduInterleaving", "h245.alpduInterleaving",
15351         FT_BOOLEAN, 8, NULL, 0,
15352         "h245.BOOLEAN", HFILL }},
15353     { &hf_h245_maximumAL1MPDUSize,
15354       { "maximumAL1MPDUSize", "h245.maximumAL1MPDUSize",
15355         FT_UINT32, BASE_DEC, NULL, 0,
15356         "h245.INTEGER_0_65535", HFILL }},
15357     { &hf_h245_maximumAL2MSDUSize,
15358       { "maximumAL2MSDUSize", "h245.maximumAL2MSDUSize",
15359         FT_UINT32, BASE_DEC, NULL, 0,
15360         "h245.INTEGER_0_65535", HFILL }},
15361     { &hf_h245_maximumAL3MSDUSize,
15362       { "maximumAL3MSDUSize", "h245.maximumAL3MSDUSize",
15363         FT_UINT32, BASE_DEC, NULL, 0,
15364         "h245.INTEGER_0_65535", HFILL }},
15365     { &hf_h245_rsCodeCapability,
15366       { "rsCodeCapability", "h245.rsCodeCapability",
15367         FT_BOOLEAN, 8, NULL, 0,
15368         "h245.BOOLEAN", HFILL }},
15369     { &hf_h245_suspendResumeCapabilitywAddress,
15370       { "suspendResumeCapabilitywAddress", "h245.suspendResumeCapabilitywAddress",
15371         FT_BOOLEAN, 8, NULL, 0,
15372         "h245.BOOLEAN", HFILL }},
15373     { &hf_h245_suspendResumeCapabilitywoAddress,
15374       { "suspendResumeCapabilitywoAddress", "h245.suspendResumeCapabilitywoAddress",
15375         FT_BOOLEAN, 8, NULL, 0,
15376         "h245.BOOLEAN", HFILL }},
15377     { &hf_h245_rejCapability,
15378       { "rejCapability", "h245.rejCapability",
15379         FT_BOOLEAN, 8, NULL, 0,
15380         "h245.BOOLEAN", HFILL }},
15381     { &hf_h245_sREJCapability,
15382       { "sREJCapability", "h245.sREJCapability",
15383         FT_BOOLEAN, 8, NULL, 0,
15384         "h245.BOOLEAN", HFILL }},
15385     { &hf_h245_mREJCapability,
15386       { "mREJCapability", "h245.mREJCapability",
15387         FT_BOOLEAN, 8, NULL, 0,
15388         "h245.BOOLEAN", HFILL }},
15389     { &hf_h245_crc8bitCapability,
15390       { "crc8bitCapability", "h245.crc8bitCapability",
15391         FT_BOOLEAN, 8, NULL, 0,
15392         "h245.BOOLEAN", HFILL }},
15393     { &hf_h245_crc16bitCapability,
15394       { "crc16bitCapability", "h245.crc16bitCapability",
15395         FT_BOOLEAN, 8, NULL, 0,
15396         "h245.BOOLEAN", HFILL }},
15397     { &hf_h245_crc32bitCapability,
15398       { "crc32bitCapability", "h245.crc32bitCapability",
15399         FT_BOOLEAN, 8, NULL, 0,
15400         "h245.BOOLEAN", HFILL }},
15401     { &hf_h245_uihCapability,
15402       { "uihCapability", "h245.uihCapability",
15403         FT_BOOLEAN, 8, NULL, 0,
15404         "h245.BOOLEAN", HFILL }},
15405     { &hf_h245_numOfDLCS,
15406       { "numOfDLCS", "h245.numOfDLCS",
15407         FT_UINT32, BASE_DEC, NULL, 0,
15408         "h245.INTEGER_2_8191", HFILL }},
15409     { &hf_h245_twoOctetAddressFieldCapability,
15410       { "twoOctetAddressFieldCapability", "h245.twoOctetAddressFieldCapability",
15411         FT_BOOLEAN, 8, NULL, 0,
15412         "h245.BOOLEAN", HFILL }},
15413     { &hf_h245_loopBackTestCapability,
15414       { "loopBackTestCapability", "h245.loopBackTestCapability",
15415         FT_BOOLEAN, 8, NULL, 0,
15416         "h245.BOOLEAN", HFILL }},
15417     { &hf_h245_n401Capability,
15418       { "n401Capability", "h245.n401Capability",
15419         FT_UINT32, BASE_DEC, NULL, 0,
15420         "h245.INTEGER_1_4095", HFILL }},
15421     { &hf_h245_maxWindowSizeCapability,
15422       { "maxWindowSizeCapability", "h245.maxWindowSizeCapability",
15423         FT_UINT32, BASE_DEC, NULL, 0,
15424         "h245.INTEGER_1_127", HFILL }},
15425     { &hf_h245_v75Capability,
15426       { "v75Capability", "h245.v75Capability",
15427         FT_NONE, BASE_NONE, NULL, 0,
15428         "h245.V75Capability", HFILL }},
15429     { &hf_h245_audioHeader,
15430       { "audioHeader", "h245.audioHeader",
15431         FT_BOOLEAN, 8, NULL, 0,
15432         "h245.BOOLEAN", HFILL }},
15433     { &hf_h245_maximumAudioDelayJitter,
15434       { "maximumAudioDelayJitter", "h245.maximumAudioDelayJitter",
15435         FT_UINT32, BASE_DEC, NULL, 0,
15436         "h245.INTEGER_0_1023", HFILL }},
15437     { &hf_h245_receiveMultipointCapability,
15438       { "receiveMultipointCapability", "h245.receiveMultipointCapability",
15439         FT_NONE, BASE_NONE, NULL, 0,
15440         "h245.MultipointCapability", HFILL }},
15441     { &hf_h245_transmitMultipointCapability,
15442       { "transmitMultipointCapability", "h245.transmitMultipointCapability",
15443         FT_NONE, BASE_NONE, NULL, 0,
15444         "h245.MultipointCapability", HFILL }},
15445     { &hf_h245_receiveAndTransmitMultipointCapability,
15446       { "receiveAndTransmitMultipointCapability", "h245.receiveAndTransmitMultipointCapability",
15447         FT_NONE, BASE_NONE, NULL, 0,
15448         "h245.MultipointCapability", HFILL }},
15449     { &hf_h245_mcCapability,
15450       { "mcCapability", "h245.mcCapability",
15451         FT_NONE, BASE_NONE, NULL, 0,
15452         "h245.T_mcCapability", HFILL }},
15453     { &hf_h245_centralizedConferenceMC,
15454       { "centralizedConferenceMC", "h245.centralizedConferenceMC",
15455         FT_BOOLEAN, 8, NULL, 0,
15456         "h245.BOOLEAN", HFILL }},
15457     { &hf_h245_decentralizedConferenceMC,
15458       { "decentralizedConferenceMC", "h245.decentralizedConferenceMC",
15459         FT_BOOLEAN, 8, NULL, 0,
15460         "h245.BOOLEAN", HFILL }},
15461     { &hf_h245_rtcpVideoControlCapability,
15462       { "rtcpVideoControlCapability", "h245.rtcpVideoControlCapability",
15463         FT_BOOLEAN, 8, NULL, 0,
15464         "h245.BOOLEAN", HFILL }},
15465     { &hf_h245_mediaPacketizationCapability,
15466       { "mediaPacketizationCapability", "h245.mediaPacketizationCapability",
15467         FT_NONE, BASE_NONE, NULL, 0,
15468         "h245.MediaPacketizationCapability", HFILL }},
15469     { &hf_h245_transportCapability,
15470       { "transportCapability", "h245.transportCapability",
15471         FT_NONE, BASE_NONE, NULL, 0,
15472         "h245.TransportCapability", HFILL }},
15473     { &hf_h245_redundancyEncodingCapability,
15474       { "redundancyEncodingCapability", "h245.redundancyEncodingCapability",
15475         FT_UINT32, BASE_DEC, NULL, 0,
15476         "h245.SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability", HFILL }},
15477     { &hf_h245_redundancyEncodingCapability_item,
15478       { "Item", "h245.redundancyEncodingCapability_item",
15479         FT_NONE, BASE_NONE, NULL, 0,
15480         "h245.RedundancyEncodingCapability", HFILL }},
15481     { &hf_h245_logicalChannelSwitchingCapability,
15482       { "logicalChannelSwitchingCapability", "h245.logicalChannelSwitchingCapability",
15483         FT_BOOLEAN, 8, NULL, 0,
15484         "h245.BOOLEAN", HFILL }},
15485     { &hf_h245_t120DynamicPortCapability,
15486       { "t120DynamicPortCapability", "h245.t120DynamicPortCapability",
15487         FT_BOOLEAN, 8, NULL, 0,
15488         "h245.BOOLEAN", HFILL }},
15489     { &hf_h245_h261aVideoPacketization,
15490       { "h261aVideoPacketization", "h245.h261aVideoPacketization",
15491         FT_BOOLEAN, 8, NULL, 0,
15492         "h245.BOOLEAN", HFILL }},
15493     { &hf_h245_rtpPayloadTypes,
15494       { "rtpPayloadType", "h245.rtpPayloadType",
15495         FT_UINT32, BASE_DEC, NULL, 0,
15496         "h245.SEQUENCE_SIZE_1_256_OF_RTPPayloadType", HFILL }},
15497     { &hf_h245_rtpPayloadTypes_item,
15498       { "Item", "h245.rtpPayloadType_item",
15499         FT_NONE, BASE_NONE, NULL, 0,
15500         "h245.RTPPayloadType", HFILL }},
15501     { &hf_h245_qosMode,
15502       { "qosMode", "h245.qosMode",
15503         FT_UINT32, BASE_DEC, VALS(h245_QOSMode_vals), 0,
15504         "h245.QOSMode", HFILL }},
15505     { &hf_h245_tokenRate,
15506       { "tokenRate", "h245.tokenRate",
15507         FT_UINT32, BASE_DEC, NULL, 0,
15508         "h245.INTEGER_1_4294967295", HFILL }},
15509     { &hf_h245_bucketSize,
15510       { "bucketSize", "h245.bucketSize",
15511         FT_UINT32, BASE_DEC, NULL, 0,
15512         "h245.INTEGER_1_4294967295", HFILL }},
15513     { &hf_h245_peakRate,
15514       { "peakRate", "h245.peakRate",
15515         FT_UINT32, BASE_DEC, NULL, 0,
15516         "h245.INTEGER_1_4294967295", HFILL }},
15517     { &hf_h245_minPoliced,
15518       { "minPoliced", "h245.minPoliced",
15519         FT_UINT32, BASE_DEC, NULL, 0,
15520         "h245.INTEGER_1_4294967295", HFILL }},
15521     { &hf_h245_maxPktSize,
15522       { "maxPktSize", "h245.maxPktSize",
15523         FT_UINT32, BASE_DEC, NULL, 0,
15524         "h245.INTEGER_1_4294967295", HFILL }},
15525     { &hf_h245_guaranteedQOS,
15526       { "guaranteedQOS", "h245.guaranteedQOS",
15527         FT_NONE, BASE_NONE, NULL, 0,
15528         "h245.NULL", HFILL }},
15529     { &hf_h245_controlledLoad,
15530       { "controlledLoad", "h245.controlledLoad",
15531         FT_NONE, BASE_NONE, NULL, 0,
15532         "h245.NULL", HFILL }},
15533     { &hf_h245_maxNTUSize,
15534       { "maxNTUSize", "h245.maxNTUSize",
15535         FT_UINT32, BASE_DEC, NULL, 0,
15536         "h245.INTEGER_0_65535", HFILL }},
15537     { &hf_h245_atmUBR,
15538       { "atmUBR", "h245.atmUBR",
15539         FT_BOOLEAN, 8, NULL, 0,
15540         "h245.BOOLEAN", HFILL }},
15541     { &hf_h245_atmrtVBR,
15542       { "atmrtVBR", "h245.atmrtVBR",
15543         FT_BOOLEAN, 8, NULL, 0,
15544         "h245.BOOLEAN", HFILL }},
15545     { &hf_h245_atmnrtVBR,
15546       { "atmnrtVBR", "h245.atmnrtVBR",
15547         FT_BOOLEAN, 8, NULL, 0,
15548         "h245.BOOLEAN", HFILL }},
15549     { &hf_h245_atmABR,
15550       { "atmABR", "h245.atmABR",
15551         FT_BOOLEAN, 8, NULL, 0,
15552         "h245.BOOLEAN", HFILL }},
15553     { &hf_h245_atmCBR,
15554       { "atmCBR", "h245.atmCBR",
15555         FT_BOOLEAN, 8, NULL, 0,
15556         "h245.BOOLEAN", HFILL }},
15557     { &hf_h245_nonStandardParameter,
15558       { "nonStandardParameter", "h245.nonStandardParameter",
15559         FT_NONE, BASE_NONE, NULL, 0,
15560         "h245.NonStandardParameter", HFILL }},
15561     { &hf_h245_servicePrioritySignalled,
15562       { "servicePrioritySignalled", "h245.servicePrioritySignalled",
15563         FT_BOOLEAN, 8, NULL, 0,
15564         "h245.BOOLEAN", HFILL }},
15565     { &hf_h245_servicePriorityValue,
15566       { "servicePriorityValue", "h245.servicePriorityValue",
15567         FT_NONE, BASE_NONE, NULL, 0,
15568         "h245.ServicePriorityValue", HFILL }},
15569     { &hf_h245_desired,
15570       { "desired", "h245.desired",
15571         FT_NONE, BASE_NONE, NULL, 0,
15572         "h245.NULL", HFILL }},
15573     { &hf_h245_required,
15574       { "required", "h245.required",
15575         FT_NONE, BASE_NONE, NULL, 0,
15576         "h245.NULL", HFILL }},
15577     { &hf_h245_class0,
15578       { "class0", "h245.class0",
15579         FT_NONE, BASE_NONE, NULL, 0,
15580         "h245.NULL", HFILL }},
15581     { &hf_h245_class1,
15582       { "class1", "h245.class1",
15583         FT_NONE, BASE_NONE, NULL, 0,
15584         "h245.NULL", HFILL }},
15585     { &hf_h245_class2,
15586       { "class2", "h245.class2",
15587         FT_NONE, BASE_NONE, NULL, 0,
15588         "h245.NULL", HFILL }},
15589     { &hf_h245_class3,
15590       { "class3", "h245.class3",
15591         FT_NONE, BASE_NONE, NULL, 0,
15592         "h245.NULL", HFILL }},
15593     { &hf_h245_class4,
15594       { "class4", "h245.class4",
15595         FT_NONE, BASE_NONE, NULL, 0,
15596         "h245.NULL", HFILL }},
15597     { &hf_h245_class5,
15598       { "class5", "h245.class5",
15599         FT_NONE, BASE_NONE, NULL, 0,
15600         "h245.NULL", HFILL }},
15601     { &hf_h245_qosType,
15602       { "qosType", "h245.qosType",
15603         FT_UINT32, BASE_DEC, VALS(h245_QOSType_vals), 0,
15604         "h245.QOSType", HFILL }},
15605     { &hf_h245_qosClass,
15606       { "qosClass", "h245.qosClass",
15607         FT_UINT32, BASE_DEC, VALS(h245_QOSClass_vals), 0,
15608         "h245.QOSClass", HFILL }},
15609     { &hf_h245_averageRate,
15610       { "averageRate", "h245.averageRate",
15611         FT_UINT32, BASE_DEC, NULL, 0,
15612         "h245.INTEGER_1_4294967295", HFILL }},
15613     { &hf_h245_burst,
15614       { "burst", "h245.burst",
15615         FT_UINT32, BASE_DEC, NULL, 0,
15616         "h245.INTEGER_1_4294967295", HFILL }},
15617     { &hf_h245_rsvpParameters,
15618       { "rsvpParameters", "h245.rsvpParameters",
15619         FT_NONE, BASE_NONE, NULL, 0,
15620         "h245.RSVPParameters", HFILL }},
15621     { &hf_h245_atmParameters,
15622       { "atmParameters", "h245.atmParameters",
15623         FT_NONE, BASE_NONE, NULL, 0,
15624         "h245.ATMParameters", HFILL }},
15625     { &hf_h245_localQoS,
15626       { "localQoS", "h245.localQoS",
15627         FT_BOOLEAN, 8, NULL, 0,
15628         "h245.BOOLEAN", HFILL }},
15629     { &hf_h245_genericTransportParameters,
15630       { "genericTransportParameters", "h245.genericTransportParameters",
15631         FT_NONE, BASE_NONE, NULL, 0,
15632         "h245.GenericTransportParameters", HFILL }},
15633     { &hf_h245_servicePriority,
15634       { "servicePriority", "h245.servicePriority",
15635         FT_NONE, BASE_NONE, NULL, 0,
15636         "h245.ServicePriority", HFILL }},
15637     { &hf_h245_authorizationParameter,
15638       { "authorizationParameter", "h245.authorizationParameter",
15639         FT_NONE, BASE_NONE, NULL, 0,
15640         "h245.AuthorizationParameters", HFILL }},
15641     { &hf_h245_qosDescriptor,
15642       { "qosDescriptor", "h245.qosDescriptor",
15643         FT_NONE, BASE_NONE, NULL, 0,
15644         "h245.QOSDescriptor", HFILL }},
15645     { &hf_h245_dscpValue,
15646       { "dscpValue", "h245.dscpValue",
15647         FT_UINT32, BASE_DEC, NULL, 0,
15648         "h245.INTEGER_0_63", HFILL }},
15649     { &hf_h245_ip_UDP,
15650       { "ip-UDP", "h245.ip_UDP",
15651         FT_NONE, BASE_NONE, NULL, 0,
15652         "h245.NULL", HFILL }},
15653     { &hf_h245_ip_TCP,
15654       { "ip-TCP", "h245.ip_TCP",
15655         FT_NONE, BASE_NONE, NULL, 0,
15656         "h245.NULL", HFILL }},
15657     { &hf_h245_atm_AAL5_UNIDIR,
15658       { "atm-AAL5-UNIDIR", "h245.atm_AAL5_UNIDIR",
15659         FT_NONE, BASE_NONE, NULL, 0,
15660         "h245.NULL", HFILL }},
15661     { &hf_h245_atm_AAL5_BIDIR,
15662       { "atm-AAL5-BIDIR", "h245.atm_AAL5_BIDIR",
15663         FT_NONE, BASE_NONE, NULL, 0,
15664         "h245.NULL", HFILL }},
15665     { &hf_h245_atm_AAL5_compressed,
15666       { "atm-AAL5-compressed", "h245.atm_AAL5_compressed",
15667         FT_NONE, BASE_NONE, NULL, 0,
15668         "h245.T_atm_AAL5_compressed", HFILL }},
15669     { &hf_h245_variable_delta,
15670       { "variable-delta", "h245.variable_delta",
15671         FT_BOOLEAN, 8, NULL, 0,
15672         "h245.BOOLEAN", HFILL }},
15673     { &hf_h245_mediaTransport,
15674       { "mediaTransport", "h245.mediaTransport",
15675         FT_UINT32, BASE_DEC, VALS(h245_MediaTransportType_vals), 0,
15676         "h245.MediaTransportType", HFILL }},
15677     { &hf_h245_qOSCapabilities,
15678       { "qOSCapabilities", "h245.qOSCapabilities",
15679         FT_UINT32, BASE_DEC, NULL, 0,
15680         "h245.SEQUENCE_SIZE_1_256_OF_QOSCapability", HFILL }},
15681     { &hf_h245_qOSCapabilities_item,
15682       { "Item", "h245.qOSCapabilities_item",
15683         FT_NONE, BASE_NONE, NULL, 0,
15684         "h245.QOSCapability", HFILL }},
15685     { &hf_h245_mediaChannelCapabilities,
15686       { "mediaChannelCapabilities", "h245.mediaChannelCapabilities",
15687         FT_UINT32, BASE_DEC, NULL, 0,
15688         "h245.SEQUENCE_SIZE_1_256_OF_MediaChannelCapability", HFILL }},
15689     { &hf_h245_mediaChannelCapabilities_item,
15690       { "Item", "h245.mediaChannelCapabilities_item",
15691         FT_NONE, BASE_NONE, NULL, 0,
15692         "h245.MediaChannelCapability", HFILL }},
15693     { &hf_h245_redundancyEncodingMethod,
15694       { "redundancyEncodingMethod", "h245.redundancyEncodingMethod",
15695         FT_UINT32, BASE_DEC, VALS(h245_RedundancyEncodingMethod_vals), 0,
15696         "h245.RedundancyEncodingMethod", HFILL }},
15697     { &hf_h245_primaryEncoding,
15698       { "primaryEncoding", "h245.primaryEncoding",
15699         FT_UINT32, BASE_DEC, NULL, 0,
15700         "h245.CapabilityTableEntryNumber", HFILL }},
15701     { &hf_h245_secondaryEncodingCapability,
15702       { "secondaryEncoding", "h245.secondaryEncoding",
15703         FT_UINT32, BASE_DEC, NULL, 0,
15704         "h245.SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber", HFILL }},
15705     { &hf_h245_secondaryEncodingCapability_item,
15706       { "Item", "h245.secondaryEncoding_item",
15707         FT_UINT32, BASE_DEC, NULL, 0,
15708         "h245.CapabilityTableEntryNumber", HFILL }},
15709     { &hf_h245_rtpAudioRedundancyEncoding,
15710       { "rtpAudioRedundancyEncoding", "h245.rtpAudioRedundancyEncoding",
15711         FT_NONE, BASE_NONE, NULL, 0,
15712         "h245.NULL", HFILL }},
15713     { &hf_h245_rtpH263VideoRedundancyEncoding,
15714       { "rtpH263VideoRedundancyEncoding", "h245.rtpH263VideoRedundancyEncoding",
15715         FT_NONE, BASE_NONE, NULL, 0,
15716         "h245.RTPH263VideoRedundancyEncoding", HFILL }},
15717     { &hf_h245_numberOfThreads,
15718       { "numberOfThreads", "h245.numberOfThreads",
15719         FT_UINT32, BASE_DEC, NULL, 0,
15720         "h245.INTEGER_1_16", HFILL }},
15721     { &hf_h245_framesBetweenSyncPoints,
15722       { "framesBetweenSyncPoints", "h245.framesBetweenSyncPoints",
15723         FT_UINT32, BASE_DEC, NULL, 0,
15724         "h245.INTEGER_1_256", HFILL }},
15725     { &hf_h245_frameToThreadMapping,
15726       { "frameToThreadMapping", "h245.frameToThreadMapping",
15727         FT_UINT32, BASE_DEC, VALS(h245_T_frameToThreadMapping_vals), 0,
15728         "h245.T_frameToThreadMapping", HFILL }},
15729     { &hf_h245_roundrobin,
15730       { "roundrobin", "h245.roundrobin",
15731         FT_NONE, BASE_NONE, NULL, 0,
15732         "h245.NULL", HFILL }},
15733     { &hf_h245_custom,
15734       { "custom", "h245.custom",
15735         FT_UINT32, BASE_DEC, NULL, 0,
15736         "h245.SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping", HFILL }},
15737     { &hf_h245_custom_item,
15738       { "Item", "h245.custom_item",
15739         FT_NONE, BASE_NONE, NULL, 0,
15740         "h245.RTPH263VideoRedundancyFrameMapping", HFILL }},
15741     { &hf_h245_containedThreads,
15742       { "containedThreads", "h245.containedThreads",
15743         FT_UINT32, BASE_DEC, NULL, 0,
15744         "h245.T_containedThreads", HFILL }},
15745     { &hf_h245_containedThreads_item,
15746       { "Item", "h245.containedThreads_item",
15747         FT_UINT32, BASE_DEC, NULL, 0,
15748         "h245.INTEGER_0_15", HFILL }},
15749     { &hf_h245_threadNumber,
15750       { "threadNumber", "h245.threadNumber",
15751         FT_UINT32, BASE_DEC, NULL, 0,
15752         "h245.INTEGER_0_15", HFILL }},
15753     { &hf_h245_frameSequence,
15754       { "frameSequence", "h245.frameSequence",
15755         FT_UINT32, BASE_DEC, NULL, 0,
15756         "h245.T_frameSequence", HFILL }},
15757     { &hf_h245_frameSequence_item,
15758       { "Item", "h245.frameSequence_item",
15759         FT_UINT32, BASE_DEC, NULL, 0,
15760         "h245.INTEGER_0_255", HFILL }},
15761     { &hf_h245_multicastCapability,
15762       { "multicastCapability", "h245.multicastCapability",
15763         FT_BOOLEAN, 8, NULL, 0,
15764         "h245.BOOLEAN", HFILL }},
15765     { &hf_h245_multiUniCastConference,
15766       { "multiUniCastConference", "h245.multiUniCastConference",
15767         FT_BOOLEAN, 8, NULL, 0,
15768         "h245.BOOLEAN", HFILL }},
15769     { &hf_h245_mediaDistributionCapability,
15770       { "mediaDistributionCapability", "h245.mediaDistributionCapability",
15771         FT_UINT32, BASE_DEC, NULL, 0,
15772         "h245.SEQUENCE_OF_MediaDistributionCapability", HFILL }},
15773     { &hf_h245_mediaDistributionCapability_item,
15774       { "Item", "h245.mediaDistributionCapability_item",
15775         FT_NONE, BASE_NONE, NULL, 0,
15776         "h245.MediaDistributionCapability", HFILL }},
15777     { &hf_h245_centralizedControl,
15778       { "centralizedControl", "h245.centralizedControl",
15779         FT_BOOLEAN, 8, NULL, 0,
15780         "h245.BOOLEAN", HFILL }},
15781     { &hf_h245_distributedControl,
15782       { "distributedControl", "h245.distributedControl",
15783         FT_BOOLEAN, 8, NULL, 0,
15784         "h245.BOOLEAN", HFILL }},
15785     { &hf_h245_centralizedAudio,
15786       { "centralizedAudio", "h245.centralizedAudio",
15787         FT_BOOLEAN, 8, NULL, 0,
15788         "h245.BOOLEAN", HFILL }},
15789     { &hf_h245_distributedAudio,
15790       { "distributedAudio", "h245.distributedAudio",
15791         FT_BOOLEAN, 8, NULL, 0,
15792         "h245.BOOLEAN", HFILL }},
15793     { &hf_h245_centralizedVideo,
15794       { "centralizedVideo", "h245.centralizedVideo",
15795         FT_BOOLEAN, 8, NULL, 0,
15796         "h245.BOOLEAN", HFILL }},
15797     { &hf_h245_distributedVideo,
15798       { "distributedVideo", "h245.distributedVideo",
15799         FT_BOOLEAN, 8, NULL, 0,
15800         "h245.BOOLEAN", HFILL }},
15801     { &hf_h245_centralizedData,
15802       { "centralizedData", "h245.centralizedData",
15803         FT_UINT32, BASE_DEC, NULL, 0,
15804         "h245.SEQUENCE_OF_DataApplicationCapability", HFILL }},
15805     { &hf_h245_centralizedData_item,
15806       { "Item", "h245.centralizedData_item",
15807         FT_NONE, BASE_NONE, NULL, 0,
15808         "h245.DataApplicationCapability", HFILL }},
15809     { &hf_h245_distributedData,
15810       { "distributedData", "h245.distributedData",
15811         FT_UINT32, BASE_DEC, NULL, 0,
15812         "h245.SEQUENCE_OF_DataApplicationCapability", HFILL }},
15813     { &hf_h245_distributedData_item,
15814       { "Item", "h245.distributedData_item",
15815         FT_NONE, BASE_NONE, NULL, 0,
15816         "h245.DataApplicationCapability", HFILL }},
15817     { &hf_h245_h261VideoCapability,
15818       { "h261VideoCapability", "h245.h261VideoCapability",
15819         FT_NONE, BASE_NONE, NULL, 0,
15820         "h245.H261VideoCapability", HFILL }},
15821     { &hf_h245_h262VideoCapability,
15822       { "h262VideoCapability", "h245.h262VideoCapability",
15823         FT_NONE, BASE_NONE, NULL, 0,
15824         "h245.H262VideoCapability", HFILL }},
15825     { &hf_h245_h263VideoCapability,
15826       { "h263VideoCapability", "h245.h263VideoCapability",
15827         FT_NONE, BASE_NONE, NULL, 0,
15828         "h245.H263VideoCapability", HFILL }},
15829     { &hf_h245_is11172VideoCapability,
15830       { "is11172VideoCapability", "h245.is11172VideoCapability",
15831         FT_NONE, BASE_NONE, NULL, 0,
15832         "h245.IS11172VideoCapability", HFILL }},
15833     { &hf_h245_genericVideoCapability,
15834       { "genericVideoCapability", "h245.genericVideoCapability",
15835         FT_NONE, BASE_NONE, NULL, 0,
15836         "h245.GenericCapability", HFILL }},
15837     { &hf_h245_extendedVideoCapability,
15838       { "extendedVideoCapability", "h245.extendedVideoCapability",
15839         FT_NONE, BASE_NONE, NULL, 0,
15840         "h245.ExtendedVideoCapability", HFILL }},
15841     { &hf_h245_videoCapability,
15842       { "videoCapability", "h245.videoCapability",
15843         FT_UINT32, BASE_DEC, NULL, 0,
15844         "h245.SEQUENCE_OF_VideoCapability", HFILL }},
15845     { &hf_h245_videoCapability_item,
15846       { "Item", "h245.videoCapability_item",
15847         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
15848         "h245.VideoCapability", HFILL }},
15849     { &hf_h245_videoCapabilityExtension,
15850       { "videoCapabilityExtension", "h245.videoCapabilityExtension",
15851         FT_UINT32, BASE_DEC, NULL, 0,
15852         "h245.SEQUENCE_OF_GenericCapability", HFILL }},
15853     { &hf_h245_videoCapabilityExtension_item,
15854       { "Item", "h245.videoCapabilityExtension_item",
15855         FT_NONE, BASE_NONE, NULL, 0,
15856         "h245.GenericCapability", HFILL }},
15857     { &hf_h245_qcifMPI_1_4,
15858       { "qcifMPI", "h245.qcifMPI",
15859         FT_UINT32, BASE_DEC, NULL, 0,
15860         "h245.INTEGER_1_4", HFILL }},
15861     { &hf_h245_cifMPI_1_4,
15862       { "cifMPI", "h245.cifMPI",
15863         FT_UINT32, BASE_DEC, NULL, 0,
15864         "h245.INTEGER_1_4", HFILL }},
15865     { &hf_h245_temporalSpatialTradeOffCapability,
15866       { "temporalSpatialTradeOffCapability", "h245.temporalSpatialTradeOffCapability",
15867         FT_BOOLEAN, 8, NULL, 0,
15868         "h245.BOOLEAN", HFILL }},
15869     { &hf_h245_maxBitRate_1_19200,
15870       { "maxBitRate", "h245.maxBitRate",
15871         FT_UINT32, BASE_DEC, NULL, 0,
15872         "h245.INTEGER_1_19200", HFILL }},
15873     { &hf_h245_stillImageTransmission,
15874       { "stillImageTransmission", "h245.stillImageTransmission",
15875         FT_BOOLEAN, 8, NULL, 0,
15876         "h245.BOOLEAN", HFILL }},
15877     { &hf_h245_videoBadMBsCap,
15878       { "videoBadMBsCap", "h245.videoBadMBsCap",
15879         FT_BOOLEAN, 8, NULL, 0,
15880         "h245.BOOLEAN", HFILL }},
15881     { &hf_h245_profileAndLevel_SPatML,
15882       { "profileAndLevel-SPatML", "h245.profileAndLevel_SPatML",
15883         FT_BOOLEAN, 8, NULL, 0,
15884         "h245.BOOLEAN", HFILL }},
15885     { &hf_h245_profileAndLevel_MPatLL,
15886       { "profileAndLevel-MPatLL", "h245.profileAndLevel_MPatLL",
15887         FT_BOOLEAN, 8, NULL, 0,
15888         "h245.BOOLEAN", HFILL }},
15889     { &hf_h245_profileAndLevel_MPatML,
15890       { "profileAndLevel-MPatML", "h245.profileAndLevel_MPatML",
15891         FT_BOOLEAN, 8, NULL, 0,
15892         "h245.BOOLEAN", HFILL }},
15893     { &hf_h245_profileAndLevel_MPatH_14,
15894       { "profileAndLevel-MPatH-14", "h245.profileAndLevel_MPatH_14",
15895         FT_BOOLEAN, 8, NULL, 0,
15896         "h245.BOOLEAN", HFILL }},
15897     { &hf_h245_profileAndLevel_MPatHL,
15898       { "profileAndLevel-MPatHL", "h245.profileAndLevel_MPatHL",
15899         FT_BOOLEAN, 8, NULL, 0,
15900         "h245.BOOLEAN", HFILL }},
15901     { &hf_h245_profileAndLevel_SNRatLL,
15902       { "profileAndLevel-SNRatLL", "h245.profileAndLevel_SNRatLL",
15903         FT_BOOLEAN, 8, NULL, 0,
15904         "h245.BOOLEAN", HFILL }},
15905     { &hf_h245_profileAndLevel_SNRatML,
15906       { "profileAndLevel-SNRatML", "h245.profileAndLevel_SNRatML",
15907         FT_BOOLEAN, 8, NULL, 0,
15908         "h245.BOOLEAN", HFILL }},
15909     { &hf_h245_profileAndLevel_SpatialatH_14,
15910       { "profileAndLevel-SpatialatH-14", "h245.profileAndLevel_SpatialatH_14",
15911         FT_BOOLEAN, 8, NULL, 0,
15912         "h245.BOOLEAN", HFILL }},
15913     { &hf_h245_profileAndLevel_HPatML,
15914       { "profileAndLevel-HPatML", "h245.profileAndLevel_HPatML",
15915         FT_BOOLEAN, 8, NULL, 0,
15916         "h245.BOOLEAN", HFILL }},
15917     { &hf_h245_profileAndLevel_HPatH_14,
15918       { "profileAndLevel-HPatH-14", "h245.profileAndLevel_HPatH_14",
15919         FT_BOOLEAN, 8, NULL, 0,
15920         "h245.BOOLEAN", HFILL }},
15921     { &hf_h245_profileAndLevel_HPatHL,
15922       { "profileAndLevel-HPatHL", "h245.profileAndLevel_HPatHL",
15923         FT_BOOLEAN, 8, NULL, 0,
15924         "h245.BOOLEAN", HFILL }},
15925     { &hf_h245_videoBitRate,
15926       { "videoBitRate", "h245.videoBitRate",
15927         FT_UINT32, BASE_DEC, NULL, 0,
15928         "h245.INTEGER_0_1073741823", HFILL }},
15929     { &hf_h245_vbvBufferSize,
15930       { "vbvBufferSize", "h245.vbvBufferSize",
15931         FT_UINT32, BASE_DEC, NULL, 0,
15932         "h245.INTEGER_0_262143", HFILL }},
15933     { &hf_h245_samplesPerLine,
15934       { "samplesPerLine", "h245.samplesPerLine",
15935         FT_UINT32, BASE_DEC, NULL, 0,
15936         "h245.INTEGER_0_16383", HFILL }},
15937     { &hf_h245_linesPerFrame,
15938       { "linesPerFrame", "h245.linesPerFrame",
15939         FT_UINT32, BASE_DEC, NULL, 0,
15940         "h245.INTEGER_0_16383", HFILL }},
15941     { &hf_h245_framesPerSecond,
15942       { "framesPerSecond", "h245.framesPerSecond",
15943         FT_UINT32, BASE_DEC, NULL, 0,
15944         "h245.INTEGER_0_15", HFILL }},
15945     { &hf_h245_luminanceSampleRate,
15946       { "luminanceSampleRate", "h245.luminanceSampleRate",
15947         FT_UINT32, BASE_DEC, NULL, 0,
15948         "h245.INTEGER_0_4294967295", HFILL }},
15949     { &hf_h245_sqcifMPI_1_32,
15950       { "sqcifMPI", "h245.sqcifMPI",
15951         FT_UINT32, BASE_DEC, NULL, 0,
15952         "h245.INTEGER_1_32", HFILL }},
15953     { &hf_h245_qcifMPI,
15954       { "qcifMPI", "h245.qcifMPI",
15955         FT_UINT32, BASE_DEC, NULL, 0,
15956         "h245.INTEGER_1_32", HFILL }},
15957     { &hf_h245_cifMPI,
15958       { "cifMPI", "h245.cifMPI",
15959         FT_UINT32, BASE_DEC, NULL, 0,
15960         "h245.INTEGER_1_32", HFILL }},
15961     { &hf_h245_cif4MPI_1_32,
15962       { "cif4MPI", "h245.cif4MPI",
15963         FT_UINT32, BASE_DEC, NULL, 0,
15964         "h245.INTEGER_1_32", HFILL }},
15965     { &hf_h245_cif16MPI_1_32,
15966       { "cif16MPI", "h245.cif16MPI",
15967         FT_UINT32, BASE_DEC, NULL, 0,
15968         "h245.INTEGER_1_32", HFILL }},
15969     { &hf_h245_maxBitRate,
15970       { "maxBitRate", "h245.maxBitRate",
15971         FT_UINT32, BASE_DEC, NULL, 0,
15972         "h245.INTEGER_1_192400", HFILL }},
15973     { &hf_h245_unrestrictedVector,
15974       { "unrestrictedVector", "h245.unrestrictedVector",
15975         FT_BOOLEAN, 8, NULL, 0,
15976         "h245.BOOLEAN", HFILL }},
15977     { &hf_h245_arithmeticCoding,
15978       { "arithmeticCoding", "h245.arithmeticCoding",
15979         FT_BOOLEAN, 8, NULL, 0,
15980         "h245.BOOLEAN", HFILL }},
15981     { &hf_h245_advancedPrediction,
15982       { "advancedPrediction", "h245.advancedPrediction",
15983         FT_BOOLEAN, 8, NULL, 0,
15984         "h245.BOOLEAN", HFILL }},
15985     { &hf_h245_pbFrames,
15986       { "pbFrames", "h245.pbFrames",
15987         FT_BOOLEAN, 8, NULL, 0,
15988         "h245.BOOLEAN", HFILL }},
15989     { &hf_h245_hrd_B,
15990       { "hrd-B", "h245.hrd_B",
15991         FT_UINT32, BASE_DEC, NULL, 0,
15992         "h245.INTEGER_0_524287", HFILL }},
15993     { &hf_h245_bppMaxKb,
15994       { "bppMaxKb", "h245.bppMaxKb",
15995         FT_UINT32, BASE_DEC, NULL, 0,
15996         "h245.INTEGER_0_65535", HFILL }},
15997     { &hf_h245_slowSqcifMPI,
15998       { "slowSqcifMPI", "h245.slowSqcifMPI",
15999         FT_UINT32, BASE_DEC, NULL, 0,
16000         "h245.INTEGER_1_3600", HFILL }},
16001     { &hf_h245_slowQcifMPI,
16002       { "slowQcifMPI", "h245.slowQcifMPI",
16003         FT_UINT32, BASE_DEC, NULL, 0,
16004         "h245.INTEGER_1_3600", HFILL }},
16005     { &hf_h245_slowCifMPI,
16006       { "slowCifMPI", "h245.slowCifMPI",
16007         FT_UINT32, BASE_DEC, NULL, 0,
16008         "h245.INTEGER_1_3600", HFILL }},
16009     { &hf_h245_slowCif4MPI,
16010       { "slowCif4MPI", "h245.slowCif4MPI",
16011         FT_UINT32, BASE_DEC, NULL, 0,
16012         "h245.INTEGER_1_3600", HFILL }},
16013     { &hf_h245_slowCif16MPI,
16014       { "slowCif16MPI", "h245.slowCif16MPI",
16015         FT_UINT32, BASE_DEC, NULL, 0,
16016         "h245.INTEGER_1_3600", HFILL }},
16017     { &hf_h245_errorCompensation,
16018       { "errorCompensation", "h245.errorCompensation",
16019         FT_BOOLEAN, 8, NULL, 0,
16020         "h245.BOOLEAN", HFILL }},
16021     { &hf_h245_enhancementLayerInfo,
16022       { "enhancementLayerInfo", "h245.enhancementLayerInfo",
16023         FT_NONE, BASE_NONE, NULL, 0,
16024         "h245.EnhancementLayerInfo", HFILL }},
16025     { &hf_h245_h263Options,
16026       { "h263Options", "h245.h263Options",
16027         FT_NONE, BASE_NONE, NULL, 0,
16028         "h245.H263Options", HFILL }},
16029     { &hf_h245_baseBitRateConstrained,
16030       { "baseBitRateConstrained", "h245.baseBitRateConstrained",
16031         FT_BOOLEAN, 8, NULL, 0,
16032         "h245.BOOLEAN", HFILL }},
16033     { &hf_h245_snrEnhancement,
16034       { "snrEnhancement", "h245.snrEnhancement",
16035         FT_UINT32, BASE_DEC, NULL, 0,
16036         "h245.SET_SIZE_1_14_OF_EnhancementOptions", HFILL }},
16037     { &hf_h245_snrEnhancement_item,
16038       { "Item", "h245.snrEnhancement_item",
16039         FT_NONE, BASE_NONE, NULL, 0,
16040         "h245.EnhancementOptions", HFILL }},
16041     { &hf_h245_spatialEnhancement,
16042       { "spatialEnhancement", "h245.spatialEnhancement",
16043         FT_UINT32, BASE_DEC, NULL, 0,
16044         "h245.SET_SIZE_1_14_OF_EnhancementOptions", HFILL }},
16045     { &hf_h245_spatialEnhancement_item,
16046       { "Item", "h245.spatialEnhancement_item",
16047         FT_NONE, BASE_NONE, NULL, 0,
16048         "h245.EnhancementOptions", HFILL }},
16049     { &hf_h245_bPictureEnhancement,
16050       { "bPictureEnhancement", "h245.bPictureEnhancement",
16051         FT_UINT32, BASE_DEC, NULL, 0,
16052         "h245.SET_SIZE_1_14_OF_BEnhancementParameters", HFILL }},
16053     { &hf_h245_bPictureEnhancement_item,
16054       { "Item", "h245.bPictureEnhancement_item",
16055         FT_NONE, BASE_NONE, NULL, 0,
16056         "h245.BEnhancementParameters", HFILL }},
16057     { &hf_h245_enhancementOptions,
16058       { "enhancementOptions", "h245.enhancementOptions",
16059         FT_NONE, BASE_NONE, NULL, 0,
16060         "h245.EnhancementOptions", HFILL }},
16061     { &hf_h245_numberOfBPictures,
16062       { "numberOfBPictures", "h245.numberOfBPictures",
16063         FT_UINT32, BASE_DEC, NULL, 0,
16064         "h245.INTEGER_1_64", HFILL }},
16065     { &hf_h245_advancedIntraCodingMode,
16066       { "advancedIntraCodingMode", "h245.advancedIntraCodingMode",
16067         FT_BOOLEAN, 8, NULL, 0,
16068         "h245.BOOLEAN", HFILL }},
16069     { &hf_h245_deblockingFilterMode,
16070       { "deblockingFilterMode", "h245.deblockingFilterMode",
16071         FT_BOOLEAN, 8, NULL, 0,
16072         "h245.BOOLEAN", HFILL }},
16073     { &hf_h245_improvedPBFramesMode,
16074       { "improvedPBFramesMode", "h245.improvedPBFramesMode",
16075         FT_BOOLEAN, 8, NULL, 0,
16076         "h245.BOOLEAN", HFILL }},
16077     { &hf_h245_unlimitedMotionVectors,
16078       { "unlimitedMotionVectors", "h245.unlimitedMotionVectors",
16079         FT_BOOLEAN, 8, NULL, 0,
16080         "h245.BOOLEAN", HFILL }},
16081     { &hf_h245_fullPictureFreeze,
16082       { "fullPictureFreeze", "h245.fullPictureFreeze",
16083         FT_BOOLEAN, 8, NULL, 0,
16084         "h245.BOOLEAN", HFILL }},
16085     { &hf_h245_partialPictureFreezeAndRelease,
16086       { "partialPictureFreezeAndRelease", "h245.partialPictureFreezeAndRelease",
16087         FT_BOOLEAN, 8, NULL, 0,
16088         "h245.BOOLEAN", HFILL }},
16089     { &hf_h245_resizingPartPicFreezeAndRelease,
16090       { "resizingPartPicFreezeAndRelease", "h245.resizingPartPicFreezeAndRelease",
16091         FT_BOOLEAN, 8, NULL, 0,
16092         "h245.BOOLEAN", HFILL }},
16093     { &hf_h245_fullPictureSnapshot,
16094       { "fullPictureSnapshot", "h245.fullPictureSnapshot",
16095         FT_BOOLEAN, 8, NULL, 0,
16096         "h245.BOOLEAN", HFILL }},
16097     { &hf_h245_partialPictureSnapshot,
16098       { "partialPictureSnapshot", "h245.partialPictureSnapshot",
16099         FT_BOOLEAN, 8, NULL, 0,
16100         "h245.BOOLEAN", HFILL }},
16101     { &hf_h245_videoSegmentTagging,
16102       { "videoSegmentTagging", "h245.videoSegmentTagging",
16103         FT_BOOLEAN, 8, NULL, 0,
16104         "h245.BOOLEAN", HFILL }},
16105     { &hf_h245_progressiveRefinement,
16106       { "progressiveRefinement", "h245.progressiveRefinement",
16107         FT_BOOLEAN, 8, NULL, 0,
16108         "h245.BOOLEAN", HFILL }},
16109     { &hf_h245_dynamicPictureResizingByFour,
16110       { "dynamicPictureResizingByFour", "h245.dynamicPictureResizingByFour",
16111         FT_BOOLEAN, 8, NULL, 0,
16112         "h245.BOOLEAN", HFILL }},
16113     { &hf_h245_dynamicPictureResizingSixteenthPel,
16114       { "dynamicPictureResizingSixteenthPel", "h245.dynamicPictureResizingSixteenthPel",
16115         FT_BOOLEAN, 8, NULL, 0,
16116         "h245.BOOLEAN", HFILL }},
16117     { &hf_h245_dynamicWarpingHalfPel,
16118       { "dynamicWarpingHalfPel", "h245.dynamicWarpingHalfPel",
16119         FT_BOOLEAN, 8, NULL, 0,
16120         "h245.BOOLEAN", HFILL }},
16121     { &hf_h245_dynamicWarpingSixteenthPel,
16122       { "dynamicWarpingSixteenthPel", "h245.dynamicWarpingSixteenthPel",
16123         FT_BOOLEAN, 8, NULL, 0,
16124         "h245.BOOLEAN", HFILL }},
16125     { &hf_h245_independentSegmentDecoding,
16126       { "independentSegmentDecoding", "h245.independentSegmentDecoding",
16127         FT_BOOLEAN, 8, NULL, 0,
16128         "h245.BOOLEAN", HFILL }},
16129     { &hf_h245_slicesInOrder_NonRect,
16130       { "slicesInOrder-NonRect", "h245.slicesInOrder_NonRect",
16131         FT_BOOLEAN, 8, NULL, 0,
16132         "h245.BOOLEAN", HFILL }},
16133     { &hf_h245_slicesInOrder_Rect,
16134       { "slicesInOrder-Rect", "h245.slicesInOrder_Rect",
16135         FT_BOOLEAN, 8, NULL, 0,
16136         "h245.BOOLEAN", HFILL }},
16137     { &hf_h245_slicesNoOrder_NonRect,
16138       { "slicesNoOrder-NonRect", "h245.slicesNoOrder_NonRect",
16139         FT_BOOLEAN, 8, NULL, 0,
16140         "h245.BOOLEAN", HFILL }},
16141     { &hf_h245_slicesNoOrder_Rect,
16142       { "slicesNoOrder-Rect", "h245.slicesNoOrder_Rect",
16143         FT_BOOLEAN, 8, NULL, 0,
16144         "h245.BOOLEAN", HFILL }},
16145     { &hf_h245_alternateInterVLCMode,
16146       { "alternateInterVLCMode", "h245.alternateInterVLCMode",
16147         FT_BOOLEAN, 8, NULL, 0,
16148         "h245.BOOLEAN", HFILL }},
16149     { &hf_h245_modifiedQuantizationMode,
16150       { "modifiedQuantizationMode", "h245.modifiedQuantizationMode",
16151         FT_BOOLEAN, 8, NULL, 0,
16152         "h245.BOOLEAN", HFILL }},
16153     { &hf_h245_reducedResolutionUpdate,
16154       { "reducedResolutionUpdate", "h245.reducedResolutionUpdate",
16155         FT_BOOLEAN, 8, NULL, 0,
16156         "h245.BOOLEAN", HFILL }},
16157     { &hf_h245_transparencyParameters,
16158       { "transparencyParameters", "h245.transparencyParameters",
16159         FT_NONE, BASE_NONE, NULL, 0,
16160         "h245.TransparencyParameters", HFILL }},
16161     { &hf_h245_separateVideoBackChannel,
16162       { "separateVideoBackChannel", "h245.separateVideoBackChannel",
16163         FT_BOOLEAN, 8, NULL, 0,
16164         "h245.BOOLEAN", HFILL }},
16165     { &hf_h245_refPictureSelection,
16166       { "refPictureSelection", "h245.refPictureSelection",
16167         FT_NONE, BASE_NONE, NULL, 0,
16168         "h245.RefPictureSelection", HFILL }},
16169     { &hf_h245_customPictureClockFrequency,
16170       { "customPictureClockFrequency", "h245.customPictureClockFrequency",
16171         FT_UINT32, BASE_DEC, NULL, 0,
16172         "h245.SET_SIZE_1_16_OF_CustomPictureClockFrequency", HFILL }},
16173     { &hf_h245_customPictureClockFrequency_item,
16174       { "Item", "h245.customPictureClockFrequency_item",
16175         FT_NONE, BASE_NONE, NULL, 0,
16176         "h245.CustomPictureClockFrequency", HFILL }},
16177     { &hf_h245_customPictureFormat,
16178       { "customPictureFormat", "h245.customPictureFormat",
16179         FT_UINT32, BASE_DEC, NULL, 0,
16180         "h245.SET_SIZE_1_16_OF_CustomPictureFormat", HFILL }},
16181     { &hf_h245_customPictureFormat_item,
16182       { "Item", "h245.customPictureFormat_item",
16183         FT_NONE, BASE_NONE, NULL, 0,
16184         "h245.CustomPictureFormat", HFILL }},
16185     { &hf_h245_modeCombos,
16186       { "modeCombos", "h245.modeCombos",
16187         FT_UINT32, BASE_DEC, NULL, 0,
16188         "h245.SET_SIZE_1_16_OF_H263VideoModeCombos", HFILL }},
16189     { &hf_h245_modeCombos_item,
16190       { "Item", "h245.modeCombos_item",
16191         FT_NONE, BASE_NONE, NULL, 0,
16192         "h245.H263VideoModeCombos", HFILL }},
16193     { &hf_h245_h263Version3Options,
16194       { "h263Version3Options", "h245.h263Version3Options",
16195         FT_NONE, BASE_NONE, NULL, 0,
16196         "h245.H263Version3Options", HFILL }},
16197     { &hf_h245_presentationOrder,
16198       { "presentationOrder", "h245.presentationOrder",
16199         FT_UINT32, BASE_DEC, NULL, 0,
16200         "h245.INTEGER_1_256", HFILL }},
16201     { &hf_h245_offset_x,
16202       { "offset-x", "h245.offset_x",
16203         FT_INT32, BASE_DEC, NULL, 0,
16204         "h245.INTEGER_M262144_262143", HFILL }},
16205     { &hf_h245_offset_y,
16206       { "offset-y", "h245.offset_y",
16207         FT_INT32, BASE_DEC, NULL, 0,
16208         "h245.INTEGER_M262144_262143", HFILL }},
16209     { &hf_h245_scale_x,
16210       { "scale-x", "h245.scale_x",
16211         FT_UINT32, BASE_DEC, NULL, 0,
16212         "h245.INTEGER_1_255", HFILL }},
16213     { &hf_h245_scale_y,
16214       { "scale-y", "h245.scale_y",
16215         FT_UINT32, BASE_DEC, NULL, 0,
16216         "h245.INTEGER_1_255", HFILL }},
16217     { &hf_h245_additionalPictureMemory,
16218       { "additionalPictureMemory", "h245.additionalPictureMemory",
16219         FT_NONE, BASE_NONE, NULL, 0,
16220         "h245.T_additionalPictureMemory", HFILL }},
16221     { &hf_h245_sqcifAdditionalPictureMemory,
16222       { "sqcifAdditionalPictureMemory", "h245.sqcifAdditionalPictureMemory",
16223         FT_UINT32, BASE_DEC, NULL, 0,
16224         "h245.INTEGER_1_256", HFILL }},
16225     { &hf_h245_qcifAdditionalPictureMemory,
16226       { "qcifAdditionalPictureMemory", "h245.qcifAdditionalPictureMemory",
16227         FT_UINT32, BASE_DEC, NULL, 0,
16228         "h245.INTEGER_1_256", HFILL }},
16229     { &hf_h245_cifAdditionalPictureMemory,
16230       { "cifAdditionalPictureMemory", "h245.cifAdditionalPictureMemory",
16231         FT_UINT32, BASE_DEC, NULL, 0,
16232         "h245.INTEGER_1_256", HFILL }},
16233     { &hf_h245_cif4AdditionalPictureMemory,
16234       { "cif4AdditionalPictureMemory", "h245.cif4AdditionalPictureMemory",
16235         FT_UINT32, BASE_DEC, NULL, 0,
16236         "h245.INTEGER_1_256", HFILL }},
16237     { &hf_h245_cif16AdditionalPictureMemory,
16238       { "cif16AdditionalPictureMemory", "h245.cif16AdditionalPictureMemory",
16239         FT_UINT32, BASE_DEC, NULL, 0,
16240         "h245.INTEGER_1_256", HFILL }},
16241     { &hf_h245_bigCpfAdditionalPictureMemory,
16242       { "bigCpfAdditionalPictureMemory", "h245.bigCpfAdditionalPictureMemory",
16243         FT_UINT32, BASE_DEC, NULL, 0,
16244         "h245.INTEGER_1_256", HFILL }},
16245     { &hf_h245_videoMux,
16246       { "videoMux", "h245.videoMux",
16247         FT_BOOLEAN, 8, NULL, 0,
16248         "h245.BOOLEAN", HFILL }},
16249     { &hf_h245_videoBackChannelSend,
16250       { "videoBackChannelSend", "h245.videoBackChannelSend",
16251         FT_UINT32, BASE_DEC, VALS(h245_T_videoBackChannelSend_vals), 0,
16252         "h245.T_videoBackChannelSend", HFILL }},
16253     { &hf_h245_none,
16254       { "none", "h245.none",
16255         FT_NONE, BASE_NONE, NULL, 0,
16256         "h245.NULL", HFILL }},
16257     { &hf_h245_ackMessageOnly,
16258       { "ackMessageOnly", "h245.ackMessageOnly",
16259         FT_NONE, BASE_NONE, NULL, 0,
16260         "h245.NULL", HFILL }},
16261     { &hf_h245_nackMessageOnly,
16262       { "nackMessageOnly", "h245.nackMessageOnly",
16263         FT_NONE, BASE_NONE, NULL, 0,
16264         "h245.NULL", HFILL }},
16265     { &hf_h245_ackOrNackMessageOnly,
16266       { "ackOrNackMessageOnly", "h245.ackOrNackMessageOnly",
16267         FT_NONE, BASE_NONE, NULL, 0,
16268         "h245.NULL", HFILL }},
16269     { &hf_h245_ackAndNackMessage,
16270       { "ackAndNackMessage", "h245.ackAndNackMessage",
16271         FT_NONE, BASE_NONE, NULL, 0,
16272         "h245.NULL", HFILL }},
16273     { &hf_h245_enhancedReferencePicSelect,
16274       { "enhancedReferencePicSelect", "h245.enhancedReferencePicSelect",
16275         FT_NONE, BASE_NONE, NULL, 0,
16276         "h245.T_enhancedReferencePicSelect", HFILL }},
16277     { &hf_h245_subPictureRemovalParameters,
16278       { "subPictureRemovalParameters", "h245.subPictureRemovalParameters",
16279         FT_NONE, BASE_NONE, NULL, 0,
16280         "h245.T_subPictureRemovalParameters", HFILL }},
16281     { &hf_h245_mpuHorizMBs,
16282       { "mpuHorizMBs", "h245.mpuHorizMBs",
16283         FT_UINT32, BASE_DEC, NULL, 0,
16284         "h245.INTEGER_1_128", HFILL }},
16285     { &hf_h245_mpuVertMBs,
16286       { "mpuVertMBs", "h245.mpuVertMBs",
16287         FT_UINT32, BASE_DEC, NULL, 0,
16288         "h245.INTEGER_1_72", HFILL }},
16289     { &hf_h245_mpuTotalNumber,
16290       { "mpuTotalNumber", "h245.mpuTotalNumber",
16291         FT_UINT32, BASE_DEC, NULL, 0,
16292         "h245.INTEGER_1_65536", HFILL }},
16293     { &hf_h245_clockConversionCode,
16294       { "clockConversionCode", "h245.clockConversionCode",
16295         FT_UINT32, BASE_DEC, NULL, 0,
16296         "h245.INTEGER_1000_1001", HFILL }},
16297     { &hf_h245_clockDivisor,
16298       { "clockDivisor", "h245.clockDivisor",
16299         FT_UINT32, BASE_DEC, NULL, 0,
16300         "h245.INTEGER_1_127", HFILL }},
16301     { &hf_h245_sqcifMPI,
16302       { "sqcifMPI", "h245.sqcifMPI",
16303         FT_UINT32, BASE_DEC, NULL, 0,
16304         "h245.INTEGER_1_2048", HFILL }},
16305     { &hf_h245_qcifMPI_1_2048,
16306       { "qcifMPI", "h245.qcifMPI",
16307         FT_UINT32, BASE_DEC, NULL, 0,
16308         "h245.INTEGER_1_2048", HFILL }},
16309     { &hf_h245_cifMPI2_1_2048,
16310       { "cifMPI", "h245.cifMPI",
16311         FT_UINT32, BASE_DEC, NULL, 0,
16312         "h245.INTEGER_1_2048", HFILL }},
16313     { &hf_h245_cif4MPI,
16314       { "cif4MPI", "h245.cif4MPI",
16315         FT_UINT32, BASE_DEC, NULL, 0,
16316         "h245.INTEGER_1_2048", HFILL }},
16317     { &hf_h245_cif16MPI,
16318       { "cif16MPI", "h245.cif16MPI",
16319         FT_UINT32, BASE_DEC, NULL, 0,
16320         "h245.INTEGER_1_2048", HFILL }},
16321     { &hf_h245_maxCustomPictureWidth,
16322       { "maxCustomPictureWidth", "h245.maxCustomPictureWidth",
16323         FT_UINT32, BASE_DEC, NULL, 0,
16324         "h245.INTEGER_1_2048", HFILL }},
16325     { &hf_h245_maxCustomPictureHeight,
16326       { "maxCustomPictureHeight", "h245.maxCustomPictureHeight",
16327         FT_UINT32, BASE_DEC, NULL, 0,
16328         "h245.INTEGER_1_2048", HFILL }},
16329     { &hf_h245_minCustomPictureWidth,
16330       { "minCustomPictureWidth", "h245.minCustomPictureWidth",
16331         FT_UINT32, BASE_DEC, NULL, 0,
16332         "h245.INTEGER_1_2048", HFILL }},
16333     { &hf_h245_minCustomPictureHeight,
16334       { "minCustomPictureHeight", "h245.minCustomPictureHeight",
16335         FT_UINT32, BASE_DEC, NULL, 0,
16336         "h245.INTEGER_1_2048", HFILL }},
16337     { &hf_h245_mPI,
16338       { "mPI", "h245.mPI",
16339         FT_NONE, BASE_NONE, NULL, 0,
16340         "h245.T_mPI", HFILL }},
16341     { &hf_h245_standardMPI,
16342       { "standardMPI", "h245.standardMPI",
16343         FT_UINT32, BASE_DEC, NULL, 0,
16344         "h245.INTEGER_1_31", HFILL }},
16345     { &hf_h245_customPCF,
16346       { "customPCF", "h245.customPCF",
16347         FT_UINT32, BASE_DEC, NULL, 0,
16348         "h245.T_customPCF", HFILL }},
16349     { &hf_h245_customPCF_item,
16350       { "Item", "h245.customPCF_item",
16351         FT_NONE, BASE_NONE, NULL, 0,
16352         "h245.T_customPCF_item", HFILL }},
16353     { &hf_h245_customMPI,
16354       { "customMPI", "h245.customMPI",
16355         FT_UINT32, BASE_DEC, NULL, 0,
16356         "h245.INTEGER_1_2048", HFILL }},
16357     { &hf_h245_pixelAspectInformation,
16358       { "pixelAspectInformation", "h245.pixelAspectInformation",
16359         FT_UINT32, BASE_DEC, VALS(h245_T_pixelAspectInformation_vals), 0,
16360         "h245.T_pixelAspectInformation", HFILL }},
16361     { &hf_h245_anyPixelAspectRatio,
16362       { "anyPixelAspectRatio", "h245.anyPixelAspectRatio",
16363         FT_BOOLEAN, 8, NULL, 0,
16364         "h245.BOOLEAN", HFILL }},
16365     { &hf_h245_pixelAspectCode,
16366       { "pixelAspectCode", "h245.pixelAspectCode",
16367         FT_UINT32, BASE_DEC, NULL, 0,
16368         "h245.T_pixelAspectCode", HFILL }},
16369     { &hf_h245_pixelAspectCode_item,
16370       { "Item", "h245.pixelAspectCode_item",
16371         FT_UINT32, BASE_DEC, NULL, 0,
16372         "h245.INTEGER_1_14", HFILL }},
16373     { &hf_h245_extendedPAR,
16374       { "extendedPAR", "h245.extendedPAR",
16375         FT_UINT32, BASE_DEC, NULL, 0,
16376         "h245.T_extendedPAR", HFILL }},
16377     { &hf_h245_extendedPAR_item,
16378       { "Item", "h245.extendedPAR_item",
16379         FT_NONE, BASE_NONE, NULL, 0,
16380         "h245.T_extendedPAR_item", HFILL }},
16381     { &hf_h245_width,
16382       { "width", "h245.width",
16383         FT_UINT32, BASE_DEC, NULL, 0,
16384         "h245.INTEGER_1_255", HFILL }},
16385     { &hf_h245_height,
16386       { "height", "h245.height",
16387         FT_UINT32, BASE_DEC, NULL, 0,
16388         "h245.INTEGER_1_255", HFILL }},
16389     { &hf_h245_h263VideoUncoupledModes,
16390       { "h263VideoUncoupledModes", "h245.h263VideoUncoupledModes",
16391         FT_NONE, BASE_NONE, NULL, 0,
16392         "h245.H263ModeComboFlags", HFILL }},
16393     { &hf_h245_h263VideoCoupledModes,
16394       { "h263VideoCoupledModes", "h245.h263VideoCoupledModes",
16395         FT_UINT32, BASE_DEC, NULL, 0,
16396         "h245.SET_SIZE_1_16_OF_H263ModeComboFlags", HFILL }},
16397     { &hf_h245_h263VideoCoupledModes_item,
16398       { "Item", "h245.h263VideoCoupledModes_item",
16399         FT_NONE, BASE_NONE, NULL, 0,
16400         "h245.H263ModeComboFlags", HFILL }},
16401     { &hf_h245_referencePicSelect,
16402       { "referencePicSelect", "h245.referencePicSelect",
16403         FT_BOOLEAN, 8, NULL, 0,
16404         "h245.BOOLEAN", HFILL }},
16405     { &hf_h245_enhancedReferencePicSelectBool,
16406       { "enhancedReferencePicSelect", "h245.enhancedReferencePicSelect",
16407         FT_BOOLEAN, 8, NULL, 0,
16408         "h245.BOOLEAN", HFILL }},
16409     { &hf_h245_dataPartitionedSlices,
16410       { "dataPartitionedSlices", "h245.dataPartitionedSlices",
16411         FT_BOOLEAN, 8, NULL, 0,
16412         "h245.BOOLEAN", HFILL }},
16413     { &hf_h245_fixedPointIDCT0,
16414       { "fixedPointIDCT0", "h245.fixedPointIDCT0",
16415         FT_BOOLEAN, 8, NULL, 0,
16416         "h245.BOOLEAN", HFILL }},
16417     { &hf_h245_interlacedFields,
16418       { "interlacedFields", "h245.interlacedFields",
16419         FT_BOOLEAN, 8, NULL, 0,
16420         "h245.BOOLEAN", HFILL }},
16421     { &hf_h245_currentPictureHeaderRepetition,
16422       { "currentPictureHeaderRepetition", "h245.currentPictureHeaderRepetition",
16423         FT_BOOLEAN, 8, NULL, 0,
16424         "h245.BOOLEAN", HFILL }},
16425     { &hf_h245_previousPictureHeaderRepetition,
16426       { "previousPictureHeaderRepetition", "h245.previousPictureHeaderRepetition",
16427         FT_BOOLEAN, 8, NULL, 0,
16428         "h245.BOOLEAN", HFILL }},
16429     { &hf_h245_nextPictureHeaderRepetition,
16430       { "nextPictureHeaderRepetition", "h245.nextPictureHeaderRepetition",
16431         FT_BOOLEAN, 8, NULL, 0,
16432         "h245.BOOLEAN", HFILL }},
16433     { &hf_h245_pictureNumberBoolean,
16434       { "pictureNumber", "h245.pictureNumber",
16435         FT_BOOLEAN, 8, NULL, 0,
16436         "h245.BOOLEAN", HFILL }},
16437     { &hf_h245_spareReferencePictures,
16438       { "spareReferencePictures", "h245.spareReferencePictures",
16439         FT_BOOLEAN, 8, NULL, 0,
16440         "h245.BOOLEAN", HFILL }},
16441     { &hf_h245_constrainedBitstream,
16442       { "constrainedBitstream", "h245.constrainedBitstream",
16443         FT_BOOLEAN, 8, NULL, 0,
16444         "h245.BOOLEAN", HFILL }},
16445     { &hf_h245_pictureRate,
16446       { "pictureRate", "h245.pictureRate",
16447         FT_UINT32, BASE_DEC, NULL, 0,
16448         "h245.INTEGER_0_15", HFILL }},
16449     { &hf_h245_g711Alaw64k,
16450       { "g711Alaw64k", "h245.g711Alaw64k",
16451         FT_UINT32, BASE_DEC, NULL, 0,
16452         "h245.INTEGER_1_256", HFILL }},
16453     { &hf_h245_g711Alaw56k,
16454       { "g711Alaw56k", "h245.g711Alaw56k",
16455         FT_UINT32, BASE_DEC, NULL, 0,
16456         "h245.INTEGER_1_256", HFILL }},
16457     { &hf_h245_g711Ulaw64k,
16458       { "g711Ulaw64k", "h245.g711Ulaw64k",
16459         FT_UINT32, BASE_DEC, NULL, 0,
16460         "h245.INTEGER_1_256", HFILL }},
16461     { &hf_h245_g711Ulaw56k,
16462       { "g711Ulaw56k", "h245.g711Ulaw56k",
16463         FT_UINT32, BASE_DEC, NULL, 0,
16464         "h245.INTEGER_1_256", HFILL }},
16465     { &hf_h245_g722_64k,
16466       { "g722-64k", "h245.g722_64k",
16467         FT_UINT32, BASE_DEC, NULL, 0,
16468         "h245.INTEGER_1_256", HFILL }},
16469     { &hf_h245_g722_56k,
16470       { "g722-56k", "h245.g722_56k",
16471         FT_UINT32, BASE_DEC, NULL, 0,
16472         "h245.INTEGER_1_256", HFILL }},
16473     { &hf_h245_g722_48k,
16474       { "g722-48k", "h245.g722_48k",
16475         FT_UINT32, BASE_DEC, NULL, 0,
16476         "h245.INTEGER_1_256", HFILL }},
16477     { &hf_h245_g7231,
16478       { "g7231", "h245.g7231",
16479         FT_NONE, BASE_NONE, NULL, 0,
16480         "h245.T_g7231", HFILL }},
16481     { &hf_h245_maxAl_sduAudioFrames,
16482       { "maxAl-sduAudioFrames", "h245.maxAl_sduAudioFrames",
16483         FT_UINT32, BASE_DEC, NULL, 0,
16484         "h245.INTEGER_1_256", HFILL }},
16485     { &hf_h245_silenceSuppression,
16486       { "silenceSuppression", "h245.silenceSuppression",
16487         FT_BOOLEAN, 8, NULL, 0,
16488         "h245.BOOLEAN", HFILL }},
16489     { &hf_h245_g728,
16490       { "g728", "h245.g728",
16491         FT_UINT32, BASE_DEC, NULL, 0,
16492         "h245.INTEGER_1_256", HFILL }},
16493     { &hf_h245_g729,
16494       { "g729", "h245.g729",
16495         FT_UINT32, BASE_DEC, NULL, 0,
16496         "h245.INTEGER_1_256", HFILL }},
16497     { &hf_h245_g729AnnexA,
16498       { "g729AnnexA", "h245.g729AnnexA",
16499         FT_UINT32, BASE_DEC, NULL, 0,
16500         "h245.INTEGER_1_256", HFILL }},
16501     { &hf_h245_is11172AudioCapability,
16502       { "is11172AudioCapability", "h245.is11172AudioCapability",
16503         FT_NONE, BASE_NONE, NULL, 0,
16504         "h245.IS11172AudioCapability", HFILL }},
16505     { &hf_h245_is13818AudioCapability,
16506       { "is13818AudioCapability", "h245.is13818AudioCapability",
16507         FT_NONE, BASE_NONE, NULL, 0,
16508         "h245.IS13818AudioCapability", HFILL }},
16509     { &hf_h245_g729wAnnexB,
16510       { "g729wAnnexB", "h245.g729wAnnexB",
16511         FT_UINT32, BASE_DEC, NULL, 0,
16512         "h245.INTEGER_1_256", HFILL }},
16513     { &hf_h245_g729AnnexAwAnnexB,
16514       { "g729AnnexAwAnnexB", "h245.g729AnnexAwAnnexB",
16515         FT_UINT32, BASE_DEC, NULL, 0,
16516         "h245.INTEGER_1_256", HFILL }},
16517     { &hf_h245_g7231AnnexCCapability,
16518       { "g7231AnnexCCapability", "h245.g7231AnnexCCapability",
16519         FT_NONE, BASE_NONE, NULL, 0,
16520         "h245.G7231AnnexCCapability", HFILL }},
16521     { &hf_h245_gsmFullRate,
16522       { "gsmFullRate", "h245.gsmFullRate",
16523         FT_NONE, BASE_NONE, NULL, 0,
16524         "h245.GSMAudioCapability", HFILL }},
16525     { &hf_h245_gsmHalfRate,
16526       { "gsmHalfRate", "h245.gsmHalfRate",
16527         FT_NONE, BASE_NONE, NULL, 0,
16528         "h245.GSMAudioCapability", HFILL }},
16529     { &hf_h245_gsmEnhancedFullRate,
16530       { "gsmEnhancedFullRate", "h245.gsmEnhancedFullRate",
16531         FT_NONE, BASE_NONE, NULL, 0,
16532         "h245.GSMAudioCapability", HFILL }},
16533     { &hf_h245_genericAudioCapability,
16534       { "genericAudioCapability", "h245.genericAudioCapability",
16535         FT_NONE, BASE_NONE, NULL, 0,
16536         "h245.GenericCapability", HFILL }},
16537     { &hf_h245_g729Extensions,
16538       { "g729Extensions", "h245.g729Extensions",
16539         FT_NONE, BASE_NONE, NULL, 0,
16540         "h245.G729Extensions", HFILL }},
16541     { &hf_h245_vbd,
16542       { "vbd", "h245.vbd",
16543         FT_NONE, BASE_NONE, NULL, 0,
16544         "h245.VBDCapability", HFILL }},
16545     { &hf_h245_audioTelephonyEvent,
16546       { "audioTelephonyEvent", "h245.audioTelephonyEvent",
16547         FT_NONE, BASE_NONE, NULL, 0,
16548         "h245.NoPTAudioTelephonyEventCapability", HFILL }},
16549     { &hf_h245_audioTone,
16550       { "audioTone", "h245.audioTone",
16551         FT_NONE, BASE_NONE, NULL, 0,
16552         "h245.NoPTAudioToneCapability", HFILL }},
16553     { &hf_h245_audioUnit,
16554       { "audioUnit", "h245.audioUnit",
16555         FT_UINT32, BASE_DEC, NULL, 0,
16556         "h245.INTEGER_1_256", HFILL }},
16557     { &hf_h245_annexA,
16558       { "annexA", "h245.annexA",
16559         FT_BOOLEAN, 8, NULL, 0,
16560         "h245.BOOLEAN", HFILL }},
16561     { &hf_h245_annexB,
16562       { "annexB", "h245.annexB",
16563         FT_BOOLEAN, 8, NULL, 0,
16564         "h245.BOOLEAN", HFILL }},
16565     { &hf_h245_annexD,
16566       { "annexD", "h245.annexD",
16567         FT_BOOLEAN, 8, NULL, 0,
16568         "h245.BOOLEAN", HFILL }},
16569     { &hf_h245_annexE,
16570       { "annexE", "h245.annexE",
16571         FT_BOOLEAN, 8, NULL, 0,
16572         "h245.BOOLEAN", HFILL }},
16573     { &hf_h245_annexF,
16574       { "annexF", "h245.annexF",
16575         FT_BOOLEAN, 8, NULL, 0,
16576         "h245.BOOLEAN", HFILL }},
16577     { &hf_h245_annexG,
16578       { "annexG", "h245.annexG",
16579         FT_BOOLEAN, 8, NULL, 0,
16580         "h245.BOOLEAN", HFILL }},
16581     { &hf_h245_annexH,
16582       { "annexH", "h245.annexH",
16583         FT_BOOLEAN, 8, NULL, 0,
16584         "h245.BOOLEAN", HFILL }},
16585     { &hf_h245_highRateMode0,
16586       { "highRateMode0", "h245.highRateMode0",
16587         FT_UINT32, BASE_DEC, NULL, 0,
16588         "h245.INTEGER_27_78", HFILL }},
16589     { &hf_h245_highRateMode1,
16590       { "highRateMode1", "h245.highRateMode1",
16591         FT_UINT32, BASE_DEC, NULL, 0,
16592         "h245.INTEGER_27_78", HFILL }},
16593     { &hf_h245_lowRateMode0,
16594       { "lowRateMode0", "h245.lowRateMode0",
16595         FT_UINT32, BASE_DEC, NULL, 0,
16596         "h245.INTEGER_23_66", HFILL }},
16597     { &hf_h245_lowRateMode1,
16598       { "lowRateMode1", "h245.lowRateMode1",
16599         FT_UINT32, BASE_DEC, NULL, 0,
16600         "h245.INTEGER_23_66", HFILL }},
16601     { &hf_h245_sidMode0,
16602       { "sidMode0", "h245.sidMode0",
16603         FT_UINT32, BASE_DEC, NULL, 0,
16604         "h245.INTEGER_6_17", HFILL }},
16605     { &hf_h245_sidMode1,
16606       { "sidMode1", "h245.sidMode1",
16607         FT_UINT32, BASE_DEC, NULL, 0,
16608         "h245.INTEGER_6_17", HFILL }},
16609     { &hf_h245_g723AnnexCAudioMode,
16610       { "g723AnnexCAudioMode", "h245.g723AnnexCAudioMode",
16611         FT_NONE, BASE_NONE, NULL, 0,
16612         "h245.G723AnnexCAudioMode", HFILL }},
16613     { &hf_h245_audioLayer1,
16614       { "audioLayer1", "h245.audioLayer1",
16615         FT_BOOLEAN, 8, NULL, 0,
16616         "h245.BOOLEAN", HFILL }},
16617     { &hf_h245_audioLayer2,
16618       { "audioLayer2", "h245.audioLayer2",
16619         FT_BOOLEAN, 8, NULL, 0,
16620         "h245.BOOLEAN", HFILL }},
16621     { &hf_h245_audioLayer3,
16622       { "audioLayer3", "h245.audioLayer3",
16623         FT_BOOLEAN, 8, NULL, 0,
16624         "h245.BOOLEAN", HFILL }},
16625     { &hf_h245_audioSampling32k,
16626       { "audioSampling32k", "h245.audioSampling32k",
16627         FT_BOOLEAN, 8, NULL, 0,
16628         "h245.BOOLEAN", HFILL }},
16629     { &hf_h245_audioSampling44k1,
16630       { "audioSampling44k1", "h245.audioSampling44k1",
16631         FT_BOOLEAN, 8, NULL, 0,
16632         "h245.BOOLEAN", HFILL }},
16633     { &hf_h245_audioSampling48k,
16634       { "audioSampling48k", "h245.audioSampling48k",
16635         FT_BOOLEAN, 8, NULL, 0,
16636         "h245.BOOLEAN", HFILL }},
16637     { &hf_h245_singleChannel,
16638       { "singleChannel", "h245.singleChannel",
16639         FT_BOOLEAN, 8, NULL, 0,
16640         "h245.BOOLEAN", HFILL }},
16641     { &hf_h245_twoChannels,
16642       { "twoChannels", "h245.twoChannels",
16643         FT_BOOLEAN, 8, NULL, 0,
16644         "h245.BOOLEAN", HFILL }},
16645     { &hf_h245_bitRate_1_448,
16646       { "bitRate", "h245.bitRate",
16647         FT_UINT32, BASE_DEC, NULL, 0,
16648         "h245.INTEGER_1_448", HFILL }},
16649     { &hf_h245_audioSampling16k,
16650       { "audioSampling16k", "h245.audioSampling16k",
16651         FT_BOOLEAN, 8, NULL, 0,
16652         "h245.BOOLEAN", HFILL }},
16653     { &hf_h245_audioSampling22k05,
16654       { "audioSampling22k05", "h245.audioSampling22k05",
16655         FT_BOOLEAN, 8, NULL, 0,
16656         "h245.BOOLEAN", HFILL }},
16657     { &hf_h245_audioSampling24k,
16658       { "audioSampling24k", "h245.audioSampling24k",
16659         FT_BOOLEAN, 8, NULL, 0,
16660         "h245.BOOLEAN", HFILL }},
16661     { &hf_h245_threeChannels2_1,
16662       { "threeChannels2-1", "h245.threeChannels2_1",
16663         FT_BOOLEAN, 8, NULL, 0,
16664         "h245.BOOLEAN", HFILL }},
16665     { &hf_h245_threeChannels3_0,
16666       { "threeChannels3-0", "h245.threeChannels3_0",
16667         FT_BOOLEAN, 8, NULL, 0,
16668         "h245.BOOLEAN", HFILL }},
16669     { &hf_h245_fourChannels2_0_2_0,
16670       { "fourChannels2-0-2-0", "h245.fourChannels2_0_2_0",
16671         FT_BOOLEAN, 8, NULL, 0,
16672         "h245.BOOLEAN", HFILL }},
16673     { &hf_h245_fourChannels2_2,
16674       { "fourChannels2-2", "h245.fourChannels2_2",
16675         FT_BOOLEAN, 8, NULL, 0,
16676         "h245.BOOLEAN", HFILL }},
16677     { &hf_h245_fourChannels3_1,
16678       { "fourChannels3-1", "h245.fourChannels3_1",
16679         FT_BOOLEAN, 8, NULL, 0,
16680         "h245.BOOLEAN", HFILL }},
16681     { &hf_h245_fiveChannels3_0_2_0,
16682       { "fiveChannels3-0-2-0", "h245.fiveChannels3_0_2_0",
16683         FT_BOOLEAN, 8, NULL, 0,
16684         "h245.BOOLEAN", HFILL }},
16685     { &hf_h245_fiveChannels3_2,
16686       { "fiveChannels3-2", "h245.fiveChannels3_2",
16687         FT_BOOLEAN, 8, NULL, 0,
16688         "h245.BOOLEAN", HFILL }},
16689     { &hf_h245_lowFrequencyEnhancement,
16690       { "lowFrequencyEnhancement", "h245.lowFrequencyEnhancement",
16691         FT_BOOLEAN, 8, NULL, 0,
16692         "h245.BOOLEAN", HFILL }},
16693     { &hf_h245_multilingual,
16694       { "multilingual", "h245.multilingual",
16695         FT_BOOLEAN, 8, NULL, 0,
16696         "h245.BOOLEAN", HFILL }},
16697     { &hf_h245_bitRate2_1_1130,
16698       { "bitRate", "h245.bitRate",
16699         FT_UINT32, BASE_DEC, NULL, 0,
16700         "h245.INTEGER_1_1130", HFILL }},
16701     { &hf_h245_audioUnitSize,
16702       { "audioUnitSize", "h245.audioUnitSize",
16703         FT_UINT32, BASE_DEC, NULL, 0,
16704         "h245.INTEGER_1_256", HFILL }},
16705     { &hf_h245_comfortNoise,
16706       { "comfortNoise", "h245.comfortNoise",
16707         FT_BOOLEAN, 8, NULL, 0,
16708         "h245.BOOLEAN", HFILL }},
16709     { &hf_h245_scrambled,
16710       { "scrambled", "h245.scrambled",
16711         FT_BOOLEAN, 8, NULL, 0,
16712         "h245.BOOLEAN", HFILL }},
16713     { &hf_h245_vbd_cap_type,
16714       { "type", "h245.type",
16715         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
16716         "h245.AudioCapability", HFILL }},
16717     { &hf_h245_t120,
16718       { "t120", "h245.t120",
16719         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16720         "h245.DataProtocolCapability", HFILL }},
16721     { &hf_h245_dsm_cc,
16722       { "dsm-cc", "h245.dsm_cc",
16723         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16724         "h245.DataProtocolCapability", HFILL }},
16725     { &hf_h245_userData,
16726       { "userData", "h245.userData",
16727         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16728         "h245.DataProtocolCapability", HFILL }},
16729     { &hf_h245_t84,
16730       { "t84", "h245.t84",
16731         FT_NONE, BASE_NONE, NULL, 0,
16732         "h245.T_t84", HFILL }},
16733     { &hf_h245_t84Protocol,
16734       { "t84Protocol", "h245.t84Protocol",
16735         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16736         "h245.DataProtocolCapability", HFILL }},
16737     { &hf_h245_t84Profile,
16738       { "t84Profile", "h245.t84Profile",
16739         FT_UINT32, BASE_DEC, VALS(h245_T84Profile_vals), 0,
16740         "h245.T84Profile", HFILL }},
16741     { &hf_h245_t434,
16742       { "t434", "h245.t434",
16743         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16744         "h245.DataProtocolCapability", HFILL }},
16745     { &hf_h245_h224,
16746       { "h224", "h245.h224",
16747         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16748         "h245.DataProtocolCapability", HFILL }},
16749     { &hf_h245_nlpidProtocol,
16750       { "nlpidProtocol", "h245.nlpidProtocol",
16751         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16752         "h245.DataProtocolCapability", HFILL }},
16753     { &hf_h245_nlpidData,
16754       { "nlpidData", "h245.nlpidData",
16755         FT_BYTES, BASE_HEX, NULL, 0,
16756         "h245.OCTET_STRING", HFILL }},
16757     { &hf_h245_nlpid,
16758       { "nlpid", "h245.nlpid",
16759         FT_NONE, BASE_NONE, NULL, 0,
16760         "h245.Nlpid", HFILL }},
16761     { &hf_h245_dsvdControl,
16762       { "dsvdControl", "h245.dsvdControl",
16763         FT_NONE, BASE_NONE, NULL, 0,
16764         "h245.NULL", HFILL }},
16765     { &hf_h245_h222DataPartitioning,
16766       { "h222DataPartitioning", "h245.h222DataPartitioning",
16767         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16768         "h245.DataProtocolCapability", HFILL }},
16769     { &hf_h245_t30fax,
16770       { "t30fax", "h245.t30fax",
16771         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16772         "h245.DataProtocolCapability", HFILL }},
16773     { &hf_h245_t140,
16774       { "t140", "h245.t140",
16775         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16776         "h245.DataProtocolCapability", HFILL }},
16777     { &hf_h245_t38fax,
16778       { "t38fax", "h245.t38fax",
16779         FT_NONE, BASE_NONE, NULL, 0,
16780         "h245.T_t38fax", HFILL }},
16781     { &hf_h245_t38FaxProtocol,
16782       { "t38FaxProtocol", "h245.t38FaxProtocol",
16783         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16784         "h245.DataProtocolCapability", HFILL }},
16785     { &hf_h245_t38FaxProfile,
16786       { "t38FaxProfile", "h245.t38FaxProfile",
16787         FT_NONE, BASE_NONE, NULL, 0,
16788         "h245.T38FaxProfile", HFILL }},
16789     { &hf_h245_genericDataCapability,
16790       { "genericDataCapability", "h245.genericDataCapability",
16791         FT_NONE, BASE_NONE, NULL, 0,
16792         "h245.GenericCapability", HFILL }},
16793     { &hf_h245_application,
16794       { "application", "h245.application",
16795         FT_UINT32, BASE_DEC, VALS(h245_Application_vals), 0,
16796         "h245.Application", HFILL }},
16797     { &hf_h245_maxBitRate2_0_4294967295,
16798       { "maxBitRate", "h245.maxBitRate",
16799         FT_UINT32, BASE_DEC, NULL, 0,
16800         "h245.INTEGER_0_4294967295", HFILL }},
16801     { &hf_h245_v14buffered,
16802       { "v14buffered", "h245.v14buffered",
16803         FT_NONE, BASE_NONE, NULL, 0,
16804         "h245.NULL", HFILL }},
16805     { &hf_h245_v42lapm,
16806       { "v42lapm", "h245.v42lapm",
16807         FT_NONE, BASE_NONE, NULL, 0,
16808         "h245.NULL", HFILL }},
16809     { &hf_h245_hdlcFrameTunnelling,
16810       { "hdlcFrameTunnelling", "h245.hdlcFrameTunnelling",
16811         FT_NONE, BASE_NONE, NULL, 0,
16812         "h245.NULL", HFILL }},
16813     { &hf_h245_h310SeparateVCStack,
16814       { "h310SeparateVCStack", "h245.h310SeparateVCStack",
16815         FT_NONE, BASE_NONE, NULL, 0,
16816         "h245.NULL", HFILL }},
16817     { &hf_h245_h310SingleVCStack,
16818       { "h310SingleVCStack", "h245.h310SingleVCStack",
16819         FT_NONE, BASE_NONE, NULL, 0,
16820         "h245.NULL", HFILL }},
16821     { &hf_h245_transparent,
16822       { "transparent", "h245.transparent",
16823         FT_NONE, BASE_NONE, NULL, 0,
16824         "h245.NULL", HFILL }},
16825     { &hf_h245_segmentationAndReassembly,
16826       { "segmentationAndReassembly", "h245.segmentationAndReassembly",
16827         FT_NONE, BASE_NONE, NULL, 0,
16828         "h245.NULL", HFILL }},
16829     { &hf_h245_hdlcFrameTunnelingwSAR,
16830       { "hdlcFrameTunnelingwSAR", "h245.hdlcFrameTunnelingwSAR",
16831         FT_NONE, BASE_NONE, NULL, 0,
16832         "h245.NULL", HFILL }},
16833     { &hf_h245_v120,
16834       { "v120", "h245.v120",
16835         FT_NONE, BASE_NONE, NULL, 0,
16836         "h245.NULL", HFILL }},
16837     { &hf_h245_separateLANStack,
16838       { "separateLANStack", "h245.separateLANStack",
16839         FT_NONE, BASE_NONE, NULL, 0,
16840         "h245.NULL", HFILL }},
16841     { &hf_h245_v76wCompression,
16842       { "v76wCompression", "h245.v76wCompression",
16843         FT_UINT32, BASE_DEC, VALS(h245_T_v76wCompression_vals), 0,
16844         "h245.T_v76wCompression", HFILL }},
16845     { &hf_h245_transmitCompression,
16846       { "transmitCompression", "h245.transmitCompression",
16847         FT_UINT32, BASE_DEC, VALS(h245_CompressionType_vals), 0,
16848         "h245.CompressionType", HFILL }},
16849     { &hf_h245_receiveCompression,
16850       { "receiveCompression", "h245.receiveCompression",
16851         FT_UINT32, BASE_DEC, VALS(h245_CompressionType_vals), 0,
16852         "h245.CompressionType", HFILL }},
16853     { &hf_h245_transmitAndReceiveCompression,
16854       { "transmitAndReceiveCompression", "h245.transmitAndReceiveCompression",
16855         FT_UINT32, BASE_DEC, VALS(h245_CompressionType_vals), 0,
16856         "h245.CompressionType", HFILL }},
16857     { &hf_h245_tcp,
16858       { "tcp", "h245.tcp",
16859         FT_NONE, BASE_NONE, NULL, 0,
16860         "h245.NULL", HFILL }},
16861     { &hf_h245_udp,
16862       { "udp", "h245.udp",
16863         FT_NONE, BASE_NONE, NULL, 0,
16864         "h245.NULL", HFILL }},
16865     { &hf_h245_v42bis,
16866       { "v42bis", "h245.v42bis",
16867         FT_NONE, BASE_NONE, NULL, 0,
16868         "h245.V42bis", HFILL }},
16869     { &hf_h245_numberOfCodewords,
16870       { "numberOfCodewords", "h245.numberOfCodewords",
16871         FT_UINT32, BASE_DEC, NULL, 0,
16872         "h245.INTEGER_1_65536", HFILL }},
16873     { &hf_h245_maximumStringLength,
16874       { "maximumStringLength", "h245.maximumStringLength",
16875         FT_UINT32, BASE_DEC, NULL, 0,
16876         "h245.INTEGER_1_256", HFILL }},
16877     { &hf_h245_t84Unrestricted,
16878       { "t84Unrestricted", "h245.t84Unrestricted",
16879         FT_NONE, BASE_NONE, NULL, 0,
16880         "h245.NULL", HFILL }},
16881     { &hf_h245_t84Restricted,
16882       { "t84Restricted", "h245.t84Restricted",
16883         FT_NONE, BASE_NONE, NULL, 0,
16884         "h245.T_t84Restricted", HFILL }},
16885     { &hf_h245_qcif_bool,
16886       { "qcif", "h245.qcif",
16887         FT_BOOLEAN, 8, NULL, 0,
16888         "h245.BOOLEAN", HFILL }},
16889     { &hf_h245_cif_bool,
16890       { "cif", "h245.cif",
16891         FT_BOOLEAN, 8, NULL, 0,
16892         "h245.BOOLEAN", HFILL }},
16893     { &hf_h245_ccir601Seq,
16894       { "ccir601Seq", "h245.ccir601Seq",
16895         FT_BOOLEAN, 8, NULL, 0,
16896         "h245.BOOLEAN", HFILL }},
16897     { &hf_h245_ccir601Prog,
16898       { "ccir601Prog", "h245.ccir601Prog",
16899         FT_BOOLEAN, 8, NULL, 0,
16900         "h245.BOOLEAN", HFILL }},
16901     { &hf_h245_hdtvSeq,
16902       { "hdtvSeq", "h245.hdtvSeq",
16903         FT_BOOLEAN, 8, NULL, 0,
16904         "h245.BOOLEAN", HFILL }},
16905     { &hf_h245_hdtvProg,
16906       { "hdtvProg", "h245.hdtvProg",
16907         FT_BOOLEAN, 8, NULL, 0,
16908         "h245.BOOLEAN", HFILL }},
16909     { &hf_h245_g3FacsMH200x100,
16910       { "g3FacsMH200x100", "h245.g3FacsMH200x100",
16911         FT_BOOLEAN, 8, NULL, 0,
16912         "h245.BOOLEAN", HFILL }},
16913     { &hf_h245_g3FacsMH200x200,
16914       { "g3FacsMH200x200", "h245.g3FacsMH200x200",
16915         FT_BOOLEAN, 8, NULL, 0,
16916         "h245.BOOLEAN", HFILL }},
16917     { &hf_h245_g4FacsMMR200x100,
16918       { "g4FacsMMR200x100", "h245.g4FacsMMR200x100",
16919         FT_BOOLEAN, 8, NULL, 0,
16920         "h245.BOOLEAN", HFILL }},
16921     { &hf_h245_g4FacsMMR200x200,
16922       { "g4FacsMMR200x200", "h245.g4FacsMMR200x200",
16923         FT_BOOLEAN, 8, NULL, 0,
16924         "h245.BOOLEAN", HFILL }},
16925     { &hf_h245_jbig200x200Seq,
16926       { "jbig200x200Seq", "h245.jbig200x200Seq",
16927         FT_BOOLEAN, 8, NULL, 0,
16928         "h245.BOOLEAN", HFILL }},
16929     { &hf_h245_jbig200x200Prog,
16930       { "jbig200x200Prog", "h245.jbig200x200Prog",
16931         FT_BOOLEAN, 8, NULL, 0,
16932         "h245.BOOLEAN", HFILL }},
16933     { &hf_h245_jbig300x300Seq,
16934       { "jbig300x300Seq", "h245.jbig300x300Seq",
16935         FT_BOOLEAN, 8, NULL, 0,
16936         "h245.BOOLEAN", HFILL }},
16937     { &hf_h245_jbig300x300Prog,
16938       { "jbig300x300Prog", "h245.jbig300x300Prog",
16939         FT_BOOLEAN, 8, NULL, 0,
16940         "h245.BOOLEAN", HFILL }},
16941     { &hf_h245_digPhotoLow,
16942       { "digPhotoLow", "h245.digPhotoLow",
16943         FT_BOOLEAN, 8, NULL, 0,
16944         "h245.BOOLEAN", HFILL }},
16945     { &hf_h245_digPhotoMedSeq,
16946       { "digPhotoMedSeq", "h245.digPhotoMedSeq",
16947         FT_BOOLEAN, 8, NULL, 0,
16948         "h245.BOOLEAN", HFILL }},
16949     { &hf_h245_digPhotoMedProg,
16950       { "digPhotoMedProg", "h245.digPhotoMedProg",
16951         FT_BOOLEAN, 8, NULL, 0,
16952         "h245.BOOLEAN", HFILL }},
16953     { &hf_h245_digPhotoHighSeq,
16954       { "digPhotoHighSeq", "h245.digPhotoHighSeq",
16955         FT_BOOLEAN, 8, NULL, 0,
16956         "h245.BOOLEAN", HFILL }},
16957     { &hf_h245_digPhotoHighProg,
16958       { "digPhotoHighProg", "h245.digPhotoHighProg",
16959         FT_BOOLEAN, 8, NULL, 0,
16960         "h245.BOOLEAN", HFILL }},
16961     { &hf_h245_fillBitRemoval,
16962       { "fillBitRemoval", "h245.fillBitRemoval",
16963         FT_BOOLEAN, 8, NULL, 0,
16964         "h245.BOOLEAN", HFILL }},
16965     { &hf_h245_transcodingJBIG,
16966       { "transcodingJBIG", "h245.transcodingJBIG",
16967         FT_BOOLEAN, 8, NULL, 0,
16968         "h245.BOOLEAN", HFILL }},
16969     { &hf_h245_transcodingMMR,
16970       { "transcodingMMR", "h245.transcodingMMR",
16971         FT_BOOLEAN, 8, NULL, 0,
16972         "h245.BOOLEAN", HFILL }},
16973     { &hf_h245_version,
16974       { "version", "h245.version",
16975         FT_UINT32, BASE_DEC, NULL, 0,
16976         "h245.INTEGER_0_255", HFILL }},
16977     { &hf_h245_t38FaxRateManagement,
16978       { "t38FaxRateManagement", "h245.t38FaxRateManagement",
16979         FT_UINT32, BASE_DEC, VALS(h245_T38FaxRateManagement_vals), 0,
16980         "h245.T38FaxRateManagement", HFILL }},
16981     { &hf_h245_t38FaxUdpOptions,
16982       { "t38FaxUdpOptions", "h245.t38FaxUdpOptions",
16983         FT_NONE, BASE_NONE, NULL, 0,
16984         "h245.T38FaxUdpOptions", HFILL }},
16985     { &hf_h245_t38FaxTcpOptions,
16986       { "t38FaxTcpOptions", "h245.t38FaxTcpOptions",
16987         FT_NONE, BASE_NONE, NULL, 0,
16988         "h245.T38FaxTcpOptions", HFILL }},
16989     { &hf_h245_localTCF,
16990       { "localTCF", "h245.localTCF",
16991         FT_NONE, BASE_NONE, NULL, 0,
16992         "h245.NULL", HFILL }},
16993     { &hf_h245_transferredTCF,
16994       { "transferredTCF", "h245.transferredTCF",
16995         FT_NONE, BASE_NONE, NULL, 0,
16996         "h245.NULL", HFILL }},
16997     { &hf_h245_t38FaxMaxBuffer,
16998       { "t38FaxMaxBuffer", "h245.t38FaxMaxBuffer",
16999         FT_INT32, BASE_DEC, NULL, 0,
17000         "h245.INTEGER", HFILL }},
17001     { &hf_h245_t38FaxMaxDatagram,
17002       { "t38FaxMaxDatagram", "h245.t38FaxMaxDatagram",
17003         FT_INT32, BASE_DEC, NULL, 0,
17004         "h245.INTEGER", HFILL }},
17005     { &hf_h245_t38FaxUdpEC,
17006       { "t38FaxUdpEC", "h245.t38FaxUdpEC",
17007         FT_UINT32, BASE_DEC, VALS(h245_T_t38FaxUdpEC_vals), 0,
17008         "h245.T_t38FaxUdpEC", HFILL }},
17009     { &hf_h245_t38UDPFEC,
17010       { "t38UDPFEC", "h245.t38UDPFEC",
17011         FT_NONE, BASE_NONE, NULL, 0,
17012         "h245.NULL", HFILL }},
17013     { &hf_h245_t38UDPRedundancy,
17014       { "t38UDPRedundancy", "h245.t38UDPRedundancy",
17015         FT_NONE, BASE_NONE, NULL, 0,
17016         "h245.NULL", HFILL }},
17017     { &hf_h245_t38TCPBidirectionalMode,
17018       { "t38TCPBidirectionalMode", "h245.t38TCPBidirectionalMode",
17019         FT_BOOLEAN, 8, NULL, 0,
17020         "h245.BOOLEAN", HFILL }},
17021     { &hf_h245_encryptionCapability,
17022       { "encryptionCapability", "h245.encryptionCapability",
17023         FT_UINT32, BASE_DEC, NULL, 0,
17024         "h245.EncryptionCapability", HFILL }},
17025     { &hf_h245_authenticationCapability,
17026       { "authenticationCapability", "h245.authenticationCapability",
17027         FT_NONE, BASE_NONE, NULL, 0,
17028         "h245.AuthenticationCapability", HFILL }},
17029     { &hf_h245_integrityCapability,
17030       { "integrityCapability", "h245.integrityCapability",
17031         FT_NONE, BASE_NONE, NULL, 0,
17032         "h245.IntegrityCapability", HFILL }},
17033     { &hf_h245_genericH235SecurityCapability,
17034       { "genericH235SecurityCapability", "h245.genericH235SecurityCapability",
17035         FT_NONE, BASE_NONE, NULL, 0,
17036         "h245.GenericCapability", HFILL }},
17037     { &hf_h245_EncryptionCapability_item,
17038       { "Item", "h245.EncryptionCapability_item",
17039         FT_UINT32, BASE_DEC, VALS(h245_MediaEncryptionAlgorithm_vals), 0,
17040         "h245.MediaEncryptionAlgorithm", HFILL }},
17041     { &hf_h245_algorithm,
17042       { "algorithm", "h245.algorithm",
17043         FT_OID, BASE_NONE, NULL, 0,
17044         "h245.OBJECT_IDENTIFIER", HFILL }},
17045     { &hf_h245_antiSpamAlgorithm,
17046       { "antiSpamAlgorithm", "h245.antiSpamAlgorithm",
17047         FT_OID, BASE_NONE, NULL, 0,
17048         "h245.OBJECT_IDENTIFIER", HFILL }},
17049     { &hf_h245_ui_nonStandard,
17050       { "nonStandard", "h245.nonStandard",
17051         FT_UINT32, BASE_DEC, NULL, 0,
17052         "h245.SEQUENCE_SIZE_1_16_OF_NonStandardParameter", HFILL }},
17053     { &hf_h245_ui_nonStandard_item,
17054       { "Item", "h245.nonStandard_item",
17055         FT_NONE, BASE_NONE, NULL, 0,
17056         "h245.NonStandardParameter", HFILL }},
17057     { &hf_h245_basicString,
17058       { "basicString", "h245.basicString",
17059         FT_NONE, BASE_NONE, NULL, 0,
17060         "h245.NULL", HFILL }},
17061     { &hf_h245_iA5String,
17062       { "iA5String", "h245.iA5String",
17063         FT_NONE, BASE_NONE, NULL, 0,
17064         "h245.NULL", HFILL }},
17065     { &hf_h245_generalString,
17066       { "generalString", "h245.generalString",
17067         FT_NONE, BASE_NONE, NULL, 0,
17068         "h245.NULL", HFILL }},
17069     { &hf_h245_dtmf,
17070       { "dtmf", "h245.dtmf",
17071         FT_NONE, BASE_NONE, NULL, 0,
17072         "h245.NULL", HFILL }},
17073     { &hf_h245_hookflash,
17074       { "hookflash", "h245.hookflash",
17075         FT_NONE, BASE_NONE, NULL, 0,
17076         "h245.NULL", HFILL }},
17077     { &hf_h245_extendedAlphanumericFlag,
17078       { "extendedAlphanumeric", "h245.extendedAlphanumeric",
17079         FT_NONE, BASE_NONE, NULL, 0,
17080         "h245.NULL", HFILL }},
17081     { &hf_h245_encryptedBasicString,
17082       { "encryptedBasicString", "h245.encryptedBasicString",
17083         FT_NONE, BASE_NONE, NULL, 0,
17084         "h245.NULL", HFILL }},
17085     { &hf_h245_encryptedIA5String,
17086       { "encryptedIA5String", "h245.encryptedIA5String",
17087         FT_NONE, BASE_NONE, NULL, 0,
17088         "h245.NULL", HFILL }},
17089     { &hf_h245_encryptedGeneralString,
17090       { "encryptedGeneralString", "h245.encryptedGeneralString",
17091         FT_NONE, BASE_NONE, NULL, 0,
17092         "h245.NULL", HFILL }},
17093     { &hf_h245_secureDTMF,
17094       { "secureDTMF", "h245.secureDTMF",
17095         FT_NONE, BASE_NONE, NULL, 0,
17096         "h245.NULL", HFILL }},
17097     { &hf_h245_genericUserInputCapability,
17098       { "genericUserInputCapability", "h245.genericUserInputCapability",
17099         FT_NONE, BASE_NONE, NULL, 0,
17100         "h245.GenericCapability", HFILL }},
17101     { &hf_h245_nonStandardParams,
17102       { "nonStandardData", "h245.nonStandardData",
17103         FT_UINT32, BASE_DEC, NULL, 0,
17104         "h245.SEQUENCE_OF_NonStandardParameter", HFILL }},
17105     { &hf_h245_nonStandardParams_item,
17106       { "Item", "h245.nonStandardData_item",
17107         FT_NONE, BASE_NONE, NULL, 0,
17108         "h245.NonStandardParameter", HFILL }},
17109     { &hf_h245_chairControlCapability,
17110       { "chairControlCapability", "h245.chairControlCapability",
17111         FT_BOOLEAN, 8, NULL, 0,
17112         "h245.BOOLEAN", HFILL }},
17113     { &hf_h245_videoIndicateMixingCapability,
17114       { "videoIndicateMixingCapability", "h245.videoIndicateMixingCapability",
17115         FT_BOOLEAN, 8, NULL, 0,
17116         "h245.BOOLEAN", HFILL }},
17117     { &hf_h245_multipointVisualizationCapability,
17118       { "multipointVisualizationCapability", "h245.multipointVisualizationCapability",
17119         FT_BOOLEAN, 8, NULL, 0,
17120         "h245.BOOLEAN", HFILL }},
17121     { &hf_h245_capabilityIdentifier,
17122       { "capabilityIdentifier", "h245.capabilityIdentifier",
17123         FT_UINT32, BASE_DEC, VALS(h245_CapabilityIdentifier_vals), 0,
17124         "h245.CapabilityIdentifier", HFILL }},
17125     { &hf_h245_collapsing,
17126       { "collapsing", "h245.collapsing",
17127         FT_UINT32, BASE_DEC, NULL, 0,
17128         "h245.T_collapsing", HFILL }},
17129     { &hf_h245_collapsing_item,
17130       { "Item", "h245.collapsing_item",
17131         FT_NONE, BASE_NONE, NULL, 0,
17132         "h245.T_collapsing_item", HFILL }},
17133     { &hf_h245_nonCollapsing,
17134       { "nonCollapsing", "h245.nonCollapsing",
17135         FT_UINT32, BASE_DEC, NULL, 0,
17136         "h245.T_nonCollapsing", HFILL }},
17137     { &hf_h245_nonCollapsing_item,
17138       { "Item", "h245.nonCollapsing_item",
17139         FT_NONE, BASE_NONE, NULL, 0,
17140         "h245.T_nonCollapsing_item", HFILL }},
17141     { &hf_h245_nonCollapsingRaw,
17142       { "nonCollapsingRaw", "h245.nonCollapsingRaw",
17143         FT_BYTES, BASE_HEX, NULL, 0,
17144         "h245.T_nonCollapsingRaw", HFILL }},
17145     { &hf_h245_transport,
17146       { "transport", "h245.transport",
17147         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
17148         "h245.DataProtocolCapability", HFILL }},
17149     { &hf_h245_standardOid,
17150       { "standard", "h245.standard",
17151         FT_OID, BASE_NONE, NULL, 0,
17152         "h245.T_standardOid", HFILL }},
17153     { &hf_h245_h221NonStandard,
17154       { "h221NonStandard", "h245.h221NonStandard",
17155         FT_NONE, BASE_NONE, NULL, 0,
17156         "h245.NonStandardParameter", HFILL }},
17157     { &hf_h245_uuid,
17158       { "uuid", "h245.uuid",
17159         FT_BYTES, BASE_HEX, NULL, 0,
17160         "h245.OCTET_STRING_SIZE_16", HFILL }},
17161     { &hf_h245_domainBased,
17162       { "domainBased", "h245.domainBased",
17163         FT_STRING, BASE_NONE, NULL, 0,
17164         "h245.IA5String_SIZE_1_64", HFILL }},
17165     { &hf_h245_parameterIdentifier,
17166       { "parameterIdentifier", "h245.parameterIdentifier",
17167         FT_UINT32, BASE_DEC, VALS(h245_ParameterIdentifier_vals), 0,
17168         "h245.ParameterIdentifier", HFILL }},
17169     { &hf_h245_parameterValue,
17170       { "parameterValue", "h245.parameterValue",
17171         FT_UINT32, BASE_DEC, VALS(h245_ParameterValue_vals), 0,
17172         "h245.ParameterValue", HFILL }},
17173     { &hf_h245_supersedes,
17174       { "supersedes", "h245.supersedes",
17175         FT_UINT32, BASE_DEC, NULL, 0,
17176         "h245.SEQUENCE_OF_ParameterIdentifier", HFILL }},
17177     { &hf_h245_supersedes_item,
17178       { "Item", "h245.supersedes_item",
17179         FT_UINT32, BASE_DEC, VALS(h245_ParameterIdentifier_vals), 0,
17180         "h245.ParameterIdentifier", HFILL }},
17181     { &hf_h245_standard,
17182       { "standard", "h245.standard",
17183         FT_UINT32, BASE_DEC, NULL, 0,
17184         "h245.T_standard", HFILL }},
17185     { &hf_h245_logical,
17186       { "logical", "h245.logical",
17187         FT_NONE, BASE_NONE, NULL, 0,
17188         "h245.NULL", HFILL }},
17189     { &hf_h245_booleanArray,
17190       { "booleanArray", "h245.booleanArray",
17191         FT_UINT32, BASE_DEC, NULL, 0,
17192         "h245.T_booleanArray", HFILL }},
17193     { &hf_h245_unsignedMin,
17194       { "unsignedMin", "h245.unsignedMin",
17195         FT_UINT32, BASE_DEC, NULL, 0,
17196         "h245.T_unsignedMin", HFILL }},
17197     { &hf_h245_unsignedMax,
17198       { "unsignedMax", "h245.unsignedMax",
17199         FT_UINT32, BASE_DEC, NULL, 0,
17200         "h245.INTEGER_0_65535", HFILL }},
17201     { &hf_h245_unsigned32Min,
17202       { "unsigned32Min", "h245.unsigned32Min",
17203         FT_UINT32, BASE_DEC, NULL, 0,
17204         "h245.INTEGER_0_4294967295", HFILL }},
17205     { &hf_h245_unsigned32Max,
17206       { "unsigned32Max", "h245.unsigned32Max",
17207         FT_UINT32, BASE_DEC, NULL, 0,
17208         "h245.INTEGER_0_4294967295", HFILL }},
17209     { &hf_h245_octetString,
17210       { "octetString", "h245.octetString",
17211         FT_UINT32, BASE_DEC, NULL, 0,
17212         "h245.T_octetString", HFILL }},
17213     { &hf_h245_genericParameters,
17214       { "genericParameter", "h245.genericParameter",
17215         FT_UINT32, BASE_DEC, NULL, 0,
17216         "h245.SEQUENCE_OF_GenericParameter", HFILL }},
17217     { &hf_h245_genericParameters_item,
17218       { "Item", "h245.genericParameter_item",
17219         FT_NONE, BASE_NONE, NULL, 0,
17220         "h245.GenericParameter", HFILL }},
17221     { &hf_h245_multiplexFormat,
17222       { "multiplexFormat", "h245.multiplexFormat",
17223         FT_UINT32, BASE_DEC, VALS(h245_MultiplexFormat_vals), 0,
17224         "h245.MultiplexFormat", HFILL }},
17225     { &hf_h245_controlOnMuxStream,
17226       { "controlOnMuxStream", "h245.controlOnMuxStream",
17227         FT_BOOLEAN, 8, NULL, 0,
17228         "h245.BOOLEAN", HFILL }},
17229     { &hf_h245_capabilityOnMuxStream,
17230       { "capabilityOnMuxStream", "h245.capabilityOnMuxStream",
17231         FT_UINT32, BASE_DEC, NULL, 0,
17232         "h245.SET_SIZE_1_256_OF_AlternativeCapabilitySet", HFILL }},
17233     { &hf_h245_capabilityOnMuxStream_item,
17234       { "Item", "h245.capabilityOnMuxStream_item",
17235         FT_UINT32, BASE_DEC, NULL, 0,
17236         "h245.AlternativeCapabilitySet", HFILL }},
17237     { &hf_h245_dynamicRTPPayloadType,
17238       { "dynamicRTPPayloadType", "h245.dynamicRTPPayloadType",
17239         FT_UINT32, BASE_DEC, NULL, 0,
17240         "h245.INTEGER_96_127", HFILL }},
17241     { &hf_h245_audioTelephoneEvent,
17242       { "audioTelephoneEvent", "h245.audioTelephoneEvent",
17243         FT_STRING, BASE_NONE, NULL, 0,
17244         "h245.GeneralString", HFILL }},
17245     { &hf_h245_capabilities,
17246       { "capabilities", "h245.capabilities",
17247         FT_UINT32, BASE_DEC, NULL, 0,
17248         "h245.SET_SIZE_1_256_OF_AlternativeCapabilitySet", HFILL }},
17249     { &hf_h245_capabilities_item,
17250       { "Item", "h245.capabilities_item",
17251         FT_UINT32, BASE_DEC, NULL, 0,
17252         "h245.AlternativeCapabilitySet", HFILL }},
17253     { &hf_h245_fecc_rfc2733,
17254       { "rfc2733", "h245.rfc2733",
17255         FT_NONE, BASE_NONE, NULL, 0,
17256         "h245.FECC_rfc2733", HFILL }},
17257     { &hf_h245_redundancyEncodingBool,
17258       { "redundancyEncoding", "h245.redundancyEncoding",
17259         FT_BOOLEAN, 8, NULL, 0,
17260         "h245.BOOLEAN", HFILL }},
17261     { &hf_h245_separateStreamBool,
17262       { "separateStream", "h245.separateStream",
17263         FT_NONE, BASE_NONE, NULL, 0,
17264         "h245.T_separateStreamBool", HFILL }},
17265     { &hf_h245_separatePort,
17266       { "separatePort", "h245.separatePort",
17267         FT_BOOLEAN, 8, NULL, 0,
17268         "h245.BOOLEAN", HFILL }},
17269     { &hf_h245_samePortBool,
17270       { "samePort", "h245.samePort",
17271         FT_BOOLEAN, 8, NULL, 0,
17272         "h245.BOOLEAN", HFILL }},
17273     { &hf_h245_protectedCapability,
17274       { "protectedCapability", "h245.protectedCapability",
17275         FT_UINT32, BASE_DEC, NULL, 0,
17276         "h245.CapabilityTableEntryNumber", HFILL }},
17277     { &hf_h245_fecScheme,
17278       { "fecScheme", "h245.fecScheme",
17279         FT_OID, BASE_NONE, NULL, 0,
17280         "h245.OBJECT_IDENTIFIER", HFILL }},
17281     { &hf_h245_rfc2733rfc2198,
17282       { "rfc2733rfc2198", "h245.rfc2733rfc2198",
17283         FT_UINT32, BASE_DEC, NULL, 0,
17284         "h245.MaxRedundancy", HFILL }},
17285     { &hf_h245_rfc2733sameport,
17286       { "rfc2733sameport", "h245.rfc2733sameport",
17287         FT_UINT32, BASE_DEC, NULL, 0,
17288         "h245.MaxRedundancy", HFILL }},
17289     { &hf_h245_rfc2733diffport,
17290       { "rfc2733diffport", "h245.rfc2733diffport",
17291         FT_UINT32, BASE_DEC, NULL, 0,
17292         "h245.MaxRedundancy", HFILL }},
17293     { &hf_h245_rfc2733Format,
17294       { "rfc2733Format", "h245.rfc2733Format",
17295         FT_UINT32, BASE_DEC, VALS(h245_Rfc2733Format_vals), 0,
17296         "h245.Rfc2733Format", HFILL }},
17297     { &hf_h245_olc_fw_lcn,
17298       { "forwardLogicalChannelNumber", "h245.forwardLogicalChannelNumber",
17299         FT_UINT32, BASE_DEC, NULL, 0,
17300         "h245.OLC_fw_lcn", HFILL }},
17301     { &hf_h245_forwardLogicalChannelParameters,
17302       { "forwardLogicalChannelParameters", "h245.forwardLogicalChannelParameters",
17303         FT_NONE, BASE_NONE, NULL, 0,
17304         "h245.T_forwardLogicalChannelParameters", HFILL }},
17305     { &hf_h245_portNumber,
17306       { "portNumber", "h245.portNumber",
17307         FT_UINT32, BASE_DEC, NULL, 0,
17308         "h245.INTEGER_0_65535", HFILL }},
17309     { &hf_h245_dataType,
17310       { "dataType", "h245.dataType",
17311         FT_UINT32, BASE_DEC, VALS(h245_DataType_vals), 0,
17312         "h245.DataType", HFILL }},
17313     { &hf_h245_olc_forw_multiplexParameters,
17314       { "multiplexParameters", "h245.multiplexParameters",
17315         FT_UINT32, BASE_DEC, VALS(h245_OLC_forw_multiplexParameters_vals), 0,
17316         "h245.OLC_forw_multiplexParameters", HFILL }},
17317     { &hf_h245_h222LogicalChannelParameters,
17318       { "h222LogicalChannelParameters", "h245.h222LogicalChannelParameters",
17319         FT_NONE, BASE_NONE, NULL, 0,
17320         "h245.H222LogicalChannelParameters", HFILL }},
17321     { &hf_h245_olc_fw_h223_params,
17322       { "h223LogicalChannelParameters", "h245.h223LogicalChannelParameters",
17323         FT_NONE, BASE_NONE, NULL, 0,
17324         "h245.OLC_fw_h223_params", HFILL }},
17325     { &hf_h245_v76LogicalChannelParameters,
17326       { "v76LogicalChannelParameters", "h245.v76LogicalChannelParameters",
17327         FT_NONE, BASE_NONE, NULL, 0,
17328         "h245.V76LogicalChannelParameters", HFILL }},
17329     { &hf_h245_h2250LogicalChannelParameters,
17330       { "h2250LogicalChannelParameters", "h245.h2250LogicalChannelParameters",
17331         FT_NONE, BASE_NONE, NULL, 0,
17332         "h245.H2250LogicalChannelParameters", HFILL }},
17333     { &hf_h245_forwardLogicalChannelDependency,
17334       { "forwardLogicalChannelDependency", "h245.forwardLogicalChannelDependency",
17335         FT_UINT32, BASE_DEC, NULL, 0,
17336         "h245.LogicalChannelNumber", HFILL }},
17337     { &hf_h245_replacementFor,
17338       { "replacementFor", "h245.replacementFor",
17339         FT_UINT32, BASE_DEC, NULL, 0,
17340         "h245.LogicalChannelNumber", HFILL }},
17341     { &hf_h245_reverseLogicalChannelParameters,
17342       { "reverseLogicalChannelParameters", "h245.reverseLogicalChannelParameters",
17343         FT_NONE, BASE_NONE, NULL, 0,
17344         "h245.OLC_reverseLogicalChannelParameters", HFILL }},
17345     { &hf_h245_olc_rev_multiplexParameter,
17346       { "multiplexParameters", "h245.multiplexParameters",
17347         FT_UINT32, BASE_DEC, VALS(h245_OLC_rev_multiplexParameters_vals), 0,
17348         "h245.OLC_rev_multiplexParameters", HFILL }},
17349     { &hf_h245_olc_rev_h223_params,
17350       { "h223LogicalChannelParameters", "h245.h223LogicalChannelParameters",
17351         FT_NONE, BASE_NONE, NULL, 0,
17352         "h245.OLC_rev_h223_params", HFILL }},
17353     { &hf_h245_reverseLogicalChannelDependency,
17354       { "reverseLogicalChannelDependency", "h245.reverseLogicalChannelDependency",
17355         FT_UINT32, BASE_DEC, NULL, 0,
17356         "h245.LogicalChannelNumber", HFILL }},
17357     { &hf_h245_separateStack,
17358       { "separateStack", "h245.separateStack",
17359         FT_NONE, BASE_NONE, NULL, 0,
17360         "h245.NetworkAccessParameters", HFILL }},
17361     { &hf_h245_encryptionSync,
17362       { "encryptionSync", "h245.encryptionSync",
17363         FT_NONE, BASE_NONE, NULL, 0,
17364         "h245.EncryptionSync", HFILL }},
17365     { &hf_h245_distribution,
17366       { "distribution", "h245.distribution",
17367         FT_UINT32, BASE_DEC, VALS(h245_T_distribution_vals), 0,
17368         "h245.T_distribution", HFILL }},
17369     { &hf_h245_unicast,
17370       { "unicast", "h245.unicast",
17371         FT_NONE, BASE_NONE, NULL, 0,
17372         "h245.NULL", HFILL }},
17373     { &hf_h245_multicast,
17374       { "multicast", "h245.multicast",
17375         FT_NONE, BASE_NONE, NULL, 0,
17376         "h245.NULL", HFILL }},
17377     { &hf_h245_networkAddress,
17378       { "networkAddress", "h245.networkAddress",
17379         FT_UINT32, BASE_DEC, VALS(h245_T_networkAddress_vals), 0,
17380         "h245.T_networkAddress", HFILL }},
17381     { &hf_h245_q2931Address,
17382       { "q2931Address", "h245.q2931Address",
17383         FT_NONE, BASE_NONE, NULL, 0,
17384         "h245.Q2931Address", HFILL }},
17385     { &hf_h245_e164Address,
17386       { "e164Address", "h245.e164Address",
17387         FT_STRING, BASE_NONE, NULL, 0,
17388         "h245.T_e164Address", HFILL }},
17389     { &hf_h245_localAreaAddress,
17390       { "localAreaAddress", "h245.localAreaAddress",
17391         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
17392         "h245.TransportAddress", HFILL }},
17393     { &hf_h245_associateConference,
17394       { "associateConference", "h245.associateConference",
17395         FT_BOOLEAN, 8, NULL, 0,
17396         "h245.BOOLEAN", HFILL }},
17397     { &hf_h245_externalReference,
17398       { "externalReference", "h245.externalReference",
17399         FT_BYTES, BASE_HEX, NULL, 0,
17400         "h245.OCTET_STRING_SIZE_1_255", HFILL }},
17401     { &hf_h245_t120SetupProcedure,
17402       { "t120SetupProcedure", "h245.t120SetupProcedure",
17403         FT_UINT32, BASE_DEC, VALS(h245_T_t120SetupProcedure_vals), 0,
17404         "h245.T_t120SetupProcedure", HFILL }},
17405     { &hf_h245_originateCall,
17406       { "originateCall", "h245.originateCall",
17407         FT_NONE, BASE_NONE, NULL, 0,
17408         "h245.NULL", HFILL }},
17409     { &hf_h245_waitForCall,
17410       { "waitForCall", "h245.waitForCall",
17411         FT_NONE, BASE_NONE, NULL, 0,
17412         "h245.NULL", HFILL }},
17413     { &hf_h245_issueQuery,
17414       { "issueQuery", "h245.issueQuery",
17415         FT_NONE, BASE_NONE, NULL, 0,
17416         "h245.NULL", HFILL }},
17417     { &hf_h245_address,
17418       { "address", "h245.address",
17419         FT_UINT32, BASE_DEC, VALS(h245_T_address_vals), 0,
17420         "h245.T_address", HFILL }},
17421     { &hf_h245_internationalNumber,
17422       { "internationalNumber", "h245.internationalNumber",
17423         FT_STRING, BASE_NONE, NULL, 0,
17424         "h245.NumericString_SIZE_1_16", HFILL }},
17425     { &hf_h245_nsapAddress,
17426       { "nsapAddress", "h245.nsapAddress",
17427         FT_BYTES, BASE_HEX, NULL, 0,
17428         "h245.OCTET_STRING_SIZE_1_20", HFILL }},
17429     { &hf_h245_subaddress,
17430       { "subaddress", "h245.subaddress",
17431         FT_BYTES, BASE_HEX, NULL, 0,
17432         "h245.OCTET_STRING_SIZE_1_20", HFILL }},
17433     { &hf_h245_audioHeaderPresent,
17434       { "audioHeaderPresent", "h245.audioHeaderPresent",
17435         FT_BOOLEAN, 8, NULL, 0,
17436         "h245.BOOLEAN", HFILL }},
17437     { &hf_h245_nullData,
17438       { "nullData", "h245.nullData",
17439         FT_NONE, BASE_NONE, NULL, 0,
17440         "h245.NULL", HFILL }},
17441     { &hf_h245_videoData,
17442       { "videoData", "h245.videoData",
17443         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
17444         "h245.VideoCapability", HFILL }},
17445     { &hf_h245_audioData,
17446       { "audioData", "h245.audioData",
17447         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
17448         "h245.AudioCapability", HFILL }},
17449     { &hf_h245_data,
17450       { "data", "h245.data",
17451         FT_NONE, BASE_NONE, NULL, 0,
17452         "h245.DataApplicationCapability", HFILL }},
17453     { &hf_h245_encryptionData,
17454       { "encryptionData", "h245.encryptionData",
17455         FT_UINT32, BASE_DEC, VALS(h245_EncryptionMode_vals), 0,
17456         "h245.EncryptionMode", HFILL }},
17457     { &hf_h245_h235Control,
17458       { "h235Control", "h245.h235Control",
17459         FT_NONE, BASE_NONE, NULL, 0,
17460         "h245.NonStandardParameter", HFILL }},
17461     { &hf_h245_h235Media,
17462       { "h235Media", "h245.h235Media",
17463         FT_NONE, BASE_NONE, NULL, 0,
17464         "h245.H235Media", HFILL }},
17465     { &hf_h245_multiplexedStream,
17466       { "multiplexedStream", "h245.multiplexedStream",
17467         FT_NONE, BASE_NONE, NULL, 0,
17468         "h245.MultiplexedStreamParameter", HFILL }},
17469     { &hf_h245_redundancyEncoding,
17470       { "redundancyEncoding", "h245.redundancyEncoding",
17471         FT_NONE, BASE_NONE, NULL, 0,
17472         "h245.RedundancyEncoding", HFILL }},
17473     { &hf_h245_multiplePayloadStream,
17474       { "multiplePayloadStream", "h245.multiplePayloadStream",
17475         FT_NONE, BASE_NONE, NULL, 0,
17476         "h245.MultiplePayloadStream", HFILL }},
17477     { &hf_h245_depFec,
17478       { "depFec", "h245.depFec",
17479         FT_UINT32, BASE_DEC, VALS(h245_DepFECData_vals), 0,
17480         "h245.DepFECData", HFILL }},
17481     { &hf_h245_fec,
17482       { "fec", "h245.fec",
17483         FT_UINT32, BASE_DEC, VALS(h245_FECData_vals), 0,
17484         "h245.FECData", HFILL }},
17485     { &hf_h245_mediaType,
17486       { "mediaType", "h245.mediaType",
17487         FT_UINT32, BASE_DEC, VALS(h245_T_mediaType_vals), 0,
17488         "h245.T_mediaType", HFILL }},
17489     { &hf_h245_resourceID,
17490       { "resourceID", "h245.resourceID",
17491         FT_UINT32, BASE_DEC, NULL, 0,
17492         "h245.INTEGER_0_65535", HFILL }},
17493     { &hf_h245_subChannelID,
17494       { "subChannelID", "h245.subChannelID",
17495         FT_UINT32, BASE_DEC, NULL, 0,
17496         "h245.INTEGER_0_8191", HFILL }},
17497     { &hf_h245_pcr_pid,
17498       { "pcr-pid", "h245.pcr_pid",
17499         FT_UINT32, BASE_DEC, NULL, 0,
17500         "h245.INTEGER_0_8191", HFILL }},
17501     { &hf_h245_programDescriptors,
17502       { "programDescriptors", "h245.programDescriptors",
17503         FT_BYTES, BASE_HEX, NULL, 0,
17504         "h245.OCTET_STRING", HFILL }},
17505     { &hf_h245_streamDescriptors,
17506       { "streamDescriptors", "h245.streamDescriptors",
17507         FT_BYTES, BASE_HEX, NULL, 0,
17508         "h245.OCTET_STRING", HFILL }},
17509     { &hf_h245_adaptationLayerType,
17510       { "adaptationLayerType", "h245.adaptationLayerType",
17511         FT_UINT32, BASE_DEC, VALS(h245_T_adaptationLayerType_vals), 0,
17512         "h245.T_adaptationLayerType", HFILL }},
17513     { &hf_h245_h223_al_type_al1Framed,
17514       { "al1Framed", "h245.al1Framed",
17515         FT_NONE, BASE_NONE, NULL, 0,
17516         "h245.T_h223_al_type_al1Framed", HFILL }},
17517     { &hf_h245_h223_al_type_al1NotFramed,
17518       { "al1NotFramed", "h245.al1NotFramed",
17519         FT_NONE, BASE_NONE, NULL, 0,
17520         "h245.T_h223_al_type_al1NotFramed", HFILL }},
17521     { &hf_h245_h223_al_type_al2WithoutSequenceNumbers,
17522       { "al2WithoutSequenceNumbers", "h245.al2WithoutSequenceNumbers",
17523         FT_NONE, BASE_NONE, NULL, 0,
17524         "h245.T_h223_al_type_al2WithoutSequenceNumbers", HFILL }},
17525     { &hf_h245_h223_al_type_al2WithSequenceNumbers,
17526       { "al2WithSequenceNumbers", "h245.al2WithSequenceNumbers",
17527         FT_NONE, BASE_NONE, NULL, 0,
17528         "h245.T_h223_al_type_al2WithSequenceNumbers", HFILL }},
17529     { &hf_h245_controlFieldOctets,
17530       { "controlFieldOctets", "h245.controlFieldOctets",
17531         FT_UINT32, BASE_DEC, NULL, 0,
17532         "h245.T_controlFieldOctets", HFILL }},
17533     { &hf_h245_al3_sendBufferSize,
17534       { "sendBufferSize", "h245.sendBufferSize",
17535         FT_UINT32, BASE_DEC, NULL, 0,
17536         "h245.T_al3_sendBufferSize", HFILL }},
17537     { &hf_h245_h223_al_type_al3,
17538       { "al3", "h245.al3",
17539         FT_NONE, BASE_NONE, NULL, 0,
17540         "h245.T_h223_al_type_al3", HFILL }},
17541     { &hf_h245_h223_al_type_al1M,
17542       { "al1M", "h245.al1M",
17543         FT_NONE, BASE_NONE, NULL, 0,
17544         "h245.T_h223_al_type_al1M", HFILL }},
17545     { &hf_h245_h223_al_type_al2M,
17546       { "al2M", "h245.al2M",
17547         FT_NONE, BASE_NONE, NULL, 0,
17548         "h245.T_h223_al_type_al2M", HFILL }},
17549     { &hf_h245_h223_al_type_al3M,
17550       { "al3M", "h245.al3M",
17551         FT_NONE, BASE_NONE, NULL, 0,
17552         "h245.T_h223_al_type_al3M", HFILL }},
17553     { &hf_h245_h223_lc_segmentableFlag,
17554       { "segmentableFlag", "h245.segmentableFlag",
17555         FT_BOOLEAN, 8, NULL, 0,
17556         "h245.T_h223_lc_segmentableFlag", HFILL }},
17557     { &hf_h245_transferMode,
17558       { "transferMode", "h245.transferMode",
17559         FT_UINT32, BASE_DEC, VALS(h245_T_transferMode_vals), 0,
17560         "h245.T_transferMode", HFILL }},
17561     { &hf_h245_framed,
17562       { "framed", "h245.framed",
17563         FT_NONE, BASE_NONE, NULL, 0,
17564         "h245.NULL", HFILL }},
17565     { &hf_h245_unframed,
17566       { "unframed", "h245.unframed",
17567         FT_NONE, BASE_NONE, NULL, 0,
17568         "h245.NULL", HFILL }},
17569     { &hf_h245_aL1HeaderFEC,
17570       { "headerFEC", "h245.headerFEC",
17571         FT_UINT32, BASE_DEC, VALS(h245_AL1HeaderFEC_vals), 0,
17572         "h245.AL1HeaderFEC", HFILL }},
17573     { &hf_h245_sebch16_7,
17574       { "sebch16-7", "h245.sebch16_7",
17575         FT_NONE, BASE_NONE, NULL, 0,
17576         "h245.NULL", HFILL }},
17577     { &hf_h245_golay24_12,
17578       { "golay24-12", "h245.golay24_12",
17579         FT_NONE, BASE_NONE, NULL, 0,
17580         "h245.NULL", HFILL }},
17581     { &hf_h245_crcLength2,
17582       { "crcLength", "h245.crcLength",
17583         FT_UINT32, BASE_DEC, VALS(h245_AL1CrcLength_vals), 0,
17584         "h245.AL1CrcLength", HFILL }},
17585     { &hf_h245_crc4bit,
17586       { "crc4bit", "h245.crc4bit",
17587         FT_NONE, BASE_NONE, NULL, 0,
17588         "h245.NULL", HFILL }},
17589     { &hf_h245_crc12bit,
17590       { "crc12bit", "h245.crc12bit",
17591         FT_NONE, BASE_NONE, NULL, 0,
17592         "h245.NULL", HFILL }},
17593     { &hf_h245_crc20bit,
17594       { "crc20bit", "h245.crc20bit",
17595         FT_NONE, BASE_NONE, NULL, 0,
17596         "h245.NULL", HFILL }},
17597     { &hf_h245_crc28bit,
17598       { "crc28bit", "h245.crc28bit",
17599         FT_NONE, BASE_NONE, NULL, 0,
17600         "h245.NULL", HFILL }},
17601     { &hf_h245_crc8bit,
17602       { "crc8bit", "h245.crc8bit",
17603         FT_NONE, BASE_NONE, NULL, 0,
17604         "h245.NULL", HFILL }},
17605     { &hf_h245_crc16bit,
17606       { "crc16bit", "h245.crc16bit",
17607         FT_NONE, BASE_NONE, NULL, 0,
17608         "h245.NULL", HFILL }},
17609     { &hf_h245_crc32bit,
17610       { "crc32bit", "h245.crc32bit",
17611         FT_NONE, BASE_NONE, NULL, 0,
17612         "h245.NULL", HFILL }},
17613     { &hf_h245_crcNotUsed,
17614       { "crcNotUsed", "h245.crcNotUsed",
17615         FT_NONE, BASE_NONE, NULL, 0,
17616         "h245.NULL", HFILL }},
17617     { &hf_h245_rcpcCodeRate,
17618       { "rcpcCodeRate", "h245.rcpcCodeRate",
17619         FT_UINT32, BASE_DEC, NULL, 0,
17620         "h245.INTEGER_8_32", HFILL }},
17621     { &hf_h245_noArq,
17622       { "noArq", "h245.noArq",
17623         FT_NONE, BASE_NONE, NULL, 0,
17624         "h245.NULL", HFILL }},
17625     { &hf_h245_typeIArq,
17626       { "typeIArq", "h245.typeIArq",
17627         FT_NONE, BASE_NONE, NULL, 0,
17628         "h245.H223AnnexCArqParameters", HFILL }},
17629     { &hf_h245_typeIIArq,
17630       { "typeIIArq", "h245.typeIIArq",
17631         FT_NONE, BASE_NONE, NULL, 0,
17632         "h245.H223AnnexCArqParameters", HFILL }},
17633     { &hf_h245_arqType,
17634       { "arqType", "h245.arqType",
17635         FT_UINT32, BASE_DEC, VALS(h245_ArqType_vals), 0,
17636         "h245.ArqType", HFILL }},
17637     { &hf_h245_alsduSplitting,
17638       { "alsduSplitting", "h245.alsduSplitting",
17639         FT_BOOLEAN, 8, NULL, 0,
17640         "h245.BOOLEAN", HFILL }},
17641     { &hf_h245_rsCodeCorrection,
17642       { "rsCodeCorrection", "h245.rsCodeCorrection",
17643         FT_UINT32, BASE_DEC, NULL, 0,
17644         "h245.INTEGER_0_127", HFILL }},
17645     { &hf_h245_aL2HeaderFEC,
17646       { "headerFEC", "h245.headerFEC",
17647         FT_UINT32, BASE_DEC, VALS(h245_AL2HeaderFEC_vals), 0,
17648         "h245.AL2HeaderFEC", HFILL }},
17649     { &hf_h245_sebch16_5,
17650       { "sebch16-5", "h245.sebch16_5",
17651         FT_NONE, BASE_NONE, NULL, 0,
17652         "h245.NULL", HFILL }},
17653     { &hf_h245_headerFormat,
17654       { "headerFormat", "h245.headerFormat",
17655         FT_UINT32, BASE_DEC, VALS(h245_T_headerFormat_vals), 0,
17656         "h245.T_headerFormat", HFILL }},
17657     { &hf_h245_crlength2,
17658       { "crcLength", "h245.crcLength",
17659         FT_UINT32, BASE_DEC, VALS(h245_AL3CrcLength_vals), 0,
17660         "h245.AL3CrcLength", HFILL }},
17661     { &hf_h245_numberOfRetransmissions,
17662       { "numberOfRetransmissions", "h245.numberOfRetransmissions",
17663         FT_UINT32, BASE_DEC, VALS(h245_T_numberOfRetransmissions_vals), 0,
17664         "h245.T_numberOfRetransmissions", HFILL }},
17665     { &hf_h245_finite,
17666       { "finite", "h245.finite",
17667         FT_UINT32, BASE_DEC, NULL, 0,
17668         "h245.INTEGER_0_16", HFILL }},
17669     { &hf_h245_infinite,
17670       { "infinite", "h245.infinite",
17671         FT_NONE, BASE_NONE, NULL, 0,
17672         "h245.NULL", HFILL }},
17673     { &hf_h245_sendBufferSize,
17674       { "sendBufferSize", "h245.sendBufferSize",
17675         FT_UINT32, BASE_DEC, NULL, 0,
17676         "h245.INTEGER_0_16777215", HFILL }},
17677     { &hf_h245_hdlcParameters,
17678       { "hdlcParameters", "h245.hdlcParameters",
17679         FT_NONE, BASE_NONE, NULL, 0,
17680         "h245.V76HDLCParameters", HFILL }},
17681     { &hf_h245_suspendResume,
17682       { "suspendResume", "h245.suspendResume",
17683         FT_UINT32, BASE_DEC, VALS(h245_T_suspendResume_vals), 0,
17684         "h245.T_suspendResume", HFILL }},
17685     { &hf_h245_noSuspendResume,
17686       { "noSuspendResume", "h245.noSuspendResume",
17687         FT_NONE, BASE_NONE, NULL, 0,
17688         "h245.NULL", HFILL }},
17689     { &hf_h245_suspendResumewAddress,
17690       { "suspendResumewAddress", "h245.suspendResumewAddress",
17691         FT_NONE, BASE_NONE, NULL, 0,
17692         "h245.NULL", HFILL }},
17693     { &hf_h245_suspendResumewoAddress,
17694       { "suspendResumewoAddress", "h245.suspendResumewoAddress",
17695         FT_NONE, BASE_NONE, NULL, 0,
17696         "h245.NULL", HFILL }},
17697     { &hf_h245_uIH,
17698       { "uIH", "h245.uIH",
17699         FT_BOOLEAN, 8, NULL, 0,
17700         "h245.BOOLEAN", HFILL }},
17701     { &hf_h245_v76_mode,
17702       { "mode", "h245.mode",
17703         FT_UINT32, BASE_DEC, VALS(h245_V76LCP_mode_vals), 0,
17704         "h245.V76LCP_mode", HFILL }},
17705     { &hf_h245_eRM,
17706       { "eRM", "h245.eRM",
17707         FT_NONE, BASE_NONE, NULL, 0,
17708         "h245.T_eRM", HFILL }},
17709     { &hf_h245_windowSize,
17710       { "windowSize", "h245.windowSize",
17711         FT_UINT32, BASE_DEC, NULL, 0,
17712         "h245.INTEGER_1_127", HFILL }},
17713     { &hf_h245_recovery,
17714       { "recovery", "h245.recovery",
17715         FT_UINT32, BASE_DEC, VALS(h245_T_recovery_vals), 0,
17716         "h245.T_recovery", HFILL }},
17717     { &hf_h245_rej,
17718       { "rej", "h245.rej",
17719         FT_NONE, BASE_NONE, NULL, 0,
17720         "h245.NULL", HFILL }},
17721     { &hf_h245_sREJ,
17722       { "sREJ", "h245.sREJ",
17723         FT_NONE, BASE_NONE, NULL, 0,
17724         "h245.NULL", HFILL }},
17725     { &hf_h245_mSREJ,
17726       { "mSREJ", "h245.mSREJ",
17727         FT_NONE, BASE_NONE, NULL, 0,
17728         "h245.NULL", HFILL }},
17729     { &hf_h245_uNERM,
17730       { "uNERM", "h245.uNERM",
17731         FT_NONE, BASE_NONE, NULL, 0,
17732         "h245.NULL", HFILL }},
17733     { &hf_h245_v75Parameters,
17734       { "v75Parameters", "h245.v75Parameters",
17735         FT_NONE, BASE_NONE, NULL, 0,
17736         "h245.V75Parameters", HFILL }},
17737     { &hf_h245_crcLength,
17738       { "crcLength", "h245.crcLength",
17739         FT_UINT32, BASE_DEC, VALS(h245_CRCLength_vals), 0,
17740         "h245.CRCLength", HFILL }},
17741     { &hf_h245_n401,
17742       { "n401", "h245.n401",
17743         FT_UINT32, BASE_DEC, NULL, 0,
17744         "h245.INTEGER_1_4095", HFILL }},
17745     { &hf_h245_loopbackTestProcedure,
17746       { "loopbackTestProcedure", "h245.loopbackTestProcedure",
17747         FT_BOOLEAN, 8, NULL, 0,
17748         "h245.BOOLEAN", HFILL }},
17749     { &hf_h245_sessionID_0_255,
17750       { "sessionID", "h245.sessionID",
17751         FT_UINT32, BASE_DEC, NULL, 0,
17752         "h245.INTEGER_0_255", HFILL }},
17753     { &hf_h245_associatedSessionID,
17754       { "associatedSessionID", "h245.associatedSessionID",
17755         FT_UINT32, BASE_DEC, NULL, 0,
17756         "h245.INTEGER_1_255", HFILL }},
17757     { &hf_h245_mediaChannel,
17758       { "mediaChannel", "h245.mediaChannel",
17759         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
17760         "h245.T_mediaChannel", HFILL }},
17761     { &hf_h245_mediaGuaranteedDelivery,
17762       { "mediaGuaranteedDelivery", "h245.mediaGuaranteedDelivery",
17763         FT_BOOLEAN, 8, NULL, 0,
17764         "h245.BOOLEAN", HFILL }},
17765     { &hf_h245_mediaControlChannel,
17766       { "mediaControlChannel", "h245.mediaControlChannel",
17767         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
17768         "h245.T_mediaControlChannel", HFILL }},
17769     { &hf_h245_mediaControlGuaranteedDelivery,
17770       { "mediaControlGuaranteedDelivery", "h245.mediaControlGuaranteedDelivery",
17771         FT_BOOLEAN, 8, NULL, 0,
17772         "h245.BOOLEAN", HFILL }},
17773     { &hf_h245_destination,
17774       { "destination", "h245.destination",
17775         FT_NONE, BASE_NONE, NULL, 0,
17776         "h245.TerminalLabel", HFILL }},
17777     { &hf_h245_mediaPacketization,
17778       { "mediaPacketization", "h245.mediaPacketization",
17779         FT_UINT32, BASE_DEC, VALS(h245_T_mediaPacketization_vals), 0,
17780         "h245.T_mediaPacketization", HFILL }},
17781     { &hf_h245_h261aVideoPacketizationFlag,
17782       { "h261aVideoPacketization", "h245.h261aVideoPacketization",
17783         FT_NONE, BASE_NONE, NULL, 0,
17784         "h245.NULL", HFILL }},
17785     { &hf_h245_rtpPayloadType,
17786       { "rtpPayloadType", "h245.rtpPayloadType",
17787         FT_NONE, BASE_NONE, NULL, 0,
17788         "h245.RTPPayloadType", HFILL }},
17789     { &hf_h245_source,
17790       { "source", "h245.source",
17791         FT_NONE, BASE_NONE, NULL, 0,
17792         "h245.TerminalLabel", HFILL }},
17793     { &hf_h245_payloadDescriptor,
17794       { "payloadDescriptor", "h245.payloadDescriptor",
17795         FT_UINT32, BASE_DEC, VALS(h245_T_payloadDescriptor_vals), 0,
17796         "h245.T_payloadDescriptor", HFILL }},
17797     { &hf_h245_rfc_number,
17798       { "rfc-number", "h245.rfc_number",
17799         FT_UINT32, BASE_DEC, VALS(h245_RFC_number_vals), 0,
17800         "h245.T_rfc_number", HFILL }},
17801     { &hf_h245_oid,
17802       { "oid", "h245.oid",
17803         FT_OID, BASE_NONE, NULL, 0,
17804         "h245.OBJECT_IDENTIFIER", HFILL }},
17805     { &hf_h245_payloadType,
17806       { "payloadType", "h245.payloadType",
17807         FT_UINT32, BASE_DEC, NULL, 0,
17808         "h245.T_payloadType", HFILL }},
17809     { &hf_h245_secondaryEncoding,
17810       { "secondaryEncoding", "h245.secondaryEncoding",
17811         FT_UINT32, BASE_DEC, VALS(h245_DataType_vals), 0,
17812         "h245.DataType", HFILL }},
17813     { &hf_h245_rtpRedundancyEncoding,
17814       { "rtpRedundancyEncoding", "h245.rtpRedundancyEncoding",
17815         FT_NONE, BASE_NONE, NULL, 0,
17816         "h245.T_rtpRedundancyEncoding", HFILL }},
17817     { &hf_h245_primary,
17818       { "primary", "h245.primary",
17819         FT_NONE, BASE_NONE, NULL, 0,
17820         "h245.RedundancyEncodingElement", HFILL }},
17821     { &hf_h245_secondary,
17822       { "secondary", "h245.secondary",
17823         FT_UINT32, BASE_DEC, NULL, 0,
17824         "h245.SEQUENCE_OF_RedundancyEncodingElement", HFILL }},
17825     { &hf_h245_secondary_item,
17826       { "Item", "h245.secondary_item",
17827         FT_NONE, BASE_NONE, NULL, 0,
17828         "h245.RedundancyEncodingElement", HFILL }},
17829     { &hf_h245_payloadType_01,
17830       { "payloadType", "h245.payloadType",
17831         FT_UINT32, BASE_DEC, NULL, 0,
17832         "h245.INTEGER_0_127", HFILL }},
17833     { &hf_h245_elements,
17834       { "elements", "h245.elements",
17835         FT_UINT32, BASE_DEC, NULL, 0,
17836         "h245.SEQUENCE_OF_MultiplePayloadStreamElement", HFILL }},
17837     { &hf_h245_elements_item,
17838       { "Item", "h245.elements_item",
17839         FT_NONE, BASE_NONE, NULL, 0,
17840         "h245.MultiplePayloadStreamElement", HFILL }},
17841     { &hf_h245_dep_rfc2733,
17842       { "rfc2733", "h245.rfc2733",
17843         FT_NONE, BASE_NONE, NULL, 0,
17844         "h245.RFC2733Data", HFILL }},
17845     { &hf_h245_fec_data_mode,
17846       { "mode", "h245.mode",
17847         FT_UINT32, BASE_DEC, VALS(h245_FECdata_mode_vals), 0,
17848         "h245.FECdata_mode", HFILL }},
17849     { &hf_h245_redundancyEncodingFlag,
17850       { "redundancyEncoding", "h245.redundancyEncoding",
17851         FT_NONE, BASE_NONE, NULL, 0,
17852         "h245.NULL", HFILL }},
17853     { &hf_h245_differentPort,
17854       { "differentPort", "h245.differentPort",
17855         FT_NONE, BASE_NONE, NULL, 0,
17856         "h245.T_differentPort", HFILL }},
17857     { &hf_h245_protectedSessionID,
17858       { "protectedSessionID", "h245.protectedSessionID",
17859         FT_UINT32, BASE_DEC, NULL, 0,
17860         "h245.INTEGER_1_255", HFILL }},
17861     { &hf_h245_protectedPayloadType,
17862       { "protectedPayloadType", "h245.protectedPayloadType",
17863         FT_UINT32, BASE_DEC, NULL, 0,
17864         "h245.INTEGER_0_127", HFILL }},
17865     { &hf_h245_samePort,
17866       { "samePort", "h245.samePort",
17867         FT_NONE, BASE_NONE, NULL, 0,
17868         "h245.T_samePort", HFILL }},
17869     { &hf_h245_separateStream,
17870       { "separateStream", "h245.separateStream",
17871         FT_UINT32, BASE_DEC, VALS(h245_DepSeparateStream_vals), 0,
17872         "h245.DepSeparateStream", HFILL }},
17873     { &hf_h245_rfc2733,
17874       { "rfc2733", "h245.rfc2733",
17875         FT_NONE, BASE_NONE, NULL, 0,
17876         "h245.T_rfc2733", HFILL }},
17877     { &hf_h245_pktMode,
17878       { "pktMode", "h245.pktMode",
17879         FT_UINT32, BASE_DEC, VALS(h245_T_pktMode_vals), 0,
17880         "h245.T_pktMode", HFILL }},
17881     { &hf_h245_rfc2198coding,
17882       { "rfc2198coding", "h245.rfc2198coding",
17883         FT_NONE, BASE_NONE, NULL, 0,
17884         "h245.NULL", HFILL }},
17885     { &hf_h245_mode_rfc2733sameport,
17886       { "rfc2733sameport", "h245.rfc2733sameport",
17887         FT_NONE, BASE_NONE, NULL, 0,
17888         "h245.T_mode_rfc2733sameport", HFILL }},
17889     { &hf_h245_mode_rfc2733diffport,
17890       { "rfc2733diffport", "h245.rfc2733diffport",
17891         FT_NONE, BASE_NONE, NULL, 0,
17892         "h245.T_mode_rfc2733diffport", HFILL }},
17893     { &hf_h245_protectedChannel,
17894       { "protectedChannel", "h245.protectedChannel",
17895         FT_UINT32, BASE_DEC, NULL, 0,
17896         "h245.LogicalChannelNumber", HFILL }},
17897     { &hf_h245_unicastAddress,
17898       { "unicastAddress", "h245.unicastAddress",
17899         FT_UINT32, BASE_DEC, VALS(h245_UnicastAddress_vals), 0,
17900         "h245.UnicastAddress", HFILL }},
17901     { &hf_h245_multicastAddress,
17902       { "multicastAddress", "h245.multicastAddress",
17903         FT_UINT32, BASE_DEC, VALS(h245_MulticastAddress_vals), 0,
17904         "h245.MulticastAddress", HFILL }},
17905     { &hf_h245_iPAddress,
17906       { "iPAddress", "h245.iPAddress",
17907         FT_NONE, BASE_NONE, NULL, 0,
17908         "h245.T_iPAddress", HFILL }},
17909     { &hf_h245_ip4_network,
17910       { "network", "h245.network",
17911         FT_IPv4, BASE_NONE, NULL, 0,
17912         "h245.Ipv4_network", HFILL }},
17913     { &hf_h245_tsapIdentifier,
17914       { "tsapIdentifier", "h245.tsapIdentifier",
17915         FT_UINT32, BASE_DEC, NULL, 0,
17916         "h245.TsapIdentifier", HFILL }},
17917     { &hf_h245_iPXAddress,
17918       { "iPXAddress", "h245.iPXAddress",
17919         FT_NONE, BASE_NONE, NULL, 0,
17920         "h245.T_iPXAddress", HFILL }},
17921     { &hf_h245_node,
17922       { "node", "h245.node",
17923         FT_BYTES, BASE_HEX, NULL, 0,
17924         "h245.OCTET_STRING_SIZE_6", HFILL }},
17925     { &hf_h245_netnum,
17926       { "netnum", "h245.netnum",
17927         FT_BYTES, BASE_HEX, NULL, 0,
17928         "h245.OCTET_STRING_SIZE_4", HFILL }},
17929     { &hf_h245_ipx_tsapIdentifier,
17930       { "tsapIdentifier", "h245.tsapIdentifier",
17931         FT_BYTES, BASE_HEX, NULL, 0,
17932         "h245.OCTET_STRING_SIZE_2", HFILL }},
17933     { &hf_h245_iP6Address,
17934       { "iP6Address", "h245.iP6Address",
17935         FT_NONE, BASE_NONE, NULL, 0,
17936         "h245.T_iP6Address", HFILL }},
17937     { &hf_h245_ip6_network,
17938       { "network", "h245.network",
17939         FT_IPv6, BASE_NONE, NULL, 0,
17940         "h245.OCTET_STRING_SIZE_16", HFILL }},
17941     { &hf_h245_ipv6_tsapIdentifier,
17942       { "tsapIdentifier", "h245.tsapIdentifier",
17943         FT_UINT32, BASE_DEC, NULL, 0,
17944         "h245.INTEGER_0_65535", HFILL }},
17945     { &hf_h245_netBios,
17946       { "netBios", "h245.netBios",
17947         FT_BYTES, BASE_HEX, NULL, 0,
17948         "h245.OCTET_STRING_SIZE_16", HFILL }},
17949     { &hf_h245_iPSourceRouteAddress,
17950       { "iPSourceRouteAddress", "h245.iPSourceRouteAddress",
17951         FT_NONE, BASE_NONE, NULL, 0,
17952         "h245.T_iPSourceRouteAddress", HFILL }},
17953     { &hf_h245_routing,
17954       { "routing", "h245.routing",
17955         FT_UINT32, BASE_DEC, VALS(h245_T_routing_vals), 0,
17956         "h245.T_routing", HFILL }},
17957     { &hf_h245_strict,
17958       { "strict", "h245.strict",
17959         FT_NONE, BASE_NONE, NULL, 0,
17960         "h245.NULL", HFILL }},
17961     { &hf_h245_loose,
17962       { "loose", "h245.loose",
17963         FT_NONE, BASE_NONE, NULL, 0,
17964         "h245.NULL", HFILL }},
17965     { &hf_h245_network,
17966       { "network", "h245.network",
17967         FT_BYTES, BASE_HEX, NULL, 0,
17968         "h245.OCTET_STRING_SIZE_4", HFILL }},
17969     { &hf_h245_iPSrcRoute_tsapIdentifier,
17970       { "tsapIdentifier", "h245.tsapIdentifier",
17971         FT_UINT32, BASE_DEC, NULL, 0,
17972         "h245.INTEGER_0_65535", HFILL }},
17973     { &hf_h245_route,
17974       { "route", "h245.route",
17975         FT_UINT32, BASE_DEC, NULL, 0,
17976         "h245.T_route", HFILL }},
17977     { &hf_h245_route_item,
17978       { "Item", "h245.route_item",
17979         FT_BYTES, BASE_HEX, NULL, 0,
17980         "h245.OCTET_STRING_SIZE_4", HFILL }},
17981     { &hf_h245_nsap,
17982       { "nsap", "h245.nsap",
17983         FT_BYTES, BASE_HEX, NULL, 0,
17984         "h245.OCTET_STRING_SIZE_1_20", HFILL }},
17985     { &hf_h245_nonStandardAddress,
17986       { "nonStandardAddress", "h245.nonStandardAddress",
17987         FT_NONE, BASE_NONE, NULL, 0,
17988         "h245.NonStandardParameter", HFILL }},
17989     { &hf_h245_mIPAddress,
17990       { "iPAddress", "h245.iPAddress",
17991         FT_NONE, BASE_NONE, NULL, 0,
17992         "h245.MIPAddress", HFILL }},
17993     { &hf_h245_mip4_network,
17994       { "network", "h245.network",
17995         FT_IPv4, BASE_NONE, NULL, 0,
17996         "h245.OCTET_STRING_SIZE_4", HFILL }},
17997     { &hf_h245_multicast_tsapIdentifier,
17998       { "tsapIdentifier", "h245.tsapIdentifier",
17999         FT_UINT32, BASE_DEC, NULL, 0,
18000         "h245.INTEGER_0_65535", HFILL }},
18001     { &hf_h245_mIP6Address,
18002       { "iP6Address", "h245.iP6Address",
18003         FT_NONE, BASE_NONE, NULL, 0,
18004         "h245.MIP6Address", HFILL }},
18005     { &hf_h245_mip6_network,
18006       { "network", "h245.network",
18007         FT_IPv6, BASE_NONE, NULL, 0,
18008         "h245.OCTET_STRING_SIZE_16", HFILL }},
18009     { &hf_h245_multicast_IPv6_tsapIdentifier,
18010       { "tsapIdentifier", "h245.tsapIdentifier",
18011         FT_UINT32, BASE_DEC, NULL, 0,
18012         "h245.INTEGER_0_65535", HFILL }},
18013     { &hf_h245_synchFlag,
18014       { "synchFlag", "h245.synchFlag",
18015         FT_UINT32, BASE_DEC, NULL, 0,
18016         "h245.INTEGER_0_255", HFILL }},
18017     { &hf_h245_h235Key,
18018       { "h235Key", "h245.h235Key",
18019         FT_BYTES, BASE_HEX, NULL, 0,
18020         "h245.OCTET_STRING_SIZE_1_65535", HFILL }},
18021     { &hf_h245_escrowentry,
18022       { "escrowentry", "h245.escrowentry",
18023         FT_UINT32, BASE_DEC, NULL, 0,
18024         "h245.SEQUENCE_SIZE_1_256_OF_EscrowData", HFILL }},
18025     { &hf_h245_escrowentry_item,
18026       { "Item", "h245.escrowentry_item",
18027         FT_NONE, BASE_NONE, NULL, 0,
18028         "h245.EscrowData", HFILL }},
18029     { &hf_h245_genericParameter,
18030       { "genericParameter", "h245.genericParameter",
18031         FT_NONE, BASE_NONE, NULL, 0,
18032         "h245.GenericParameter", HFILL }},
18033     { &hf_h245_escrowID,
18034       { "escrowID", "h245.escrowID",
18035         FT_OID, BASE_NONE, NULL, 0,
18036         "h245.OBJECT_IDENTIFIER", HFILL }},
18037     { &hf_h245_escrowValue,
18038       { "escrowValue", "h245.escrowValue",
18039         FT_BYTES, BASE_HEX, NULL, 0,
18040         "h245.BIT_STRING_SIZE_1_65535", HFILL }},
18041     { &hf_h245_olc_ack_fw_lcn,
18042       { "forwardLogicalChannelNumber", "h245.forwardLogicalChannelNumber",
18043         FT_UINT32, BASE_DEC, NULL, 0,
18044         "h245.OLC_ack_fw_lcn", HFILL }},
18045     { &hf_h245_olc_ack_reverseLogicalChannelParameters,
18046       { "reverseLogicalChannelParameters", "h245.reverseLogicalChannelParameters",
18047         FT_NONE, BASE_NONE, NULL, 0,
18048         "h245.OLC_ack_reverseLogicalChannelParameters", HFILL }},
18049     { &hf_h245_reverseLogicalChannelNumber,
18050       { "reverseLogicalChannelNumber", "h245.reverseLogicalChannelNumber",
18051         FT_UINT32, BASE_DEC, NULL, 0,
18052         "h245.T_reverseLogicalChannelNumber", HFILL }},
18053     { &hf_h245_olc_ack_multiplexParameters,
18054       { "multiplexParameters", "h245.multiplexParameters",
18055         FT_UINT32, BASE_DEC, VALS(h245_T_olc_ack_multiplexParameters_vals), 0,
18056         "h245.T_olc_ack_multiplexParameters", HFILL }},
18057     { &hf_h245_forwardMultiplexAckParameters,
18058       { "forwardMultiplexAckParameters", "h245.forwardMultiplexAckParameters",
18059         FT_UINT32, BASE_DEC, VALS(h245_T_forwardMultiplexAckParameters_vals), 0,
18060         "h245.T_forwardMultiplexAckParameters", HFILL }},
18061     { &hf_h245_h2250LogicalChannelAckParameters,
18062       { "h2250LogicalChannelAckParameters", "h245.h2250LogicalChannelAckParameters",
18063         FT_NONE, BASE_NONE, NULL, 0,
18064         "h245.H2250LogicalChannelAckParameters", HFILL }},
18065     { &hf_h245_forwardLogicalChannelNumber,
18066       { "forwardLogicalChannelNumber", "h245.forwardLogicalChannelNumber",
18067         FT_UINT32, BASE_DEC, NULL, 0,
18068         "h245.LogicalChannelNumber", HFILL }},
18069     { &hf_h245_olc_rej_cause,
18070       { "cause", "h245.cause",
18071         FT_UINT32, BASE_DEC, VALS(h245_OpenLogicalChannelRejectCause_vals), 0,
18072         "h245.OpenLogicalChannelRejectCause", HFILL }},
18073     { &hf_h245_unsuitableReverseParameters,
18074       { "unsuitableReverseParameters", "h245.unsuitableReverseParameters",
18075         FT_NONE, BASE_NONE, NULL, 0,
18076         "h245.NULL", HFILL }},
18077     { &hf_h245_dataTypeNotSupported,
18078       { "dataTypeNotSupported", "h245.dataTypeNotSupported",
18079         FT_NONE, BASE_NONE, NULL, 0,
18080         "h245.NULL", HFILL }},
18081     { &hf_h245_dataTypeNotAvailable,
18082       { "dataTypeNotAvailable", "h245.dataTypeNotAvailable",
18083         FT_NONE, BASE_NONE, NULL, 0,
18084         "h245.NULL", HFILL }},
18085     { &hf_h245_unknownDataType,
18086       { "unknownDataType", "h245.unknownDataType",
18087         FT_NONE, BASE_NONE, NULL, 0,
18088         "h245.NULL", HFILL }},
18089     { &hf_h245_dataTypeALCombinationNotSupported,
18090       { "dataTypeALCombinationNotSupported", "h245.dataTypeALCombinationNotSupported",
18091         FT_NONE, BASE_NONE, NULL, 0,
18092         "h245.NULL", HFILL }},
18093     { &hf_h245_multicastChannelNotAllowed,
18094       { "multicastChannelNotAllowed", "h245.multicastChannelNotAllowed",
18095         FT_NONE, BASE_NONE, NULL, 0,
18096         "h245.NULL", HFILL }},
18097     { &hf_h245_insufficientBandwidth,
18098       { "insufficientBandwidth", "h245.insufficientBandwidth",
18099         FT_NONE, BASE_NONE, NULL, 0,
18100         "h245.NULL", HFILL }},
18101     { &hf_h245_separateStackEstablishmentFailed,
18102       { "separateStackEstablishmentFailed", "h245.separateStackEstablishmentFailed",
18103         FT_NONE, BASE_NONE, NULL, 0,
18104         "h245.NULL", HFILL }},
18105     { &hf_h245_invalidSessionID,
18106       { "invalidSessionID", "h245.invalidSessionID",
18107         FT_NONE, BASE_NONE, NULL, 0,
18108         "h245.NULL", HFILL }},
18109     { &hf_h245_masterSlaveConflict,
18110       { "masterSlaveConflict", "h245.masterSlaveConflict",
18111         FT_NONE, BASE_NONE, NULL, 0,
18112         "h245.NULL", HFILL }},
18113     { &hf_h245_waitForCommunicationMode,
18114       { "waitForCommunicationMode", "h245.waitForCommunicationMode",
18115         FT_NONE, BASE_NONE, NULL, 0,
18116         "h245.NULL", HFILL }},
18117     { &hf_h245_invalidDependentChannel,
18118       { "invalidDependentChannel", "h245.invalidDependentChannel",
18119         FT_NONE, BASE_NONE, NULL, 0,
18120         "h245.NULL", HFILL }},
18121     { &hf_h245_replacementForRejected,
18122       { "replacementForRejected", "h245.replacementForRejected",
18123         FT_NONE, BASE_NONE, NULL, 0,
18124         "h245.NULL", HFILL }},
18125     { &hf_h245_securityDenied,
18126       { "securityDenied", "h245.securityDenied",
18127         FT_NONE, BASE_NONE, NULL, 0,
18128         "h245.NULL", HFILL }},
18129     { &hf_h245_sessionID,
18130       { "sessionID", "h245.sessionID",
18131         FT_UINT32, BASE_DEC, NULL, 0,
18132         "h245.INTEGER_1_255", HFILL }},
18133     { &hf_h245_ack_mediaChannel,
18134       { "mediaChannel", "h245.mediaChannel",
18135         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
18136         "h245.Ack_mediaChannel", HFILL }},
18137     { &hf_h245_ack_mediaControlChannel,
18138       { "mediaControlChannel", "h245.mediaControlChannel",
18139         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
18140         "h245.Ack_mediaControlChannel", HFILL }},
18141     { &hf_h245_flowControlToZero,
18142       { "flowControlToZero", "h245.flowControlToZero",
18143         FT_BOOLEAN, 8, NULL, 0,
18144         "h245.BOOLEAN", HFILL }},
18145     { &hf_h245_cLC_source,
18146       { "source", "h245.source",
18147         FT_UINT32, BASE_DEC, VALS(h245_T_cLC_source_vals), 0,
18148         "h245.T_cLC_source", HFILL }},
18149     { &hf_h245_user,
18150       { "user", "h245.user",
18151         FT_NONE, BASE_NONE, NULL, 0,
18152         "h245.NULL", HFILL }},
18153     { &hf_h245_lcse,
18154       { "lcse", "h245.lcse",
18155         FT_NONE, BASE_NONE, NULL, 0,
18156         "h245.NULL", HFILL }},
18157     { &hf_h245_clc_reason,
18158       { "reason", "h245.reason",
18159         FT_UINT32, BASE_DEC, VALS(h245_Clc_reason_vals), 0,
18160         "h245.Clc_reason", HFILL }},
18161     { &hf_h245_unknown,
18162       { "unknown", "h245.unknown",
18163         FT_NONE, BASE_NONE, NULL, 0,
18164         "h245.NULL", HFILL }},
18165     { &hf_h245_reopen,
18166       { "reopen", "h245.reopen",
18167         FT_NONE, BASE_NONE, NULL, 0,
18168         "h245.NULL", HFILL }},
18169     { &hf_h245_reservationFailure,
18170       { "reservationFailure", "h245.reservationFailure",
18171         FT_NONE, BASE_NONE, NULL, 0,
18172         "h245.NULL", HFILL }},
18173     { &hf_h245_qosCapability,
18174       { "qosCapability", "h245.qosCapability",
18175         FT_NONE, BASE_NONE, NULL, 0,
18176         "h245.QOSCapability", HFILL }},
18177     { &hf_h245_reason,
18178       { "reason", "h245.reason",
18179         FT_UINT32, BASE_DEC, VALS(h245_T_reason_vals), 0,
18180         "h245.T_reason", HFILL }},
18181     { &hf_h245_normal,
18182       { "normal", "h245.normal",
18183         FT_NONE, BASE_NONE, NULL, 0,
18184         "h245.NULL", HFILL }},
18185     { &hf_h245_req_chan_clos_rej_cause,
18186       { "cause", "h245.cause",
18187         FT_UINT32, BASE_DEC, VALS(h245_RequestChannelCloseRejectCause_vals), 0,
18188         "h245.RequestChannelCloseRejectCause", HFILL }},
18189     { &hf_h245_multiplexEntryDescriptors,
18190       { "multiplexEntryDescriptors", "h245.multiplexEntryDescriptors",
18191         FT_UINT32, BASE_DEC, NULL, 0,
18192         "h245.SET_SIZE_1_15_OF_MultiplexEntryDescriptor", HFILL }},
18193     { &hf_h245_multiplexEntryDescriptors_item,
18194       { "Item", "h245.multiplexEntryDescriptors_item",
18195         FT_NONE, BASE_NONE, NULL, 0,
18196         "h245.MultiplexEntryDescriptor", HFILL }},
18197     { &hf_h245_multiplexTableEntryNumber,
18198       { "multiplexTableEntryNumber", "h245.multiplexTableEntryNumber",
18199         FT_UINT32, BASE_DEC, NULL, 0,
18200         "h245.MultiplexTableEntryNumber", HFILL }},
18201     { &hf_h245_elementList,
18202       { "elementList", "h245.elementList",
18203         FT_UINT32, BASE_DEC, NULL, 0,
18204         "h245.T_elementList", HFILL }},
18205     { &hf_h245_elementList_item,
18206       { "Item", "h245.elementList_item",
18207         FT_NONE, BASE_NONE, NULL, 0,
18208         "h245.MultiplexElement", HFILL }},
18209     { &hf_h245_me_type,
18210       { "type", "h245.type",
18211         FT_UINT32, BASE_DEC, VALS(h245_Me_type_vals), 0,
18212         "h245.Me_type", HFILL }},
18213     { &hf_h245_logicalChannelNum,
18214       { "logicalChannelNumber", "h245.logicalChannelNumber",
18215         FT_UINT32, BASE_DEC, NULL, 0,
18216         "h245.T_logicalChannelNum", HFILL }},
18217     { &hf_h245_subElementList,
18218       { "subElementList", "h245.subElementList",
18219         FT_UINT32, BASE_DEC, NULL, 0,
18220         "h245.T_subElementList", HFILL }},
18221     { &hf_h245_subElementList_item,
18222       { "Item", "h245.subElementList_item",
18223         FT_NONE, BASE_NONE, NULL, 0,
18224         "h245.MultiplexElement", HFILL }},
18225     { &hf_h245_me_repeatCount,
18226       { "repeatCount", "h245.repeatCount",
18227         FT_UINT32, BASE_DEC, VALS(h245_ME_repeatCount_vals), 0,
18228         "h245.ME_repeatCount", HFILL }},
18229     { &hf_h245_me_repeatCount_finite,
18230       { "finite", "h245.finite",
18231         FT_UINT32, BASE_DEC, NULL, 0,
18232         "h245.ME_finiteRepeatCount", HFILL }},
18233     { &hf_h245_untilClosingFlag,
18234       { "untilClosingFlag", "h245.untilClosingFlag",
18235         FT_NONE, BASE_NONE, NULL, 0,
18236         "h245.T_untilClosingFlag", HFILL }},
18237     { &hf_h245_multiplexTableEntryNumbers,
18238       { "multiplexTableEntryNumber", "h245.multiplexTableEntryNumber",
18239         FT_UINT32, BASE_DEC, NULL, 0,
18240         "h245.SET_SIZE_1_15_OF_MultiplexTableEntryNumber", HFILL }},
18241     { &hf_h245_multiplexTableEntryNumbers_item,
18242       { "Item", "h245.multiplexTableEntryNumber_item",
18243         FT_UINT32, BASE_DEC, NULL, 0,
18244         "h245.MultiplexTableEntryNumber", HFILL }},
18245     { &hf_h245_sendRejectionDescriptions,
18246       { "rejectionDescriptions", "h245.rejectionDescriptions",
18247         FT_UINT32, BASE_DEC, NULL, 0,
18248         "h245.SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions", HFILL }},
18249     { &hf_h245_sendRejectionDescriptions_item,
18250       { "Item", "h245.rejectionDescriptions_item",
18251         FT_NONE, BASE_NONE, NULL, 0,
18252         "h245.MultiplexEntryRejectionDescriptions", HFILL }},
18253     { &hf_h245_mux_rej_cause,
18254       { "cause", "h245.cause",
18255         FT_UINT32, BASE_DEC, VALS(h245_MultiplexEntryRejectionDescriptionsCause_vals), 0,
18256         "h245.MultiplexEntryRejectionDescriptionsCause", HFILL }},
18257     { &hf_h245_unspecifiedCause,
18258       { "unspecifiedCause", "h245.unspecifiedCause",
18259         FT_NONE, BASE_NONE, NULL, 0,
18260         "h245.NULL", HFILL }},
18261     { &hf_h245_descriptorTooComplex,
18262       { "descriptorTooComplex", "h245.descriptorTooComplex",
18263         FT_NONE, BASE_NONE, NULL, 0,
18264         "h245.NULL", HFILL }},
18265     { &hf_h245_entryNumbers,
18266       { "entryNumbers", "h245.entryNumbers",
18267         FT_UINT32, BASE_DEC, NULL, 0,
18268         "h245.SET_SIZE_1_15_OF_MultiplexTableEntryNumber", HFILL }},
18269     { &hf_h245_entryNumbers_item,
18270       { "Item", "h245.entryNumbers_item",
18271         FT_UINT32, BASE_DEC, NULL, 0,
18272         "h245.MultiplexTableEntryNumber", HFILL }},
18273     { &hf_h245_rejectionDescriptions,
18274       { "rejectionDescriptions", "h245.rejectionDescriptions",
18275         FT_UINT32, BASE_DEC, NULL, 0,
18276         "h245.SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions", HFILL }},
18277     { &hf_h245_rejectionDescriptions_item,
18278       { "Item", "h245.rejectionDescriptions_item",
18279         FT_NONE, BASE_NONE, NULL, 0,
18280         "h245.RequestMultiplexEntryRejectionDescriptions", HFILL }},
18281     { &hf_h245_req_mux_rej_cause,
18282       { "cause", "h245.cause",
18283         FT_UINT32, BASE_DEC, VALS(h245_RequestMultiplexEntryRejectionDescriptionsCause_vals), 0,
18284         "h245.RequestMultiplexEntryRejectionDescriptionsCause", HFILL }},
18285     { &hf_h245_requestedModes,
18286       { "requestedModes", "h245.requestedModes",
18287         FT_UINT32, BASE_DEC, NULL, 0,
18288         "h245.SEQUENCE_SIZE_1_256_OF_ModeDescription", HFILL }},
18289     { &hf_h245_requestedModes_item,
18290       { "Item", "h245.requestedModes_item",
18291         FT_UINT32, BASE_DEC, NULL, 0,
18292         "h245.ModeDescription", HFILL }},
18293     { &hf_h245_req_mode_ack_response,
18294       { "response", "h245.response",
18295         FT_UINT32, BASE_DEC, VALS(h245_Req_mode_ack_response_vals), 0,
18296         "h245.Req_mode_ack_response", HFILL }},
18297     { &hf_h245_willTransmitMostPreferredMode,
18298       { "willTransmitMostPreferredMode", "h245.willTransmitMostPreferredMode",
18299         FT_NONE, BASE_NONE, NULL, 0,
18300         "h245.NULL", HFILL }},
18301     { &hf_h245_willTransmitLessPreferredMode,
18302       { "willTransmitLessPreferredMode", "h245.willTransmitLessPreferredMode",
18303         FT_NONE, BASE_NONE, NULL, 0,
18304         "h245.NULL", HFILL }},
18305     { &hf_h245_req_rej_cause,
18306       { "cause", "h245.cause",
18307         FT_UINT32, BASE_DEC, VALS(h245_RequestModeRejectCause_vals), 0,
18308         "h245.RequestModeRejectCause", HFILL }},
18309     { &hf_h245_modeUnavailable,
18310       { "modeUnavailable", "h245.modeUnavailable",
18311         FT_NONE, BASE_NONE, NULL, 0,
18312         "h245.NULL", HFILL }},
18313     { &hf_h245_multipointConstraint,
18314       { "multipointConstraint", "h245.multipointConstraint",
18315         FT_NONE, BASE_NONE, NULL, 0,
18316         "h245.NULL", HFILL }},
18317     { &hf_h245_requestDenied,
18318       { "requestDenied", "h245.requestDenied",
18319         FT_NONE, BASE_NONE, NULL, 0,
18320         "h245.NULL", HFILL }},
18321     { &hf_h245_ModeDescription_item,
18322       { "Item", "h245.ModeDescription_item",
18323         FT_NONE, BASE_NONE, NULL, 0,
18324         "h245.ModeElement", HFILL }},
18325     { &hf_h245_videoMode,
18326       { "videoMode", "h245.videoMode",
18327         FT_UINT32, BASE_DEC, VALS(h245_VideoMode_vals), 0,
18328         "h245.VideoMode", HFILL }},
18329     { &hf_h245_audioMode,
18330       { "audioMode", "h245.audioMode",
18331         FT_UINT32, BASE_DEC, VALS(h245_AudioMode_vals), 0,
18332         "h245.AudioMode", HFILL }},
18333     { &hf_h245_dataMode,
18334       { "dataMode", "h245.dataMode",
18335         FT_NONE, BASE_NONE, NULL, 0,
18336         "h245.DataMode", HFILL }},
18337     { &hf_h245_encryptionMode,
18338       { "encryptionMode", "h245.encryptionMode",
18339         FT_UINT32, BASE_DEC, VALS(h245_EncryptionMode_vals), 0,
18340         "h245.EncryptionMode", HFILL }},
18341     { &hf_h245_h235Mode,
18342       { "h235Mode", "h245.h235Mode",
18343         FT_NONE, BASE_NONE, NULL, 0,
18344         "h245.H235Mode", HFILL }},
18345     { &hf_h245_multiplexedStreamMode,
18346       { "multiplexedStreamMode", "h245.multiplexedStreamMode",
18347         FT_NONE, BASE_NONE, NULL, 0,
18348         "h245.MultiplexedStreamParameter", HFILL }},
18349     { &hf_h245_redundancyEncodingDTMode,
18350       { "redundancyEncodingDTMode", "h245.redundancyEncodingDTMode",
18351         FT_NONE, BASE_NONE, NULL, 0,
18352         "h245.RedundancyEncodingDTMode", HFILL }},
18353     { &hf_h245_multiplePayloadStreamMode,
18354       { "multiplePayloadStreamMode", "h245.multiplePayloadStreamMode",
18355         FT_NONE, BASE_NONE, NULL, 0,
18356         "h245.MultiplePayloadStreamMode", HFILL }},
18357     { &hf_h245_depFecMode,
18358       { "depFecMode", "h245.depFecMode",
18359         FT_UINT32, BASE_DEC, VALS(h245_DepFECMode_vals), 0,
18360         "h245.DepFECMode", HFILL }},
18361     { &hf_h245_fecMode,
18362       { "fecMode", "h245.fecMode",
18363         FT_NONE, BASE_NONE, NULL, 0,
18364         "h245.FECMode", HFILL }},
18365     { &hf_h245_type,
18366       { "type", "h245.type",
18367         FT_UINT32, BASE_DEC, VALS(h245_ModeElementType_vals), 0,
18368         "h245.ModeElementType", HFILL }},
18369     { &hf_h245_h223ModeParameters,
18370       { "h223ModeParameters", "h245.h223ModeParameters",
18371         FT_NONE, BASE_NONE, NULL, 0,
18372         "h245.H223ModeParameters", HFILL }},
18373     { &hf_h245_v76ModeParameters,
18374       { "v76ModeParameters", "h245.v76ModeParameters",
18375         FT_UINT32, BASE_DEC, VALS(h245_V76ModeParameters_vals), 0,
18376         "h245.V76ModeParameters", HFILL }},
18377     { &hf_h245_h2250ModeParameters,
18378       { "h2250ModeParameters", "h245.h2250ModeParameters",
18379         FT_NONE, BASE_NONE, NULL, 0,
18380         "h245.H2250ModeParameters", HFILL }},
18381     { &hf_h245_genericModeParameters,
18382       { "genericModeParameters", "h245.genericModeParameters",
18383         FT_NONE, BASE_NONE, NULL, 0,
18384         "h245.GenericCapability", HFILL }},
18385     { &hf_h245_multiplexedStreamModeParameters,
18386       { "multiplexedStreamModeParameters", "h245.multiplexedStreamModeParameters",
18387         FT_NONE, BASE_NONE, NULL, 0,
18388         "h245.MultiplexedStreamModeParameters", HFILL }},
18389     { &hf_h245_logicalChannelNumber,
18390       { "logicalChannelNumber", "h245.logicalChannelNumber",
18391         FT_UINT32, BASE_DEC, NULL, 0,
18392         "h245.LogicalChannelNumber", HFILL }},
18393     { &hf_h245_mediaMode,
18394       { "mediaMode", "h245.mediaMode",
18395         FT_UINT32, BASE_DEC, VALS(h245_T_mediaMode_vals), 0,
18396         "h245.T_mediaMode", HFILL }},
18397     { &hf_h245_prmary_dtmode,
18398       { "primary", "h245.primary",
18399         FT_NONE, BASE_NONE, NULL, 0,
18400         "h245.RedundancyEncodingDTModeElement", HFILL }},
18401     { &hf_h245_secondaryDTM,
18402       { "secondary", "h245.secondary",
18403         FT_UINT32, BASE_DEC, NULL, 0,
18404         "h245.SEQUENCE_OF_RedundancyEncodingDTModeElement", HFILL }},
18405     { &hf_h245_secondaryDTM_item,
18406       { "Item", "h245.secondary_item",
18407         FT_NONE, BASE_NONE, NULL, 0,
18408         "h245.RedundancyEncodingDTModeElement", HFILL }},
18409     { &hf_h245_re_type,
18410       { "type", "h245.type",
18411         FT_UINT32, BASE_DEC, VALS(h245_Re_type_vals), 0,
18412         "h245.Re_type", HFILL }},
18413     { &hf_h245_mpsmElements,
18414       { "elements", "h245.elements",
18415         FT_UINT32, BASE_DEC, NULL, 0,
18416         "h245.SEQUENCE_OF_MultiplePayloadStreamElementMode", HFILL }},
18417     { &hf_h245_mpsmElements_item,
18418       { "Item", "h245.elements_item",
18419         FT_NONE, BASE_NONE, NULL, 0,
18420         "h245.MultiplePayloadStreamElementMode", HFILL }},
18421     { &hf_h245_rfc2733Mode,
18422       { "rfc2733Mode", "h245.rfc2733Mode",
18423         FT_NONE, BASE_NONE, NULL, 0,
18424         "h245.T_rfc2733Mode", HFILL }},
18425     { &hf_h245_fec_mode,
18426       { "mode", "h245.mode",
18427         FT_UINT32, BASE_DEC, VALS(h245_FEC_mode_vals), 0,
18428         "h245.FEC_mode", HFILL }},
18429     { &hf_h245_protectedElement,
18430       { "protectedElement", "h245.protectedElement",
18431         FT_UINT32, BASE_DEC, VALS(h245_ModeElementType_vals), 0,
18432         "h245.ModeElementType", HFILL }},
18433     { &hf_h245_adaptationLayer,
18434       { "adaptationLayerType", "h245.adaptationLayerType",
18435         FT_UINT32, BASE_DEC, VALS(h245_AdaptationLayerType_vals), 0,
18436         "h245.AdaptationLayerType", HFILL }},
18437     { &hf_h245_al1Framed,
18438       { "al1Framed", "h245.al1Framed",
18439         FT_NONE, BASE_NONE, NULL, 0,
18440         "h245.NULL", HFILL }},
18441     { &hf_h245_al1NotFramed,
18442       { "al1NotFramed", "h245.al1NotFramed",
18443         FT_NONE, BASE_NONE, NULL, 0,
18444         "h245.NULL", HFILL }},
18445     { &hf_h245_al2WithoutSequenceNumbers,
18446       { "al2WithoutSequenceNumbers", "h245.al2WithoutSequenceNumbers",
18447         FT_NONE, BASE_NONE, NULL, 0,
18448         "h245.NULL", HFILL }},
18449     { &hf_h245_al2WithSequenceNumbers,
18450       { "al2WithSequenceNumbers", "h245.al2WithSequenceNumbers",
18451         FT_NONE, BASE_NONE, NULL, 0,
18452         "h245.NULL", HFILL }},
18453     { &hf_h245_al3,
18454       { "al3", "h245.al3",
18455         FT_NONE, BASE_NONE, NULL, 0,
18456         "h245.Al3", HFILL }},
18457     { &hf_h245_al1M,
18458       { "al1M", "h245.al1M",
18459         FT_NONE, BASE_NONE, NULL, 0,
18460         "h245.H223AL1MParameters", HFILL }},
18461     { &hf_h245_al2M,
18462       { "al2M", "h245.al2M",
18463         FT_NONE, BASE_NONE, NULL, 0,
18464         "h245.H223AL2MParameters", HFILL }},
18465     { &hf_h245_al3M,
18466       { "al3M", "h245.al3M",
18467         FT_NONE, BASE_NONE, NULL, 0,
18468         "h245.H223AL3MParameters", HFILL }},
18469     { &hf_h245_segmentableFlag,
18470       { "segmentableFlag", "h245.segmentableFlag",
18471         FT_BOOLEAN, 8, NULL, 0,
18472         "h245.BOOLEAN", HFILL }},
18473     { &hf_h245_redundancyEncodingMode,
18474       { "redundancyEncodingMode", "h245.redundancyEncodingMode",
18475         FT_NONE, BASE_NONE, NULL, 0,
18476         "h245.RedundancyEncodingMode", HFILL }},
18477     { &hf_h245_secondaryEncodingMode,
18478       { "secondaryEncoding", "h245.secondaryEncoding",
18479         FT_UINT32, BASE_DEC, VALS(h245_T_secondaryEncodingMode_vals), 0,
18480         "h245.T_secondaryEncodingMode", HFILL }},
18481     { &hf_h245_h261VideoMode,
18482       { "h261VideoMode", "h245.h261VideoMode",
18483         FT_NONE, BASE_NONE, NULL, 0,
18484         "h245.H261VideoMode", HFILL }},
18485     { &hf_h245_h262VideoMode,
18486       { "h262VideoMode", "h245.h262VideoMode",
18487         FT_NONE, BASE_NONE, NULL, 0,
18488         "h245.H262VideoMode", HFILL }},
18489     { &hf_h245_h263VideoMode,
18490       { "h263VideoMode", "h245.h263VideoMode",
18491         FT_NONE, BASE_NONE, NULL, 0,
18492         "h245.H263VideoMode", HFILL }},
18493     { &hf_h245_is11172VideoMode,
18494       { "is11172VideoMode", "h245.is11172VideoMode",
18495         FT_NONE, BASE_NONE, NULL, 0,
18496         "h245.IS11172VideoMode", HFILL }},
18497     { &hf_h245_genericVideoMode,
18498       { "genericVideoMode", "h245.genericVideoMode",
18499         FT_NONE, BASE_NONE, NULL, 0,
18500         "h245.GenericCapability", HFILL }},
18501     { &hf_h245_h261_resolution,
18502       { "resolution", "h245.resolution",
18503         FT_UINT32, BASE_DEC, VALS(h245_H261Resolution_vals), 0,
18504         "h245.H261Resolution", HFILL }},
18505     { &hf_h245_qcif,
18506       { "qcif", "h245.qcif",
18507         FT_NONE, BASE_NONE, NULL, 0,
18508         "h245.NULL", HFILL }},
18509     { &hf_h245_cif,
18510       { "cif", "h245.cif",
18511         FT_NONE, BASE_NONE, NULL, 0,
18512         "h245.NULL", HFILL }},
18513     { &hf_h245_profileAndLevel,
18514       { "profileAndLevel", "h245.profileAndLevel",
18515         FT_UINT32, BASE_DEC, VALS(h245_T_profileAndLevel_vals), 0,
18516         "h245.T_profileAndLevel", HFILL }},
18517     { &hf_h245_profileAndLevel_SPatMLMode,
18518       { "profileAndLevel-SPatML", "h245.profileAndLevel_SPatML",
18519         FT_NONE, BASE_NONE, NULL, 0,
18520         "h245.NULL", HFILL }},
18521     { &hf_h245_profileAndLevel_MPatLLMode,
18522       { "profileAndLevel-MPatLL", "h245.profileAndLevel_MPatLL",
18523         FT_NONE, BASE_NONE, NULL, 0,
18524         "h245.NULL", HFILL }},
18525     { &hf_h245_profileAndLevel_MPatMLMode,
18526       { "profileAndLevel-MPatML", "h245.profileAndLevel_MPatML",
18527         FT_NONE, BASE_NONE, NULL, 0,
18528         "h245.NULL", HFILL }},
18529     { &hf_h245_profileAndLevel_MPatH_14Mode,
18530       { "profileAndLevel-MPatH-14", "h245.profileAndLevel_MPatH_14",
18531         FT_NONE, BASE_NONE, NULL, 0,
18532         "h245.NULL", HFILL }},
18533     { &hf_h245_profileAndLevel_MPatHLMode,
18534       { "profileAndLevel-MPatHL", "h245.profileAndLevel_MPatHL",
18535         FT_NONE, BASE_NONE, NULL, 0,
18536         "h245.NULL", HFILL }},
18537     { &hf_h245_profileAndLevel_SNRatLLMode,
18538       { "profileAndLevel-SNRatLL", "h245.profileAndLevel_SNRatLL",
18539         FT_NONE, BASE_NONE, NULL, 0,
18540         "h245.NULL", HFILL }},
18541     { &hf_h245_profileAndLevel_SNRatMLMode,
18542       { "profileAndLevel-SNRatML", "h245.profileAndLevel_SNRatML",
18543         FT_NONE, BASE_NONE, NULL, 0,
18544         "h245.NULL", HFILL }},
18545     { &hf_h245_profileAndLevel_SpatialatH_14Mode,
18546       { "profileAndLevel-SpatialatH-14", "h245.profileAndLevel_SpatialatH_14",
18547         FT_NONE, BASE_NONE, NULL, 0,
18548         "h245.NULL", HFILL }},
18549     { &hf_h245_profileAndLevel_HPatMLMode,
18550       { "profileAndLevel-HPatML", "h245.profileAndLevel_HPatML",
18551         FT_NONE, BASE_NONE, NULL, 0,
18552         "h245.NULL", HFILL }},
18553     { &hf_h245_profileAndLevel_HPatH_14Mode,
18554       { "profileAndLevel-HPatH-14", "h245.profileAndLevel_HPatH_14",
18555         FT_NONE, BASE_NONE, NULL, 0,
18556         "h245.NULL", HFILL }},
18557     { &hf_h245_profileAndLevel_HPatHLMode,
18558       { "profileAndLevel-HPatHL", "h245.profileAndLevel_HPatHL",
18559         FT_NONE, BASE_NONE, NULL, 0,
18560         "h245.NULL", HFILL }},
18561     { &hf_h245_h263_resolution,
18562       { "resolution", "h245.resolution",
18563         FT_UINT32, BASE_DEC, VALS(h245_H263Resolution_vals), 0,
18564         "h245.H263Resolution", HFILL }},
18565     { &hf_h245_sqcif,
18566       { "sqcif", "h245.sqcif",
18567         FT_NONE, BASE_NONE, NULL, 0,
18568         "h245.NULL", HFILL }},
18569     { &hf_h245_cif4,
18570       { "cif4", "h245.cif4",
18571         FT_NONE, BASE_NONE, NULL, 0,
18572         "h245.NULL", HFILL }},
18573     { &hf_h245_cif16,
18574       { "cif16", "h245.cif16",
18575         FT_NONE, BASE_NONE, NULL, 0,
18576         "h245.NULL", HFILL }},
18577     { &hf_h245_custom_res,
18578       { "custom", "h245.custom",
18579         FT_NONE, BASE_NONE, NULL, 0,
18580         "h245.NULL", HFILL }},
18581     { &hf_h245_g711Alaw64k_mode,
18582       { "g711Alaw64k", "h245.g711Alaw64k",
18583         FT_NONE, BASE_NONE, NULL, 0,
18584         "h245.NULL", HFILL }},
18585     { &hf_h245_g711Alaw56k_mode,
18586       { "g711Alaw56k", "h245.g711Alaw56k",
18587         FT_NONE, BASE_NONE, NULL, 0,
18588         "h245.NULL", HFILL }},
18589     { &hf_h245_g711Ulaw64k_mode,
18590       { "g711Ulaw64k", "h245.g711Ulaw64k",
18591         FT_NONE, BASE_NONE, NULL, 0,
18592         "h245.NULL", HFILL }},
18593     { &hf_h245_g711Ulaw56k_mode,
18594       { "g711Ulaw56k", "h245.g711Ulaw56k",
18595         FT_NONE, BASE_NONE, NULL, 0,
18596         "h245.NULL", HFILL }},
18597     { &hf_h245_g722_64k_mode,
18598       { "g722-64k", "h245.g722_64k",
18599         FT_NONE, BASE_NONE, NULL, 0,
18600         "h245.NULL", HFILL }},
18601     { &hf_h245_g722_56k_mode,
18602       { "g722-56k", "h245.g722_56k",
18603         FT_NONE, BASE_NONE, NULL, 0,
18604         "h245.NULL", HFILL }},
18605     { &hf_h245_g722_48k_mode,
18606       { "g722-48k", "h245.g722_48k",
18607         FT_NONE, BASE_NONE, NULL, 0,
18608         "h245.NULL", HFILL }},
18609     { &hf_h245_g728_mode,
18610       { "g728", "h245.g728",
18611         FT_NONE, BASE_NONE, NULL, 0,
18612         "h245.NULL", HFILL }},
18613     { &hf_h245_g729_mode,
18614       { "g729", "h245.g729",
18615         FT_NONE, BASE_NONE, NULL, 0,
18616         "h245.NULL", HFILL }},
18617     { &hf_h245_g729AnnexA_mode,
18618       { "g729AnnexA", "h245.g729AnnexA",
18619         FT_NONE, BASE_NONE, NULL, 0,
18620         "h245.NULL", HFILL }},
18621     { &hf_h245_g7231_mode,
18622       { "g7231", "h245.g7231",
18623         FT_UINT32, BASE_DEC, VALS(h245_Mode_g7231_vals), 0,
18624         "h245.Mode_g7231", HFILL }},
18625     { &hf_h245_noSilenceSuppressionLowRate,
18626       { "noSilenceSuppressionLowRate", "h245.noSilenceSuppressionLowRate",
18627         FT_NONE, BASE_NONE, NULL, 0,
18628         "h245.NULL", HFILL }},
18629     { &hf_h245_noSilenceSuppressionHighRate,
18630       { "noSilenceSuppressionHighRate", "h245.noSilenceSuppressionHighRate",
18631         FT_NONE, BASE_NONE, NULL, 0,
18632         "h245.NULL", HFILL }},
18633     { &hf_h245_silenceSuppressionLowRate,
18634       { "silenceSuppressionLowRate", "h245.silenceSuppressionLowRate",
18635         FT_NONE, BASE_NONE, NULL, 0,
18636         "h245.NULL", HFILL }},
18637     { &hf_h245_silenceSuppressionHighRate,
18638       { "silenceSuppressionHighRate", "h245.silenceSuppressionHighRate",
18639         FT_NONE, BASE_NONE, NULL, 0,
18640         "h245.NULL", HFILL }},
18641     { &hf_h245_is11172AudioMode,
18642       { "is11172AudioMode", "h245.is11172AudioMode",
18643         FT_NONE, BASE_NONE, NULL, 0,
18644         "h245.IS11172AudioMode", HFILL }},
18645     { &hf_h245_is13818AudioMode,
18646       { "is13818AudioMode", "h245.is13818AudioMode",
18647         FT_NONE, BASE_NONE, NULL, 0,
18648         "h245.IS13818AudioMode", HFILL }},
18649     { &hf_h245_g7231AnnexCMode,
18650       { "g7231AnnexCMode", "h245.g7231AnnexCMode",
18651         FT_NONE, BASE_NONE, NULL, 0,
18652         "h245.G7231AnnexCMode", HFILL }},
18653     { &hf_h245_genericAudioMode,
18654       { "genericAudioMode", "h245.genericAudioMode",
18655         FT_NONE, BASE_NONE, NULL, 0,
18656         "h245.GenericCapability", HFILL }},
18657     { &hf_h245_vbd_mode,
18658       { "vbd", "h245.vbd",
18659         FT_NONE, BASE_NONE, NULL, 0,
18660         "h245.VBDMode", HFILL }},
18661     { &hf_h245_audioLayer,
18662       { "audioLayer", "h245.audioLayer",
18663         FT_UINT32, BASE_DEC, VALS(h245_T_audioLayer_vals), 0,
18664         "h245.T_audioLayer", HFILL }},
18665     { &hf_h245_audioLayer1Mode,
18666       { "audioLayer1", "h245.audioLayer1",
18667         FT_NONE, BASE_NONE, NULL, 0,
18668         "h245.NULL", HFILL }},
18669     { &hf_h245_audioLayer2Mode,
18670       { "audioLayer2", "h245.audioLayer2",
18671         FT_NONE, BASE_NONE, NULL, 0,
18672         "h245.NULL", HFILL }},
18673     { &hf_h245_audioLayer3Mode,
18674       { "audioLayer3", "h245.audioLayer3",
18675         FT_NONE, BASE_NONE, NULL, 0,
18676         "h245.NULL", HFILL }},
18677     { &hf_h245_audioSampling,
18678       { "audioSampling", "h245.audioSampling",
18679         FT_UINT32, BASE_DEC, VALS(h245_T_audioSampling_vals), 0,
18680         "h245.T_audioSampling", HFILL }},
18681     { &hf_h245_audioSampling32kMode,
18682       { "audioSampling32k", "h245.audioSampling32k",
18683         FT_NONE, BASE_NONE, NULL, 0,
18684         "h245.NULL", HFILL }},
18685     { &hf_h245_audioSampling44k1Mode,
18686       { "audioSampling44k1", "h245.audioSampling44k1",
18687         FT_NONE, BASE_NONE, NULL, 0,
18688         "h245.NULL", HFILL }},
18689     { &hf_h245_audioSampling48kMode,
18690       { "audioSampling48k", "h245.audioSampling48k",
18691         FT_NONE, BASE_NONE, NULL, 0,
18692         "h245.NULL", HFILL }},
18693     { &hf_h245_is11172multichannelType,
18694       { "multichannelType", "h245.multichannelType",
18695         FT_UINT32, BASE_DEC, VALS(h245_IS11172_multichannelType_vals), 0,
18696         "h245.IS11172_multichannelType", HFILL }},
18697     { &hf_h245_singleChannelMode,
18698       { "singleChannel", "h245.singleChannel",
18699         FT_NONE, BASE_NONE, NULL, 0,
18700         "h245.NULL", HFILL }},
18701     { &hf_h245_twoChannelStereo,
18702       { "twoChannelStereo", "h245.twoChannelStereo",
18703         FT_NONE, BASE_NONE, NULL, 0,
18704         "h245.NULL", HFILL }},
18705     { &hf_h245_twoChannelDual,
18706       { "twoChannelDual", "h245.twoChannelDual",
18707         FT_NONE, BASE_NONE, NULL, 0,
18708         "h245.NULL", HFILL }},
18709     { &hf_h245_audioLayerMode,
18710       { "audioLayer", "h245.audioLayer",
18711         FT_UINT32, BASE_DEC, VALS(h245_IS13818AudioLayer_vals), 0,
18712         "h245.IS13818AudioLayer", HFILL }},
18713     { &hf_h245_audioSamplingMode,
18714       { "audioSampling", "h245.audioSampling",
18715         FT_UINT32, BASE_DEC, VALS(h245_IS13818AudioSampling_vals), 0,
18716         "h245.IS13818AudioSampling", HFILL }},
18717     { &hf_h245_audioSampling16kMode,
18718       { "audioSampling16k", "h245.audioSampling16k",
18719         FT_NONE, BASE_NONE, NULL, 0,
18720         "h245.NULL", HFILL }},
18721     { &hf_h245_audioSampling22k05Mode,
18722       { "audioSampling22k05", "h245.audioSampling22k05",
18723         FT_NONE, BASE_NONE, NULL, 0,
18724         "h245.NULL", HFILL }},
18725     { &hf_h245_audioSampling24kMode,
18726       { "audioSampling24k", "h245.audioSampling24k",
18727         FT_NONE, BASE_NONE, NULL, 0,
18728         "h245.NULL", HFILL }},
18729     { &hf_h245_is13818MultichannelType,
18730       { "multichannelType", "h245.multichannelType",
18731         FT_UINT32, BASE_DEC, VALS(h245_IS13818MultichannelType_vals), 0,
18732         "h245.IS13818MultichannelType", HFILL }},
18733     { &hf_h245_threeChannels2_1Mode,
18734       { "threeChannels2-1", "h245.threeChannels2_1",
18735         FT_NONE, BASE_NONE, NULL, 0,
18736         "h245.NULL", HFILL }},
18737     { &hf_h245_threeChannels3_0Mode,
18738       { "threeChannels3-0", "h245.threeChannels3_0",
18739         FT_NONE, BASE_NONE, NULL, 0,
18740         "h245.NULL", HFILL }},
18741     { &hf_h245_fourChannels2_0_2_0Mode,
18742       { "fourChannels2-0-2-0", "h245.fourChannels2_0_2_0",
18743         FT_NONE, BASE_NONE, NULL, 0,
18744         "h245.NULL", HFILL }},
18745     { &hf_h245_fourChannels2_2Mode,
18746       { "fourChannels2-2", "h245.fourChannels2_2",
18747         FT_NONE, BASE_NONE, NULL, 0,
18748         "h245.NULL", HFILL }},
18749     { &hf_h245_fourChannels3_1Mode,
18750       { "fourChannels3-1", "h245.fourChannels3_1",
18751         FT_NONE, BASE_NONE, NULL, 0,
18752         "h245.NULL", HFILL }},
18753     { &hf_h245_fiveChannels3_0_2_0Mode,
18754       { "fiveChannels3-0-2-0", "h245.fiveChannels3_0_2_0",
18755         FT_NONE, BASE_NONE, NULL, 0,
18756         "h245.NULL", HFILL }},
18757     { &hf_h245_fiveChannels3_2Mode,
18758       { "fiveChannels3-2", "h245.fiveChannels3_2",
18759         FT_NONE, BASE_NONE, NULL, 0,
18760         "h245.NULL", HFILL }},
18761     { &hf_h245_vbd_type,
18762       { "type", "h245.type",
18763         FT_UINT32, BASE_DEC, VALS(h245_AudioMode_vals), 0,
18764         "h245.AudioMode", HFILL }},
18765     { &hf_h245_datamodeapplication,
18766       { "application", "h245.application",
18767         FT_UINT32, BASE_DEC, VALS(h245_DataModeApplication_vals), 0,
18768         "h245.DataModeApplication", HFILL }},
18769     { &hf_h245_t84DataProtocolCapability,
18770       { "t84", "h245.t84",
18771         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
18772         "h245.DataProtocolCapability", HFILL }},
18773     { &hf_h245_t38faxDataProtocolCapability,
18774       { "t38fax", "h245.t38fax",
18775         FT_NONE, BASE_NONE, NULL, 0,
18776         "h245.T38faxApp", HFILL }},
18777     { &hf_h245_genericDataMode,
18778       { "genericDataMode", "h245.genericDataMode",
18779         FT_NONE, BASE_NONE, NULL, 0,
18780         "h245.GenericCapability", HFILL }},
18781     { &hf_h245_bitRate_0_4294967295,
18782       { "bitRate", "h245.bitRate",
18783         FT_UINT32, BASE_DEC, NULL, 0,
18784         "h245.INTEGER_0_4294967295", HFILL }},
18785     { &hf_h245_h233Encryption,
18786       { "h233Encryption", "h245.h233Encryption",
18787         FT_NONE, BASE_NONE, NULL, 0,
18788         "h245.NULL", HFILL }},
18789     { &hf_h245_mlr_type,
18790       { "type", "h245.type",
18791         FT_UINT32, BASE_DEC, VALS(h245_Mlr_type_vals), 0,
18792         "h245.Mlr_type", HFILL }},
18793     { &hf_h245_systemLoop,
18794       { "systemLoop", "h245.systemLoop",
18795         FT_NONE, BASE_NONE, NULL, 0,
18796         "h245.NULL", HFILL }},
18797     { &hf_h245_mediaLoop,
18798       { "mediaLoop", "h245.mediaLoop",
18799         FT_UINT32, BASE_DEC, NULL, 0,
18800         "h245.LogicalChannelNumber", HFILL }},
18801     { &hf_h245_logicalChannelLoop,
18802       { "logicalChannelLoop", "h245.logicalChannelLoop",
18803         FT_UINT32, BASE_DEC, NULL, 0,
18804         "h245.LogicalChannelNumber", HFILL }},
18805     { &hf_h245_mla_type,
18806       { "type", "h245.type",
18807         FT_UINT32, BASE_DEC, VALS(h245_Mla_type_vals), 0,
18808         "h245.Mla_type", HFILL }},
18809     { &hf_h245_mlrej_type,
18810       { "type", "h245.type",
18811         FT_UINT32, BASE_DEC, VALS(h245_Mlrej_type_vals), 0,
18812         "h245.Mlrej_type", HFILL }},
18813     { &hf_h245_maintloop_rej_cause,
18814       { "cause", "h245.cause",
18815         FT_UINT32, BASE_DEC, VALS(h245_MaintenanceLoopRejectCause_vals), 0,
18816         "h245.MaintenanceLoopRejectCause", HFILL }},
18817     { &hf_h245_canNotPerformLoop,
18818       { "canNotPerformLoop", "h245.canNotPerformLoop",
18819         FT_NONE, BASE_NONE, NULL, 0,
18820         "h245.NULL", HFILL }},
18821     { &hf_h245_communicationModeTable,
18822       { "communicationModeTable", "h245.communicationModeTable",
18823         FT_UINT32, BASE_DEC, NULL, 0,
18824         "h245.SET_SIZE_1_256_OF_CommunicationModeTableEntry", HFILL }},
18825     { &hf_h245_communicationModeTable_item,
18826       { "Item", "h245.communicationModeTable_item",
18827         FT_NONE, BASE_NONE, NULL, 0,
18828         "h245.CommunicationModeTableEntry", HFILL }},
18829     { &hf_h245_terminalLabel,
18830       { "terminalLabel", "h245.terminalLabel",
18831         FT_NONE, BASE_NONE, NULL, 0,
18832         "h245.TerminalLabel", HFILL }},
18833     { &hf_h245_sessionDescription,
18834       { "sessionDescription", "h245.sessionDescription",
18835         FT_STRING, BASE_NONE, NULL, 0,
18836         "h245.BMPString_SIZE_1_128", HFILL }},
18837     { &hf_h245_entryDataType,
18838       { "dataType", "h245.dataType",
18839         FT_UINT32, BASE_DEC, VALS(h245_T_entryDataType_vals), 0,
18840         "h245.T_entryDataType", HFILL }},
18841     { &hf_h245_cm_mediaChannel,
18842       { "mediaChannel", "h245.mediaChannel",
18843         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
18844         "h245.Cm_mediaChannel", HFILL }},
18845     { &hf_h245_cm_mediaControlChannel,
18846       { "mediaControlChannel", "h245.mediaControlChannel",
18847         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
18848         "h245.TransportAddress", HFILL }},
18849     { &hf_h245_sessionDependency,
18850       { "sessionDependency", "h245.sessionDependency",
18851         FT_UINT32, BASE_DEC, NULL, 0,
18852         "h245.INTEGER_1_255", HFILL }},
18853     { &hf_h245_terminalListRequest,
18854       { "terminalListRequest", "h245.terminalListRequest",
18855         FT_NONE, BASE_NONE, NULL, 0,
18856         "h245.NULL", HFILL }},
18857     { &hf_h245_makeMeChair,
18858       { "makeMeChair", "h245.makeMeChair",
18859         FT_NONE, BASE_NONE, NULL, 0,
18860         "h245.NULL", HFILL }},
18861     { &hf_h245_cancelMakeMeChair,
18862       { "cancelMakeMeChair", "h245.cancelMakeMeChair",
18863         FT_NONE, BASE_NONE, NULL, 0,
18864         "h245.NULL", HFILL }},
18865     { &hf_h245_dropTerminal,
18866       { "dropTerminal", "h245.dropTerminal",
18867         FT_NONE, BASE_NONE, NULL, 0,
18868         "h245.TerminalLabel", HFILL }},
18869     { &hf_h245_requestTerminalID,
18870       { "requestTerminalID", "h245.requestTerminalID",
18871         FT_NONE, BASE_NONE, NULL, 0,
18872         "h245.TerminalLabel", HFILL }},
18873     { &hf_h245_enterH243Password,
18874       { "enterH243Password", "h245.enterH243Password",
18875         FT_NONE, BASE_NONE, NULL, 0,
18876         "h245.NULL", HFILL }},
18877     { &hf_h245_enterH243TerminalID,
18878       { "enterH243TerminalID", "h245.enterH243TerminalID",
18879         FT_NONE, BASE_NONE, NULL, 0,
18880         "h245.NULL", HFILL }},
18881     { &hf_h245_enterH243ConferenceID,
18882       { "enterH243ConferenceID", "h245.enterH243ConferenceID",
18883         FT_NONE, BASE_NONE, NULL, 0,
18884         "h245.NULL", HFILL }},
18885     { &hf_h245_enterExtensionAddress,
18886       { "enterExtensionAddress", "h245.enterExtensionAddress",
18887         FT_NONE, BASE_NONE, NULL, 0,
18888         "h245.NULL", HFILL }},
18889     { &hf_h245_requestChairTokenOwner,
18890       { "requestChairTokenOwner", "h245.requestChairTokenOwner",
18891         FT_NONE, BASE_NONE, NULL, 0,
18892         "h245.NULL", HFILL }},
18893     { &hf_h245_requestTerminalCertificate,
18894       { "requestTerminalCertificate", "h245.requestTerminalCertificate",
18895         FT_NONE, BASE_NONE, NULL, 0,
18896         "h245.T_requestTerminalCertificate", HFILL }},
18897     { &hf_h245_certSelectionCriteria,
18898       { "certSelectionCriteria", "h245.certSelectionCriteria",
18899         FT_UINT32, BASE_DEC, NULL, 0,
18900         "h245.CertSelectionCriteria", HFILL }},
18901     { &hf_h245_sRandom,
18902       { "sRandom", "h245.sRandom",
18903         FT_UINT32, BASE_DEC, NULL, 0,
18904         "h245.INTEGER_1_4294967295", HFILL }},
18905     { &hf_h245_broadcastMyLogicalChannel,
18906       { "broadcastMyLogicalChannel", "h245.broadcastMyLogicalChannel",
18907         FT_UINT32, BASE_DEC, NULL, 0,
18908         "h245.LogicalChannelNumber", HFILL }},
18909     { &hf_h245_makeTerminalBroadcaster,
18910       { "makeTerminalBroadcaster", "h245.makeTerminalBroadcaster",
18911         FT_NONE, BASE_NONE, NULL, 0,
18912         "h245.TerminalLabel", HFILL }},
18913     { &hf_h245_sendThisSource,
18914       { "sendThisSource", "h245.sendThisSource",
18915         FT_NONE, BASE_NONE, NULL, 0,
18916         "h245.TerminalLabel", HFILL }},
18917     { &hf_h245_requestAllTerminalIDs,
18918       { "requestAllTerminalIDs", "h245.requestAllTerminalIDs",
18919         FT_NONE, BASE_NONE, NULL, 0,
18920         "h245.NULL", HFILL }},
18921     { &hf_h245_remoteMCRequest,
18922       { "remoteMCRequest", "h245.remoteMCRequest",
18923         FT_UINT32, BASE_DEC, VALS(h245_RemoteMCRequest_vals), 0,
18924         "h245.RemoteMCRequest", HFILL }},
18925     { &hf_h245_CertSelectionCriteria_item,
18926       { "Item", "h245.CertSelectionCriteria_item",
18927         FT_NONE, BASE_NONE, NULL, 0,
18928         "h245.Criteria", HFILL }},
18929     { &hf_h245_field,
18930       { "field", "h245.field",
18931         FT_OID, BASE_NONE, NULL, 0,
18932         "h245.OBJECT_IDENTIFIER", HFILL }},
18933     { &hf_h245_value,
18934       { "value", "h245.value",
18935         FT_BYTES, BASE_HEX, NULL, 0,
18936         "h245.OCTET_STRING_SIZE_1_65535", HFILL }},
18937     { &hf_h245_mcuNumber,
18938       { "mcuNumber", "h245.mcuNumber",
18939         FT_UINT32, BASE_DEC, NULL, 0,
18940         "h245.McuNumber", HFILL }},
18941     { &hf_h245_terminalNumber,
18942       { "terminalNumber", "h245.terminalNumber",
18943         FT_UINT32, BASE_DEC, NULL, 0,
18944         "h245.TerminalNumber", HFILL }},
18945     { &hf_h245_mCTerminalIDResponse,
18946       { "mCTerminalIDResponse", "h245.mCTerminalIDResponse",
18947         FT_NONE, BASE_NONE, NULL, 0,
18948         "h245.T_mCTerminalIDResponse", HFILL }},
18949     { &hf_h245_terminalID,
18950       { "terminalID", "h245.terminalID",
18951         FT_BYTES, BASE_HEX, NULL, 0,
18952         "h245.TerminalID", HFILL }},
18953     { &hf_h245_terminalIDResponse,
18954       { "terminalIDResponse", "h245.terminalIDResponse",
18955         FT_NONE, BASE_NONE, NULL, 0,
18956         "h245.T_terminalIDResponse", HFILL }},
18957     { &hf_h245_conferenceIDResponse,
18958       { "conferenceIDResponse", "h245.conferenceIDResponse",
18959         FT_NONE, BASE_NONE, NULL, 0,
18960         "h245.T_conferenceIDResponse", HFILL }},
18961     { &hf_h245_conferenceID,
18962       { "conferenceID", "h245.conferenceID",
18963         FT_BYTES, BASE_HEX, NULL, 0,
18964         "h245.ConferenceID", HFILL }},
18965     { &hf_h245_passwordResponse,
18966       { "passwordResponse", "h245.passwordResponse",
18967         FT_NONE, BASE_NONE, NULL, 0,
18968         "h245.T_passwordResponse", HFILL }},
18969     { &hf_h245_password,
18970       { "password", "h245.password",
18971         FT_BYTES, BASE_HEX, NULL, 0,
18972         "h245.Password", HFILL }},
18973     { &hf_h245_terminalListResponse,
18974       { "terminalListResponse", "h245.terminalListResponse",
18975         FT_UINT32, BASE_DEC, NULL, 0,
18976         "h245.SET_SIZE_1_256_OF_TerminalLabel", HFILL }},
18977     { &hf_h245_terminalListResponse_item,
18978       { "Item", "h245.terminalListResponse_item",
18979         FT_NONE, BASE_NONE, NULL, 0,
18980         "h245.TerminalLabel", HFILL }},
18981     { &hf_h245_videoCommandReject,
18982       { "videoCommandReject", "h245.videoCommandReject",
18983         FT_NONE, BASE_NONE, NULL, 0,
18984         "h245.NULL", HFILL }},
18985     { &hf_h245_terminalDropReject,
18986       { "terminalDropReject", "h245.terminalDropReject",
18987         FT_NONE, BASE_NONE, NULL, 0,
18988         "h245.NULL", HFILL }},
18989     { &hf_h245_makeMeChairResponse,
18990       { "makeMeChairResponse", "h245.makeMeChairResponse",
18991         FT_UINT32, BASE_DEC, VALS(h245_T_makeMeChairResponse_vals), 0,
18992         "h245.T_makeMeChairResponse", HFILL }},
18993     { &hf_h245_grantedChairToken,
18994       { "grantedChairToken", "h245.grantedChairToken",
18995         FT_NONE, BASE_NONE, NULL, 0,
18996         "h245.NULL", HFILL }},
18997     { &hf_h245_deniedChairToken,
18998       { "deniedChairToken", "h245.deniedChairToken",
18999         FT_NONE, BASE_NONE, NULL, 0,
19000         "h245.NULL", HFILL }},
19001     { &hf_h245_extensionAddressResponse,
19002       { "extensionAddressResponse", "h245.extensionAddressResponse",
19003         FT_NONE, BASE_NONE, NULL, 0,
19004         "h245.T_extensionAddressResponse", HFILL }},
19005     { &hf_h245_extensionAddress,
19006       { "extensionAddress", "h245.extensionAddress",
19007         FT_BYTES, BASE_HEX, NULL, 0,
19008         "h245.TerminalID", HFILL }},
19009     { &hf_h245_chairTokenOwnerResponse,
19010       { "chairTokenOwnerResponse", "h245.chairTokenOwnerResponse",
19011         FT_NONE, BASE_NONE, NULL, 0,
19012         "h245.T_chairTokenOwnerResponse", HFILL }},
19013     { &hf_h245_terminalCertificateResponse,
19014       { "terminalCertificateResponse", "h245.terminalCertificateResponse",
19015         FT_NONE, BASE_NONE, NULL, 0,
19016         "h245.T_terminalCertificateResponse", HFILL }},
19017     { &hf_h245_certificateResponse,
19018       { "certificateResponse", "h245.certificateResponse",
19019         FT_BYTES, BASE_HEX, NULL, 0,
19020         "h245.OCTET_STRING_SIZE_1_65535", HFILL }},
19021     { &hf_h245_broadcastMyLogicalChannelResponse,
19022       { "broadcastMyLogicalChannelResponse", "h245.broadcastMyLogicalChannelResponse",
19023         FT_UINT32, BASE_DEC, VALS(h245_T_broadcastMyLogicalChannelResponse_vals), 0,
19024         "h245.T_broadcastMyLogicalChannelResponse", HFILL }},
19025     { &hf_h245_grantedBroadcastMyLogicalChannel,
19026       { "grantedBroadcastMyLogicalChannel", "h245.grantedBroadcastMyLogicalChannel",
19027         FT_NONE, BASE_NONE, NULL, 0,
19028         "h245.NULL", HFILL }},
19029     { &hf_h245_deniedBroadcastMyLogicalChannel,
19030       { "deniedBroadcastMyLogicalChannel", "h245.deniedBroadcastMyLogicalChannel",
19031         FT_NONE, BASE_NONE, NULL, 0,
19032         "h245.NULL", HFILL }},
19033     { &hf_h245_makeTerminalBroadcasterResponse,
19034       { "makeTerminalBroadcasterResponse", "h245.makeTerminalBroadcasterResponse",
19035         FT_UINT32, BASE_DEC, VALS(h245_T_makeTerminalBroadcasterResponse_vals), 0,
19036         "h245.T_makeTerminalBroadcasterResponse", HFILL }},
19037     { &hf_h245_grantedMakeTerminalBroadcaster,
19038       { "grantedMakeTerminalBroadcaster", "h245.grantedMakeTerminalBroadcaster",
19039         FT_NONE, BASE_NONE, NULL, 0,
19040         "h245.NULL", HFILL }},
19041     { &hf_h245_deniedMakeTerminalBroadcaster,
19042       { "deniedMakeTerminalBroadcaster", "h245.deniedMakeTerminalBroadcaster",
19043         FT_NONE, BASE_NONE, NULL, 0,
19044         "h245.NULL", HFILL }},
19045     { &hf_h245_sendThisSourceResponse,
19046       { "sendThisSourceResponse", "h245.sendThisSourceResponse",
19047         FT_UINT32, BASE_DEC, VALS(h245_T_sendThisSourceResponse_vals), 0,
19048         "h245.T_sendThisSourceResponse", HFILL }},
19049     { &hf_h245_grantedSendThisSource,
19050       { "grantedSendThisSource", "h245.grantedSendThisSource",
19051         FT_NONE, BASE_NONE, NULL, 0,
19052         "h245.NULL", HFILL }},
19053     { &hf_h245_deniedSendThisSource,
19054       { "deniedSendThisSource", "h245.deniedSendThisSource",
19055         FT_NONE, BASE_NONE, NULL, 0,
19056         "h245.NULL", HFILL }},
19057     { &hf_h245_requestAllTerminalIDsResponse,
19058       { "requestAllTerminalIDsResponse", "h245.requestAllTerminalIDsResponse",
19059         FT_NONE, BASE_NONE, NULL, 0,
19060         "h245.RequestAllTerminalIDsResponse", HFILL }},
19061     { &hf_h245_remoteMCResponse,
19062       { "remoteMCResponse", "h245.remoteMCResponse",
19063         FT_UINT32, BASE_DEC, VALS(h245_RemoteMCResponse_vals), 0,
19064         "h245.RemoteMCResponse", HFILL }},
19065     { &hf_h245_terminalInformation,
19066       { "terminalInformation", "h245.terminalInformation",
19067         FT_UINT32, BASE_DEC, NULL, 0,
19068         "h245.SEQUENCE_OF_TerminalInformation", HFILL }},
19069     { &hf_h245_terminalInformation_item,
19070       { "Item", "h245.terminalInformation_item",
19071         FT_NONE, BASE_NONE, NULL, 0,
19072         "h245.TerminalInformation", HFILL }},
19073     { &hf_h245_masterActivate,
19074       { "masterActivate", "h245.masterActivate",
19075         FT_NONE, BASE_NONE, NULL, 0,
19076         "h245.NULL", HFILL }},
19077     { &hf_h245_slaveActivate,
19078       { "slaveActivate", "h245.slaveActivate",
19079         FT_NONE, BASE_NONE, NULL, 0,
19080         "h245.NULL", HFILL }},
19081     { &hf_h245_deActivate,
19082       { "deActivate", "h245.deActivate",
19083         FT_NONE, BASE_NONE, NULL, 0,
19084         "h245.NULL", HFILL }},
19085     { &hf_h245_accept,
19086       { "accept", "h245.accept",
19087         FT_NONE, BASE_NONE, NULL, 0,
19088         "h245.NULL", HFILL }},
19089     { &hf_h245_reject,
19090       { "reject", "h245.reject",
19091         FT_UINT32, BASE_DEC, VALS(h245_T_reject_vals), 0,
19092         "h245.T_reject", HFILL }},
19093     { &hf_h245_functionNotSupportedFlag,
19094       { "functionNotSupported", "h245.functionNotSupported",
19095         FT_NONE, BASE_NONE, NULL, 0,
19096         "h245.NULL", HFILL }},
19097     { &hf_h245_callInformationReq,
19098       { "callInformation", "h245.callInformation",
19099         FT_NONE, BASE_NONE, NULL, 0,
19100         "h245.CallInformationReq", HFILL }},
19101     { &hf_h245_maxNumberOfAdditionalConnections,
19102       { "maxNumberOfAdditionalConnections", "h245.maxNumberOfAdditionalConnections",
19103         FT_UINT32, BASE_DEC, NULL, 0,
19104         "h245.INTEGER_1_65535", HFILL }},
19105     { &hf_h245_addConnectionReq,
19106       { "addConnection", "h245.addConnection",
19107         FT_NONE, BASE_NONE, NULL, 0,
19108         "h245.AddConnectionReq", HFILL }},
19109     { &hf_h245_dialingInformation,
19110       { "dialingInformation", "h245.dialingInformation",
19111         FT_UINT32, BASE_DEC, VALS(h245_DialingInformation_vals), 0,
19112         "h245.DialingInformation", HFILL }},
19113     { &hf_h245_removeConnectionReq,
19114       { "removeConnection", "h245.removeConnection",
19115         FT_NONE, BASE_NONE, NULL, 0,
19116         "h245.RemoveConnectionReq", HFILL }},
19117     { &hf_h245_connectionIdentifier,
19118       { "connectionIdentifier", "h245.connectionIdentifier",
19119         FT_NONE, BASE_NONE, NULL, 0,
19120         "h245.ConnectionIdentifier", HFILL }},
19121     { &hf_h245_maximumHeaderIntervalReq,
19122       { "maximumHeaderInterval", "h245.maximumHeaderInterval",
19123         FT_NONE, BASE_NONE, NULL, 0,
19124         "h245.MaximumHeaderIntervalReq", HFILL }},
19125     { &hf_h245_requestType,
19126       { "requestType", "h245.requestType",
19127         FT_UINT32, BASE_DEC, VALS(h245_T_requestType_vals), 0,
19128         "h245.T_requestType", HFILL }},
19129     { &hf_h245_currentIntervalInformation,
19130       { "currentIntervalInformation", "h245.currentIntervalInformation",
19131         FT_NONE, BASE_NONE, NULL, 0,
19132         "h245.NULL", HFILL }},
19133     { &hf_h245_requestedInterval,
19134       { "requestedInterval", "h245.requestedInterval",
19135         FT_UINT32, BASE_DEC, NULL, 0,
19136         "h245.INTEGER_0_65535", HFILL }},
19137     { &hf_h245_callInformationResp,
19138       { "callInformation", "h245.callInformation",
19139         FT_NONE, BASE_NONE, NULL, 0,
19140         "h245.CallInformationResp", HFILL }},
19141     { &hf_h245_callAssociationNumber,
19142       { "callAssociationNumber", "h245.callAssociationNumber",
19143         FT_UINT32, BASE_DEC, NULL, 0,
19144         "h245.INTEGER_0_4294967295", HFILL }},
19145     { &hf_h245_addConnectionResp,
19146       { "addConnection", "h245.addConnection",
19147         FT_NONE, BASE_NONE, NULL, 0,
19148         "h245.AddConnectionResp", HFILL }},
19149     { &hf_h245_responseCode,
19150       { "responseCode", "h245.responseCode",
19151         FT_UINT32, BASE_DEC, VALS(h245_T_responseCode_vals), 0,
19152         "h245.T_responseCode", HFILL }},
19153     { &hf_h245_accepted,
19154       { "accepted", "h245.accepted",
19155         FT_NONE, BASE_NONE, NULL, 0,
19156         "h245.NULL", HFILL }},
19157     { &hf_h245_rejected,
19158       { "rejected", "h245.rejected",
19159         FT_UINT32, BASE_DEC, VALS(h245_T_rejected_vals), 0,
19160         "h245.T_rejected", HFILL }},
19161     { &hf_h245_connectionsNotAvailable,
19162       { "connectionsNotAvailable", "h245.connectionsNotAvailable",
19163         FT_NONE, BASE_NONE, NULL, 0,
19164         "h245.NULL", HFILL }},
19165     { &hf_h245_userRejected,
19166       { "userRejected", "h245.userRejected",
19167         FT_NONE, BASE_NONE, NULL, 0,
19168         "h245.NULL", HFILL }},
19169     { &hf_h245_removeConnectionResp,
19170       { "removeConnection", "h245.removeConnection",
19171         FT_NONE, BASE_NONE, NULL, 0,
19172         "h245.RemoveConnectionResp", HFILL }},
19173     { &hf_h245_maximumHeaderIntervalResp,
19174       { "maximumHeaderInterval", "h245.maximumHeaderInterval",
19175         FT_NONE, BASE_NONE, NULL, 0,
19176         "h245.MaximumHeaderIntervalResp", HFILL }},
19177     { &hf_h245_currentInterval,
19178       { "currentInterval", "h245.currentInterval",
19179         FT_UINT32, BASE_DEC, NULL, 0,
19180         "h245.INTEGER_0_65535", HFILL }},
19181     { &hf_h245_crcDesired,
19182       { "crcDesired", "h245.crcDesired",
19183         FT_NONE, BASE_NONE, NULL, 0,
19184         "h245.T_crcDesired", HFILL }},
19185     { &hf_h245_excessiveError,
19186       { "excessiveError", "h245.excessiveError",
19187         FT_NONE, BASE_NONE, NULL, 0,
19188         "h245.T_excessiveError", HFILL }},
19189     { &hf_h245_differential,
19190       { "differential", "h245.differential",
19191         FT_UINT32, BASE_DEC, NULL, 0,
19192         "h245.SET_SIZE_1_65535_OF_DialingInformationNumber", HFILL }},
19193     { &hf_h245_differential_item,
19194       { "Item", "h245.differential_item",
19195         FT_NONE, BASE_NONE, NULL, 0,
19196         "h245.DialingInformationNumber", HFILL }},
19197     { &hf_h245_infoNotAvailable,
19198       { "infoNotAvailable", "h245.infoNotAvailable",
19199         FT_UINT32, BASE_DEC, NULL, 0,
19200         "h245.INTEGER_1_65535", HFILL }},
19201     { &hf_h245_networkAddressNum,
19202       { "networkAddress", "h245.networkAddress",
19203         FT_STRING, BASE_NONE, NULL, 0,
19204         "h245.NumericString_SIZE_0_40", HFILL }},
19205     { &hf_h245_subAddress,
19206       { "subAddress", "h245.subAddress",
19207         FT_STRING, BASE_NONE, NULL, 0,
19208         "h245.IA5String_SIZE_1_40", HFILL }},
19209     { &hf_h245_networkType,
19210       { "networkType", "h245.networkType",
19211         FT_UINT32, BASE_DEC, NULL, 0,
19212         "h245.SET_SIZE_1_255_OF_DialingInformationNetworkType", HFILL }},
19213     { &hf_h245_networkType_item,
19214       { "Item", "h245.networkType_item",
19215         FT_UINT32, BASE_DEC, VALS(h245_DialingInformationNetworkType_vals), 0,
19216         "h245.DialingInformationNetworkType", HFILL }},
19217     { &hf_h245_n_isdn,
19218       { "n-isdn", "h245.n_isdn",
19219         FT_NONE, BASE_NONE, NULL, 0,
19220         "h245.NULL", HFILL }},
19221     { &hf_h245_gstn,
19222       { "gstn", "h245.gstn",
19223         FT_NONE, BASE_NONE, NULL, 0,
19224         "h245.NULL", HFILL }},
19225     { &hf_h245_mobile,
19226       { "mobile", "h245.mobile",
19227         FT_NONE, BASE_NONE, NULL, 0,
19228         "h245.NULL", HFILL }},
19229     { &hf_h245_channelTag,
19230       { "channelTag", "h245.channelTag",
19231         FT_UINT32, BASE_DEC, NULL, 0,
19232         "h245.INTEGER_0_4294967295", HFILL }},
19233     { &hf_h245_sequenceNum,
19234       { "sequenceNumber", "h245.sequenceNumber",
19235         FT_UINT32, BASE_DEC, NULL, 0,
19236         "h245.INTEGER_0_4294967295", HFILL }},
19237     { &hf_h245_maximumBitRate,
19238       { "maximumBitRate", "h245.maximumBitRate",
19239         FT_UINT32, BASE_DEC, NULL, 0,
19240         "h245.MaximumBitRate", HFILL }},
19241     { &hf_h245_rejectReason,
19242       { "rejectReason", "h245.rejectReason",
19243         FT_UINT32, BASE_DEC, VALS(h245_LogicalChannelRateRejectReason_vals), 0,
19244         "h245.LogicalChannelRateRejectReason", HFILL }},
19245     { &hf_h245_currentMaximumBitRate,
19246       { "currentMaximumBitRate", "h245.currentMaximumBitRate",
19247         FT_UINT32, BASE_DEC, NULL, 0,
19248         "h245.MaximumBitRate", HFILL }},
19249     { &hf_h245_undefinedReason,
19250       { "undefinedReason", "h245.undefinedReason",
19251         FT_NONE, BASE_NONE, NULL, 0,
19252         "h245.NULL", HFILL }},
19253     { &hf_h245_insufficientResources,
19254       { "insufficientResources", "h245.insufficientResources",
19255         FT_NONE, BASE_NONE, NULL, 0,
19256         "h245.NULL", HFILL }},
19257     { &hf_h245_specificRequest,
19258       { "specificRequest", "h245.specificRequest",
19259         FT_NONE, BASE_NONE, NULL, 0,
19260         "h245.T_specificRequest", HFILL }},
19261     { &hf_h245_multiplexCapabilityBool,
19262       { "multiplexCapability", "h245.multiplexCapability",
19263         FT_BOOLEAN, 8, NULL, 0,
19264         "h245.BOOLEAN", HFILL }},
19265     { &hf_h245_capabilityTableEntryNumbers,
19266       { "capabilityTableEntryNumbers", "h245.capabilityTableEntryNumbers",
19267         FT_UINT32, BASE_DEC, NULL, 0,
19268         "h245.SET_SIZE_1_65535_OF_CapabilityTableEntryNumber", HFILL }},
19269     { &hf_h245_capabilityTableEntryNumbers_item,
19270       { "Item", "h245.capabilityTableEntryNumbers_item",
19271         FT_UINT32, BASE_DEC, NULL, 0,
19272         "h245.CapabilityTableEntryNumber", HFILL }},
19273     { &hf_h245_capabilityDescriptorNumbers,
19274       { "capabilityDescriptorNumbers", "h245.capabilityDescriptorNumbers",
19275         FT_UINT32, BASE_DEC, NULL, 0,
19276         "h245.SET_SIZE_1_256_OF_CapabilityDescriptorNumber", HFILL }},
19277     { &hf_h245_capabilityDescriptorNumbers_item,
19278       { "Item", "h245.capabilityDescriptorNumbers_item",
19279         FT_UINT32, BASE_DEC, NULL, 0,
19280         "h245.CapabilityDescriptorNumber", HFILL }},
19281     { &hf_h245_genericRequestFlag,
19282       { "genericRequest", "h245.genericRequest",
19283         FT_NONE, BASE_NONE, NULL, 0,
19284         "h245.NULL", HFILL }},
19285     { &hf_h245_encryptionSE,
19286       { "encryptionSE", "h245.encryptionSE",
19287         FT_BYTES, BASE_HEX, NULL, 0,
19288         "h245.OCTET_STRING", HFILL }},
19289     { &hf_h245_encryptionIVRequest,
19290       { "encryptionIVRequest", "h245.encryptionIVRequest",
19291         FT_NONE, BASE_NONE, NULL, 0,
19292         "h245.NULL", HFILL }},
19293     { &hf_h245_encryptionAlgorithmID,
19294       { "encryptionAlgorithmID", "h245.encryptionAlgorithmID",
19295         FT_NONE, BASE_NONE, NULL, 0,
19296         "h245.T_encryptionAlgorithmID", HFILL }},
19297     { &hf_h245_h233AlgorithmIdentifier,
19298       { "h233AlgorithmIdentifier", "h245.h233AlgorithmIdentifier",
19299         FT_UINT32, BASE_DEC, NULL, 0,
19300         "h245.SequenceNumber", HFILL }},
19301     { &hf_h245_associatedAlgorithm,
19302       { "associatedAlgorithm", "h245.associatedAlgorithm",
19303         FT_NONE, BASE_NONE, NULL, 0,
19304         "h245.NonStandardParameter", HFILL }},
19305     { &hf_h245_wholeMultiplex,
19306       { "wholeMultiplex", "h245.wholeMultiplex",
19307         FT_NONE, BASE_NONE, NULL, 0,
19308         "h245.NULL", HFILL }},
19309     { &hf_h245_scope,
19310       { "scope", "h245.scope",
19311         FT_UINT32, BASE_DEC, VALS(h245_Scope_vals), 0,
19312         "h245.Scope", HFILL }},
19313     { &hf_h245_res_maximumBitRate,
19314       { "maximumBitRate", "h245.maximumBitRate",
19315         FT_UINT32, BASE_DEC, NULL, 0,
19316         "h245.INTEGER_0_16777215", HFILL }},
19317     { &hf_h245_noRestriction,
19318       { "noRestriction", "h245.noRestriction",
19319         FT_NONE, BASE_NONE, NULL, 0,
19320         "h245.NULL", HFILL }},
19321     { &hf_h245_restriction,
19322       { "restriction", "h245.restriction",
19323         FT_UINT32, BASE_DEC, VALS(h245_Restriction_vals), 0,
19324         "h245.Restriction", HFILL }},
19325     { &hf_h245_disconnect,
19326       { "disconnect", "h245.disconnect",
19327         FT_NONE, BASE_NONE, NULL, 0,
19328         "h245.NULL", HFILL }},
19329     { &hf_h245_gstnOptions,
19330       { "gstnOptions", "h245.gstnOptions",
19331         FT_UINT32, BASE_DEC, VALS(h245_T_gstnOptions_vals), 0,
19332         "h245.T_gstnOptions", HFILL }},
19333     { &hf_h245_telephonyMode,
19334       { "telephonyMode", "h245.telephonyMode",
19335         FT_NONE, BASE_NONE, NULL, 0,
19336         "h245.NULL", HFILL }},
19337     { &hf_h245_v8bis,
19338       { "v8bis", "h245.v8bis",
19339         FT_NONE, BASE_NONE, NULL, 0,
19340         "h245.NULL", HFILL }},
19341     { &hf_h245_v34DSVD,
19342       { "v34DSVD", "h245.v34DSVD",
19343         FT_NONE, BASE_NONE, NULL, 0,
19344         "h245.NULL", HFILL }},
19345     { &hf_h245_v34DuplexFAX,
19346       { "v34DuplexFAX", "h245.v34DuplexFAX",
19347         FT_NONE, BASE_NONE, NULL, 0,
19348         "h245.NULL", HFILL }},
19349     { &hf_h245_v34H324,
19350       { "v34H324", "h245.v34H324",
19351         FT_NONE, BASE_NONE, NULL, 0,
19352         "h245.NULL", HFILL }},
19353     { &hf_h245_isdnOptions,
19354       { "isdnOptions", "h245.isdnOptions",
19355         FT_UINT32, BASE_DEC, VALS(h245_T_isdnOptions_vals), 0,
19356         "h245.T_isdnOptions", HFILL }},
19357     { &hf_h245_v140,
19358       { "v140", "h245.v140",
19359         FT_NONE, BASE_NONE, NULL, 0,
19360         "h245.NULL", HFILL }},
19361     { &hf_h245_terminalOnHold,
19362       { "terminalOnHold", "h245.terminalOnHold",
19363         FT_NONE, BASE_NONE, NULL, 0,
19364         "h245.NULL", HFILL }},
19365     { &hf_h245_cancelBroadcastMyLogicalChannel,
19366       { "cancelBroadcastMyLogicalChannel", "h245.cancelBroadcastMyLogicalChannel",
19367         FT_UINT32, BASE_DEC, NULL, 0,
19368         "h245.LogicalChannelNumber", HFILL }},
19369     { &hf_h245_cancelMakeTerminalBroadcaster,
19370       { "cancelMakeTerminalBroadcaster", "h245.cancelMakeTerminalBroadcaster",
19371         FT_NONE, BASE_NONE, NULL, 0,
19372         "h245.NULL", HFILL }},
19373     { &hf_h245_cancelSendThisSource,
19374       { "cancelSendThisSource", "h245.cancelSendThisSource",
19375         FT_NONE, BASE_NONE, NULL, 0,
19376         "h245.NULL", HFILL }},
19377     { &hf_h245_dropConference,
19378       { "dropConference", "h245.dropConference",
19379         FT_NONE, BASE_NONE, NULL, 0,
19380         "h245.NULL", HFILL }},
19381     { &hf_h245_substituteConferenceIDCommand,
19382       { "substituteConferenceIDCommand", "h245.substituteConferenceIDCommand",
19383         FT_NONE, BASE_NONE, NULL, 0,
19384         "h245.SubstituteConferenceIDCommand", HFILL }},
19385     { &hf_h245_conferenceIdentifier,
19386       { "conferenceIdentifier", "h245.conferenceIdentifier",
19387         FT_BYTES, BASE_HEX, NULL, 0,
19388         "h245.OCTET_STRING_SIZE_16", HFILL }},
19389     { &hf_h245_masterToSlave,
19390       { "masterToSlave", "h245.masterToSlave",
19391         FT_NONE, BASE_NONE, NULL, 0,
19392         "h245.NULL", HFILL }},
19393     { &hf_h245_slaveToMaster,
19394       { "slaveToMaster", "h245.slaveToMaster",
19395         FT_NONE, BASE_NONE, NULL, 0,
19396         "h245.NULL", HFILL }},
19397     { &hf_h245_mc_type,
19398       { "type", "h245.type",
19399         FT_UINT32, BASE_DEC, VALS(h245_Mc_type_vals), 0,
19400         "h245.Mc_type", HFILL }},
19401     { &hf_h245_equaliseDelay,
19402       { "equaliseDelay", "h245.equaliseDelay",
19403         FT_NONE, BASE_NONE, NULL, 0,
19404         "h245.NULL", HFILL }},
19405     { &hf_h245_zeroDelay,
19406       { "zeroDelay", "h245.zeroDelay",
19407         FT_NONE, BASE_NONE, NULL, 0,
19408         "h245.NULL", HFILL }},
19409     { &hf_h245_multipointModeCommand,
19410       { "multipointModeCommand", "h245.multipointModeCommand",
19411         FT_NONE, BASE_NONE, NULL, 0,
19412         "h245.NULL", HFILL }},
19413     { &hf_h245_cancelMultipointModeCommand,
19414       { "cancelMultipointModeCommand", "h245.cancelMultipointModeCommand",
19415         FT_NONE, BASE_NONE, NULL, 0,
19416         "h245.NULL", HFILL }},
19417     { &hf_h245_videoFreezePicture,
19418       { "videoFreezePicture", "h245.videoFreezePicture",
19419         FT_NONE, BASE_NONE, NULL, 0,
19420         "h245.NULL", HFILL }},
19421     { &hf_h245_videoFastUpdatePicture,
19422       { "videoFastUpdatePicture", "h245.videoFastUpdatePicture",
19423         FT_NONE, BASE_NONE, NULL, 0,
19424         "h245.NULL", HFILL }},
19425     { &hf_h245_videoFastUpdateGOB,
19426       { "videoFastUpdateGOB", "h245.videoFastUpdateGOB",
19427         FT_NONE, BASE_NONE, NULL, 0,
19428         "h245.T_videoFastUpdateGOB", HFILL }},
19429     { &hf_h245_firstGOB,
19430       { "firstGOB", "h245.firstGOB",
19431         FT_UINT32, BASE_DEC, NULL, 0,
19432         "h245.INTEGER_0_17", HFILL }},
19433     { &hf_h245_numberOfGOBs,
19434       { "numberOfGOBs", "h245.numberOfGOBs",
19435         FT_UINT32, BASE_DEC, NULL, 0,
19436         "h245.INTEGER_1_18", HFILL }},
19437     { &hf_h245_videoTemporalSpatialTradeOff,
19438       { "videoTemporalSpatialTradeOff", "h245.videoTemporalSpatialTradeOff",
19439         FT_UINT32, BASE_DEC, NULL, 0,
19440         "h245.INTEGER_0_31", HFILL }},
19441     { &hf_h245_videoSendSyncEveryGOB,
19442       { "videoSendSyncEveryGOB", "h245.videoSendSyncEveryGOB",
19443         FT_NONE, BASE_NONE, NULL, 0,
19444         "h245.NULL", HFILL }},
19445     { &hf_h245_videoSendSyncEveryGOBCancel,
19446       { "videoSendSyncEveryGOBCancel", "h245.videoSendSyncEveryGOBCancel",
19447         FT_NONE, BASE_NONE, NULL, 0,
19448         "h245.NULL", HFILL }},
19449     { &hf_h245_videoFastUpdateMB,
19450       { "videoFastUpdateMB", "h245.videoFastUpdateMB",
19451         FT_NONE, BASE_NONE, NULL, 0,
19452         "h245.T_videoFastUpdateMB", HFILL }},
19453     { &hf_h245_firstGOB_0_255,
19454       { "firstGOB", "h245.firstGOB",
19455         FT_UINT32, BASE_DEC, NULL, 0,
19456         "h245.INTEGER_0_255", HFILL }},
19457     { &hf_h245_firstMB_1_8192,
19458       { "firstMB", "h245.firstMB",
19459         FT_UINT32, BASE_DEC, NULL, 0,
19460         "h245.INTEGER_1_8192", HFILL }},
19461     { &hf_h245_numberOfMBs,
19462       { "numberOfMBs", "h245.numberOfMBs",
19463         FT_UINT32, BASE_DEC, NULL, 0,
19464         "h245.INTEGER_1_8192", HFILL }},
19465     { &hf_h245_maxH223MUXPDUsize,
19466       { "maxH223MUXPDUsize", "h245.maxH223MUXPDUsize",
19467         FT_UINT32, BASE_DEC, NULL, 0,
19468         "h245.INTEGER_1_65535", HFILL }},
19469     { &hf_h245_encryptionUpdate,
19470       { "encryptionUpdate", "h245.encryptionUpdate",
19471         FT_NONE, BASE_NONE, NULL, 0,
19472         "h245.EncryptionSync", HFILL }},
19473     { &hf_h245_encryptionUpdateRequest,
19474       { "encryptionUpdateRequest", "h245.encryptionUpdateRequest",
19475         FT_NONE, BASE_NONE, NULL, 0,
19476         "h245.EncryptionUpdateRequest", HFILL }},
19477     { &hf_h245_switchReceiveMediaOff,
19478       { "switchReceiveMediaOff", "h245.switchReceiveMediaOff",
19479         FT_NONE, BASE_NONE, NULL, 0,
19480         "h245.NULL", HFILL }},
19481     { &hf_h245_switchReceiveMediaOn,
19482       { "switchReceiveMediaOn", "h245.switchReceiveMediaOn",
19483         FT_NONE, BASE_NONE, NULL, 0,
19484         "h245.NULL", HFILL }},
19485     { &hf_h245_progressiveRefinementStart,
19486       { "progressiveRefinementStart", "h245.progressiveRefinementStart",
19487         FT_NONE, BASE_NONE, NULL, 0,
19488         "h245.T_progressiveRefinementStart", HFILL }},
19489     { &hf_h245_repeatCount,
19490       { "repeatCount", "h245.repeatCount",
19491         FT_UINT32, BASE_DEC, VALS(h245_T_repeatCount_vals), 0,
19492         "h245.T_repeatCount", HFILL }},
19493     { &hf_h245_doOneProgression,
19494       { "doOneProgression", "h245.doOneProgression",
19495         FT_NONE, BASE_NONE, NULL, 0,
19496         "h245.NULL", HFILL }},
19497     { &hf_h245_doContinuousProgressions,
19498       { "doContinuousProgressions", "h245.doContinuousProgressions",
19499         FT_NONE, BASE_NONE, NULL, 0,
19500         "h245.NULL", HFILL }},
19501     { &hf_h245_doOneIndependentProgression,
19502       { "doOneIndependentProgression", "h245.doOneIndependentProgression",
19503         FT_NONE, BASE_NONE, NULL, 0,
19504         "h245.NULL", HFILL }},
19505     { &hf_h245_doContinuousIndependentProgressions,
19506       { "doContinuousIndependentProgressions", "h245.doContinuousIndependentProgressions",
19507         FT_NONE, BASE_NONE, NULL, 0,
19508         "h245.NULL", HFILL }},
19509     { &hf_h245_progressiveRefinementAbortOne,
19510       { "progressiveRefinementAbortOne", "h245.progressiveRefinementAbortOne",
19511         FT_NONE, BASE_NONE, NULL, 0,
19512         "h245.NULL", HFILL }},
19513     { &hf_h245_progressiveRefinementAbortContinuous,
19514       { "progressiveRefinementAbortContinuous", "h245.progressiveRefinementAbortContinuous",
19515         FT_NONE, BASE_NONE, NULL, 0,
19516         "h245.NULL", HFILL }},
19517     { &hf_h245_videoBadMBs,
19518       { "videoBadMBs", "h245.videoBadMBs",
19519         FT_NONE, BASE_NONE, NULL, 0,
19520         "h245.T_videoBadMBs", HFILL }},
19521     { &hf_h245_firstMB,
19522       { "firstMB", "h245.firstMB",
19523         FT_UINT32, BASE_DEC, NULL, 0,
19524         "h245.INTEGER_1_9216", HFILL }},
19525     { &hf_h245_numberOfMBs1_1_9216,
19526       { "numberOfMBs", "h245.numberOfMBs",
19527         FT_UINT32, BASE_DEC, NULL, 0,
19528         "h245.INTEGER_1_9216", HFILL }},
19529     { &hf_h245_temporalReference,
19530       { "temporalReference", "h245.temporalReference",
19531         FT_UINT32, BASE_DEC, NULL, 0,
19532         "h245.INTEGER_0_1023", HFILL }},
19533     { &hf_h245_lostPicture,
19534       { "lostPicture", "h245.lostPicture",
19535         FT_UINT32, BASE_DEC, NULL, 0,
19536         "h245.SEQUENCE_OF_PictureReference", HFILL }},
19537     { &hf_h245_lostPicture_item,
19538       { "Item", "h245.lostPicture_item",
19539         FT_UINT32, BASE_DEC, VALS(h245_PictureReference_vals), 0,
19540         "h245.PictureReference", HFILL }},
19541     { &hf_h245_lostPartialPicture,
19542       { "lostPartialPicture", "h245.lostPartialPicture",
19543         FT_NONE, BASE_NONE, NULL, 0,
19544         "h245.T_lostPartialPicture", HFILL }},
19545     { &hf_h245_pictureReference,
19546       { "pictureReference", "h245.pictureReference",
19547         FT_UINT32, BASE_DEC, VALS(h245_PictureReference_vals), 0,
19548         "h245.PictureReference", HFILL }},
19549     { &hf_h245_recoveryReferencePicture,
19550       { "recoveryReferencePicture", "h245.recoveryReferencePicture",
19551         FT_UINT32, BASE_DEC, NULL, 0,
19552         "h245.SEQUENCE_OF_PictureReference", HFILL }},
19553     { &hf_h245_recoveryReferencePicture_item,
19554       { "Item", "h245.recoveryReferencePicture_item",
19555         FT_UINT32, BASE_DEC, VALS(h245_PictureReference_vals), 0,
19556         "h245.PictureReference", HFILL }},
19557     { &hf_h245_encryptionUpdateCommand,
19558       { "encryptionUpdateCommand", "h245.encryptionUpdateCommand",
19559         FT_NONE, BASE_NONE, NULL, 0,
19560         "h245.T_encryptionUpdateCommand", HFILL }},
19561     { &hf_h245_encryptionUpdateAck,
19562       { "encryptionUpdateAck", "h245.encryptionUpdateAck",
19563         FT_NONE, BASE_NONE, NULL, 0,
19564         "h245.T_encryptionUpdateAck", HFILL }},
19565     { &hf_h245_direction,
19566       { "direction", "h245.direction",
19567         FT_UINT32, BASE_DEC, VALS(h245_EncryptionUpdateDirection_vals), 0,
19568         "h245.EncryptionUpdateDirection", HFILL }},
19569     { &hf_h245_secureChannel,
19570       { "secureChannel", "h245.secureChannel",
19571         FT_BOOLEAN, 8, NULL, 0,
19572         "h245.BOOLEAN", HFILL }},
19573     { &hf_h245_sharedSecret,
19574       { "sharedSecret", "h245.sharedSecret",
19575         FT_BOOLEAN, 8, NULL, 0,
19576         "h245.BOOLEAN", HFILL }},
19577     { &hf_h245_certProtectedKey,
19578       { "certProtectedKey", "h245.certProtectedKey",
19579         FT_BOOLEAN, 8, NULL, 0,
19580         "h245.BOOLEAN", HFILL }},
19581     { &hf_h245_keyProtectionMethod,
19582       { "keyProtectionMethod", "h245.keyProtectionMethod",
19583         FT_NONE, BASE_NONE, NULL, 0,
19584         "h245.KeyProtectionMethod", HFILL }},
19585     { &hf_h245_pictureNumber,
19586       { "pictureNumber", "h245.pictureNumber",
19587         FT_UINT32, BASE_DEC, NULL, 0,
19588         "h245.INTEGER_0_1023", HFILL }},
19589     { &hf_h245_longTermPictureIndex,
19590       { "longTermPictureIndex", "h245.longTermPictureIndex",
19591         FT_UINT32, BASE_DEC, NULL, 0,
19592         "h245.INTEGER_0_255", HFILL }},
19593     { &hf_h245_h223ModeChange,
19594       { "h223ModeChange", "h245.h223ModeChange",
19595         FT_UINT32, BASE_DEC, VALS(h245_T_h223ModeChange_vals), 0,
19596         "h245.T_h223ModeChange", HFILL }},
19597     { &hf_h245_toLevel0,
19598       { "toLevel0", "h245.toLevel0",
19599         FT_NONE, BASE_NONE, NULL, 0,
19600         "h245.NULL", HFILL }},
19601     { &hf_h245_toLevel1,
19602       { "toLevel1", "h245.toLevel1",
19603         FT_NONE, BASE_NONE, NULL, 0,
19604         "h245.NULL", HFILL }},
19605     { &hf_h245_toLevel2,
19606       { "toLevel2", "h245.toLevel2",
19607         FT_NONE, BASE_NONE, NULL, 0,
19608         "h245.NULL", HFILL }},
19609     { &hf_h245_toLevel2withOptionalHeader,
19610       { "toLevel2withOptionalHeader", "h245.toLevel2withOptionalHeader",
19611         FT_NONE, BASE_NONE, NULL, 0,
19612         "h245.NULL", HFILL }},
19613     { &hf_h245_h223AnnexADoubleFlag,
19614       { "h223AnnexADoubleFlag", "h245.h223AnnexADoubleFlag",
19615         FT_UINT32, BASE_DEC, VALS(h245_T_h223AnnexADoubleFlag_vals), 0,
19616         "h245.T_h223AnnexADoubleFlag", HFILL }},
19617     { &hf_h245_start,
19618       { "start", "h245.start",
19619         FT_NONE, BASE_NONE, NULL, 0,
19620         "h245.NULL", HFILL }},
19621     { &hf_h245_stop,
19622       { "stop", "h245.stop",
19623         FT_NONE, BASE_NONE, NULL, 0,
19624         "h245.NULL", HFILL }},
19625     { &hf_h245_bitRate,
19626       { "bitRate", "h245.bitRate",
19627         FT_UINT32, BASE_DEC, NULL, 0,
19628         "h245.INTEGER_1_65535", HFILL }},
19629     { &hf_h245_bitRateLockedToPCRClock,
19630       { "bitRateLockedToPCRClock", "h245.bitRateLockedToPCRClock",
19631         FT_BOOLEAN, 8, NULL, 0,
19632         "h245.BOOLEAN", HFILL }},
19633     { &hf_h245_bitRateLockedToNetworkClock,
19634       { "bitRateLockedToNetworkClock", "h245.bitRateLockedToNetworkClock",
19635         FT_BOOLEAN, 8, NULL, 0,
19636         "h245.BOOLEAN", HFILL }},
19637     { &hf_h245_cmd_aal,
19638       { "aal", "h245.aal",
19639         FT_UINT32, BASE_DEC, VALS(h245_Cmd_aal_vals), 0,
19640         "h245.Cmd_aal", HFILL }},
19641     { &hf_h245_cmd_aal1,
19642       { "aal1", "h245.aal1",
19643         FT_NONE, BASE_NONE, NULL, 0,
19644         "h245.Cmd_aal1", HFILL }},
19645     { &hf_h245_cmd_clockRecovery,
19646       { "clockRecovery", "h245.clockRecovery",
19647         FT_UINT32, BASE_DEC, VALS(h245_Cmd_clockRecovery_vals), 0,
19648         "h245.Cmd_clockRecovery", HFILL }},
19649     { &hf_h245_nullClockRecoveryflag,
19650       { "nullClockRecovery", "h245.nullClockRecovery",
19651         FT_NONE, BASE_NONE, NULL, 0,
19652         "h245.NULL", HFILL }},
19653     { &hf_h245_srtsClockRecovery,
19654       { "srtsClockRecovery", "h245.srtsClockRecovery",
19655         FT_NONE, BASE_NONE, NULL, 0,
19656         "h245.NULL", HFILL }},
19657     { &hf_h245_adaptiveClockRecoveryFlag,
19658       { "adaptiveClockRecovery", "h245.adaptiveClockRecovery",
19659         FT_NONE, BASE_NONE, NULL, 0,
19660         "h245.NULL", HFILL }},
19661     { &hf_h245_cmd_errorCorrection,
19662       { "errorCorrection", "h245.errorCorrection",
19663         FT_UINT32, BASE_DEC, VALS(h245_Cmd_errorCorrection_vals), 0,
19664         "h245.Cmd_errorCorrection", HFILL }},
19665     { &hf_h245_nullErrorCorrectionFlag,
19666       { "nullErrorCorrection", "h245.nullErrorCorrection",
19667         FT_NONE, BASE_NONE, NULL, 0,
19668         "h245.NULL", HFILL }},
19669     { &hf_h245_longInterleaverFlag,
19670       { "longInterleaver", "h245.longInterleaver",
19671         FT_NONE, BASE_NONE, NULL, 0,
19672         "h245.NULL", HFILL }},
19673     { &hf_h245_shortInterleaverFlag,
19674       { "shortInterleaver", "h245.shortInterleaver",
19675         FT_NONE, BASE_NONE, NULL, 0,
19676         "h245.NULL", HFILL }},
19677     { &hf_h245_errorCorrectionOnlyFlag,
19678       { "errorCorrectionOnly", "h245.errorCorrectionOnly",
19679         FT_NONE, BASE_NONE, NULL, 0,
19680         "h245.NULL", HFILL }},
19681     { &hf_h245_cmd_aal5,
19682       { "aal5", "h245.aal5",
19683         FT_NONE, BASE_NONE, NULL, 0,
19684         "h245.Cmd_aal5", HFILL }},
19685     { &hf_h245_cmd_multiplex,
19686       { "multiplex", "h245.multiplex",
19687         FT_UINT32, BASE_DEC, VALS(h245_Cmd_multiplex_vals), 0,
19688         "h245.Cmd_multiplex", HFILL }},
19689     { &hf_h245_noMultiplex,
19690       { "noMultiplex", "h245.noMultiplex",
19691         FT_NONE, BASE_NONE, NULL, 0,
19692         "h245.NULL", HFILL }},
19693     { &hf_h245_transportStream,
19694       { "transportStream", "h245.transportStream",
19695         FT_NONE, BASE_NONE, NULL, 0,
19696         "h245.NULL", HFILL }},
19697     { &hf_h245_programStreamFlag,
19698       { "programStream", "h245.programStream",
19699         FT_NONE, BASE_NONE, NULL, 0,
19700         "h245.NULL", HFILL }},
19701     { &hf_h245_cmd_reverseParameters,
19702       { "reverseParameters", "h245.reverseParameters",
19703         FT_NONE, BASE_NONE, NULL, 0,
19704         "h245.Cmd_reverseParameters", HFILL }},
19705     { &hf_h245_cmdr_multiplex,
19706       { "multiplex", "h245.multiplex",
19707         FT_UINT32, BASE_DEC, VALS(h245_CmdR_multiplex_vals), 0,
19708         "h245.CmdR_multiplex", HFILL }},
19709     { &hf_h245_sampleSize,
19710       { "sampleSize", "h245.sampleSize",
19711         FT_UINT32, BASE_DEC, NULL, 0,
19712         "h245.INTEGER_1_255", HFILL }},
19713     { &hf_h245_samplesPerFrame,
19714       { "samplesPerFrame", "h245.samplesPerFrame",
19715         FT_UINT32, BASE_DEC, NULL, 0,
19716         "h245.INTEGER_1_255", HFILL }},
19717     { &hf_h245_status,
19718       { "status", "h245.status",
19719         FT_UINT32, BASE_DEC, VALS(h245_T_status_vals), 0,
19720         "h245.T_status", HFILL }},
19721     { &hf_h245_synchronized,
19722       { "synchronized", "h245.synchronized",
19723         FT_NONE, BASE_NONE, NULL, 0,
19724         "h245.NULL", HFILL }},
19725     { &hf_h245_reconfiguration,
19726       { "reconfiguration", "h245.reconfiguration",
19727         FT_NONE, BASE_NONE, NULL, 0,
19728         "h245.NULL", HFILL }},
19729     { &hf_h245_fns_cause,
19730       { "cause", "h245.cause",
19731         FT_UINT32, BASE_DEC, VALS(h245_FunctionNotSupportedCause_vals), 0,
19732         "h245.FunctionNotSupportedCause", HFILL }},
19733     { &hf_h245_syntaxError,
19734       { "syntaxError", "h245.syntaxError",
19735         FT_NONE, BASE_NONE, NULL, 0,
19736         "h245.NULL", HFILL }},
19737     { &hf_h245_semanticError,
19738       { "semanticError", "h245.semanticError",
19739         FT_NONE, BASE_NONE, NULL, 0,
19740         "h245.NULL", HFILL }},
19741     { &hf_h245_unknownFunction,
19742       { "unknownFunction", "h245.unknownFunction",
19743         FT_NONE, BASE_NONE, NULL, 0,
19744         "h245.NULL", HFILL }},
19745     { &hf_h245_returnedFunction,
19746       { "returnedFunction", "h245.returnedFunction",
19747         FT_BYTES, BASE_HEX, NULL, 0,
19748         "h245.T_returnedFunction", HFILL }},
19749     { &hf_h245_sbeNumber,
19750       { "sbeNumber", "h245.sbeNumber",
19751         FT_UINT32, BASE_DEC, NULL, 0,
19752         "h245.INTEGER_0_9", HFILL }},
19753     { &hf_h245_terminalNumberAssign,
19754       { "terminalNumberAssign", "h245.terminalNumberAssign",
19755         FT_NONE, BASE_NONE, NULL, 0,
19756         "h245.TerminalLabel", HFILL }},
19757     { &hf_h245_terminalJoinedConference,
19758       { "terminalJoinedConference", "h245.terminalJoinedConference",
19759         FT_NONE, BASE_NONE, NULL, 0,
19760         "h245.TerminalLabel", HFILL }},
19761     { &hf_h245_terminalLeftConference,
19762       { "terminalLeftConference", "h245.terminalLeftConference",
19763         FT_NONE, BASE_NONE, NULL, 0,
19764         "h245.TerminalLabel", HFILL }},
19765     { &hf_h245_seenByAtLeastOneOther,
19766       { "seenByAtLeastOneOther", "h245.seenByAtLeastOneOther",
19767         FT_NONE, BASE_NONE, NULL, 0,
19768         "h245.NULL", HFILL }},
19769     { &hf_h245_cancelSeenByAtLeastOneOther,
19770       { "cancelSeenByAtLeastOneOther", "h245.cancelSeenByAtLeastOneOther",
19771         FT_NONE, BASE_NONE, NULL, 0,
19772         "h245.NULL", HFILL }},
19773     { &hf_h245_seenByAll,
19774       { "seenByAll", "h245.seenByAll",
19775         FT_NONE, BASE_NONE, NULL, 0,
19776         "h245.NULL", HFILL }},
19777     { &hf_h245_cancelSeenByAll,
19778       { "cancelSeenByAll", "h245.cancelSeenByAll",
19779         FT_NONE, BASE_NONE, NULL, 0,
19780         "h245.NULL", HFILL }},
19781     { &hf_h245_terminalYouAreSeeing,
19782       { "terminalYouAreSeeing", "h245.terminalYouAreSeeing",
19783         FT_NONE, BASE_NONE, NULL, 0,
19784         "h245.TerminalLabel", HFILL }},
19785     { &hf_h245_requestForFloor,
19786       { "requestForFloor", "h245.requestForFloor",
19787         FT_NONE, BASE_NONE, NULL, 0,
19788         "h245.NULL", HFILL }},
19789     { &hf_h245_withdrawChairToken,
19790       { "withdrawChairToken", "h245.withdrawChairToken",
19791         FT_NONE, BASE_NONE, NULL, 0,
19792         "h245.NULL", HFILL }},
19793     { &hf_h245_floorRequested,
19794       { "floorRequested", "h245.floorRequested",
19795         FT_NONE, BASE_NONE, NULL, 0,
19796         "h245.TerminalLabel", HFILL }},
19797     { &hf_h245_terminalYouAreSeeingInSubPictureNumber,
19798       { "terminalYouAreSeeingInSubPictureNumber", "h245.terminalYouAreSeeingInSubPictureNumber",
19799         FT_NONE, BASE_NONE, NULL, 0,
19800         "h245.TerminalYouAreSeeingInSubPictureNumber", HFILL }},
19801     { &hf_h245_videoIndicateCompose,
19802       { "videoIndicateCompose", "h245.videoIndicateCompose",
19803         FT_NONE, BASE_NONE, NULL, 0,
19804         "h245.VideoIndicateCompose", HFILL }},
19805     { &hf_h245_subPictureNumber,
19806       { "subPictureNumber", "h245.subPictureNumber",
19807         FT_UINT32, BASE_DEC, NULL, 0,
19808         "h245.INTEGER_0_255", HFILL }},
19809     { &hf_h245_compositionNumber,
19810       { "compositionNumber", "h245.compositionNumber",
19811         FT_UINT32, BASE_DEC, NULL, 0,
19812         "h245.INTEGER_0_255", HFILL }},
19813     { &hf_h245_mi_type,
19814       { "type", "h245.type",
19815         FT_UINT32, BASE_DEC, VALS(h245_Mi_type_vals), 0,
19816         "h245.Mi_type", HFILL }},
19817     { &hf_h245_logicalChannelActive,
19818       { "logicalChannelActive", "h245.logicalChannelActive",
19819         FT_NONE, BASE_NONE, NULL, 0,
19820         "h245.NULL", HFILL }},
19821     { &hf_h245_logicalChannelInactive,
19822       { "logicalChannelInactive", "h245.logicalChannelInactive",
19823         FT_NONE, BASE_NONE, NULL, 0,
19824         "h245.NULL", HFILL }},
19825     { &hf_h245_multipointConference,
19826       { "multipointConference", "h245.multipointConference",
19827         FT_NONE, BASE_NONE, NULL, 0,
19828         "h245.NULL", HFILL }},
19829     { &hf_h245_cancelMultipointConference,
19830       { "cancelMultipointConference", "h245.cancelMultipointConference",
19831         FT_NONE, BASE_NONE, NULL, 0,
19832         "h245.NULL", HFILL }},
19833     { &hf_h245_multipointZeroComm,
19834       { "multipointZeroComm", "h245.multipointZeroComm",
19835         FT_NONE, BASE_NONE, NULL, 0,
19836         "h245.NULL", HFILL }},
19837     { &hf_h245_cancelMultipointZeroComm,
19838       { "cancelMultipointZeroComm", "h245.cancelMultipointZeroComm",
19839         FT_NONE, BASE_NONE, NULL, 0,
19840         "h245.NULL", HFILL }},
19841     { &hf_h245_multipointSecondaryStatus,
19842       { "multipointSecondaryStatus", "h245.multipointSecondaryStatus",
19843         FT_NONE, BASE_NONE, NULL, 0,
19844         "h245.NULL", HFILL }},
19845     { &hf_h245_cancelMultipointSecondaryStatus,
19846       { "cancelMultipointSecondaryStatus", "h245.cancelMultipointSecondaryStatus",
19847         FT_NONE, BASE_NONE, NULL, 0,
19848         "h245.NULL", HFILL }},
19849     { &hf_h245_videoIndicateReadyToActivate,
19850       { "videoIndicateReadyToActivate", "h245.videoIndicateReadyToActivate",
19851         FT_NONE, BASE_NONE, NULL, 0,
19852         "h245.NULL", HFILL }},
19853     { &hf_h245_videoNotDecodedMBs,
19854       { "videoNotDecodedMBs", "h245.videoNotDecodedMBs",
19855         FT_NONE, BASE_NONE, NULL, 0,
19856         "h245.T_videoNotDecodedMBs", HFILL }},
19857     { &hf_h245_temporalReference_0_255,
19858       { "temporalReference", "h245.temporalReference",
19859         FT_UINT32, BASE_DEC, NULL, 0,
19860         "h245.INTEGER_0_255", HFILL }},
19861     { &hf_h245_estimatedReceivedJitterMantissa,
19862       { "estimatedReceivedJitterMantissa", "h245.estimatedReceivedJitterMantissa",
19863         FT_UINT32, BASE_DEC, NULL, 0,
19864         "h245.INTEGER_0_3", HFILL }},
19865     { &hf_h245_estimatedReceivedJitterExponent,
19866       { "estimatedReceivedJitterExponent", "h245.estimatedReceivedJitterExponent",
19867         FT_UINT32, BASE_DEC, NULL, 0,
19868         "h245.INTEGER_0_7", HFILL }},
19869     { &hf_h245_skippedFrameCount,
19870       { "skippedFrameCount", "h245.skippedFrameCount",
19871         FT_UINT32, BASE_DEC, NULL, 0,
19872         "h245.INTEGER_0_15", HFILL }},
19873     { &hf_h245_additionalDecoderBuffer,
19874       { "additionalDecoderBuffer", "h245.additionalDecoderBuffer",
19875         FT_UINT32, BASE_DEC, NULL, 0,
19876         "h245.INTEGER_0_262143", HFILL }},
19877     { &hf_h245_logicalChannelNumber1,
19878       { "logicalChannelNumber1", "h245.logicalChannelNumber1",
19879         FT_UINT32, BASE_DEC, NULL, 0,
19880         "h245.LogicalChannelNumber", HFILL }},
19881     { &hf_h245_logicalChannelNumber2,
19882       { "logicalChannelNumber2", "h245.logicalChannelNumber2",
19883         FT_UINT32, BASE_DEC, NULL, 0,
19884         "h245.LogicalChannelNumber", HFILL }},
19885     { &hf_h245_skew,
19886       { "skew", "h245.skew",
19887         FT_UINT32, BASE_DEC, NULL, 0,
19888         "h245.INTEGER_0_4095", HFILL }},
19889     { &hf_h245_maximumSkew,
19890       { "maximumSkew", "h245.maximumSkew",
19891         FT_UINT32, BASE_DEC, NULL, 0,
19892         "h245.INTEGER_0_4095", HFILL }},
19893     { &hf_h245_signalAddress,
19894       { "signalAddress", "h245.signalAddress",
19895         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
19896         "h245.TransportAddress", HFILL }},
19897     { &hf_h245_vendor,
19898       { "vendor", "h245.vendor",
19899         FT_UINT32, BASE_DEC, VALS(h245_NonStandardIdentifier_vals), 0,
19900         "h245.NonStandardIdentifier", HFILL }},
19901     { &hf_h245_productNumber,
19902       { "productNumber", "h245.productNumber",
19903         FT_STRING, BASE_HEX, NULL, 0,
19904         "h245.OCTET_STRING_SIZE_1_256", HFILL }},
19905     { &hf_h245_versionNumber,
19906       { "versionNumber", "h245.versionNumber",
19907         FT_STRING, BASE_HEX, NULL, 0,
19908         "h245.OCTET_STRING_SIZE_1_256", HFILL }},
19909     { &hf_h245_ind_aal,
19910       { "aal", "h245.aal",
19911         FT_UINT32, BASE_DEC, VALS(h245_Ind_aal_vals), 0,
19912         "h245.Ind_aal", HFILL }},
19913     { &hf_h245_ind_aal1,
19914       { "aal1", "h245.aal1",
19915         FT_NONE, BASE_NONE, NULL, 0,
19916         "h245.Ind_aal1", HFILL }},
19917     { &hf_h245_ind_clockRecovery,
19918       { "clockRecovery", "h245.clockRecovery",
19919         FT_UINT32, BASE_DEC, VALS(h245_Ind_clockRecovery_vals), 0,
19920         "h245.Ind_clockRecovery", HFILL }},
19921     { &hf_h245_ind_errorCorrection,
19922       { "errorCorrection", "h245.errorCorrection",
19923         FT_UINT32, BASE_DEC, VALS(h245_Ind_errorCorrection_vals), 0,
19924         "h245.Ind_errorCorrection", HFILL }},
19925     { &hf_h245_ind_aal5,
19926       { "aal5", "h245.aal5",
19927         FT_NONE, BASE_NONE, NULL, 0,
19928         "h245.Ind_aal5", HFILL }},
19929     { &hf_h245_ind_multiplex,
19930       { "multiplex", "h245.multiplex",
19931         FT_UINT32, BASE_DEC, VALS(h245_Ind_multiplex_vals), 0,
19932         "h245.Ind_multiplex", HFILL }},
19933     { &hf_h245_ind_reverseParameters,
19934       { "reverseParameters", "h245.reverseParameters",
19935         FT_NONE, BASE_NONE, NULL, 0,
19936         "h245.Ind_reverseParameters", HFILL }},
19937     { &hf_h245_indr_multiplex,
19938       { "multiplex", "h245.multiplex",
19939         FT_UINT32, BASE_DEC, VALS(h245_IndR_multiplex_vals), 0,
19940         "h245.IndR_multiplex", HFILL }},
19941     { &hf_h245_iv8,
19942       { "iv8", "h245.iv8",
19943         FT_BYTES, BASE_HEX, NULL, 0,
19944         "h245.IV8", HFILL }},
19945     { &hf_h245_iv16,
19946       { "iv16", "h245.iv16",
19947         FT_BYTES, BASE_HEX, NULL, 0,
19948         "h245.IV16", HFILL }},
19949     { &hf_h245_iv,
19950       { "iv", "h245.iv",
19951         FT_BYTES, BASE_HEX, NULL, 0,
19952         "h245.OCTET_STRING", HFILL }},
19953     { &hf_h245_alphanumeric,
19954       { "alphanumeric", "h245.alphanumeric",
19955         FT_STRING, BASE_NONE, NULL, 0,
19956         "h245.GeneralString", HFILL }},
19957     { &hf_h245_userInputSupportIndication,
19958       { "userInputSupportIndication", "h245.userInputSupportIndication",
19959         FT_UINT32, BASE_DEC, VALS(h245_T_userInputSupportIndication_vals), 0,
19960         "h245.T_userInputSupportIndication", HFILL }},
19961     { &hf_h245_signal,
19962       { "signal", "h245.signal",
19963         FT_NONE, BASE_NONE, NULL, 0,
19964         "h245.T_signal", HFILL }},
19965     { &hf_h245_signalType,
19966       { "signalType", "h245.signalType",
19967         FT_STRING, BASE_NONE, NULL, 0,
19968         "h245.T_signalType", HFILL }},
19969     { &hf_h245_duration,
19970       { "duration", "h245.duration",
19971         FT_UINT32, BASE_DEC, NULL, 0,
19972         "h245.INTEGER_1_65535", HFILL }},
19973     { &hf_h245_rtp,
19974       { "rtp", "h245.rtp",
19975         FT_NONE, BASE_NONE, NULL, 0,
19976         "h245.T_rtp", HFILL }},
19977     { &hf_h245_timestamp,
19978       { "timestamp", "h245.timestamp",
19979         FT_UINT32, BASE_DEC, NULL, 0,
19980         "h245.INTEGER_0_4294967295", HFILL }},
19981     { &hf_h245_expirationTime,
19982       { "expirationTime", "h245.expirationTime",
19983         FT_UINT32, BASE_DEC, NULL, 0,
19984         "h245.INTEGER_0_4294967295", HFILL }},
19985     { &hf_h245_rtpPayloadIndication,
19986       { "rtpPayloadIndication", "h245.rtpPayloadIndication",
19987         FT_NONE, BASE_NONE, NULL, 0,
19988         "h245.NULL", HFILL }},
19989     { &hf_h245_paramS,
19990       { "paramS", "h245.paramS",
19991         FT_NONE, BASE_NONE, NULL, 0,
19992         "h245.Params", HFILL }},
19993     { &hf_h245_encryptedSignalType,
19994       { "encryptedSignalType", "h245.encryptedSignalType",
19995         FT_BYTES, BASE_HEX, NULL, 0,
19996         "h245.OCTET_STRING_SIZE_1", HFILL }},
19997     { &hf_h245_algorithmOID,
19998       { "algorithmOID", "h245.algorithmOID",
19999         FT_OID, BASE_NONE, NULL, 0,
20000         "h245.OBJECT_IDENTIFIER", HFILL }},
20001     { &hf_h245_signalUpdate,
20002       { "signalUpdate", "h245.signalUpdate",
20003         FT_NONE, BASE_NONE, NULL, 0,
20004         "h245.T_signalUpdate", HFILL }},
20005     { &hf_h245_si_rtp,
20006       { "rtp", "h245.rtp",
20007         FT_NONE, BASE_NONE, NULL, 0,
20008         "h245.Si_rtp", HFILL }},
20009     { &hf_h245_extendedAlphanumeric,
20010       { "extendedAlphanumeric", "h245.extendedAlphanumeric",
20011         FT_NONE, BASE_NONE, NULL, 0,
20012         "h245.T_extendedAlphanumeric", HFILL }},
20013     { &hf_h245_encrypted,
20014       { "encrypted", "h245.encrypted",
20015         FT_BYTES, BASE_HEX, NULL, 0,
20016         "h245.OCTET_STRING", HFILL }},
20017     { &hf_h245_encryptedAlphanumeric,
20018       { "encryptedAlphanumeric", "h245.encryptedAlphanumeric",
20019         FT_NONE, BASE_NONE, NULL, 0,
20020         "h245.EncryptedAlphanumeric", HFILL }},
20021
20022 /*--- End of included file: packet-h245-hfarr.c ---*/
20023 #line 467 "packet-h245-template.c"
20024   };
20025
20026   /* List of subtrees */
20027   static gint *ett[] = {
20028           &ett_h245,
20029           &ett_h245_returnedFunction,
20030
20031 /*--- Included file: packet-h245-ettarr.c ---*/
20032 #line 1 "packet-h245-ettarr.c"
20033     &ett_h245_MultimediaSystemControlMessage,
20034     &ett_h245_RequestMessage,
20035     &ett_h245_ResponseMessage,
20036     &ett_h245_CommandMessage,
20037     &ett_h245_IndicationMessage,
20038     &ett_h245_GenericMessage,
20039     &ett_h245_T_messageContent,
20040     &ett_h245_NonStandardMessage,
20041     &ett_h245_NonStandardParameter,
20042     &ett_h245_NonStandardIdentifier,
20043     &ett_h245_H221NonStandardID,
20044     &ett_h245_MasterSlaveDetermination,
20045     &ett_h245_MasterSlaveDeterminationAck,
20046     &ett_h245_T_decision,
20047     &ett_h245_MasterSlaveDeterminationReject,
20048     &ett_h245_MasterSlaveDeterminationRejectCause,
20049     &ett_h245_MasterSlaveDeterminationRelease,
20050     &ett_h245_TerminalCapabilitySet,
20051     &ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry,
20052     &ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor,
20053     &ett_h245_SEQUENCE_OF_GenericInformation,
20054     &ett_h245_CapabilityTableEntry,
20055     &ett_h245_CapabilityDescriptor,
20056     &ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet,
20057     &ett_h245_AlternativeCapabilitySet,
20058     &ett_h245_TerminalCapabilitySetAck,
20059     &ett_h245_TerminalCapabilitySetReject,
20060     &ett_h245_TerminalCapabilitySetRejectCause,
20061     &ett_h245_T_tableEntryCapacityExceeded,
20062     &ett_h245_TerminalCapabilitySetRelease,
20063     &ett_h245_Capability,
20064     &ett_h245_T_h233EncryptionReceiveCapability,
20065     &ett_h245_H235SecurityCapability,
20066     &ett_h245_MultiplexCapability,
20067     &ett_h245_H222Capability,
20068     &ett_h245_SET_OF_VCCapability,
20069     &ett_h245_VCCapability,
20070     &ett_h245_T_aal1,
20071     &ett_h245_T_aal5,
20072     &ett_h245_T_availableBitRates,
20073     &ett_h245_Avb_type,
20074     &ett_h245_T_rangeOfBitRates,
20075     &ett_h245_T_aal1ViaGateway,
20076     &ett_h245_SET_SIZE_1_256_OF_Q2931Address,
20077     &ett_h245_H223Capability,
20078     &ett_h245_T_h223MultiplexTableCapability,
20079     &ett_h245_T_enhanced,
20080     &ett_h245_T_mobileOperationTransmitCapability,
20081     &ett_h245_T_mobileMultilinkFrameCapability,
20082     &ett_h245_H223AnnexCCapability,
20083     &ett_h245_V76Capability,
20084     &ett_h245_V75Capability,
20085     &ett_h245_H2250Capability,
20086     &ett_h245_T_mcCapability,
20087     &ett_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability,
20088     &ett_h245_MediaPacketizationCapability,
20089     &ett_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType,
20090     &ett_h245_RSVPParameters,
20091     &ett_h245_QOSMode,
20092     &ett_h245_ATMParameters,
20093     &ett_h245_ServicePriorityValue,
20094     &ett_h245_ServicePriority,
20095     &ett_h245_AuthorizationParameters,
20096     &ett_h245_QOSType,
20097     &ett_h245_QOSClass,
20098     &ett_h245_QOSDescriptor,
20099     &ett_h245_GenericTransportParameters,
20100     &ett_h245_QOSCapability,
20101     &ett_h245_MediaTransportType,
20102     &ett_h245_T_atm_AAL5_compressed,
20103     &ett_h245_MediaChannelCapability,
20104     &ett_h245_TransportCapability,
20105     &ett_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability,
20106     &ett_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability,
20107     &ett_h245_RedundancyEncodingCapability,
20108     &ett_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber,
20109     &ett_h245_RedundancyEncodingMethod,
20110     &ett_h245_RTPH263VideoRedundancyEncoding,
20111     &ett_h245_T_frameToThreadMapping,
20112     &ett_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping,
20113     &ett_h245_T_containedThreads,
20114     &ett_h245_RTPH263VideoRedundancyFrameMapping,
20115     &ett_h245_T_frameSequence,
20116     &ett_h245_MultipointCapability,
20117     &ett_h245_SEQUENCE_OF_MediaDistributionCapability,
20118     &ett_h245_MediaDistributionCapability,
20119     &ett_h245_SEQUENCE_OF_DataApplicationCapability,
20120     &ett_h245_VideoCapability,
20121     &ett_h245_ExtendedVideoCapability,
20122     &ett_h245_SEQUENCE_OF_VideoCapability,
20123     &ett_h245_SEQUENCE_OF_GenericCapability,
20124     &ett_h245_H261VideoCapability,
20125     &ett_h245_H262VideoCapability,
20126     &ett_h245_H263VideoCapability,
20127     &ett_h245_EnhancementLayerInfo,
20128     &ett_h245_SET_SIZE_1_14_OF_EnhancementOptions,
20129     &ett_h245_SET_SIZE_1_14_OF_BEnhancementParameters,
20130     &ett_h245_BEnhancementParameters,
20131     &ett_h245_EnhancementOptions,
20132     &ett_h245_H263Options,
20133     &ett_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency,
20134     &ett_h245_SET_SIZE_1_16_OF_CustomPictureFormat,
20135     &ett_h245_SET_SIZE_1_16_OF_H263VideoModeCombos,
20136     &ett_h245_TransparencyParameters,
20137     &ett_h245_RefPictureSelection,
20138     &ett_h245_T_additionalPictureMemory,
20139     &ett_h245_T_videoBackChannelSend,
20140     &ett_h245_T_enhancedReferencePicSelect,
20141     &ett_h245_T_subPictureRemovalParameters,
20142     &ett_h245_CustomPictureClockFrequency,
20143     &ett_h245_CustomPictureFormat,
20144     &ett_h245_T_mPI,
20145     &ett_h245_T_customPCF,
20146     &ett_h245_T_customPCF_item,
20147     &ett_h245_T_pixelAspectInformation,
20148     &ett_h245_T_pixelAspectCode,
20149     &ett_h245_T_extendedPAR,
20150     &ett_h245_T_extendedPAR_item,
20151     &ett_h245_H263VideoModeCombos,
20152     &ett_h245_SET_SIZE_1_16_OF_H263ModeComboFlags,
20153     &ett_h245_H263ModeComboFlags,
20154     &ett_h245_H263Version3Options,
20155     &ett_h245_IS11172VideoCapability,
20156     &ett_h245_AudioCapability,
20157     &ett_h245_T_g7231,
20158     &ett_h245_G729Extensions,
20159     &ett_h245_G7231AnnexCCapability,
20160     &ett_h245_G723AnnexCAudioMode,
20161     &ett_h245_IS11172AudioCapability,
20162     &ett_h245_IS13818AudioCapability,
20163     &ett_h245_GSMAudioCapability,
20164     &ett_h245_VBDCapability,
20165     &ett_h245_DataApplicationCapability,
20166     &ett_h245_Application,
20167     &ett_h245_T_t84,
20168     &ett_h245_Nlpid,
20169     &ett_h245_T_t38fax,
20170     &ett_h245_DataProtocolCapability,
20171     &ett_h245_T_v76wCompression,
20172     &ett_h245_CompressionType,
20173     &ett_h245_V42bis,
20174     &ett_h245_T84Profile,
20175     &ett_h245_T_t84Restricted,
20176     &ett_h245_T38FaxProfile,
20177     &ett_h245_T38FaxRateManagement,
20178     &ett_h245_T38FaxUdpOptions,
20179     &ett_h245_T_t38FaxUdpEC,
20180     &ett_h245_T38FaxTcpOptions,
20181     &ett_h245_EncryptionAuthenticationAndIntegrity,
20182     &ett_h245_EncryptionCapability,
20183     &ett_h245_MediaEncryptionAlgorithm,
20184     &ett_h245_AuthenticationCapability,
20185     &ett_h245_IntegrityCapability,
20186     &ett_h245_UserInputCapability,
20187     &ett_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter,
20188     &ett_h245_ConferenceCapability,
20189     &ett_h245_SEQUENCE_OF_NonStandardParameter,
20190     &ett_h245_GenericCapability,
20191     &ett_h245_T_collapsing,
20192     &ett_h245_T_nonCollapsing,
20193     &ett_h245_CapabilityIdentifier,
20194     &ett_h245_GenericParameter,
20195     &ett_h245_SEQUENCE_OF_ParameterIdentifier,
20196     &ett_h245_ParameterIdentifier,
20197     &ett_h245_ParameterValue,
20198     &ett_h245_SEQUENCE_OF_GenericParameter,
20199     &ett_h245_MultiplexedStreamCapability,
20200     &ett_h245_MultiplexFormat,
20201     &ett_h245_AudioTelephonyEventCapability,
20202     &ett_h245_AudioToneCapability,
20203     &ett_h245_NoPTAudioTelephonyEventCapability,
20204     &ett_h245_NoPTAudioToneCapability,
20205     &ett_h245_MultiplePayloadStreamCapability,
20206     &ett_h245_DepFECCapability,
20207     &ett_h245_FECC_rfc2733,
20208     &ett_h245_T_separateStreamBool,
20209     &ett_h245_FECCapability,
20210     &ett_h245_Rfc2733Format,
20211     &ett_h245_OpenLogicalChannel,
20212     &ett_h245_T_forwardLogicalChannelParameters,
20213     &ett_h245_OLC_forw_multiplexParameters,
20214     &ett_h245_OLC_reverseLogicalChannelParameters,
20215     &ett_h245_OLC_rev_multiplexParameters,
20216     &ett_h245_NetworkAccessParameters,
20217     &ett_h245_T_distribution,
20218     &ett_h245_T_networkAddress,
20219     &ett_h245_T_t120SetupProcedure,
20220     &ett_h245_Q2931Address,
20221     &ett_h245_T_address,
20222     &ett_h245_V75Parameters,
20223     &ett_h245_DataType,
20224     &ett_h245_H235Media,
20225     &ett_h245_T_mediaType,
20226     &ett_h245_MultiplexedStreamParameter,
20227     &ett_h245_H222LogicalChannelParameters,
20228     &ett_h245_H223LogicalChannelParameters,
20229     &ett_h245_T_adaptationLayerType,
20230     &ett_h245_Al3,
20231     &ett_h245_H223AL1MParameters,
20232     &ett_h245_T_transferMode,
20233     &ett_h245_AL1HeaderFEC,
20234     &ett_h245_AL1CrcLength,
20235     &ett_h245_ArqType,
20236     &ett_h245_H223AL2MParameters,
20237     &ett_h245_AL2HeaderFEC,
20238     &ett_h245_H223AL3MParameters,
20239     &ett_h245_T_headerFormat,
20240     &ett_h245_AL3CrcLength,
20241     &ett_h245_H223AnnexCArqParameters,
20242     &ett_h245_T_numberOfRetransmissions,
20243     &ett_h245_V76LogicalChannelParameters,
20244     &ett_h245_T_suspendResume,
20245     &ett_h245_V76LCP_mode,
20246     &ett_h245_T_eRM,
20247     &ett_h245_T_recovery,
20248     &ett_h245_V76HDLCParameters,
20249     &ett_h245_CRCLength,
20250     &ett_h245_H2250LogicalChannelParameters,
20251     &ett_h245_T_mediaPacketization,
20252     &ett_h245_RTPPayloadType,
20253     &ett_h245_T_payloadDescriptor,
20254     &ett_h245_RedundancyEncoding,
20255     &ett_h245_T_rtpRedundancyEncoding,
20256     &ett_h245_SEQUENCE_OF_RedundancyEncodingElement,
20257     &ett_h245_RedundancyEncodingElement,
20258     &ett_h245_MultiplePayloadStream,
20259     &ett_h245_SEQUENCE_OF_MultiplePayloadStreamElement,
20260     &ett_h245_MultiplePayloadStreamElement,
20261     &ett_h245_DepFECData,
20262     &ett_h245_RFC2733Data,
20263     &ett_h245_FECdata_mode,
20264     &ett_h245_DepSeparateStream,
20265     &ett_h245_T_differentPort,
20266     &ett_h245_T_samePort,
20267     &ett_h245_FECData,
20268     &ett_h245_T_rfc2733,
20269     &ett_h245_T_pktMode,
20270     &ett_h245_T_mode_rfc2733sameport,
20271     &ett_h245_T_mode_rfc2733diffport,
20272     &ett_h245_TransportAddress,
20273     &ett_h245_UnicastAddress,
20274     &ett_h245_T_iPAddress,
20275     &ett_h245_T_iPXAddress,
20276     &ett_h245_T_iP6Address,
20277     &ett_h245_T_iPSourceRouteAddress,
20278     &ett_h245_T_routing,
20279     &ett_h245_T_route,
20280     &ett_h245_MulticastAddress,
20281     &ett_h245_MIPAddress,
20282     &ett_h245_MIP6Address,
20283     &ett_h245_EncryptionSync,
20284     &ett_h245_SEQUENCE_SIZE_1_256_OF_EscrowData,
20285     &ett_h245_EscrowData,
20286     &ett_h245_OpenLogicalChannelAck,
20287     &ett_h245_OLC_ack_reverseLogicalChannelParameters,
20288     &ett_h245_T_olc_ack_multiplexParameters,
20289     &ett_h245_T_forwardMultiplexAckParameters,
20290     &ett_h245_OpenLogicalChannelReject,
20291     &ett_h245_OpenLogicalChannelRejectCause,
20292     &ett_h245_OpenLogicalChannelConfirm,
20293     &ett_h245_H2250LogicalChannelAckParameters,
20294     &ett_h245_CloseLogicalChannel,
20295     &ett_h245_T_cLC_source,
20296     &ett_h245_Clc_reason,
20297     &ett_h245_CloseLogicalChannelAck,
20298     &ett_h245_RequestChannelClose,
20299     &ett_h245_T_reason,
20300     &ett_h245_RequestChannelCloseAck,
20301     &ett_h245_RequestChannelCloseReject,
20302     &ett_h245_RequestChannelCloseRejectCause,
20303     &ett_h245_RequestChannelCloseRelease,
20304     &ett_h245_MultiplexEntrySend,
20305     &ett_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor,
20306     &ett_h245_MultiplexEntryDescriptor,
20307     &ett_h245_T_elementList,
20308     &ett_h245_MultiplexElement,
20309     &ett_h245_Me_type,
20310     &ett_h245_T_subElementList,
20311     &ett_h245_ME_repeatCount,
20312     &ett_h245_MultiplexEntrySendAck,
20313     &ett_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber,
20314     &ett_h245_MultiplexEntrySendReject,
20315     &ett_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions,
20316     &ett_h245_MultiplexEntryRejectionDescriptions,
20317     &ett_h245_MultiplexEntryRejectionDescriptionsCause,
20318     &ett_h245_MultiplexEntrySendRelease,
20319     &ett_h245_RequestMultiplexEntry,
20320     &ett_h245_RequestMultiplexEntryAck,
20321     &ett_h245_RequestMultiplexEntryReject,
20322     &ett_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions,
20323     &ett_h245_RequestMultiplexEntryRejectionDescriptions,
20324     &ett_h245_RequestMultiplexEntryRejectionDescriptionsCause,
20325     &ett_h245_RequestMultiplexEntryRelease,
20326     &ett_h245_RequestMode,
20327     &ett_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription,
20328     &ett_h245_RequestModeAck,
20329     &ett_h245_Req_mode_ack_response,
20330     &ett_h245_RequestModeReject,
20331     &ett_h245_RequestModeRejectCause,
20332     &ett_h245_RequestModeRelease,
20333     &ett_h245_ModeDescription,
20334     &ett_h245_ModeElementType,
20335     &ett_h245_ModeElement,
20336     &ett_h245_H235Mode,
20337     &ett_h245_T_mediaMode,
20338     &ett_h245_MultiplexedStreamModeParameters,
20339     &ett_h245_RedundancyEncodingDTMode,
20340     &ett_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement,
20341     &ett_h245_RedundancyEncodingDTModeElement,
20342     &ett_h245_Re_type,
20343     &ett_h245_MultiplePayloadStreamMode,
20344     &ett_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode,
20345     &ett_h245_MultiplePayloadStreamElementMode,
20346     &ett_h245_DepFECMode,
20347     &ett_h245_T_rfc2733Mode,
20348     &ett_h245_FEC_mode,
20349     &ett_h245_FECMode,
20350     &ett_h245_H223ModeParameters,
20351     &ett_h245_AdaptationLayerType,
20352     &ett_h245_V76ModeParameters,
20353     &ett_h245_H2250ModeParameters,
20354     &ett_h245_RedundancyEncodingMode,
20355     &ett_h245_T_secondaryEncodingMode,
20356     &ett_h245_VideoMode,
20357     &ett_h245_H261VideoMode,
20358     &ett_h245_H261Resolution,
20359     &ett_h245_H262VideoMode,
20360     &ett_h245_T_profileAndLevel,
20361     &ett_h245_H263VideoMode,
20362     &ett_h245_H263Resolution,
20363     &ett_h245_IS11172VideoMode,
20364     &ett_h245_AudioMode,
20365     &ett_h245_Mode_g7231,
20366     &ett_h245_IS11172AudioMode,
20367     &ett_h245_T_audioLayer,
20368     &ett_h245_T_audioSampling,
20369     &ett_h245_IS11172_multichannelType,
20370     &ett_h245_IS13818AudioMode,
20371     &ett_h245_IS13818AudioLayer,
20372     &ett_h245_IS13818AudioSampling,
20373     &ett_h245_IS13818MultichannelType,
20374     &ett_h245_G7231AnnexCMode,
20375     &ett_h245_VBDMode,
20376     &ett_h245_DataMode,
20377     &ett_h245_DataModeApplication,
20378     &ett_h245_T38faxApp,
20379     &ett_h245_EncryptionMode,
20380     &ett_h245_RoundTripDelayRequest,
20381     &ett_h245_RoundTripDelayResponse,
20382     &ett_h245_MaintenanceLoopRequest,
20383     &ett_h245_Mlr_type,
20384     &ett_h245_MaintenanceLoopAck,
20385     &ett_h245_Mla_type,
20386     &ett_h245_MaintenanceLoopReject,
20387     &ett_h245_Mlrej_type,
20388     &ett_h245_MaintenanceLoopRejectCause,
20389     &ett_h245_MaintenanceLoopOffCommand,
20390     &ett_h245_CommunicationModeCommand,
20391     &ett_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry,
20392     &ett_h245_CommunicationModeRequest,
20393     &ett_h245_CommunicationModeResponse,
20394     &ett_h245_CommunicationModeTableEntry,
20395     &ett_h245_T_entryDataType,
20396     &ett_h245_ConferenceRequest,
20397     &ett_h245_T_requestTerminalCertificate,
20398     &ett_h245_CertSelectionCriteria,
20399     &ett_h245_Criteria,
20400     &ett_h245_TerminalLabel,
20401     &ett_h245_ConferenceResponse,
20402     &ett_h245_T_mCTerminalIDResponse,
20403     &ett_h245_T_terminalIDResponse,
20404     &ett_h245_T_conferenceIDResponse,
20405     &ett_h245_T_passwordResponse,
20406     &ett_h245_SET_SIZE_1_256_OF_TerminalLabel,
20407     &ett_h245_T_makeMeChairResponse,
20408     &ett_h245_T_extensionAddressResponse,
20409     &ett_h245_T_chairTokenOwnerResponse,
20410     &ett_h245_T_terminalCertificateResponse,
20411     &ett_h245_T_broadcastMyLogicalChannelResponse,
20412     &ett_h245_T_makeTerminalBroadcasterResponse,
20413     &ett_h245_T_sendThisSourceResponse,
20414     &ett_h245_RequestAllTerminalIDsResponse,
20415     &ett_h245_SEQUENCE_OF_TerminalInformation,
20416     &ett_h245_TerminalInformation,
20417     &ett_h245_RemoteMCRequest,
20418     &ett_h245_RemoteMCResponse,
20419     &ett_h245_T_reject,
20420     &ett_h245_MultilinkRequest,
20421     &ett_h245_CallInformationReq,
20422     &ett_h245_AddConnectionReq,
20423     &ett_h245_RemoveConnectionReq,
20424     &ett_h245_MaximumHeaderIntervalReq,
20425     &ett_h245_T_requestType,
20426     &ett_h245_MultilinkResponse,
20427     &ett_h245_CallInformationResp,
20428     &ett_h245_AddConnectionResp,
20429     &ett_h245_T_responseCode,
20430     &ett_h245_T_rejected,
20431     &ett_h245_RemoveConnectionResp,
20432     &ett_h245_MaximumHeaderIntervalResp,
20433     &ett_h245_MultilinkIndication,
20434     &ett_h245_T_crcDesired,
20435     &ett_h245_T_excessiveError,
20436     &ett_h245_DialingInformation,
20437     &ett_h245_SET_SIZE_1_65535_OF_DialingInformationNumber,
20438     &ett_h245_DialingInformationNumber,
20439     &ett_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType,
20440     &ett_h245_DialingInformationNetworkType,
20441     &ett_h245_ConnectionIdentifier,
20442     &ett_h245_LogicalChannelRateRequest,
20443     &ett_h245_LogicalChannelRateAcknowledge,
20444     &ett_h245_LogicalChannelRateReject,
20445     &ett_h245_LogicalChannelRateRejectReason,
20446     &ett_h245_LogicalChannelRateRelease,
20447     &ett_h245_SendTerminalCapabilitySet,
20448     &ett_h245_T_specificRequest,
20449     &ett_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber,
20450     &ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber,
20451     &ett_h245_EncryptionCommand,
20452     &ett_h245_T_encryptionAlgorithmID,
20453     &ett_h245_FlowControlCommand,
20454     &ett_h245_Scope,
20455     &ett_h245_Restriction,
20456     &ett_h245_EndSessionCommand,
20457     &ett_h245_T_gstnOptions,
20458     &ett_h245_T_isdnOptions,
20459     &ett_h245_ConferenceCommand,
20460     &ett_h245_SubstituteConferenceIDCommand,
20461     &ett_h245_EncryptionUpdateDirection,
20462     &ett_h245_MiscellaneousCommand,
20463     &ett_h245_Mc_type,
20464     &ett_h245_T_videoFastUpdateGOB,
20465     &ett_h245_T_videoFastUpdateMB,
20466     &ett_h245_T_progressiveRefinementStart,
20467     &ett_h245_T_repeatCount,
20468     &ett_h245_T_videoBadMBs,
20469     &ett_h245_SEQUENCE_OF_PictureReference,
20470     &ett_h245_T_lostPartialPicture,
20471     &ett_h245_T_encryptionUpdateCommand,
20472     &ett_h245_T_encryptionUpdateAck,
20473     &ett_h245_KeyProtectionMethod,
20474     &ett_h245_EncryptionUpdateRequest,
20475     &ett_h245_PictureReference,
20476     &ett_h245_H223MultiplexReconfiguration,
20477     &ett_h245_T_h223ModeChange,
20478     &ett_h245_T_h223AnnexADoubleFlag,
20479     &ett_h245_NewATMVCCommand,
20480     &ett_h245_Cmd_aal,
20481     &ett_h245_Cmd_aal1,
20482     &ett_h245_Cmd_clockRecovery,
20483     &ett_h245_Cmd_errorCorrection,
20484     &ett_h245_Cmd_aal5,
20485     &ett_h245_Cmd_multiplex,
20486     &ett_h245_Cmd_reverseParameters,
20487     &ett_h245_CmdR_multiplex,
20488     &ett_h245_MobileMultilinkReconfigurationCommand,
20489     &ett_h245_T_status,
20490     &ett_h245_FunctionNotUnderstood,
20491     &ett_h245_FunctionNotSupported,
20492     &ett_h245_FunctionNotSupportedCause,
20493     &ett_h245_ConferenceIndication,
20494     &ett_h245_TerminalYouAreSeeingInSubPictureNumber,
20495     &ett_h245_VideoIndicateCompose,
20496     &ett_h245_MiscellaneousIndication,
20497     &ett_h245_Mi_type,
20498     &ett_h245_T_videoNotDecodedMBs,
20499     &ett_h245_JitterIndication,
20500     &ett_h245_H223SkewIndication,
20501     &ett_h245_H2250MaximumSkewIndication,
20502     &ett_h245_MCLocationIndication,
20503     &ett_h245_VendorIdentification,
20504     &ett_h245_NewATMVCIndication,
20505     &ett_h245_Ind_aal,
20506     &ett_h245_Ind_aal1,
20507     &ett_h245_Ind_clockRecovery,
20508     &ett_h245_Ind_errorCorrection,
20509     &ett_h245_Ind_aal5,
20510     &ett_h245_Ind_multiplex,
20511     &ett_h245_Ind_reverseParameters,
20512     &ett_h245_IndR_multiplex,
20513     &ett_h245_Params,
20514     &ett_h245_UserInputIndication,
20515     &ett_h245_T_userInputSupportIndication,
20516     &ett_h245_T_signal,
20517     &ett_h245_T_rtp,
20518     &ett_h245_T_signalUpdate,
20519     &ett_h245_Si_rtp,
20520     &ett_h245_T_extendedAlphanumeric,
20521     &ett_h245_EncryptedAlphanumeric,
20522     &ett_h245_FlowControlIndication,
20523     &ett_h245_MobileMultilinkReconfigurationIndication,
20524
20525 /*--- End of included file: packet-h245-ettarr.c ---*/
20526 #line 474 "packet-h245-template.c"
20527   };
20528   module_t *h245_module;
20529
20530   /* Register protocol */
20531   proto_h245 = proto_register_protocol(PNAME, PSNAME, PFNAME);
20532   register_init_routine(h245_init);
20533   /* Register fields and subtrees */
20534   proto_register_field_array(proto_h245, hf, array_length(hf));
20535   proto_register_subtree_array(ett, array_length(ett));
20536
20537   /* From Ronnie Sahlbergs original H245 dissector */
20538
20539   h245_module = prefs_register_protocol(proto_h245, NULL);
20540   prefs_register_bool_preference(h245_module, "reassembly",
20541                 "Reassemble H.245 messages spanning multiple TCP segments",
20542                 "Whether the H.245 dissector should reassemble messages spanning multiple TCP segments."
20543                 " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
20544                 &h245_reassembly);
20545   prefs_register_bool_preference(h245_module, "shorttypes",
20546                 "Show short message types",
20547                 "Whether the dissector should show short names or the long names from the standard",
20548                 &h245_shorttypes);
20549   register_dissector("h245dg", dissect_h245_h245, proto_h245);
20550   register_dissector("h245", dissect_h245, proto_h245);
20551
20552   nsp_object_dissector_table = register_dissector_table("h245.nsp.object", "H.245 NonStandardParameter (object)", FT_STRING, BASE_NONE);
20553   nsp_h221_dissector_table = register_dissector_table("h245.nsp.h221", "H.245 NonStandardParameter (h221)", FT_UINT32, BASE_HEX);
20554   gef_name_dissector_table = register_dissector_table("h245.gef.name", "H.245 Generic Extensible Framework (names)", FT_STRING, BASE_NONE);
20555   gef_content_dissector_table = register_dissector_table("h245.gef.content", "H.245 Generic Extensible Framework", FT_STRING, BASE_NONE);
20556
20557   h245_tap = register_tap("h245");
20558   h245dg_tap = register_tap("h245dg");
20559
20560   oid_add_from_string("h239ControlCapability","0.0.8.239.1.1");
20561   oid_add_from_string("h239ExtendedVideoCapability","0.0.8.239.1.2");
20562   oid_add_from_string("generic-message","0.0.8.239.2");
20563   oid_add_from_string("h245 version 3","0.0.8.245.0.3");
20564   oid_add_from_string("h245 version 4","0.0.8.245.0.4");
20565   oid_add_from_string("h245 version 5","0.0.8.245.0.5");
20566   oid_add_from_string("h245 version 6","0.0.8.245.0.6");
20567   oid_add_from_string("h245 version 7","0.0.8.245.0.7");
20568   oid_add_from_string("h245 version 8","0.0.8.245.0.8");
20569   oid_add_from_string("h245 version 9","0.0.8.245.0.9");
20570   oid_add_from_string("h245 version 10","0.0.8.245.0.10");
20571   oid_add_from_string("h245 version 11","0.0.8.245.0.11");
20572   oid_add_from_string("h245 version 12","0.0.8.245.0.12");
20573   oid_add_from_string("h245 version 13","0.0.8.245.0.13");
20574   /* This capability is defined in Annex E. */
20575   oid_add_from_string("ISO/IEC 14496-2 MPEG-4 video","0.0.8.245.1.0.0");
20576   /* This capability is defined in Annex H. */
20577   oid_add_from_string("ISO/IEC 14496-3 MPEG-4 audio","0.0.8.245.1.1.0");
20578   /* This capability is defined in Annex I. */  
20579   oid_add_from_string("AMR","0.0.8.245.1.1.1");
20580   /* This capability is defined in Annex J. */
20581   oid_add_from_string("acelp","0.0.8.245.1.1.2");
20582   /* This capability is defined in Annex K. */
20583   oid_add_from_string("us1","0.0.8.245.1.1.3");
20584   /* This capability is defined in Annex L. */
20585   oid_add_from_string("is127evrc","0.0.8.245.1.1.4");
20586   /* This capability is defined in Annex M. */
20587   oid_add_from_string("ISO/IEC 13818-7","0.0.8.245.1.1.5");
20588   /* This capability is defined in Annex N. */
20589   oid_add_from_string("rfc3389","0.0.8.245.1.1.6");
20590   /* This capability is defined in Annex O. */
20591   oid_add_from_string("L-16","0.0.8.245.1.1.7");
20592   /* This capability is defined in Annex P. */
20593   oid_add_from_string("bounded-audio-stream","0.0.8.245.1.1.8");
20594   /* This capability is defined in Annex R. */
20595   oid_add_from_string("AMR-NB","0.0.8.245.1.1.9");
20596   /* This capability is defined in Annex R. */
20597   oid_add_from_string("AMR-WB","0.0.8.245.1.1.10");
20598   /* This capability is defined in Annex S. */
20599   oid_add_from_string("ilbc","0.0.8.245.1.1.11");
20600   
20601   oid_add_from_string("ISO/IEC 14496-1","0.0.8.245.1.2.0");
20602   oid_add_from_string("Nx64","0.0.8.245.1.2.1");
20603   oid_add_from_string("logical-channel-bit-ratemanagement","0.0.8.245.1.3.0");
20604
20605   oid_add_from_string("h264 generic-capabilities","0.0.8.241.0.0.1");
20606   oid_add_from_string("iPpacketization_h241AnnexA(single NAL unit mode)","0.0.8.241.0.0.0.0");
20607   oid_add_from_string("iPpacketization_RFC3984NonInterleaved","0.0.8.241.0.0.0.1");
20608   oid_add_from_string("iPpacketization_RFC3984Interleaved","0.0.8.241.0.0.0.2");
20609 }
20610
20611
20612 /*--- proto_reg_handoff_h245 ---------------------------------------*/
20613 void proto_reg_handoff_h245(void) {
20614         rtp_handle = find_dissector("rtp");
20615         rtcp_handle = find_dissector("rtcp");
20616         t38_handle = find_dissector("t38");
20617         data_handle = find_dissector("data");
20618         h263_handle = find_dissector("h263data");
20619         amr_handle = find_dissector("amr_if2");
20620
20621
20622         h245_handle=create_dissector_handle(dissect_h245, proto_h245);
20623         dissector_add_handle("tcp.port", h245_handle);
20624         MultimediaSystemControlMessage_handle=create_dissector_handle(dissect_h245_h245, proto_h245);
20625         dissector_add_handle("udp.port", MultimediaSystemControlMessage_handle);
20626 }
20627
20628 static void init_h245_packet_info(h245_packet_info *pi)
20629 {
20630         if(pi == NULL) {
20631                 return;
20632         }
20633
20634         pi->msg_type = H245_OTHER;
20635                 pi->frame_label[0] = '\0';
20636                 g_snprintf(pi->comment, sizeof(pi->comment), "H245 ");
20637 }
20638