Regenerated packet-h245.c (should have been included in SVN #40311: add_new_data_sour...
[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 -p h245 -c ./h245.cnf -s ./packet-h245-template -D . -O ../../epan/dissectors MULTIMEDIA-SYSTEM-CONTROL.asn */
5
6 /* Input file: packet-h245-template.c */
7
8 #line 1 "../../asn1/h245/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/strutil.h>
50
51 #include <string.h>
52
53 #include <epan/prefs.h>
54 #include <epan/t35.h>
55 #include <epan/emem.h>
56 #include <epan/oids.h>
57 #include <epan/asn1.h>
58 #include <epan/tap.h>
59 #include "packet-tpkt.h"
60 #include "packet-per.h"
61 #include "packet-h323.h"
62 #include "packet-h245.h"
63 #include "packet-rtp.h"
64 #include "packet-rtcp.h"
65 #include "packet-t38.h"
66
67 #define PNAME  "MULTIMEDIA-SYSTEM-CONTROL"
68 #define PSNAME "H.245"
69 #define PFNAME "h245"
70
71 static dissector_handle_t rtp_handle=NULL;
72 static dissector_handle_t rtcp_handle=NULL;
73 static dissector_handle_t t38_handle=NULL;
74 static dissector_table_t nsp_object_dissector_table;
75 static dissector_table_t nsp_h221_dissector_table;
76 static dissector_table_t gef_name_dissector_table;
77 static dissector_table_t gef_content_dissector_table;
78 static dissector_handle_t nsp_handle;
79 static dissector_handle_t data_handle;
80 static dissector_handle_t MultimediaSystemControlMessage_handle;
81 static dissector_handle_t h263_handle = NULL;
82 static dissector_handle_t amr_handle = NULL;
83
84 static void init_h245_packet_info(h245_packet_info *pi);
85 static int hf_h245_pdu_type = -1;
86 static int hf_h245Manufacturer = -1;
87 static int hf_h245_subMessageIdentifier_standard = -1;
88 static int h245_tap = -1;
89 static int h245dg_tap = -1;
90 h245_packet_info *h245_pi=NULL;
91
92 static gboolean h245_reassembly = TRUE;
93 static gboolean h245_shorttypes = FALSE;
94
95
96 /*--- Included file: packet-h245-val.h ---*/
97 #line 1 "../../asn1/h245/packet-h245-val.h"
98
99 typedef enum _AudioCapability_enum {
100   AudioCapability_nonStandard =   0,
101   AudioCapability_g711Alaw64k =   1,
102   AudioCapability_g711Alaw56k =   2,
103   AudioCapability_g711Ulaw64k =   3,
104   AudioCapability_g711Ulaw56k =   4,
105   AudioCapability_g722_64k =   5,
106   AudioCapability_g722_56k =   6,
107   AudioCapability_g722_48k =   7,
108   AudioCapability_g7231 =   8,
109   AudioCapability_g728 =   9,
110   AudioCapability_g729 =  10,
111   AudioCapability_g729AnnexA =  11,
112   AudioCapability_is11172AudioCapability =  12,
113   AudioCapability_is13818AudioCapability =  13,
114   AudioCapability_g729wAnnexB =  14,
115   AudioCapability_g729AnnexAwAnnexB =  15,
116   AudioCapability_g7231AnnexCCapability =  16,
117   AudioCapability_gsmFullRate =  17,
118   AudioCapability_gsmHalfRate =  18,
119   AudioCapability_gsmEnhancedFullRate =  19,
120   AudioCapability_genericAudioCapability =  20,
121   AudioCapability_g729Extensions =  21,
122   AudioCapability_vbd =  22,
123   AudioCapability_audioTelephonyEvent =  23,
124   AudioCapability_audioTone =  24
125 } AudioCapability_enum;
126
127 typedef enum _RequestMessage_enum {
128   RequestMessage_nonStandard =   0,
129   RequestMessage_masterSlaveDetermination =   1,
130   RequestMessage_terminalCapabilitySet =   2,
131   RequestMessage_openLogicalChannel =   3,
132   RequestMessage_closeLogicalChannel =   4,
133   RequestMessage_requestChannelClose =   5,
134   RequestMessage_multiplexEntrySend =   6,
135   RequestMessage_requestMultiplexEntry =   7,
136   RequestMessage_requestMode =   8,
137   RequestMessage_roundTripDelayRequest =   9,
138   RequestMessage_maintenanceLoopRequest =  10,
139   RequestMessage_communicationModeRequest =  11,
140   RequestMessage_conferenceRequest =  12,
141   RequestMessage_multilinkRequest =  13,
142   RequestMessage_logicalChannelRateRequest =  14,
143   RequestMessage_genericRequest =  15
144 } RequestMessage_enum;
145
146 typedef enum _ResponseMessage_enum {
147   ResponseMessage_nonStandard =   0,
148   ResponseMessage_masterSlaveDeterminationAck =   1,
149   ResponseMessage_masterSlaveDeterminationReject =   2,
150   ResponseMessage_terminalCapabilitySetAck =   3,
151   ResponseMessage_terminalCapabilitySetReject =   4,
152   ResponseMessage_openLogicalChannelAck =   5,
153   ResponseMessage_openLogicalChannelReject =   6,
154   ResponseMessage_closeLogicalChannelAck =   7,
155   ResponseMessage_requestChannelCloseAck =   8,
156   ResponseMessage_requestChannelCloseReject =   9,
157   ResponseMessage_multiplexEntrySendAck =  10,
158   ResponseMessage_multiplexEntrySendReject =  11,
159   ResponseMessage_requestMultiplexEntryAck =  12,
160   ResponseMessage_requestMultiplexEntryReject =  13,
161   ResponseMessage_requestModeAck =  14,
162   ResponseMessage_requestModeReject =  15,
163   ResponseMessage_roundTripDelayResponse =  16,
164   ResponseMessage_maintenanceLoopAck =  17,
165   ResponseMessage_maintenanceLoopReject =  18,
166   ResponseMessage_communicationModeResponse =  19,
167   ResponseMessage_conferenceResponse =  20,
168   ResponseMessage_multilinkResponse =  21,
169   ResponseMessage_logicalChannelRateAcknowledge =  22,
170   ResponseMessage_logicalChannelRateReject =  23,
171   ResponseMessage_genericResponse =  24
172 } ResponseMessage_enum;
173
174 typedef enum _CommandMessage_enum {
175   CommandMessage_nonStandard =   0,
176   CommandMessage_maintenanceLoopOffCommand =   1,
177   CommandMessage_sendTerminalCapabilitySet =   2,
178   CommandMessage_encryptionCommand =   3,
179   CommandMessage_flowControlCommand =   4,
180   CommandMessage_endSessionCommand =   5,
181   CommandMessage_miscellaneousCommand =   6,
182   CommandMessage_communicationModeCommand =   7,
183   CommandMessage_conferenceCommand =   8,
184   CommandMessage_h223MultiplexReconfiguration =   9,
185   CommandMessage_newATMVCCommand =  10,
186   CommandMessage_mobileMultilinkReconfigurationCommand =  11,
187   CommandMessage_genericCommand =  12
188 } CommandMessage_enum;
189
190 typedef enum _IndicationMessage_enum {
191   IndicationMessage_nonStandard =   0,
192   IndicationMessage_functionNotUnderstood =   1,
193   IndicationMessage_masterSlaveDeterminationRelease =   2,
194   IndicationMessage_terminalCapabilitySetRelease =   3,
195   IndicationMessage_openLogicalChannelConfirm =   4,
196   IndicationMessage_requestChannelCloseRelease =   5,
197   IndicationMessage_multiplexEntrySendRelease =   6,
198   IndicationMessage_requestMultiplexEntryRelease =   7,
199   IndicationMessage_requestModeRelease =   8,
200   IndicationMessage_miscellaneousIndication =   9,
201   IndicationMessage_jitterIndication =  10,
202   IndicationMessage_h223SkewIndication =  11,
203   IndicationMessage_newATMVCIndication =  12,
204   IndicationMessage_userInput =  13,
205   IndicationMessage_h2250MaximumSkewIndication =  14,
206   IndicationMessage_mcLocationIndication =  15,
207   IndicationMessage_conferenceIndication =  16,
208   IndicationMessage_vendorIdentification =  17,
209   IndicationMessage_functionNotSupported =  18,
210   IndicationMessage_multilinkIndication =  19,
211   IndicationMessage_logicalChannelRateRelease =  20,
212   IndicationMessage_flowControlIndication =  21,
213   IndicationMessage_mobileMultilinkReconfigurationIndication =  22,
214   IndicationMessage_genericIndication =  23
215 } IndicationMessage_enum;
216
217 /*--- End of included file: packet-h245-val.h ---*/
218 #line 88 "../../asn1/h245/packet-h245-template.c"
219
220 static const value_string h245_RequestMessage_short_vals[] = {
221         { RequestMessage_nonStandard              ,     "NSM" },
222         { RequestMessage_masterSlaveDetermination ,     "MSD" },
223         { RequestMessage_terminalCapabilitySet    ,     "TCS" },
224         { RequestMessage_openLogicalChannel       ,     "OLC" },
225         { RequestMessage_closeLogicalChannel      ,     "CLC" },
226         { RequestMessage_requestChannelClose      ,     "RCC" },
227         { RequestMessage_multiplexEntrySend       ,     "MES" },
228         { RequestMessage_requestMultiplexEntry    ,     "RME" },
229         { RequestMessage_requestMode              ,     "RM"  },
230         { RequestMessage_roundTripDelayRequest    ,     "RTDR" },
231         { RequestMessage_maintenanceLoopRequest   ,     "MLR" },
232         { RequestMessage_communicationModeRequest ,     "CMR" },
233         { RequestMessage_conferenceRequest        ,     "CR"  },
234         { RequestMessage_multilinkRequest         ,     "MR"  },
235         { RequestMessage_logicalChannelRateRequest,     "LCRR" },
236         { RequestMessage_genericRequest           ,     "GR"  },
237         {  0, NULL }
238 };
239 static const value_string h245_ResponseMessage_short_vals[] = {
240         { ResponseMessage_nonStandard                   ,       "NSM" },
241         { ResponseMessage_masterSlaveDeterminationAck   ,       "MSDAck" },
242         { ResponseMessage_masterSlaveDeterminationReject,       "MSDReject" },
243         { ResponseMessage_terminalCapabilitySetAck      ,       "TCSAck" },
244         { ResponseMessage_terminalCapabilitySetReject   ,       "TCSReject" },
245         { ResponseMessage_openLogicalChannelAck         ,       "OLCAck" },
246         { ResponseMessage_openLogicalChannelReject      ,       "OLCReject" },
247         { ResponseMessage_closeLogicalChannelAck        ,       "CLCAck" },
248         { ResponseMessage_requestChannelCloseAck        ,       "RCCAck" },
249         { ResponseMessage_requestChannelCloseReject     ,       "RCCReject" },
250         { ResponseMessage_multiplexEntrySendAck         ,       "MESAck" },
251         { ResponseMessage_multiplexEntrySendReject      ,       "MESReject" },
252         { ResponseMessage_requestMultiplexEntryAck      ,       "RMEAck" },
253         { ResponseMessage_requestMultiplexEntryReject   ,       "RMEReject" },
254         { ResponseMessage_requestModeAck                ,       "RMAck" },
255         { ResponseMessage_requestModeReject             ,       "RMReject" },
256         { ResponseMessage_roundTripDelayResponse        ,       "RTDResponse" },
257         { ResponseMessage_maintenanceLoopAck            ,       "MLAck" },
258         { ResponseMessage_maintenanceLoopReject         ,       "MLReject" },
259         { ResponseMessage_communicationModeResponse     ,       "CMResponse" },
260         { ResponseMessage_conferenceResponse            ,       "CResponse" },
261         { ResponseMessage_multilinkResponse             ,       "MResponse" },
262         { ResponseMessage_logicalChannelRateAcknowledge ,       "LCRAck" },
263         { ResponseMessage_logicalChannelRateReject      ,       "LCRReject" },
264         { ResponseMessage_genericResponse               ,       "GR" },
265         {  0, NULL }
266 };
267 static const value_string h245_IndicationMessage_short_vals[] = {
268         { IndicationMessage_nonStandard                             ,   "NSM" },
269         { IndicationMessage_functionNotUnderstood                   ,   "FNU" },
270         { IndicationMessage_masterSlaveDeterminationRelease         ,   "MSDRelease" },
271         { IndicationMessage_terminalCapabilitySetRelease            ,   "TCSRelease" },
272         { IndicationMessage_openLogicalChannelConfirm               ,   "OLCConfirm" },
273         { IndicationMessage_requestChannelCloseRelease              ,   "RCCRelease" },
274         { IndicationMessage_multiplexEntrySendRelease               ,   "MESRelease" },
275         { IndicationMessage_requestMultiplexEntryRelease            ,   "RMERelease" },
276         { IndicationMessage_requestModeRelease                      ,   "RMRelease" },
277         { IndicationMessage_miscellaneousIndication                 ,   "MI" },
278         { IndicationMessage_jitterIndication                        ,   "JI" },
279         { IndicationMessage_h223SkewIndication                      ,   "H223SI" },
280         { IndicationMessage_newATMVCIndication                      ,   "NATMVCI" },
281         { IndicationMessage_userInput                               ,   "UII" },
282         { IndicationMessage_h2250MaximumSkewIndication              ,   "H2250MSI" },
283         { IndicationMessage_mcLocationIndication                    ,   "MCLI" },
284         { IndicationMessage_conferenceIndication                    ,   "CI" },
285         { IndicationMessage_vendorIdentification                    ,   "VI" },
286         { IndicationMessage_functionNotSupported                    ,   "FNS" },
287         { IndicationMessage_multilinkIndication                     ,   "MultilinkIndication" },
288         { IndicationMessage_logicalChannelRateRelease               ,   "LCRRelease" },
289         { IndicationMessage_flowControlIndication                   ,   "FCIndication" },
290         { IndicationMessage_mobileMultilinkReconfigurationIndication,   "MMRI" },
291         { IndicationMessage_genericIndication                       ,   "GI" },
292         {  0, NULL }
293 };
294 static const value_string h245_CommandMessage_short_vals[] = {
295         { CommandMessage_nonStandard                          , "NSM" },
296         { CommandMessage_maintenanceLoopOffCommand            , "MLOC" },
297         { CommandMessage_sendTerminalCapabilitySet            , "STCS" },
298         { CommandMessage_encryptionCommand                    , "EC" },
299         { CommandMessage_flowControlCommand                   , "FCC" },
300         { CommandMessage_endSessionCommand                    , "ESC" },
301         { CommandMessage_miscellaneousCommand                 , "MC" },
302         { CommandMessage_communicationModeCommand             , "CMC" },
303         { CommandMessage_conferenceCommand                    , "CC" },
304         { CommandMessage_h223MultiplexReconfiguration         , "H223MR" },
305         { CommandMessage_newATMVCCommand                      , "NATMVCC" },
306         { CommandMessage_mobileMultilinkReconfigurationCommand, "MMRC" },
307         { CommandMessage_genericCommand                       , "GC" },
308         {  0, NULL }
309 };
310
311 static const value_string h245_AudioCapability_short_vals[] = {
312   { AudioCapability_nonStandard           , "nonStd" },
313   { AudioCapability_g711Alaw64k           , "g711A" },
314   { AudioCapability_g711Alaw56k           , "g711A56k" },
315   { AudioCapability_g711Ulaw64k           , "g711U" },
316   { AudioCapability_g711Ulaw56k           , "g711U56k" },
317   { AudioCapability_g722_64k              , "g722-64k" },
318   { AudioCapability_g722_56k              , "g722-56k" },
319   { AudioCapability_g722_48k              , "g722-48k" },
320   { AudioCapability_g7231                 , "g7231" },
321   { AudioCapability_g728                  , "g728" },
322   { AudioCapability_g729                  , "g729" },
323   { AudioCapability_g729AnnexA            , "g729A" },
324   { AudioCapability_is11172AudioCapability, "is11172" },
325   { AudioCapability_is13818AudioCapability, "is13818" },
326   { AudioCapability_g729wAnnexB           , "g729B" },
327   { AudioCapability_g729AnnexAwAnnexB     , "g729AB" },
328   { AudioCapability_g7231AnnexCCapability , "g7231C" },
329   { AudioCapability_gsmFullRate           , "gsmFR" },
330   { AudioCapability_gsmHalfRate           , "gsmHR" },
331   { AudioCapability_gsmEnhancedFullRate   , "gsmEFR" },
332   { AudioCapability_genericAudioCapability, "generic" },
333   { AudioCapability_g729Extensions        , "g729Ext" },
334   { AudioCapability_vbd                   , "vbd" },
335   { AudioCapability_audioTelephonyEvent   , "audioTelEvent" },
336   { AudioCapability_audioTone             , "audioTone" },
337   {  0, NULL }
338 };
339
340 /* To put the codec type only in COL_INFO when
341    an OLC is read */
342 const char* codec_type = NULL;
343 static guint32 rfc_number;
344
345 typedef struct _unicast_addr_t {
346   address addr;
347   guint8 addr_buf[16];
348   guint32 port;
349 } unicast_addr_t;
350
351 typedef struct _channel_info_t {
352   gchar data_type_str[32];
353   unicast_addr_t *upcoming_addr;
354   unicast_addr_t media_addr;
355   unicast_addr_t media_control_addr;
356   unsigned int rfc2198;
357   gboolean srtp_flag;
358   gboolean is_video;
359 } channel_info_t;
360
361 typedef struct _olc_info_t {
362   guint16 fwd_lc_num;
363   channel_info_t fwd_lc;
364   channel_info_t rev_lc;
365 } olc_info_t;
366
367 static GHashTable* h245_pending_olc_reqs = NULL;
368 static gboolean fast_start = FALSE;
369 static olc_info_t *upcoming_olc = NULL;
370 static channel_info_t *upcoming_channel = NULL;
371
372 /* NonStandardParameter */
373 static const char *nsiOID;
374 static guint32 h221NonStandard;
375 static guint32 t35CountryCode;
376 static guint32 t35Extension;
377 static guint32 manufacturerCode;
378
379 static const value_string h245_RFC_number_vals[] = {
380         {  2190,        "RFC 2190 - H.263 Video Streams" },
381         {  2198,        "RFC 2198 - RTP Payload for Redundant Audio Data" },
382         {  2429,        "RFC 2429 - 1998 Version of ITU-T Rec. H.263 Video (H.263+)" },
383         {  3016,        "RFC 3016 - RTP Payload Format for MPEG-4 Audio/Visual Streams" },
384         {  3267,        "RFC 3267 - Adaptive Multi-Rate (AMR) and Adaptive Multi-Rate Wideband (AMR-WB)" },
385         {  3984,        "RFC 3984 - RTP Payload Format for H.264 Video" },
386         {  0, NULL }
387 };
388
389 /* Table 7/H.239 subMessageIdentifier values */
390 static const value_string h245_h239subMessageIdentifier_vals[] = {
391   {   1, "flowControlReleaseRequest" },
392   {   2, "flowControlReleaseResponse" },
393   {   3, "presentationTokenRequest" },
394   {   4, "presentationTokenResponse" },
395   {   5, "presentationTokenRelease" },
396   {   6, "presentationTokenIndicateOwner" },
397   { 0, NULL }
398 };
399
400
401 /* h223 multiplex codes */
402 static h223_set_mc_handle_t h223_set_mc_handle = NULL;
403 h223_mux_element *h223_me=NULL;
404 guint8 h223_mc=0;
405 void h245_set_h223_set_mc_handle( h223_set_mc_handle_t handle )
406 {
407         h223_set_mc_handle = handle;
408 }
409
410 /* h223 logical channels */
411 typedef struct {
412         h223_lc_params *fw_channel_params;
413         h223_lc_params *rev_channel_params;
414 } h223_pending_olc;
415
416 static GHashTable*          h223_pending_olc_reqs[] = { NULL, NULL };
417 static dissector_handle_t   h245_lc_dissector;
418 static guint16              h245_lc_temp;
419 static guint16              h223_fw_lc_num;
420 static guint16              h223_rev_lc_num;
421 static h223_lc_params      *h223_lc_params_temp;
422 static h223_lc_params      *h223_fw_lc_params;
423 static h223_lc_params      *h223_rev_lc_params;
424 static h223_add_lc_handle_t h223_add_lc_handle = NULL;
425
426 static void h223_lc_init_dir( int dir )
427 {
428         if ( h223_pending_olc_reqs[dir] )
429                 g_hash_table_destroy( h223_pending_olc_reqs[dir] );
430         h223_pending_olc_reqs[dir] = g_hash_table_new( g_direct_hash, g_direct_equal );
431 }
432
433 static void h223_lc_init( void )
434 {
435         h223_lc_init_dir( P2P_DIR_SENT );
436         h223_lc_init_dir( P2P_DIR_RECV );
437         h223_lc_params_temp = NULL;
438         h245_lc_dissector = NULL;
439         h223_fw_lc_num = 0;
440 }
441
442 static void h245_init(void)
443 {
444         if ( h245_pending_olc_reqs)
445                 g_hash_table_destroy(h245_pending_olc_reqs);
446         h245_pending_olc_reqs = g_hash_table_new(g_str_hash, g_str_equal);
447
448         h223_lc_init();
449 }
450
451 void h245_set_h223_add_lc_handle( h223_add_lc_handle_t handle )
452 {
453         h223_add_lc_handle = handle;
454 }
455
456 static const gchar *gen_olc_key(guint16 lc_num, address *dst_addr, address *src_addr)
457 {
458   return ep_strdup_printf("%s/%s/%u", ep_address_to_str(dst_addr), ep_address_to_str(src_addr), lc_num);
459 }
460
461 static void update_unicast_addr(unicast_addr_t *req_addr, unicast_addr_t *ack_addr)
462 {
463   if (ack_addr->addr.type!=AT_NONE && ack_addr->port!=0) {
464     memcpy(req_addr->addr_buf, ack_addr->addr_buf, sizeof(req_addr->addr_buf));
465     SET_ADDRESS(&req_addr->addr, ack_addr->addr.type, ack_addr->addr.len, req_addr->addr_buf);
466     req_addr->port = ack_addr->port;
467   }
468 }
469
470 static void free_encoding_name_str (void *ptr)
471 {
472   encoding_name_and_rate_t *encoding_name_and_rate = (encoding_name_and_rate_t *)ptr;
473
474   if (encoding_name_and_rate->encoding_name) {
475     g_free(encoding_name_and_rate->encoding_name);
476   }
477 }
478
479 static void h245_setup_channels(packet_info *pinfo, channel_info_t *upcoming_channel_lcl)
480 {
481         gint *key;
482         GHashTable *rtp_dyn_payload = NULL;
483         struct srtp_info *dummy_srtp_info = NULL;
484
485         if (!upcoming_channel_lcl) return;
486
487         /* T.38 */
488         if (!strcmp(upcoming_channel_lcl->data_type_str, "t38fax")) {
489                 if (upcoming_channel_lcl->media_addr.addr.type!=AT_NONE && upcoming_channel_lcl->media_addr.port!=0 && t38_handle) {
490                         t38_add_address(pinfo, &upcoming_channel_lcl->media_addr.addr,
491                                                         upcoming_channel_lcl->media_addr.port, 0,
492                                                         "H245", pinfo->fd->num);
493                 }
494                 return;
495         }
496
497         /* (S)RTP, (S)RTCP */
498         if (upcoming_channel_lcl->rfc2198 > 0) {
499                 encoding_name_and_rate_t *encoding_name_and_rate = g_malloc( sizeof(encoding_name_and_rate_t));
500                 rtp_dyn_payload = g_hash_table_new_full(g_int_hash, g_int_equal, g_free, free_encoding_name_str);
501                 encoding_name_and_rate->encoding_name = g_strdup("red");
502                 encoding_name_and_rate->sample_rate = 8000;
503                 key = g_malloc(sizeof(gint));
504                 *key = upcoming_channel_lcl->rfc2198;
505                 g_hash_table_insert(rtp_dyn_payload, key, encoding_name_and_rate);
506         }
507
508         if (upcoming_channel_lcl->srtp_flag) {
509                 dummy_srtp_info = se_alloc0(sizeof(struct srtp_info));
510         }
511
512         /* DEBUG        g_warning("h245_setup_channels media_addr.addr.type %u port %u",upcoming_channel_lcl->media_addr.addr.type, upcoming_channel_lcl->media_addr.port );
513         */
514         if (upcoming_channel_lcl->media_addr.addr.type!=AT_NONE && upcoming_channel_lcl->media_addr.port!=0 && rtp_handle) {
515                 srtp_add_address(pinfo, &upcoming_channel_lcl->media_addr.addr,
516                                                 upcoming_channel_lcl->media_addr.port, 0,
517                                                 "H245", pinfo->fd->num, upcoming_channel_lcl->is_video , rtp_dyn_payload, dummy_srtp_info);
518         }
519         if (upcoming_channel_lcl->media_control_addr.addr.type!=AT_NONE && upcoming_channel_lcl->media_control_addr.port!=0 && rtcp_handle) {
520                 srtcp_add_address(pinfo, &upcoming_channel_lcl->media_control_addr.addr,
521                                                 upcoming_channel_lcl->media_control_addr.port, 0,
522                                                 "H245", pinfo->fd->num, dummy_srtp_info);
523         }
524 }
525
526 /* Initialize the protocol and registered fields */
527 static int proto_h245 = -1;
528
529 /*--- Included file: packet-h245-hf.c ---*/
530 #line 1 "../../asn1/h245/packet-h245-hf.c"
531 static int hf_h245_OpenLogicalChannel_PDU = -1;   /* OpenLogicalChannel */
532 static int hf_h245_request = -1;                  /* RequestMessage */
533 static int hf_h245_response = -1;                 /* ResponseMessage */
534 static int hf_h245_command = -1;                  /* CommandMessage */
535 static int hf_h245_indication = -1;               /* IndicationMessage */
536 static int hf_h245_nonStandardMsg = -1;           /* NonStandardMessage */
537 static int hf_h245_masterSlaveDetermination = -1;  /* MasterSlaveDetermination */
538 static int hf_h245_terminalCapabilitySet = -1;    /* TerminalCapabilitySet */
539 static int hf_h245_openLogicalChannel = -1;       /* OpenLogicalChannel */
540 static int hf_h245_closeLogicalChannel = -1;      /* CloseLogicalChannel */
541 static int hf_h245_requestChannelClose = -1;      /* RequestChannelClose */
542 static int hf_h245_multiplexEntrySend = -1;       /* MultiplexEntrySend */
543 static int hf_h245_requestMultiplexEntry = -1;    /* RequestMultiplexEntry */
544 static int hf_h245_requestMode = -1;              /* RequestMode */
545 static int hf_h245_roundTripDelayRequest = -1;    /* RoundTripDelayRequest */
546 static int hf_h245_maintenanceLoopRequest = -1;   /* MaintenanceLoopRequest */
547 static int hf_h245_communicationModeRequest = -1;  /* CommunicationModeRequest */
548 static int hf_h245_conferenceRequest = -1;        /* ConferenceRequest */
549 static int hf_h245_multilinkRequest = -1;         /* MultilinkRequest */
550 static int hf_h245_logicalChannelRateRequest = -1;  /* LogicalChannelRateRequest */
551 static int hf_h245_genericRequest = -1;           /* GenericMessage */
552 static int hf_h245_masterSlaveDeterminationAck = -1;  /* MasterSlaveDeterminationAck */
553 static int hf_h245_masterSlaveDeterminationReject = -1;  /* MasterSlaveDeterminationReject */
554 static int hf_h245_terminalCapabilitySetAck = -1;  /* TerminalCapabilitySetAck */
555 static int hf_h245_terminalCapabilitySetReject = -1;  /* TerminalCapabilitySetReject */
556 static int hf_h245_openLogicalChannelAck = -1;    /* OpenLogicalChannelAck */
557 static int hf_h245_openLogicalChannelReject = -1;  /* OpenLogicalChannelReject */
558 static int hf_h245_closeLogicalChannelAck = -1;   /* CloseLogicalChannelAck */
559 static int hf_h245_requestChannelCloseAck = -1;   /* RequestChannelCloseAck */
560 static int hf_h245_requestChannelCloseReject = -1;  /* RequestChannelCloseReject */
561 static int hf_h245_multiplexEntrySendAck = -1;    /* MultiplexEntrySendAck */
562 static int hf_h245_multiplexEntrySendReject = -1;  /* MultiplexEntrySendReject */
563 static int hf_h245_requestMultiplexEntryAck = -1;  /* RequestMultiplexEntryAck */
564 static int hf_h245_requestMultiplexEntryReject = -1;  /* RequestMultiplexEntryReject */
565 static int hf_h245_requestModeAck = -1;           /* RequestModeAck */
566 static int hf_h245_requestModeReject = -1;        /* RequestModeReject */
567 static int hf_h245_roundTripDelayResponse = -1;   /* RoundTripDelayResponse */
568 static int hf_h245_maintenanceLoopAck = -1;       /* MaintenanceLoopAck */
569 static int hf_h245_maintenanceLoopReject = -1;    /* MaintenanceLoopReject */
570 static int hf_h245_communicationModeResponse = -1;  /* CommunicationModeResponse */
571 static int hf_h245_conferenceResponse = -1;       /* ConferenceResponse */
572 static int hf_h245_multilinkResponse = -1;        /* MultilinkResponse */
573 static int hf_h245_logicalChannelRateAcknowledge = -1;  /* LogicalChannelRateAcknowledge */
574 static int hf_h245_logicalChannelRateReject = -1;  /* LogicalChannelRateReject */
575 static int hf_h245_genericResponse = -1;          /* GenericMessage */
576 static int hf_h245_maintenanceLoopOffCommand = -1;  /* MaintenanceLoopOffCommand */
577 static int hf_h245_sendTerminalCapabilitySet = -1;  /* SendTerminalCapabilitySet */
578 static int hf_h245_encryptionCommand = -1;        /* EncryptionCommand */
579 static int hf_h245_flowControlCommand = -1;       /* FlowControlCommand */
580 static int hf_h245_endSessionCommand = -1;        /* EndSessionCommand */
581 static int hf_h245_miscellaneousCommand = -1;     /* MiscellaneousCommand */
582 static int hf_h245_communicationModeCommand = -1;  /* CommunicationModeCommand */
583 static int hf_h245_conferenceCommand = -1;        /* ConferenceCommand */
584 static int hf_h245_h223MultiplexReconfiguration = -1;  /* H223MultiplexReconfiguration */
585 static int hf_h245_newATMVCCommand = -1;          /* NewATMVCCommand */
586 static int hf_h245_mobileMultilinkReconfigurationCommand = -1;  /* MobileMultilinkReconfigurationCommand */
587 static int hf_h245_genericCommand = -1;           /* GenericMessage */
588 static int hf_h245_functionNotUnderstood = -1;    /* FunctionNotUnderstood */
589 static int hf_h245_masterSlaveDeterminationRelease = -1;  /* MasterSlaveDeterminationRelease */
590 static int hf_h245_terminalCapabilitySetRelease = -1;  /* TerminalCapabilitySetRelease */
591 static int hf_h245_openLogicalChannelConfirm = -1;  /* OpenLogicalChannelConfirm */
592 static int hf_h245_requestChannelCloseRelease = -1;  /* RequestChannelCloseRelease */
593 static int hf_h245_multiplexEntrySendRelease = -1;  /* MultiplexEntrySendRelease */
594 static int hf_h245_requestMultiplexEntryRelease = -1;  /* RequestMultiplexEntryRelease */
595 static int hf_h245_requestModeRelease = -1;       /* RequestModeRelease */
596 static int hf_h245_miscellaneousIndication = -1;  /* MiscellaneousIndication */
597 static int hf_h245_jitterIndication = -1;         /* JitterIndication */
598 static int hf_h245_h223SkewIndication = -1;       /* H223SkewIndication */
599 static int hf_h245_newATMVCIndication = -1;       /* NewATMVCIndication */
600 static int hf_h245_userInput = -1;                /* UserInputIndication */
601 static int hf_h245_h2250MaximumSkewIndication = -1;  /* H2250MaximumSkewIndication */
602 static int hf_h245_mcLocationIndication = -1;     /* MCLocationIndication */
603 static int hf_h245_conferenceIndication = -1;     /* ConferenceIndication */
604 static int hf_h245_vendorIdentification = -1;     /* VendorIdentification */
605 static int hf_h245_functionNotSupported = -1;     /* FunctionNotSupported */
606 static int hf_h245_multilinkIndication = -1;      /* MultilinkIndication */
607 static int hf_h245_logicalChannelRateRelease = -1;  /* LogicalChannelRateRelease */
608 static int hf_h245_flowControlIndication = -1;    /* FlowControlIndication */
609 static int hf_h245_mobileMultilinkReconfigurationIndication = -1;  /* MobileMultilinkReconfigurationIndication */
610 static int hf_h245_genericIndication = -1;        /* GenericMessage */
611 static int hf_h245_messageIdentifier = -1;        /* CapabilityIdentifier */
612 static int hf_h245_subMessageIdentifier = -1;     /* T_subMessageIdentifier */
613 static int hf_h245_messageContent = -1;           /* T_messageContent */
614 static int hf_h245_messageContent_item = -1;      /* T_messageContent_item */
615 static int hf_h245_nonStandardData = -1;          /* NonStandardParameter */
616 static int hf_h245_nonStandardIdentifier = -1;    /* NonStandardIdentifier */
617 static int hf_h245_nsd_data = -1;                 /* T_nsd_data */
618 static int hf_h245_object = -1;                   /* T_object */
619 static int hf_h245_h221NonStandardID = -1;        /* H221NonStandardID */
620 static int hf_h245_t35CountryCode = -1;           /* T_t35CountryCode */
621 static int hf_h245_t35Extension = -1;             /* T_t35Extension */
622 static int hf_h245_manufacturerCode = -1;         /* T_manufacturerCode */
623 static int hf_h245_terminalType = -1;             /* INTEGER_0_255 */
624 static int hf_h245_statusDeterminationNumber = -1;  /* INTEGER_0_16777215 */
625 static int hf_h245_decision = -1;                 /* T_decision */
626 static int hf_h245_master = -1;                   /* NULL */
627 static int hf_h245_slave = -1;                    /* NULL */
628 static int hf_h245_msd_rej_cause = -1;            /* MasterSlaveDeterminationRejectCause */
629 static int hf_h245_identicalNumbers = -1;         /* NULL */
630 static int hf_h245_sequenceNumber = -1;           /* SequenceNumber */
631 static int hf_h245_protocolIdentifier = -1;       /* OBJECT_IDENTIFIER */
632 static int hf_h245_multiplexCapability = -1;      /* MultiplexCapability */
633 static int hf_h245_capabilityTable = -1;          /* SET_SIZE_1_256_OF_CapabilityTableEntry */
634 static int hf_h245_capabilityTable_item = -1;     /* CapabilityTableEntry */
635 static int hf_h245_capabilityDescriptors = -1;    /* SET_SIZE_1_256_OF_CapabilityDescriptor */
636 static int hf_h245_capabilityDescriptors_item = -1;  /* CapabilityDescriptor */
637 static int hf_h245_genericInformation = -1;       /* SEQUENCE_OF_GenericInformation */
638 static int hf_h245_genericInformation_item = -1;  /* GenericInformation */
639 static int hf_h245_capabilityTableEntryNumber = -1;  /* CapabilityTableEntryNumber */
640 static int hf_h245_capability = -1;               /* Capability */
641 static int hf_h245_capabilityDescriptorNumber = -1;  /* CapabilityDescriptorNumber */
642 static int hf_h245_simultaneousCapabilities = -1;  /* SET_SIZE_1_256_OF_AlternativeCapabilitySet */
643 static int hf_h245_simultaneousCapabilities_item = -1;  /* AlternativeCapabilitySet */
644 static int hf_h245_AlternativeCapabilitySet_item = -1;  /* CapabilityTableEntryNumber */
645 static int hf_h245_tcs_rej_cause = -1;            /* TerminalCapabilitySetRejectCause */
646 static int hf_h245_unspecified = -1;              /* NULL */
647 static int hf_h245_undefinedTableEntryUsed = -1;  /* NULL */
648 static int hf_h245_descriptorCapacityExceeded = -1;  /* NULL */
649 static int hf_h245_tableEntryCapacityExceeded = -1;  /* T_tableEntryCapacityExceeded */
650 static int hf_h245_highestEntryNumberProcessed = -1;  /* CapabilityTableEntryNumber */
651 static int hf_h245_noneProcessed = -1;            /* NULL */
652 static int hf_h245_nonStandard = -1;              /* NonStandardParameter */
653 static int hf_h245_receiveVideoCapability = -1;   /* VideoCapability */
654 static int hf_h245_transmitVideoCapability = -1;  /* VideoCapability */
655 static int hf_h245_receiveAndTransmitVideoCapability = -1;  /* VideoCapability */
656 static int hf_h245_receiveAudioCapability = -1;   /* AudioCapability */
657 static int hf_h245_transmitAudioCapability = -1;  /* AudioCapability */
658 static int hf_h245_receiveAndTransmitAudioCapability = -1;  /* AudioCapability */
659 static int hf_h245_receiveDataApplicationCapability = -1;  /* DataApplicationCapability */
660 static int hf_h245_transmitDataApplicationCapability = -1;  /* DataApplicationCapability */
661 static int hf_h245_receiveAndTransmitDataApplicationCapability = -1;  /* DataApplicationCapability */
662 static int hf_h245_h233EncryptionTransmitCapability = -1;  /* BOOLEAN */
663 static int hf_h245_h233EncryptionReceiveCapability = -1;  /* T_h233EncryptionReceiveCapability */
664 static int hf_h245_h233IVResponseTime = -1;       /* INTEGER_0_255 */
665 static int hf_h245_conferenceCapability = -1;     /* ConferenceCapability */
666 static int hf_h245_h235SecurityCapability = -1;   /* H235SecurityCapability */
667 static int hf_h245_maxPendingReplacementFor = -1;  /* INTEGER_0_255 */
668 static int hf_h245_receiveUserInputCapability = -1;  /* UserInputCapability */
669 static int hf_h245_transmitUserInputCapability = -1;  /* UserInputCapability */
670 static int hf_h245_receiveAndTransmitUserInputCapability = -1;  /* UserInputCapability */
671 static int hf_h245_genericControlCapability = -1;  /* GenericCapability */
672 static int hf_h245_receiveMultiplexedStreamCapability = -1;  /* MultiplexedStreamCapability */
673 static int hf_h245_transmitMultiplexedStreamCapability = -1;  /* MultiplexedStreamCapability */
674 static int hf_h245_receiveAndTransmitMultiplexedStreamCapability = -1;  /* MultiplexedStreamCapability */
675 static int hf_h245_receiveRTPAudioTelephonyEventCapability = -1;  /* AudioTelephonyEventCapability */
676 static int hf_h245_receiveRTPAudioToneCapability = -1;  /* AudioToneCapability */
677 static int hf_h245_depFecCapability = -1;         /* DepFECCapability */
678 static int hf_h245_multiplePayloadStreamCapability = -1;  /* MultiplePayloadStreamCapability */
679 static int hf_h245_fecCapability = -1;            /* FECCapability */
680 static int hf_h245_redundancyEncodingCap = -1;    /* RedundancyEncodingCapability */
681 static int hf_h245_oneOfCapabilities = -1;        /* AlternativeCapabilitySet */
682 static int hf_h245_encryptionAuthenticationAndIntegrity = -1;  /* EncryptionAuthenticationAndIntegrity */
683 static int hf_h245_mediaCapability = -1;          /* CapabilityTableEntryNumber */
684 static int hf_h245_h222Capability = -1;           /* H222Capability */
685 static int hf_h245_h223Capability = -1;           /* H223Capability */
686 static int hf_h245_v76Capability = -1;            /* V76Capability */
687 static int hf_h245_h2250Capability = -1;          /* H2250Capability */
688 static int hf_h245_genericMultiplexCapability = -1;  /* GenericCapability */
689 static int hf_h245_numberOfVCs = -1;              /* INTEGER_1_256 */
690 static int hf_h245_vcCapability = -1;             /* SET_OF_VCCapability */
691 static int hf_h245_vcCapability_item = -1;        /* VCCapability */
692 static int hf_h245_aal1 = -1;                     /* T_aal1 */
693 static int hf_h245_nullClockRecovery = -1;        /* BOOLEAN */
694 static int hf_h245_srtsClockRecovery_bool = -1;   /* BOOLEAN */
695 static int hf_h245_adaptiveClockRecovery = -1;    /* BOOLEAN */
696 static int hf_h245_nullErrorCorrection = -1;      /* BOOLEAN */
697 static int hf_h245_longInterleaver = -1;          /* BOOLEAN */
698 static int hf_h245_shortInterleaver = -1;         /* BOOLEAN */
699 static int hf_h245_errorCorrectionOnly = -1;      /* BOOLEAN */
700 static int hf_h245_structuredDataTransfer = -1;   /* BOOLEAN */
701 static int hf_h245_partiallyFilledCells = -1;     /* BOOLEAN */
702 static int hf_h245_aal5 = -1;                     /* T_aal5 */
703 static int hf_h245_forwardMaximumSDUSize = -1;    /* INTEGER_0_65535 */
704 static int hf_h245_backwardMaximumSDUSize = -1;   /* INTEGER_0_65535 */
705 static int hf_h245_transportStream_bool = -1;     /* BOOLEAN */
706 static int hf_h245_programStream = -1;            /* BOOLEAN */
707 static int hf_h245_availableBitRates = -1;        /* T_availableBitRates */
708 static int hf_h245_avb_type = -1;                 /* Avb_type */
709 static int hf_h245_singleBitRate = -1;            /* INTEGER_1_65535 */
710 static int hf_h245_rangeOfBitRates = -1;          /* T_rangeOfBitRates */
711 static int hf_h245_lowerBitRate = -1;             /* INTEGER_1_65535 */
712 static int hf_h245_higherBitRate = -1;            /* INTEGER_1_65535 */
713 static int hf_h245_aal1ViaGateway = -1;           /* T_aal1ViaGateway */
714 static int hf_h245_gatewayAddress = -1;           /* SET_SIZE_1_256_OF_Q2931Address */
715 static int hf_h245_gatewayAddress_item = -1;      /* Q2931Address */
716 static int hf_h245_srtsClockRecoveryflag = -1;    /* BOOLEAN */
717 static int hf_h245_transportWithI_frames = -1;    /* BOOLEAN */
718 static int hf_h245_videoWithAL1 = -1;             /* BOOLEAN */
719 static int hf_h245_videoWithAL2 = -1;             /* BOOLEAN */
720 static int hf_h245_videoWithAL3 = -1;             /* BOOLEAN */
721 static int hf_h245_audioWithAL1 = -1;             /* BOOLEAN */
722 static int hf_h245_audioWithAL2 = -1;             /* BOOLEAN */
723 static int hf_h245_audioWithAL3 = -1;             /* BOOLEAN */
724 static int hf_h245_dataWithAL1 = -1;              /* BOOLEAN */
725 static int hf_h245_dataWithAL2 = -1;              /* BOOLEAN */
726 static int hf_h245_dataWithAL3 = -1;              /* BOOLEAN */
727 static int hf_h245_maximumAl2SDUSize = -1;        /* INTEGER_0_65535 */
728 static int hf_h245_maximumAl3SDUSize = -1;        /* INTEGER_0_65535 */
729 static int hf_h245_maximumDelayJitter = -1;       /* INTEGER_0_1023 */
730 static int hf_h245_h223MultiplexTableCapability = -1;  /* T_h223MultiplexTableCapability */
731 static int hf_h245_basic = -1;                    /* NULL */
732 static int hf_h245_enhanced = -1;                 /* T_enhanced */
733 static int hf_h245_maximumNestingDepth = -1;      /* INTEGER_1_15 */
734 static int hf_h245_maximumElementListSize = -1;   /* INTEGER_2_255 */
735 static int hf_h245_maximumSubElementListSize = -1;  /* INTEGER_2_255 */
736 static int hf_h245_maxMUXPDUSizeCapability = -1;  /* BOOLEAN */
737 static int hf_h245_nsrpSupport = -1;              /* BOOLEAN */
738 static int hf_h245_mobileOperationTransmitCapability = -1;  /* T_mobileOperationTransmitCapability */
739 static int hf_h245_modeChangeCapability = -1;     /* BOOLEAN */
740 static int hf_h245_h223AnnexA = -1;               /* BOOLEAN */
741 static int hf_h245_h223AnnexADoubleFlagFlag = -1;  /* BOOLEAN */
742 static int hf_h245_h223AnnexB = -1;               /* BOOLEAN */
743 static int hf_h245_h223AnnexBwithHeader = -1;     /* BOOLEAN */
744 static int hf_h245_h223AnnexCCapability = -1;     /* H223AnnexCCapability */
745 static int hf_h245_bitRate_1_19200 = -1;          /* INTEGER_1_19200 */
746 static int hf_h245_mobileMultilinkFrameCapability = -1;  /* T_mobileMultilinkFrameCapability */
747 static int hf_h245_maximumSampleSize = -1;        /* INTEGER_1_255 */
748 static int hf_h245_maximumPayloadLength = -1;     /* INTEGER_1_65025 */
749 static int hf_h245_videoWithAL1M = -1;            /* BOOLEAN */
750 static int hf_h245_videoWithAL2M = -1;            /* BOOLEAN */
751 static int hf_h245_videoWithAL3M = -1;            /* BOOLEAN */
752 static int hf_h245_audioWithAL1M = -1;            /* BOOLEAN */
753 static int hf_h245_audioWithAL2M = -1;            /* BOOLEAN */
754 static int hf_h245_audioWithAL3M = -1;            /* BOOLEAN */
755 static int hf_h245_dataWithAL1M = -1;             /* BOOLEAN */
756 static int hf_h245_dataWithAL2M = -1;             /* BOOLEAN */
757 static int hf_h245_dataWithAL3M = -1;             /* BOOLEAN */
758 static int hf_h245_alpduInterleaving = -1;        /* BOOLEAN */
759 static int hf_h245_maximumAL1MPDUSize = -1;       /* INTEGER_0_65535 */
760 static int hf_h245_maximumAL2MSDUSize = -1;       /* INTEGER_0_65535 */
761 static int hf_h245_maximumAL3MSDUSize = -1;       /* INTEGER_0_65535 */
762 static int hf_h245_rsCodeCapability = -1;         /* BOOLEAN */
763 static int hf_h245_suspendResumeCapabilitywAddress = -1;  /* BOOLEAN */
764 static int hf_h245_suspendResumeCapabilitywoAddress = -1;  /* BOOLEAN */
765 static int hf_h245_rejCapability = -1;            /* BOOLEAN */
766 static int hf_h245_sREJCapability = -1;           /* BOOLEAN */
767 static int hf_h245_mREJCapability = -1;           /* BOOLEAN */
768 static int hf_h245_crc8bitCapability = -1;        /* BOOLEAN */
769 static int hf_h245_crc16bitCapability = -1;       /* BOOLEAN */
770 static int hf_h245_crc32bitCapability = -1;       /* BOOLEAN */
771 static int hf_h245_uihCapability = -1;            /* BOOLEAN */
772 static int hf_h245_numOfDLCS = -1;                /* INTEGER_2_8191 */
773 static int hf_h245_twoOctetAddressFieldCapability = -1;  /* BOOLEAN */
774 static int hf_h245_loopBackTestCapability = -1;   /* BOOLEAN */
775 static int hf_h245_n401Capability = -1;           /* INTEGER_1_4095 */
776 static int hf_h245_maxWindowSizeCapability = -1;  /* INTEGER_1_127 */
777 static int hf_h245_v75Capability = -1;            /* V75Capability */
778 static int hf_h245_audioHeader = -1;              /* BOOLEAN */
779 static int hf_h245_maximumAudioDelayJitter = -1;  /* INTEGER_0_1023 */
780 static int hf_h245_receiveMultipointCapability = -1;  /* MultipointCapability */
781 static int hf_h245_transmitMultipointCapability = -1;  /* MultipointCapability */
782 static int hf_h245_receiveAndTransmitMultipointCapability = -1;  /* MultipointCapability */
783 static int hf_h245_mcCapability = -1;             /* T_mcCapability */
784 static int hf_h245_centralizedConferenceMC = -1;  /* BOOLEAN */
785 static int hf_h245_decentralizedConferenceMC = -1;  /* BOOLEAN */
786 static int hf_h245_rtcpVideoControlCapability = -1;  /* BOOLEAN */
787 static int hf_h245_mediaPacketizationCapability = -1;  /* MediaPacketizationCapability */
788 static int hf_h245_transportCapability = -1;      /* TransportCapability */
789 static int hf_h245_redundancyEncodingCapability = -1;  /* SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability */
790 static int hf_h245_redundancyEncodingCapability_item = -1;  /* RedundancyEncodingCapability */
791 static int hf_h245_logicalChannelSwitchingCapability = -1;  /* BOOLEAN */
792 static int hf_h245_t120DynamicPortCapability = -1;  /* BOOLEAN */
793 static int hf_h245_h261aVideoPacketization = -1;  /* BOOLEAN */
794 static int hf_h245_rtpPayloadTypes = -1;          /* SEQUENCE_SIZE_1_256_OF_RTPPayloadType */
795 static int hf_h245_rtpPayloadTypes_item = -1;     /* RTPPayloadType */
796 static int hf_h245_qosMode = -1;                  /* QOSMode */
797 static int hf_h245_tokenRate = -1;                /* INTEGER_1_4294967295 */
798 static int hf_h245_bucketSize = -1;               /* INTEGER_1_4294967295 */
799 static int hf_h245_peakRate = -1;                 /* INTEGER_1_4294967295 */
800 static int hf_h245_minPoliced = -1;               /* INTEGER_1_4294967295 */
801 static int hf_h245_maxPktSize = -1;               /* INTEGER_1_4294967295 */
802 static int hf_h245_guaranteedQOS = -1;            /* NULL */
803 static int hf_h245_controlledLoad = -1;           /* NULL */
804 static int hf_h245_maxNTUSize = -1;               /* INTEGER_0_65535 */
805 static int hf_h245_atmUBR = -1;                   /* BOOLEAN */
806 static int hf_h245_atmrtVBR = -1;                 /* BOOLEAN */
807 static int hf_h245_atmnrtVBR = -1;                /* BOOLEAN */
808 static int hf_h245_atmABR = -1;                   /* BOOLEAN */
809 static int hf_h245_atmCBR = -1;                   /* BOOLEAN */
810 static int hf_h245_nonStandardParameter = -1;     /* NonStandardParameter */
811 static int hf_h245_value = -1;                    /* INTEGER_0_255 */
812 static int hf_h245_servicePrioritySignalled = -1;  /* BOOLEAN */
813 static int hf_h245_servicePriorityValue = -1;     /* ServicePriorityValue */
814 static int hf_h245_serviceClass = -1;             /* INTEGER_0_4095 */
815 static int hf_h245_serviceSubclass = -1;          /* INTEGER_0_255 */
816 static int hf_h245_desired = -1;                  /* NULL */
817 static int hf_h245_required = -1;                 /* NULL */
818 static int hf_h245_class0 = -1;                   /* NULL */
819 static int hf_h245_class1 = -1;                   /* NULL */
820 static int hf_h245_class2 = -1;                   /* NULL */
821 static int hf_h245_class3 = -1;                   /* NULL */
822 static int hf_h245_class4 = -1;                   /* NULL */
823 static int hf_h245_class5 = -1;                   /* NULL */
824 static int hf_h245_qosType = -1;                  /* QOSType */
825 static int hf_h245_qosClass = -1;                 /* QOSClass */
826 static int hf_h245_averageRate = -1;              /* INTEGER_1_4294967295 */
827 static int hf_h245_burst = -1;                    /* INTEGER_1_4294967295 */
828 static int hf_h245_rsvpParameters = -1;           /* RSVPParameters */
829 static int hf_h245_atmParameters = -1;            /* ATMParameters */
830 static int hf_h245_localQoS = -1;                 /* BOOLEAN */
831 static int hf_h245_genericTransportParameters = -1;  /* GenericTransportParameters */
832 static int hf_h245_servicePriority = -1;          /* ServicePriority */
833 static int hf_h245_authorizationParameter = -1;   /* AuthorizationParameters */
834 static int hf_h245_qosDescriptor = -1;            /* QOSDescriptor */
835 static int hf_h245_dscpValue = -1;                /* INTEGER_0_63 */
836 static int hf_h245_ip_UDP = -1;                   /* NULL */
837 static int hf_h245_ip_TCP = -1;                   /* NULL */
838 static int hf_h245_atm_AAL5_UNIDIR = -1;          /* NULL */
839 static int hf_h245_atm_AAL5_BIDIR = -1;           /* NULL */
840 static int hf_h245_atm_AAL5_compressed = -1;      /* T_atm_AAL5_compressed */
841 static int hf_h245_variable_delta = -1;           /* BOOLEAN */
842 static int hf_h245_mediaTransport = -1;           /* MediaTransportType */
843 static int hf_h245_qOSCapabilities = -1;          /* SEQUENCE_SIZE_1_256_OF_QOSCapability */
844 static int hf_h245_qOSCapabilities_item = -1;     /* QOSCapability */
845 static int hf_h245_mediaChannelCapabilities = -1;  /* SEQUENCE_SIZE_1_256_OF_MediaChannelCapability */
846 static int hf_h245_mediaChannelCapabilities_item = -1;  /* MediaChannelCapability */
847 static int hf_h245_redundancyEncodingMethod = -1;  /* RedundancyEncodingMethod */
848 static int hf_h245_primaryEncoding = -1;          /* CapabilityTableEntryNumber */
849 static int hf_h245_secondaryEncodingCapability = -1;  /* SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber */
850 static int hf_h245_secondaryEncodingCapability_item = -1;  /* CapabilityTableEntryNumber */
851 static int hf_h245_rtpAudioRedundancyEncoding = -1;  /* NULL */
852 static int hf_h245_rtpH263VideoRedundancyEncoding = -1;  /* RTPH263VideoRedundancyEncoding */
853 static int hf_h245_numberOfThreads = -1;          /* INTEGER_1_16 */
854 static int hf_h245_framesBetweenSyncPoints = -1;  /* INTEGER_1_256 */
855 static int hf_h245_frameToThreadMapping = -1;     /* T_frameToThreadMapping */
856 static int hf_h245_roundrobin = -1;               /* NULL */
857 static int hf_h245_custom = -1;                   /* SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping */
858 static int hf_h245_custom_item = -1;              /* RTPH263VideoRedundancyFrameMapping */
859 static int hf_h245_containedThreads = -1;         /* T_containedThreads */
860 static int hf_h245_containedThreads_item = -1;    /* INTEGER_0_15 */
861 static int hf_h245_threadNumber = -1;             /* INTEGER_0_15 */
862 static int hf_h245_frameSequence = -1;            /* T_frameSequence */
863 static int hf_h245_frameSequence_item = -1;       /* INTEGER_0_255 */
864 static int hf_h245_multicastCapability = -1;      /* BOOLEAN */
865 static int hf_h245_multiUniCastConference = -1;   /* BOOLEAN */
866 static int hf_h245_mediaDistributionCapability = -1;  /* SEQUENCE_OF_MediaDistributionCapability */
867 static int hf_h245_mediaDistributionCapability_item = -1;  /* MediaDistributionCapability */
868 static int hf_h245_centralizedControl = -1;       /* BOOLEAN */
869 static int hf_h245_distributedControl = -1;       /* BOOLEAN */
870 static int hf_h245_centralizedAudio = -1;         /* BOOLEAN */
871 static int hf_h245_distributedAudio = -1;         /* BOOLEAN */
872 static int hf_h245_centralizedVideo = -1;         /* BOOLEAN */
873 static int hf_h245_distributedVideo = -1;         /* BOOLEAN */
874 static int hf_h245_centralizedData = -1;          /* SEQUENCE_OF_DataApplicationCapability */
875 static int hf_h245_centralizedData_item = -1;     /* DataApplicationCapability */
876 static int hf_h245_distributedData = -1;          /* SEQUENCE_OF_DataApplicationCapability */
877 static int hf_h245_distributedData_item = -1;     /* DataApplicationCapability */
878 static int hf_h245_h261VideoCapability = -1;      /* H261VideoCapability */
879 static int hf_h245_h262VideoCapability = -1;      /* H262VideoCapability */
880 static int hf_h245_h263VideoCapability = -1;      /* H263VideoCapability */
881 static int hf_h245_is11172VideoCapability = -1;   /* IS11172VideoCapability */
882 static int hf_h245_genericVideoCapability = -1;   /* GenericCapability */
883 static int hf_h245_extendedVideoCapability = -1;  /* ExtendedVideoCapability */
884 static int hf_h245_videoCapability = -1;          /* SEQUENCE_OF_VideoCapability */
885 static int hf_h245_videoCapability_item = -1;     /* VideoCapability */
886 static int hf_h245_videoCapabilityExtension = -1;  /* SEQUENCE_OF_GenericCapability */
887 static int hf_h245_videoCapabilityExtension_item = -1;  /* GenericCapability */
888 static int hf_h245_qcifMPI_1_4 = -1;              /* INTEGER_1_4 */
889 static int hf_h245_cifMPI_1_4 = -1;               /* INTEGER_1_4 */
890 static int hf_h245_temporalSpatialTradeOffCapability = -1;  /* BOOLEAN */
891 static int hf_h245_maxBitRate_1_19200 = -1;       /* INTEGER_1_19200 */
892 static int hf_h245_stillImageTransmission = -1;   /* BOOLEAN */
893 static int hf_h245_videoBadMBsCap = -1;           /* BOOLEAN */
894 static int hf_h245_profileAndLevel_SPatML = -1;   /* BOOLEAN */
895 static int hf_h245_profileAndLevel_MPatLL = -1;   /* BOOLEAN */
896 static int hf_h245_profileAndLevel_MPatML = -1;   /* BOOLEAN */
897 static int hf_h245_profileAndLevel_MPatH_14 = -1;  /* BOOLEAN */
898 static int hf_h245_profileAndLevel_MPatHL = -1;   /* BOOLEAN */
899 static int hf_h245_profileAndLevel_SNRatLL = -1;  /* BOOLEAN */
900 static int hf_h245_profileAndLevel_SNRatML = -1;  /* BOOLEAN */
901 static int hf_h245_profileAndLevel_SpatialatH_14 = -1;  /* BOOLEAN */
902 static int hf_h245_profileAndLevel_HPatML = -1;   /* BOOLEAN */
903 static int hf_h245_profileAndLevel_HPatH_14 = -1;  /* BOOLEAN */
904 static int hf_h245_profileAndLevel_HPatHL = -1;   /* BOOLEAN */
905 static int hf_h245_videoBitRate = -1;             /* INTEGER_0_1073741823 */
906 static int hf_h245_vbvBufferSize = -1;            /* INTEGER_0_262143 */
907 static int hf_h245_samplesPerLine = -1;           /* INTEGER_0_16383 */
908 static int hf_h245_linesPerFrame = -1;            /* INTEGER_0_16383 */
909 static int hf_h245_framesPerSecond = -1;          /* INTEGER_0_15 */
910 static int hf_h245_luminanceSampleRate = -1;      /* INTEGER_0_4294967295 */
911 static int hf_h245_sqcifMPI_1_32 = -1;            /* INTEGER_1_32 */
912 static int hf_h245_qcifMPI = -1;                  /* INTEGER_1_32 */
913 static int hf_h245_cifMPI = -1;                   /* INTEGER_1_32 */
914 static int hf_h245_cif4MPI_1_32 = -1;             /* INTEGER_1_32 */
915 static int hf_h245_cif16MPI_1_32 = -1;            /* INTEGER_1_32 */
916 static int hf_h245_maxBitRate = -1;               /* INTEGER_1_192400 */
917 static int hf_h245_unrestrictedVector = -1;       /* BOOLEAN */
918 static int hf_h245_arithmeticCoding = -1;         /* BOOLEAN */
919 static int hf_h245_advancedPrediction = -1;       /* BOOLEAN */
920 static int hf_h245_pbFrames = -1;                 /* BOOLEAN */
921 static int hf_h245_hrd_B = -1;                    /* INTEGER_0_524287 */
922 static int hf_h245_bppMaxKb = -1;                 /* INTEGER_0_65535 */
923 static int hf_h245_slowSqcifMPI = -1;             /* INTEGER_1_3600 */
924 static int hf_h245_slowQcifMPI = -1;              /* INTEGER_1_3600 */
925 static int hf_h245_slowCifMPI = -1;               /* INTEGER_1_3600 */
926 static int hf_h245_slowCif4MPI = -1;              /* INTEGER_1_3600 */
927 static int hf_h245_slowCif16MPI = -1;             /* INTEGER_1_3600 */
928 static int hf_h245_errorCompensation = -1;        /* BOOLEAN */
929 static int hf_h245_enhancementLayerInfo = -1;     /* EnhancementLayerInfo */
930 static int hf_h245_h263Options = -1;              /* H263Options */
931 static int hf_h245_baseBitRateConstrained = -1;   /* BOOLEAN */
932 static int hf_h245_snrEnhancement = -1;           /* SET_SIZE_1_14_OF_EnhancementOptions */
933 static int hf_h245_snrEnhancement_item = -1;      /* EnhancementOptions */
934 static int hf_h245_spatialEnhancement = -1;       /* SET_SIZE_1_14_OF_EnhancementOptions */
935 static int hf_h245_spatialEnhancement_item = -1;  /* EnhancementOptions */
936 static int hf_h245_bPictureEnhancement = -1;      /* SET_SIZE_1_14_OF_BEnhancementParameters */
937 static int hf_h245_bPictureEnhancement_item = -1;  /* BEnhancementParameters */
938 static int hf_h245_enhancementOptions = -1;       /* EnhancementOptions */
939 static int hf_h245_numberOfBPictures = -1;        /* INTEGER_1_64 */
940 static int hf_h245_advancedIntraCodingMode = -1;  /* BOOLEAN */
941 static int hf_h245_deblockingFilterMode = -1;     /* BOOLEAN */
942 static int hf_h245_improvedPBFramesMode = -1;     /* BOOLEAN */
943 static int hf_h245_unlimitedMotionVectors = -1;   /* BOOLEAN */
944 static int hf_h245_fullPictureFreeze = -1;        /* BOOLEAN */
945 static int hf_h245_partialPictureFreezeAndRelease = -1;  /* BOOLEAN */
946 static int hf_h245_resizingPartPicFreezeAndRelease = -1;  /* BOOLEAN */
947 static int hf_h245_fullPictureSnapshot = -1;      /* BOOLEAN */
948 static int hf_h245_partialPictureSnapshot = -1;   /* BOOLEAN */
949 static int hf_h245_videoSegmentTagging = -1;      /* BOOLEAN */
950 static int hf_h245_progressiveRefinement = -1;    /* BOOLEAN */
951 static int hf_h245_dynamicPictureResizingByFour = -1;  /* BOOLEAN */
952 static int hf_h245_dynamicPictureResizingSixteenthPel = -1;  /* BOOLEAN */
953 static int hf_h245_dynamicWarpingHalfPel = -1;    /* BOOLEAN */
954 static int hf_h245_dynamicWarpingSixteenthPel = -1;  /* BOOLEAN */
955 static int hf_h245_independentSegmentDecoding = -1;  /* BOOLEAN */
956 static int hf_h245_slicesInOrder_NonRect = -1;    /* BOOLEAN */
957 static int hf_h245_slicesInOrder_Rect = -1;       /* BOOLEAN */
958 static int hf_h245_slicesNoOrder_NonRect = -1;    /* BOOLEAN */
959 static int hf_h245_slicesNoOrder_Rect = -1;       /* BOOLEAN */
960 static int hf_h245_alternateInterVLCMode = -1;    /* BOOLEAN */
961 static int hf_h245_modifiedQuantizationMode = -1;  /* BOOLEAN */
962 static int hf_h245_reducedResolutionUpdate = -1;  /* BOOLEAN */
963 static int hf_h245_transparencyParameters = -1;   /* TransparencyParameters */
964 static int hf_h245_separateVideoBackChannel = -1;  /* BOOLEAN */
965 static int hf_h245_refPictureSelection = -1;      /* RefPictureSelection */
966 static int hf_h245_customPictureClockFrequency = -1;  /* SET_SIZE_1_16_OF_CustomPictureClockFrequency */
967 static int hf_h245_customPictureClockFrequency_item = -1;  /* CustomPictureClockFrequency */
968 static int hf_h245_customPictureFormat = -1;      /* SET_SIZE_1_16_OF_CustomPictureFormat */
969 static int hf_h245_customPictureFormat_item = -1;  /* CustomPictureFormat */
970 static int hf_h245_modeCombos = -1;               /* SET_SIZE_1_16_OF_H263VideoModeCombos */
971 static int hf_h245_modeCombos_item = -1;          /* H263VideoModeCombos */
972 static int hf_h245_h263Version3Options = -1;      /* H263Version3Options */
973 static int hf_h245_presentationOrder = -1;        /* INTEGER_1_256 */
974 static int hf_h245_offset_x = -1;                 /* INTEGER_M262144_262143 */
975 static int hf_h245_offset_y = -1;                 /* INTEGER_M262144_262143 */
976 static int hf_h245_scale_x = -1;                  /* INTEGER_1_255 */
977 static int hf_h245_scale_y = -1;                  /* INTEGER_1_255 */
978 static int hf_h245_additionalPictureMemory = -1;  /* T_additionalPictureMemory */
979 static int hf_h245_sqcifAdditionalPictureMemory = -1;  /* INTEGER_1_256 */
980 static int hf_h245_qcifAdditionalPictureMemory = -1;  /* INTEGER_1_256 */
981 static int hf_h245_cifAdditionalPictureMemory = -1;  /* INTEGER_1_256 */
982 static int hf_h245_cif4AdditionalPictureMemory = -1;  /* INTEGER_1_256 */
983 static int hf_h245_cif16AdditionalPictureMemory = -1;  /* INTEGER_1_256 */
984 static int hf_h245_bigCpfAdditionalPictureMemory = -1;  /* INTEGER_1_256 */
985 static int hf_h245_videoMux = -1;                 /* BOOLEAN */
986 static int hf_h245_videoBackChannelSend = -1;     /* T_videoBackChannelSend */
987 static int hf_h245_none = -1;                     /* NULL */
988 static int hf_h245_ackMessageOnly = -1;           /* NULL */
989 static int hf_h245_nackMessageOnly = -1;          /* NULL */
990 static int hf_h245_ackOrNackMessageOnly = -1;     /* NULL */
991 static int hf_h245_ackAndNackMessage = -1;        /* NULL */
992 static int hf_h245_enhancedReferencePicSelect = -1;  /* T_enhancedReferencePicSelect */
993 static int hf_h245_subPictureRemovalParameters = -1;  /* T_subPictureRemovalParameters */
994 static int hf_h245_mpuHorizMBs = -1;              /* INTEGER_1_128 */
995 static int hf_h245_mpuVertMBs = -1;               /* INTEGER_1_72 */
996 static int hf_h245_mpuTotalNumber = -1;           /* INTEGER_1_65536 */
997 static int hf_h245_clockConversionCode = -1;      /* INTEGER_1000_1001 */
998 static int hf_h245_clockDivisor = -1;             /* INTEGER_1_127 */
999 static int hf_h245_sqcifMPI = -1;                 /* INTEGER_1_2048 */
1000 static int hf_h245_qcifMPI_1_2048 = -1;           /* INTEGER_1_2048 */
1001 static int hf_h245_cifMPI2_1_2048 = -1;           /* INTEGER_1_2048 */
1002 static int hf_h245_cif4MPI = -1;                  /* INTEGER_1_2048 */
1003 static int hf_h245_cif16MPI = -1;                 /* INTEGER_1_2048 */
1004 static int hf_h245_maxCustomPictureWidth = -1;    /* INTEGER_1_2048 */
1005 static int hf_h245_maxCustomPictureHeight = -1;   /* INTEGER_1_2048 */
1006 static int hf_h245_minCustomPictureWidth = -1;    /* INTEGER_1_2048 */
1007 static int hf_h245_minCustomPictureHeight = -1;   /* INTEGER_1_2048 */
1008 static int hf_h245_mPI = -1;                      /* T_mPI */
1009 static int hf_h245_standardMPI = -1;              /* INTEGER_1_31 */
1010 static int hf_h245_customPCF = -1;                /* T_customPCF */
1011 static int hf_h245_customPCF_item = -1;           /* T_customPCF_item */
1012 static int hf_h245_customMPI = -1;                /* INTEGER_1_2048 */
1013 static int hf_h245_pixelAspectInformation = -1;   /* T_pixelAspectInformation */
1014 static int hf_h245_anyPixelAspectRatio = -1;      /* BOOLEAN */
1015 static int hf_h245_pixelAspectCode = -1;          /* T_pixelAspectCode */
1016 static int hf_h245_pixelAspectCode_item = -1;     /* INTEGER_1_14 */
1017 static int hf_h245_extendedPAR = -1;              /* T_extendedPAR */
1018 static int hf_h245_extendedPAR_item = -1;         /* T_extendedPAR_item */
1019 static int hf_h245_width = -1;                    /* INTEGER_1_255 */
1020 static int hf_h245_height = -1;                   /* INTEGER_1_255 */
1021 static int hf_h245_h263VideoUncoupledModes = -1;  /* H263ModeComboFlags */
1022 static int hf_h245_h263VideoCoupledModes = -1;    /* SET_SIZE_1_16_OF_H263ModeComboFlags */
1023 static int hf_h245_h263VideoCoupledModes_item = -1;  /* H263ModeComboFlags */
1024 static int hf_h245_referencePicSelect = -1;       /* BOOLEAN */
1025 static int hf_h245_enhancedReferencePicSelectBool = -1;  /* BOOLEAN */
1026 static int hf_h245_dataPartitionedSlices = -1;    /* BOOLEAN */
1027 static int hf_h245_fixedPointIDCT0 = -1;          /* BOOLEAN */
1028 static int hf_h245_interlacedFields = -1;         /* BOOLEAN */
1029 static int hf_h245_currentPictureHeaderRepetition = -1;  /* BOOLEAN */
1030 static int hf_h245_previousPictureHeaderRepetition = -1;  /* BOOLEAN */
1031 static int hf_h245_nextPictureHeaderRepetition = -1;  /* BOOLEAN */
1032 static int hf_h245_pictureNumberBoolean = -1;     /* BOOLEAN */
1033 static int hf_h245_spareReferencePictures = -1;   /* BOOLEAN */
1034 static int hf_h245_constrainedBitstream = -1;     /* BOOLEAN */
1035 static int hf_h245_pictureRate = -1;              /* INTEGER_0_15 */
1036 static int hf_h245_g711Alaw64k = -1;              /* INTEGER_1_256 */
1037 static int hf_h245_g711Alaw56k = -1;              /* INTEGER_1_256 */
1038 static int hf_h245_g711Ulaw64k = -1;              /* INTEGER_1_256 */
1039 static int hf_h245_g711Ulaw56k = -1;              /* INTEGER_1_256 */
1040 static int hf_h245_g722_64k = -1;                 /* INTEGER_1_256 */
1041 static int hf_h245_g722_56k = -1;                 /* INTEGER_1_256 */
1042 static int hf_h245_g722_48k = -1;                 /* INTEGER_1_256 */
1043 static int hf_h245_g7231 = -1;                    /* T_g7231 */
1044 static int hf_h245_maxAl_sduAudioFrames = -1;     /* INTEGER_1_256 */
1045 static int hf_h245_silenceSuppression = -1;       /* BOOLEAN */
1046 static int hf_h245_g728 = -1;                     /* INTEGER_1_256 */
1047 static int hf_h245_g729 = -1;                     /* INTEGER_1_256 */
1048 static int hf_h245_g729AnnexA = -1;               /* INTEGER_1_256 */
1049 static int hf_h245_is11172AudioCapability = -1;   /* IS11172AudioCapability */
1050 static int hf_h245_is13818AudioCapability = -1;   /* IS13818AudioCapability */
1051 static int hf_h245_g729wAnnexB = -1;              /* INTEGER_1_256 */
1052 static int hf_h245_g729AnnexAwAnnexB = -1;        /* INTEGER_1_256 */
1053 static int hf_h245_g7231AnnexCCapability = -1;    /* G7231AnnexCCapability */
1054 static int hf_h245_gsmFullRate = -1;              /* GSMAudioCapability */
1055 static int hf_h245_gsmHalfRate = -1;              /* GSMAudioCapability */
1056 static int hf_h245_gsmEnhancedFullRate = -1;      /* GSMAudioCapability */
1057 static int hf_h245_genericAudioCapability = -1;   /* GenericCapability */
1058 static int hf_h245_g729Extensions = -1;           /* G729Extensions */
1059 static int hf_h245_vbd = -1;                      /* VBDCapability */
1060 static int hf_h245_audioTelephonyEvent = -1;      /* NoPTAudioTelephonyEventCapability */
1061 static int hf_h245_audioTone = -1;                /* NoPTAudioToneCapability */
1062 static int hf_h245_audioUnit = -1;                /* INTEGER_1_256 */
1063 static int hf_h245_annexA = -1;                   /* BOOLEAN */
1064 static int hf_h245_annexB = -1;                   /* BOOLEAN */
1065 static int hf_h245_annexD = -1;                   /* BOOLEAN */
1066 static int hf_h245_annexE = -1;                   /* BOOLEAN */
1067 static int hf_h245_annexF = -1;                   /* BOOLEAN */
1068 static int hf_h245_annexG = -1;                   /* BOOLEAN */
1069 static int hf_h245_annexH = -1;                   /* BOOLEAN */
1070 static int hf_h245_highRateMode0 = -1;            /* INTEGER_27_78 */
1071 static int hf_h245_highRateMode1 = -1;            /* INTEGER_27_78 */
1072 static int hf_h245_lowRateMode0 = -1;             /* INTEGER_23_66 */
1073 static int hf_h245_lowRateMode1 = -1;             /* INTEGER_23_66 */
1074 static int hf_h245_sidMode0 = -1;                 /* INTEGER_6_17 */
1075 static int hf_h245_sidMode1 = -1;                 /* INTEGER_6_17 */
1076 static int hf_h245_g723AnnexCAudioMode = -1;      /* G723AnnexCAudioMode */
1077 static int hf_h245_audioLayer1 = -1;              /* BOOLEAN */
1078 static int hf_h245_audioLayer2 = -1;              /* BOOLEAN */
1079 static int hf_h245_audioLayer3 = -1;              /* BOOLEAN */
1080 static int hf_h245_audioSampling32k = -1;         /* BOOLEAN */
1081 static int hf_h245_audioSampling44k1 = -1;        /* BOOLEAN */
1082 static int hf_h245_audioSampling48k = -1;         /* BOOLEAN */
1083 static int hf_h245_singleChannel = -1;            /* BOOLEAN */
1084 static int hf_h245_twoChannels = -1;              /* BOOLEAN */
1085 static int hf_h245_bitRate_1_448 = -1;            /* INTEGER_1_448 */
1086 static int hf_h245_audioSampling16k = -1;         /* BOOLEAN */
1087 static int hf_h245_audioSampling22k05 = -1;       /* BOOLEAN */
1088 static int hf_h245_audioSampling24k = -1;         /* BOOLEAN */
1089 static int hf_h245_threeChannels2_1 = -1;         /* BOOLEAN */
1090 static int hf_h245_threeChannels3_0 = -1;         /* BOOLEAN */
1091 static int hf_h245_fourChannels2_0_2_0 = -1;      /* BOOLEAN */
1092 static int hf_h245_fourChannels2_2 = -1;          /* BOOLEAN */
1093 static int hf_h245_fourChannels3_1 = -1;          /* BOOLEAN */
1094 static int hf_h245_fiveChannels3_0_2_0 = -1;      /* BOOLEAN */
1095 static int hf_h245_fiveChannels3_2 = -1;          /* BOOLEAN */
1096 static int hf_h245_lowFrequencyEnhancement = -1;  /* BOOLEAN */
1097 static int hf_h245_multilingual = -1;             /* BOOLEAN */
1098 static int hf_h245_bitRate2_1_1130 = -1;          /* INTEGER_1_1130 */
1099 static int hf_h245_audioUnitSize = -1;            /* INTEGER_1_256 */
1100 static int hf_h245_comfortNoise = -1;             /* BOOLEAN */
1101 static int hf_h245_scrambled = -1;                /* BOOLEAN */
1102 static int hf_h245_vbd_cap_type = -1;             /* AudioCapability */
1103 static int hf_h245_t120 = -1;                     /* DataProtocolCapability */
1104 static int hf_h245_dsm_cc = -1;                   /* DataProtocolCapability */
1105 static int hf_h245_userData = -1;                 /* DataProtocolCapability */
1106 static int hf_h245_t84 = -1;                      /* T_t84 */
1107 static int hf_h245_t84Protocol = -1;              /* DataProtocolCapability */
1108 static int hf_h245_t84Profile = -1;               /* T84Profile */
1109 static int hf_h245_t434 = -1;                     /* DataProtocolCapability */
1110 static int hf_h245_h224 = -1;                     /* DataProtocolCapability */
1111 static int hf_h245_nlpidProtocol = -1;            /* DataProtocolCapability */
1112 static int hf_h245_nlpidData = -1;                /* OCTET_STRING */
1113 static int hf_h245_nlpid = -1;                    /* Nlpid */
1114 static int hf_h245_dsvdControl = -1;              /* NULL */
1115 static int hf_h245_h222DataPartitioning = -1;     /* DataProtocolCapability */
1116 static int hf_h245_t30fax = -1;                   /* DataProtocolCapability */
1117 static int hf_h245_t140 = -1;                     /* DataProtocolCapability */
1118 static int hf_h245_t38fax = -1;                   /* T_t38fax */
1119 static int hf_h245_t38FaxProtocol = -1;           /* DataProtocolCapability */
1120 static int hf_h245_t38FaxProfile = -1;            /* T38FaxProfile */
1121 static int hf_h245_genericDataCapability = -1;    /* GenericCapability */
1122 static int hf_h245_application = -1;              /* Application */
1123 static int hf_h245_maxBitRate2_0_4294967295 = -1;  /* INTEGER_0_4294967295 */
1124 static int hf_h245_v14buffered = -1;              /* NULL */
1125 static int hf_h245_v42lapm = -1;                  /* NULL */
1126 static int hf_h245_hdlcFrameTunnelling = -1;      /* NULL */
1127 static int hf_h245_h310SeparateVCStack = -1;      /* NULL */
1128 static int hf_h245_h310SingleVCStack = -1;        /* NULL */
1129 static int hf_h245_transparent = -1;              /* NULL */
1130 static int hf_h245_segmentationAndReassembly = -1;  /* NULL */
1131 static int hf_h245_hdlcFrameTunnelingwSAR = -1;   /* NULL */
1132 static int hf_h245_v120 = -1;                     /* NULL */
1133 static int hf_h245_separateLANStack = -1;         /* NULL */
1134 static int hf_h245_v76wCompression = -1;          /* T_v76wCompression */
1135 static int hf_h245_transmitCompression = -1;      /* CompressionType */
1136 static int hf_h245_receiveCompression = -1;       /* CompressionType */
1137 static int hf_h245_transmitAndReceiveCompression = -1;  /* CompressionType */
1138 static int hf_h245_tcp = -1;                      /* NULL */
1139 static int hf_h245_udp = -1;                      /* NULL */
1140 static int hf_h245_v42bis = -1;                   /* V42bis */
1141 static int hf_h245_numberOfCodewords = -1;        /* INTEGER_1_65536 */
1142 static int hf_h245_maximumStringLength = -1;      /* INTEGER_1_256 */
1143 static int hf_h245_t84Unrestricted = -1;          /* NULL */
1144 static int hf_h245_t84Restricted = -1;            /* T_t84Restricted */
1145 static int hf_h245_qcif_bool = -1;                /* BOOLEAN */
1146 static int hf_h245_cif_bool = -1;                 /* BOOLEAN */
1147 static int hf_h245_ccir601Seq = -1;               /* BOOLEAN */
1148 static int hf_h245_ccir601Prog = -1;              /* BOOLEAN */
1149 static int hf_h245_hdtvSeq = -1;                  /* BOOLEAN */
1150 static int hf_h245_hdtvProg = -1;                 /* BOOLEAN */
1151 static int hf_h245_g3FacsMH200x100 = -1;          /* BOOLEAN */
1152 static int hf_h245_g3FacsMH200x200 = -1;          /* BOOLEAN */
1153 static int hf_h245_g4FacsMMR200x100 = -1;         /* BOOLEAN */
1154 static int hf_h245_g4FacsMMR200x200 = -1;         /* BOOLEAN */
1155 static int hf_h245_jbig200x200Seq = -1;           /* BOOLEAN */
1156 static int hf_h245_jbig200x200Prog = -1;          /* BOOLEAN */
1157 static int hf_h245_jbig300x300Seq = -1;           /* BOOLEAN */
1158 static int hf_h245_jbig300x300Prog = -1;          /* BOOLEAN */
1159 static int hf_h245_digPhotoLow = -1;              /* BOOLEAN */
1160 static int hf_h245_digPhotoMedSeq = -1;           /* BOOLEAN */
1161 static int hf_h245_digPhotoMedProg = -1;          /* BOOLEAN */
1162 static int hf_h245_digPhotoHighSeq = -1;          /* BOOLEAN */
1163 static int hf_h245_digPhotoHighProg = -1;         /* BOOLEAN */
1164 static int hf_h245_fillBitRemoval = -1;           /* BOOLEAN */
1165 static int hf_h245_transcodingJBIG = -1;          /* BOOLEAN */
1166 static int hf_h245_transcodingMMR = -1;           /* BOOLEAN */
1167 static int hf_h245_version = -1;                  /* INTEGER_0_255 */
1168 static int hf_h245_t38FaxRateManagement = -1;     /* T38FaxRateManagement */
1169 static int hf_h245_t38FaxUdpOptions = -1;         /* T38FaxUdpOptions */
1170 static int hf_h245_t38FaxTcpOptions = -1;         /* T38FaxTcpOptions */
1171 static int hf_h245_localTCF = -1;                 /* NULL */
1172 static int hf_h245_transferredTCF = -1;           /* NULL */
1173 static int hf_h245_t38FaxMaxBuffer = -1;          /* INTEGER */
1174 static int hf_h245_t38FaxMaxDatagram = -1;        /* INTEGER */
1175 static int hf_h245_t38FaxUdpEC = -1;              /* T_t38FaxUdpEC */
1176 static int hf_h245_t38UDPFEC = -1;                /* NULL */
1177 static int hf_h245_t38UDPRedundancy = -1;         /* NULL */
1178 static int hf_h245_t38TCPBidirectionalMode = -1;  /* BOOLEAN */
1179 static int hf_h245_encryptionCapability = -1;     /* EncryptionCapability */
1180 static int hf_h245_authenticationCapability = -1;  /* AuthenticationCapability */
1181 static int hf_h245_integrityCapability = -1;      /* IntegrityCapability */
1182 static int hf_h245_genericH235SecurityCapability = -1;  /* GenericCapability */
1183 static int hf_h245_EncryptionCapability_item = -1;  /* MediaEncryptionAlgorithm */
1184 static int hf_h245_algorithm = -1;                /* OBJECT_IDENTIFIER */
1185 static int hf_h245_antiSpamAlgorithm = -1;        /* OBJECT_IDENTIFIER */
1186 static int hf_h245_ui_nonStandard = -1;           /* SEQUENCE_SIZE_1_16_OF_NonStandardParameter */
1187 static int hf_h245_ui_nonStandard_item = -1;      /* NonStandardParameter */
1188 static int hf_h245_basicString = -1;              /* NULL */
1189 static int hf_h245_iA5String = -1;                /* NULL */
1190 static int hf_h245_generalString = -1;            /* NULL */
1191 static int hf_h245_dtmf = -1;                     /* NULL */
1192 static int hf_h245_hookflash = -1;                /* NULL */
1193 static int hf_h245_extendedAlphanumericFlag = -1;  /* NULL */
1194 static int hf_h245_encryptedBasicString = -1;     /* NULL */
1195 static int hf_h245_encryptedIA5String = -1;       /* NULL */
1196 static int hf_h245_encryptedGeneralString = -1;   /* NULL */
1197 static int hf_h245_secureDTMF = -1;               /* NULL */
1198 static int hf_h245_genericUserInputCapability = -1;  /* GenericCapability */
1199 static int hf_h245_nonStandardParams = -1;        /* SEQUENCE_OF_NonStandardParameter */
1200 static int hf_h245_nonStandardParams_item = -1;   /* NonStandardParameter */
1201 static int hf_h245_chairControlCapability = -1;   /* BOOLEAN */
1202 static int hf_h245_videoIndicateMixingCapability = -1;  /* BOOLEAN */
1203 static int hf_h245_multipointVisualizationCapability = -1;  /* BOOLEAN */
1204 static int hf_h245_capabilityIdentifier = -1;     /* CapabilityIdentifier */
1205 static int hf_h245_collapsing = -1;               /* T_collapsing */
1206 static int hf_h245_collapsing_item = -1;          /* T_collapsing_item */
1207 static int hf_h245_nonCollapsing = -1;            /* T_nonCollapsing */
1208 static int hf_h245_nonCollapsing_item = -1;       /* T_nonCollapsing_item */
1209 static int hf_h245_nonCollapsingRaw = -1;         /* T_nonCollapsingRaw */
1210 static int hf_h245_transport = -1;                /* DataProtocolCapability */
1211 static int hf_h245_standardOid = -1;              /* T_standardOid */
1212 static int hf_h245_h221NonStandard = -1;          /* NonStandardParameter */
1213 static int hf_h245_uuid = -1;                     /* OCTET_STRING_SIZE_16 */
1214 static int hf_h245_domainBased = -1;              /* IA5String_SIZE_1_64 */
1215 static int hf_h245_parameterIdentifier = -1;      /* ParameterIdentifier */
1216 static int hf_h245_parameterValue = -1;           /* ParameterValue */
1217 static int hf_h245_supersedes = -1;               /* SEQUENCE_OF_ParameterIdentifier */
1218 static int hf_h245_supersedes_item = -1;          /* ParameterIdentifier */
1219 static int hf_h245_standard = -1;                 /* T_standard */
1220 static int hf_h245_logical = -1;                  /* NULL */
1221 static int hf_h245_booleanArray = -1;             /* T_booleanArray */
1222 static int hf_h245_unsignedMin = -1;              /* T_unsignedMin */
1223 static int hf_h245_unsignedMax = -1;              /* T_unsignedMax */
1224 static int hf_h245_unsigned32Min = -1;            /* T_unsigned32Min */
1225 static int hf_h245_unsigned32Max = -1;            /* T_unsigned32Max */
1226 static int hf_h245_octetString = -1;              /* T_octetString */
1227 static int hf_h245_genericParameters = -1;        /* SEQUENCE_OF_GenericParameter */
1228 static int hf_h245_genericParameters_item = -1;   /* GenericParameter */
1229 static int hf_h245_multiplexFormat = -1;          /* MultiplexFormat */
1230 static int hf_h245_controlOnMuxStream = -1;       /* BOOLEAN */
1231 static int hf_h245_capabilityOnMuxStream = -1;    /* SET_SIZE_1_256_OF_AlternativeCapabilitySet */
1232 static int hf_h245_capabilityOnMuxStream_item = -1;  /* AlternativeCapabilitySet */
1233 static int hf_h245_dynamicRTPPayloadType = -1;    /* INTEGER_96_127 */
1234 static int hf_h245_audioTelephoneEvent = -1;      /* GeneralString */
1235 static int hf_h245_capabilities = -1;             /* SET_SIZE_1_256_OF_AlternativeCapabilitySet */
1236 static int hf_h245_capabilities_item = -1;        /* AlternativeCapabilitySet */
1237 static int hf_h245_fecc_rfc2733 = -1;             /* FECC_rfc2733 */
1238 static int hf_h245_redundancyEncodingBool = -1;   /* BOOLEAN */
1239 static int hf_h245_separateStreamBool = -1;       /* T_separateStreamBool */
1240 static int hf_h245_separatePort = -1;             /* BOOLEAN */
1241 static int hf_h245_samePortBool = -1;             /* BOOLEAN */
1242 static int hf_h245_protectedCapability = -1;      /* CapabilityTableEntryNumber */
1243 static int hf_h245_fecScheme = -1;                /* OBJECT_IDENTIFIER */
1244 static int hf_h245_rfc2733rfc2198 = -1;           /* MaxRedundancy */
1245 static int hf_h245_rfc2733sameport = -1;          /* MaxRedundancy */
1246 static int hf_h245_rfc2733diffport = -1;          /* MaxRedundancy */
1247 static int hf_h245_rfc2733Format = -1;            /* Rfc2733Format */
1248 static int hf_h245_olc_fw_lcn = -1;               /* OLC_fw_lcn */
1249 static int hf_h245_forwardLogicalChannelParameters = -1;  /* T_forwardLogicalChannelParameters */
1250 static int hf_h245_portNumber = -1;               /* INTEGER_0_65535 */
1251 static int hf_h245_dataType = -1;                 /* DataType */
1252 static int hf_h245_olc_forw_multiplexParameters = -1;  /* OLC_forw_multiplexParameters */
1253 static int hf_h245_h222LogicalChannelParameters = -1;  /* H222LogicalChannelParameters */
1254 static int hf_h245_olc_fw_h223_params = -1;       /* OLC_fw_h223_params */
1255 static int hf_h245_v76LogicalChannelParameters = -1;  /* V76LogicalChannelParameters */
1256 static int hf_h245_h2250LogicalChannelParameters = -1;  /* H2250LogicalChannelParameters */
1257 static int hf_h245_forwardLogicalChannelDependency = -1;  /* LogicalChannelNumber */
1258 static int hf_h245_replacementFor = -1;           /* LogicalChannelNumber */
1259 static int hf_h245_reverseLogicalChannelParameters = -1;  /* OLC_reverseLogicalChannelParameters */
1260 static int hf_h245_olc_rev_multiplexParameter = -1;  /* OLC_rev_multiplexParameters */
1261 static int hf_h245_olc_rev_h223_params = -1;      /* OLC_rev_h223_params */
1262 static int hf_h245_reverseLogicalChannelDependency = -1;  /* LogicalChannelNumber */
1263 static int hf_h245_separateStack = -1;            /* NetworkAccessParameters */
1264 static int hf_h245_encryptionSync = -1;           /* EncryptionSync */
1265 static int hf_h245_distribution = -1;             /* T_distribution */
1266 static int hf_h245_unicast = -1;                  /* NULL */
1267 static int hf_h245_multicast = -1;                /* NULL */
1268 static int hf_h245_networkAddress = -1;           /* T_networkAddress */
1269 static int hf_h245_q2931Address = -1;             /* Q2931Address */
1270 static int hf_h245_e164Address = -1;              /* T_e164Address */
1271 static int hf_h245_localAreaAddress = -1;         /* TransportAddress */
1272 static int hf_h245_associateConference = -1;      /* BOOLEAN */
1273 static int hf_h245_externalReference = -1;        /* OCTET_STRING_SIZE_1_255 */
1274 static int hf_h245_t120SetupProcedure = -1;       /* T_t120SetupProcedure */
1275 static int hf_h245_originateCall = -1;            /* NULL */
1276 static int hf_h245_waitForCall = -1;              /* NULL */
1277 static int hf_h245_issueQuery = -1;               /* NULL */
1278 static int hf_h245_address = -1;                  /* T_address */
1279 static int hf_h245_internationalNumber = -1;      /* NumericString_SIZE_1_16 */
1280 static int hf_h245_nsapAddress = -1;              /* OCTET_STRING_SIZE_1_20 */
1281 static int hf_h245_subaddress = -1;               /* OCTET_STRING_SIZE_1_20 */
1282 static int hf_h245_audioHeaderPresent = -1;       /* BOOLEAN */
1283 static int hf_h245_nullData = -1;                 /* NULL */
1284 static int hf_h245_videoData = -1;                /* VideoCapability */
1285 static int hf_h245_audioData = -1;                /* AudioCapability */
1286 static int hf_h245_data = -1;                     /* DataApplicationCapability */
1287 static int hf_h245_encryptionData = -1;           /* EncryptionMode */
1288 static int hf_h245_h235Control = -1;              /* NonStandardParameter */
1289 static int hf_h245_h235Media = -1;                /* H235Media */
1290 static int hf_h245_multiplexedStream = -1;        /* MultiplexedStreamParameter */
1291 static int hf_h245_redundancyEncoding = -1;       /* RedundancyEncoding */
1292 static int hf_h245_multiplePayloadStream = -1;    /* MultiplePayloadStream */
1293 static int hf_h245_depFec = -1;                   /* DepFECData */
1294 static int hf_h245_fec = -1;                      /* FECData */
1295 static int hf_h245_mediaType = -1;                /* T_mediaType */
1296 static int hf_h245_resourceID = -1;               /* INTEGER_0_65535 */
1297 static int hf_h245_subChannelID = -1;             /* INTEGER_0_8191 */
1298 static int hf_h245_pcr_pid = -1;                  /* INTEGER_0_8191 */
1299 static int hf_h245_programDescriptors = -1;       /* OCTET_STRING */
1300 static int hf_h245_streamDescriptors = -1;        /* OCTET_STRING */
1301 static int hf_h245_adaptationLayerType = -1;      /* T_adaptationLayerType */
1302 static int hf_h245_h223_al_type_al1Framed = -1;   /* T_h223_al_type_al1Framed */
1303 static int hf_h245_h223_al_type_al1NotFramed = -1;  /* T_h223_al_type_al1NotFramed */
1304 static int hf_h245_h223_al_type_al2WithoutSequenceNumbers = -1;  /* T_h223_al_type_al2WithoutSequenceNumbers */
1305 static int hf_h245_h223_al_type_al2WithSequenceNumbers = -1;  /* T_h223_al_type_al2WithSequenceNumbers */
1306 static int hf_h245_controlFieldOctets = -1;       /* T_controlFieldOctets */
1307 static int hf_h245_al3_sendBufferSize = -1;       /* T_al3_sendBufferSize */
1308 static int hf_h245_h223_al_type_al3 = -1;         /* T_h223_al_type_al3 */
1309 static int hf_h245_h223_al_type_al1M = -1;        /* T_h223_al_type_al1M */
1310 static int hf_h245_h223_al_type_al2M = -1;        /* T_h223_al_type_al2M */
1311 static int hf_h245_h223_al_type_al3M = -1;        /* T_h223_al_type_al3M */
1312 static int hf_h245_h223_lc_segmentableFlag = -1;  /* T_h223_lc_segmentableFlag */
1313 static int hf_h245_transferMode = -1;             /* T_transferMode */
1314 static int hf_h245_framed = -1;                   /* NULL */
1315 static int hf_h245_unframed = -1;                 /* NULL */
1316 static int hf_h245_aL1HeaderFEC = -1;             /* AL1HeaderFEC */
1317 static int hf_h245_sebch16_7 = -1;                /* NULL */
1318 static int hf_h245_golay24_12 = -1;               /* NULL */
1319 static int hf_h245_crcLength2 = -1;               /* AL1CrcLength */
1320 static int hf_h245_crc4bit = -1;                  /* NULL */
1321 static int hf_h245_crc12bit = -1;                 /* NULL */
1322 static int hf_h245_crc20bit = -1;                 /* NULL */
1323 static int hf_h245_crc28bit = -1;                 /* NULL */
1324 static int hf_h245_crc8bit = -1;                  /* NULL */
1325 static int hf_h245_crc16bit = -1;                 /* NULL */
1326 static int hf_h245_crc32bit = -1;                 /* NULL */
1327 static int hf_h245_crcNotUsed = -1;               /* NULL */
1328 static int hf_h245_rcpcCodeRate = -1;             /* INTEGER_8_32 */
1329 static int hf_h245_noArq = -1;                    /* NULL */
1330 static int hf_h245_typeIArq = -1;                 /* H223AnnexCArqParameters */
1331 static int hf_h245_typeIIArq = -1;                /* H223AnnexCArqParameters */
1332 static int hf_h245_arqType = -1;                  /* ArqType */
1333 static int hf_h245_alsduSplitting = -1;           /* BOOLEAN */
1334 static int hf_h245_rsCodeCorrection = -1;         /* INTEGER_0_127 */
1335 static int hf_h245_aL2HeaderFEC = -1;             /* AL2HeaderFEC */
1336 static int hf_h245_sebch16_5 = -1;                /* NULL */
1337 static int hf_h245_headerFormat = -1;             /* T_headerFormat */
1338 static int hf_h245_crlength2 = -1;                /* AL3CrcLength */
1339 static int hf_h245_numberOfRetransmissions = -1;  /* T_numberOfRetransmissions */
1340 static int hf_h245_finite = -1;                   /* INTEGER_0_16 */
1341 static int hf_h245_infinite = -1;                 /* NULL */
1342 static int hf_h245_sendBufferSize = -1;           /* INTEGER_0_16777215 */
1343 static int hf_h245_hdlcParameters = -1;           /* V76HDLCParameters */
1344 static int hf_h245_suspendResume = -1;            /* T_suspendResume */
1345 static int hf_h245_noSuspendResume = -1;          /* NULL */
1346 static int hf_h245_suspendResumewAddress = -1;    /* NULL */
1347 static int hf_h245_suspendResumewoAddress = -1;   /* NULL */
1348 static int hf_h245_uIH = -1;                      /* BOOLEAN */
1349 static int hf_h245_v76_mode = -1;                 /* V76LCP_mode */
1350 static int hf_h245_eRM = -1;                      /* T_eRM */
1351 static int hf_h245_windowSize = -1;               /* INTEGER_1_127 */
1352 static int hf_h245_recovery = -1;                 /* T_recovery */
1353 static int hf_h245_rej = -1;                      /* NULL */
1354 static int hf_h245_sREJ = -1;                     /* NULL */
1355 static int hf_h245_mSREJ = -1;                    /* NULL */
1356 static int hf_h245_uNERM = -1;                    /* NULL */
1357 static int hf_h245_v75Parameters = -1;            /* V75Parameters */
1358 static int hf_h245_crcLength = -1;                /* CRCLength */
1359 static int hf_h245_n401 = -1;                     /* INTEGER_1_4095 */
1360 static int hf_h245_loopbackTestProcedure = -1;    /* BOOLEAN */
1361 static int hf_h245_sessionID_0_255 = -1;          /* INTEGER_0_255 */
1362 static int hf_h245_associatedSessionID = -1;      /* INTEGER_1_255 */
1363 static int hf_h245_mediaChannel = -1;             /* T_mediaChannel */
1364 static int hf_h245_mediaGuaranteedDelivery = -1;  /* BOOLEAN */
1365 static int hf_h245_mediaControlChannel = -1;      /* T_mediaControlChannel */
1366 static int hf_h245_mediaControlGuaranteedDelivery = -1;  /* BOOLEAN */
1367 static int hf_h245_destination = -1;              /* TerminalLabel */
1368 static int hf_h245_mediaPacketization = -1;       /* T_mediaPacketization */
1369 static int hf_h245_h261aVideoPacketizationFlag = -1;  /* NULL */
1370 static int hf_h245_rtpPayloadType = -1;           /* RTPPayloadType */
1371 static int hf_h245_source = -1;                   /* TerminalLabel */
1372 static int hf_h245_payloadDescriptor = -1;        /* T_payloadDescriptor */
1373 static int hf_h245_rfc_number = -1;               /* T_rfc_number */
1374 static int hf_h245_oid = -1;                      /* OBJECT_IDENTIFIER */
1375 static int hf_h245_rtpPayloadType_01 = -1;        /* T_rtpPayloadType */
1376 static int hf_h245_secondaryEncoding = -1;        /* DataType */
1377 static int hf_h245_rtpRedundancyEncoding = -1;    /* T_rtpRedundancyEncoding */
1378 static int hf_h245_primary = -1;                  /* RedundancyEncodingElement */
1379 static int hf_h245_secondary = -1;                /* SEQUENCE_OF_RedundancyEncodingElement */
1380 static int hf_h245_secondary_item = -1;           /* RedundancyEncodingElement */
1381 static int hf_h245_payloadType = -1;              /* INTEGER_0_127 */
1382 static int hf_h245_elements = -1;                 /* SEQUENCE_OF_MultiplePayloadStreamElement */
1383 static int hf_h245_elements_item = -1;            /* MultiplePayloadStreamElement */
1384 static int hf_h245_dep_rfc2733 = -1;              /* RFC2733Data */
1385 static int hf_h245_fec_data_mode = -1;            /* FECdata_mode */
1386 static int hf_h245_redundancyEncodingFlag = -1;   /* NULL */
1387 static int hf_h245_differentPort = -1;            /* T_differentPort */
1388 static int hf_h245_protectedSessionID = -1;       /* INTEGER_1_255 */
1389 static int hf_h245_protectedPayloadType = -1;     /* INTEGER_0_127 */
1390 static int hf_h245_samePort = -1;                 /* T_samePort */
1391 static int hf_h245_separateStream = -1;           /* DepSeparateStream */
1392 static int hf_h245_rfc2733 = -1;                  /* T_rfc2733 */
1393 static int hf_h245_pktMode = -1;                  /* T_pktMode */
1394 static int hf_h245_rfc2198coding = -1;            /* NULL */
1395 static int hf_h245_mode_rfc2733sameport = -1;     /* T_mode_rfc2733sameport */
1396 static int hf_h245_mode_rfc2733diffport = -1;     /* T_mode_rfc2733diffport */
1397 static int hf_h245_protectedChannel = -1;         /* LogicalChannelNumber */
1398 static int hf_h245_unicastAddress = -1;           /* UnicastAddress */
1399 static int hf_h245_multicastAddress = -1;         /* MulticastAddress */
1400 static int hf_h245_iPAddress = -1;                /* T_iPAddress */
1401 static int hf_h245_ip4_network = -1;              /* Ipv4_network */
1402 static int hf_h245_tsapIdentifier = -1;           /* TsapIdentifier */
1403 static int hf_h245_iPXAddress = -1;               /* T_iPXAddress */
1404 static int hf_h245_node = -1;                     /* OCTET_STRING_SIZE_6 */
1405 static int hf_h245_netnum = -1;                   /* OCTET_STRING_SIZE_4 */
1406 static int hf_h245_ipx_tsapIdentifier = -1;       /* OCTET_STRING_SIZE_2 */
1407 static int hf_h245_iP6Address = -1;               /* T_iP6Address */
1408 static int hf_h245_ip6_network = -1;              /* OCTET_STRING_SIZE_16 */
1409 static int hf_h245_ipv6_tsapIdentifier = -1;      /* INTEGER_0_65535 */
1410 static int hf_h245_netBios = -1;                  /* OCTET_STRING_SIZE_16 */
1411 static int hf_h245_iPSourceRouteAddress = -1;     /* T_iPSourceRouteAddress */
1412 static int hf_h245_routing = -1;                  /* T_routing */
1413 static int hf_h245_strict = -1;                   /* NULL */
1414 static int hf_h245_loose = -1;                    /* NULL */
1415 static int hf_h245_network = -1;                  /* OCTET_STRING_SIZE_4 */
1416 static int hf_h245_iPSrcRoute_tsapIdentifier = -1;  /* INTEGER_0_65535 */
1417 static int hf_h245_route = -1;                    /* T_route */
1418 static int hf_h245_route_item = -1;               /* OCTET_STRING_SIZE_4 */
1419 static int hf_h245_nsap = -1;                     /* OCTET_STRING_SIZE_1_20 */
1420 static int hf_h245_nonStandardAddress = -1;       /* NonStandardParameter */
1421 static int hf_h245_mIPAddress = -1;               /* MIPAddress */
1422 static int hf_h245_mip4_network = -1;             /* OCTET_STRING_SIZE_4 */
1423 static int hf_h245_multicast_tsapIdentifier = -1;  /* INTEGER_0_65535 */
1424 static int hf_h245_mIP6Address = -1;              /* MIP6Address */
1425 static int hf_h245_mip6_network = -1;             /* OCTET_STRING_SIZE_16 */
1426 static int hf_h245_multicast_IPv6_tsapIdentifier = -1;  /* INTEGER_0_65535 */
1427 static int hf_h245_synchFlag = -1;                /* INTEGER_0_255 */
1428 static int hf_h245_h235Key = -1;                  /* OCTET_STRING_SIZE_1_65535 */
1429 static int hf_h245_escrowentry = -1;              /* SEQUENCE_SIZE_1_256_OF_EscrowData */
1430 static int hf_h245_escrowentry_item = -1;         /* EscrowData */
1431 static int hf_h245_genericParameter = -1;         /* GenericParameter */
1432 static int hf_h245_escrowID = -1;                 /* OBJECT_IDENTIFIER */
1433 static int hf_h245_escrowValue = -1;              /* BIT_STRING_SIZE_1_65535 */
1434 static int hf_h245_olc_ack_fw_lcn = -1;           /* OLC_ack_fw_lcn */
1435 static int hf_h245_olc_ack_reverseLogicalChannelParameters = -1;  /* OLC_ack_reverseLogicalChannelParameters */
1436 static int hf_h245_reverseLogicalChannelNumber = -1;  /* T_reverseLogicalChannelNumber */
1437 static int hf_h245_olc_ack_multiplexParameters = -1;  /* T_olc_ack_multiplexParameters */
1438 static int hf_h245_forwardMultiplexAckParameters = -1;  /* T_forwardMultiplexAckParameters */
1439 static int hf_h245_h2250LogicalChannelAckParameters = -1;  /* H2250LogicalChannelAckParameters */
1440 static int hf_h245_forwardLogicalChannelNumber = -1;  /* LogicalChannelNumber */
1441 static int hf_h245_olc_rej_cause = -1;            /* OpenLogicalChannelRejectCause */
1442 static int hf_h245_unsuitableReverseParameters = -1;  /* NULL */
1443 static int hf_h245_dataTypeNotSupported = -1;     /* NULL */
1444 static int hf_h245_dataTypeNotAvailable = -1;     /* NULL */
1445 static int hf_h245_unknownDataType = -1;          /* NULL */
1446 static int hf_h245_dataTypeALCombinationNotSupported = -1;  /* NULL */
1447 static int hf_h245_multicastChannelNotAllowed = -1;  /* NULL */
1448 static int hf_h245_insufficientBandwidth = -1;    /* NULL */
1449 static int hf_h245_separateStackEstablishmentFailed = -1;  /* NULL */
1450 static int hf_h245_invalidSessionID = -1;         /* NULL */
1451 static int hf_h245_masterSlaveConflict = -1;      /* NULL */
1452 static int hf_h245_waitForCommunicationMode = -1;  /* NULL */
1453 static int hf_h245_invalidDependentChannel = -1;  /* NULL */
1454 static int hf_h245_replacementForRejected = -1;   /* NULL */
1455 static int hf_h245_securityDenied = -1;           /* NULL */
1456 static int hf_h245_qoSControlNotSupported = -1;   /* NULL */
1457 static int hf_h245_sessionID = -1;                /* INTEGER_1_255 */
1458 static int hf_h245_ack_mediaChannel = -1;         /* Ack_mediaChannel */
1459 static int hf_h245_ack_mediaControlChannel = -1;  /* Ack_mediaControlChannel */
1460 static int hf_h245_flowControlToZero = -1;        /* BOOLEAN */
1461 static int hf_h245_cLC_source = -1;               /* T_cLC_source */
1462 static int hf_h245_user = -1;                     /* NULL */
1463 static int hf_h245_lcse = -1;                     /* NULL */
1464 static int hf_h245_clc_reason = -1;               /* Clc_reason */
1465 static int hf_h245_unknown = -1;                  /* NULL */
1466 static int hf_h245_reopen = -1;                   /* NULL */
1467 static int hf_h245_reservationFailure = -1;       /* NULL */
1468 static int hf_h245_networkErrorCode = -1;         /* INTEGER_0_255 */
1469 static int hf_h245_qosCapability = -1;            /* QOSCapability */
1470 static int hf_h245_reason = -1;                   /* T_reason */
1471 static int hf_h245_normal = -1;                   /* NULL */
1472 static int hf_h245_req_chan_clos_rej_cause = -1;  /* RequestChannelCloseRejectCause */
1473 static int hf_h245_multiplexEntryDescriptors = -1;  /* SET_SIZE_1_15_OF_MultiplexEntryDescriptor */
1474 static int hf_h245_multiplexEntryDescriptors_item = -1;  /* MultiplexEntryDescriptor */
1475 static int hf_h245_multiplexTableEntryNumber = -1;  /* MultiplexTableEntryNumber */
1476 static int hf_h245_elementList = -1;              /* T_elementList */
1477 static int hf_h245_elementList_item = -1;         /* MultiplexElement */
1478 static int hf_h245_me_type = -1;                  /* Me_type */
1479 static int hf_h245_logicalChannelNum = -1;        /* T_logicalChannelNum */
1480 static int hf_h245_subElementList = -1;           /* T_subElementList */
1481 static int hf_h245_subElementList_item = -1;      /* MultiplexElement */
1482 static int hf_h245_me_repeatCount = -1;           /* ME_repeatCount */
1483 static int hf_h245_me_repeatCount_finite = -1;    /* ME_finiteRepeatCount */
1484 static int hf_h245_untilClosingFlag = -1;         /* T_untilClosingFlag */
1485 static int hf_h245_multiplexTableEntryNumbers = -1;  /* SET_SIZE_1_15_OF_MultiplexTableEntryNumber */
1486 static int hf_h245_multiplexTableEntryNumbers_item = -1;  /* MultiplexTableEntryNumber */
1487 static int hf_h245_sendRejectionDescriptions = -1;  /* SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions */
1488 static int hf_h245_sendRejectionDescriptions_item = -1;  /* MultiplexEntryRejectionDescriptions */
1489 static int hf_h245_mux_rej_cause = -1;            /* MultiplexEntryRejectionDescriptionsCause */
1490 static int hf_h245_unspecifiedCause = -1;         /* NULL */
1491 static int hf_h245_descriptorTooComplex = -1;     /* NULL */
1492 static int hf_h245_entryNumbers = -1;             /* SET_SIZE_1_15_OF_MultiplexTableEntryNumber */
1493 static int hf_h245_entryNumbers_item = -1;        /* MultiplexTableEntryNumber */
1494 static int hf_h245_rejectionDescriptions = -1;    /* SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions */
1495 static int hf_h245_rejectionDescriptions_item = -1;  /* RequestMultiplexEntryRejectionDescriptions */
1496 static int hf_h245_req_mux_rej_cause = -1;        /* RequestMultiplexEntryRejectionDescriptionsCause */
1497 static int hf_h245_requestedModes = -1;           /* SEQUENCE_SIZE_1_256_OF_ModeDescription */
1498 static int hf_h245_requestedModes_item = -1;      /* ModeDescription */
1499 static int hf_h245_req_mode_ack_response = -1;    /* Req_mode_ack_response */
1500 static int hf_h245_willTransmitMostPreferredMode = -1;  /* NULL */
1501 static int hf_h245_willTransmitLessPreferredMode = -1;  /* NULL */
1502 static int hf_h245_req_rej_cause = -1;            /* RequestModeRejectCause */
1503 static int hf_h245_modeUnavailable = -1;          /* NULL */
1504 static int hf_h245_multipointConstraint = -1;     /* NULL */
1505 static int hf_h245_requestDenied = -1;            /* NULL */
1506 static int hf_h245_ModeDescription_item = -1;     /* ModeElement */
1507 static int hf_h245_videoMode = -1;                /* VideoMode */
1508 static int hf_h245_audioMode = -1;                /* AudioMode */
1509 static int hf_h245_dataMode = -1;                 /* DataMode */
1510 static int hf_h245_encryptionMode = -1;           /* EncryptionMode */
1511 static int hf_h245_h235Mode = -1;                 /* H235Mode */
1512 static int hf_h245_multiplexedStreamMode = -1;    /* MultiplexedStreamParameter */
1513 static int hf_h245_redundancyEncodingDTMode = -1;  /* RedundancyEncodingDTMode */
1514 static int hf_h245_multiplePayloadStreamMode = -1;  /* MultiplePayloadStreamMode */
1515 static int hf_h245_depFecMode = -1;               /* DepFECMode */
1516 static int hf_h245_fecMode = -1;                  /* FECMode */
1517 static int hf_h245_type = -1;                     /* ModeElementType */
1518 static int hf_h245_h223ModeParameters = -1;       /* H223ModeParameters */
1519 static int hf_h245_v76ModeParameters = -1;        /* V76ModeParameters */
1520 static int hf_h245_h2250ModeParameters = -1;      /* H2250ModeParameters */
1521 static int hf_h245_genericModeParameters = -1;    /* GenericCapability */
1522 static int hf_h245_multiplexedStreamModeParameters = -1;  /* MultiplexedStreamModeParameters */
1523 static int hf_h245_logicalChannelNumber = -1;     /* LogicalChannelNumber */
1524 static int hf_h245_mediaMode = -1;                /* T_mediaMode */
1525 static int hf_h245_prmary_dtmode = -1;            /* RedundancyEncodingDTModeElement */
1526 static int hf_h245_secondaryDTM = -1;             /* SEQUENCE_OF_RedundancyEncodingDTModeElement */
1527 static int hf_h245_secondaryDTM_item = -1;        /* RedundancyEncodingDTModeElement */
1528 static int hf_h245_re_type = -1;                  /* Re_type */
1529 static int hf_h245_mpsmElements = -1;             /* SEQUENCE_OF_MultiplePayloadStreamElementMode */
1530 static int hf_h245_mpsmElements_item = -1;        /* MultiplePayloadStreamElementMode */
1531 static int hf_h245_rfc2733Mode = -1;              /* T_rfc2733Mode */
1532 static int hf_h245_fec_mode = -1;                 /* FEC_mode */
1533 static int hf_h245_protectedElement = -1;         /* ModeElementType */
1534 static int hf_h245_adaptationLayer = -1;          /* AdaptationLayerType */
1535 static int hf_h245_al1Framed = -1;                /* NULL */
1536 static int hf_h245_al1NotFramed = -1;             /* NULL */
1537 static int hf_h245_al2WithoutSequenceNumbers = -1;  /* NULL */
1538 static int hf_h245_al2WithSequenceNumbers = -1;   /* NULL */
1539 static int hf_h245_al3 = -1;                      /* Al3 */
1540 static int hf_h245_al1M = -1;                     /* H223AL1MParameters */
1541 static int hf_h245_al2M = -1;                     /* H223AL2MParameters */
1542 static int hf_h245_al3M = -1;                     /* H223AL3MParameters */
1543 static int hf_h245_segmentableFlag = -1;          /* BOOLEAN */
1544 static int hf_h245_redundancyEncodingMode = -1;   /* RedundancyEncodingMode */
1545 static int hf_h245_secondaryEncodingMode = -1;    /* T_secondaryEncodingMode */
1546 static int hf_h245_h261VideoMode = -1;            /* H261VideoMode */
1547 static int hf_h245_h262VideoMode = -1;            /* H262VideoMode */
1548 static int hf_h245_h263VideoMode = -1;            /* H263VideoMode */
1549 static int hf_h245_is11172VideoMode = -1;         /* IS11172VideoMode */
1550 static int hf_h245_genericVideoMode = -1;         /* GenericCapability */
1551 static int hf_h245_h261_resolution = -1;          /* H261Resolution */
1552 static int hf_h245_qcif = -1;                     /* NULL */
1553 static int hf_h245_cif = -1;                      /* NULL */
1554 static int hf_h245_profileAndLevel = -1;          /* T_profileAndLevel */
1555 static int hf_h245_profileAndLevel_SPatMLMode = -1;  /* NULL */
1556 static int hf_h245_profileAndLevel_MPatLLMode = -1;  /* NULL */
1557 static int hf_h245_profileAndLevel_MPatMLMode = -1;  /* NULL */
1558 static int hf_h245_profileAndLevel_MPatH_14Mode = -1;  /* NULL */
1559 static int hf_h245_profileAndLevel_MPatHLMode = -1;  /* NULL */
1560 static int hf_h245_profileAndLevel_SNRatLLMode = -1;  /* NULL */
1561 static int hf_h245_profileAndLevel_SNRatMLMode = -1;  /* NULL */
1562 static int hf_h245_profileAndLevel_SpatialatH_14Mode = -1;  /* NULL */
1563 static int hf_h245_profileAndLevel_HPatMLMode = -1;  /* NULL */
1564 static int hf_h245_profileAndLevel_HPatH_14Mode = -1;  /* NULL */
1565 static int hf_h245_profileAndLevel_HPatHLMode = -1;  /* NULL */
1566 static int hf_h245_h263_resolution = -1;          /* H263Resolution */
1567 static int hf_h245_sqcif = -1;                    /* NULL */
1568 static int hf_h245_cif4 = -1;                     /* NULL */
1569 static int hf_h245_cif16 = -1;                    /* NULL */
1570 static int hf_h245_custom_res = -1;               /* NULL */
1571 static int hf_h245_g711Alaw64k_mode = -1;         /* NULL */
1572 static int hf_h245_g711Alaw56k_mode = -1;         /* NULL */
1573 static int hf_h245_g711Ulaw64k_mode = -1;         /* NULL */
1574 static int hf_h245_g711Ulaw56k_mode = -1;         /* NULL */
1575 static int hf_h245_g722_64k_mode = -1;            /* NULL */
1576 static int hf_h245_g722_56k_mode = -1;            /* NULL */
1577 static int hf_h245_g722_48k_mode = -1;            /* NULL */
1578 static int hf_h245_g728_mode = -1;                /* NULL */
1579 static int hf_h245_g729_mode = -1;                /* NULL */
1580 static int hf_h245_g729AnnexA_mode = -1;          /* NULL */
1581 static int hf_h245_g7231_mode = -1;               /* Mode_g7231 */
1582 static int hf_h245_noSilenceSuppressionLowRate = -1;  /* NULL */
1583 static int hf_h245_noSilenceSuppressionHighRate = -1;  /* NULL */
1584 static int hf_h245_silenceSuppressionLowRate = -1;  /* NULL */
1585 static int hf_h245_silenceSuppressionHighRate = -1;  /* NULL */
1586 static int hf_h245_is11172AudioMode = -1;         /* IS11172AudioMode */
1587 static int hf_h245_is13818AudioMode = -1;         /* IS13818AudioMode */
1588 static int hf_h245_g7231AnnexCMode = -1;          /* G7231AnnexCMode */
1589 static int hf_h245_genericAudioMode = -1;         /* GenericCapability */
1590 static int hf_h245_vbd_mode = -1;                 /* VBDMode */
1591 static int hf_h245_audioLayer = -1;               /* T_audioLayer */
1592 static int hf_h245_audioLayer1Mode = -1;          /* NULL */
1593 static int hf_h245_audioLayer2Mode = -1;          /* NULL */
1594 static int hf_h245_audioLayer3Mode = -1;          /* NULL */
1595 static int hf_h245_audioSampling = -1;            /* T_audioSampling */
1596 static int hf_h245_audioSampling32kMode = -1;     /* NULL */
1597 static int hf_h245_audioSampling44k1Mode = -1;    /* NULL */
1598 static int hf_h245_audioSampling48kMode = -1;     /* NULL */
1599 static int hf_h245_is11172multichannelType = -1;  /* IS11172_multichannelType */
1600 static int hf_h245_singleChannelMode = -1;        /* NULL */
1601 static int hf_h245_twoChannelStereo = -1;         /* NULL */
1602 static int hf_h245_twoChannelDual = -1;           /* NULL */
1603 static int hf_h245_audioLayerMode = -1;           /* IS13818AudioLayer */
1604 static int hf_h245_audioSamplingMode = -1;        /* IS13818AudioSampling */
1605 static int hf_h245_audioSampling16kMode = -1;     /* NULL */
1606 static int hf_h245_audioSampling22k05Mode = -1;   /* NULL */
1607 static int hf_h245_audioSampling24kMode = -1;     /* NULL */
1608 static int hf_h245_is13818MultichannelType = -1;  /* IS13818MultichannelType */
1609 static int hf_h245_threeChannels2_1Mode = -1;     /* NULL */
1610 static int hf_h245_threeChannels3_0Mode = -1;     /* NULL */
1611 static int hf_h245_fourChannels2_0_2_0Mode = -1;  /* NULL */
1612 static int hf_h245_fourChannels2_2Mode = -1;      /* NULL */
1613 static int hf_h245_fourChannels3_1Mode = -1;      /* NULL */
1614 static int hf_h245_fiveChannels3_0_2_0Mode = -1;  /* NULL */
1615 static int hf_h245_fiveChannels3_2Mode = -1;      /* NULL */
1616 static int hf_h245_vbd_type = -1;                 /* AudioMode */
1617 static int hf_h245_datamodeapplication = -1;      /* DataModeApplication */
1618 static int hf_h245_t84DataProtocolCapability = -1;  /* DataProtocolCapability */
1619 static int hf_h245_t38faxDataProtocolCapability = -1;  /* T38faxApp */
1620 static int hf_h245_genericDataMode = -1;          /* GenericCapability */
1621 static int hf_h245_bitRate_0_4294967295 = -1;     /* INTEGER_0_4294967295 */
1622 static int hf_h245_h233Encryption = -1;           /* NULL */
1623 static int hf_h245_mlr_type = -1;                 /* Mlr_type */
1624 static int hf_h245_systemLoop = -1;               /* NULL */
1625 static int hf_h245_mediaLoop = -1;                /* LogicalChannelNumber */
1626 static int hf_h245_logicalChannelLoop = -1;       /* LogicalChannelNumber */
1627 static int hf_h245_mla_type = -1;                 /* Mla_type */
1628 static int hf_h245_mlrej_type = -1;               /* Mlrej_type */
1629 static int hf_h245_maintloop_rej_cause = -1;      /* MaintenanceLoopRejectCause */
1630 static int hf_h245_canNotPerformLoop = -1;        /* NULL */
1631 static int hf_h245_communicationModeTable = -1;   /* SET_SIZE_1_256_OF_CommunicationModeTableEntry */
1632 static int hf_h245_communicationModeTable_item = -1;  /* CommunicationModeTableEntry */
1633 static int hf_h245_terminalLabel = -1;            /* TerminalLabel */
1634 static int hf_h245_sessionDescription = -1;       /* BMPString_SIZE_1_128 */
1635 static int hf_h245_entryDataType = -1;            /* T_entryDataType */
1636 static int hf_h245_cm_mediaChannel = -1;          /* Cm_mediaChannel */
1637 static int hf_h245_cm_mediaControlChannel = -1;   /* TransportAddress */
1638 static int hf_h245_sessionDependency = -1;        /* INTEGER_1_255 */
1639 static int hf_h245_terminalListRequest = -1;      /* NULL */
1640 static int hf_h245_makeMeChair = -1;              /* NULL */
1641 static int hf_h245_cancelMakeMeChair = -1;        /* NULL */
1642 static int hf_h245_dropTerminal = -1;             /* TerminalLabel */
1643 static int hf_h245_requestTerminalID = -1;        /* TerminalLabel */
1644 static int hf_h245_enterH243Password = -1;        /* NULL */
1645 static int hf_h245_enterH243TerminalID = -1;      /* NULL */
1646 static int hf_h245_enterH243ConferenceID = -1;    /* NULL */
1647 static int hf_h245_enterExtensionAddress = -1;    /* NULL */
1648 static int hf_h245_requestChairTokenOwner = -1;   /* NULL */
1649 static int hf_h245_requestTerminalCertificate = -1;  /* T_requestTerminalCertificate */
1650 static int hf_h245_certSelectionCriteria = -1;    /* CertSelectionCriteria */
1651 static int hf_h245_sRandom = -1;                  /* INTEGER_1_4294967295 */
1652 static int hf_h245_broadcastMyLogicalChannel = -1;  /* LogicalChannelNumber */
1653 static int hf_h245_makeTerminalBroadcaster = -1;  /* TerminalLabel */
1654 static int hf_h245_sendThisSource = -1;           /* TerminalLabel */
1655 static int hf_h245_requestAllTerminalIDs = -1;    /* NULL */
1656 static int hf_h245_remoteMCRequest = -1;          /* RemoteMCRequest */
1657 static int hf_h245_CertSelectionCriteria_item = -1;  /* Criteria */
1658 static int hf_h245_field = -1;                    /* OBJECT_IDENTIFIER */
1659 static int hf_h245_criteriaValue = -1;            /* OCTET_STRING_SIZE_1_65535 */
1660 static int hf_h245_mcuNumber = -1;                /* McuNumber */
1661 static int hf_h245_terminalNumber = -1;           /* TerminalNumber */
1662 static int hf_h245_mCTerminalIDResponse = -1;     /* T_mCTerminalIDResponse */
1663 static int hf_h245_terminalID = -1;               /* TerminalID */
1664 static int hf_h245_terminalIDResponse = -1;       /* T_terminalIDResponse */
1665 static int hf_h245_conferenceIDResponse = -1;     /* T_conferenceIDResponse */
1666 static int hf_h245_conferenceID = -1;             /* ConferenceID */
1667 static int hf_h245_passwordResponse = -1;         /* T_passwordResponse */
1668 static int hf_h245_password = -1;                 /* Password */
1669 static int hf_h245_terminalListResponse = -1;     /* SET_SIZE_1_256_OF_TerminalLabel */
1670 static int hf_h245_terminalListResponse_item = -1;  /* TerminalLabel */
1671 static int hf_h245_videoCommandReject = -1;       /* NULL */
1672 static int hf_h245_terminalDropReject = -1;       /* NULL */
1673 static int hf_h245_makeMeChairResponse = -1;      /* T_makeMeChairResponse */
1674 static int hf_h245_grantedChairToken = -1;        /* NULL */
1675 static int hf_h245_deniedChairToken = -1;         /* NULL */
1676 static int hf_h245_extensionAddressResponse = -1;  /* T_extensionAddressResponse */
1677 static int hf_h245_extensionAddress = -1;         /* TerminalID */
1678 static int hf_h245_chairTokenOwnerResponse = -1;  /* T_chairTokenOwnerResponse */
1679 static int hf_h245_terminalCertificateResponse = -1;  /* T_terminalCertificateResponse */
1680 static int hf_h245_certificateResponse = -1;      /* OCTET_STRING_SIZE_1_65535 */
1681 static int hf_h245_broadcastMyLogicalChannelResponse = -1;  /* T_broadcastMyLogicalChannelResponse */
1682 static int hf_h245_grantedBroadcastMyLogicalChannel = -1;  /* NULL */
1683 static int hf_h245_deniedBroadcastMyLogicalChannel = -1;  /* NULL */
1684 static int hf_h245_makeTerminalBroadcasterResponse = -1;  /* T_makeTerminalBroadcasterResponse */
1685 static int hf_h245_grantedMakeTerminalBroadcaster = -1;  /* NULL */
1686 static int hf_h245_deniedMakeTerminalBroadcaster = -1;  /* NULL */
1687 static int hf_h245_sendThisSourceResponse = -1;   /* T_sendThisSourceResponse */
1688 static int hf_h245_grantedSendThisSource = -1;    /* NULL */
1689 static int hf_h245_deniedSendThisSource = -1;     /* NULL */
1690 static int hf_h245_requestAllTerminalIDsResponse = -1;  /* RequestAllTerminalIDsResponse */
1691 static int hf_h245_remoteMCResponse = -1;         /* RemoteMCResponse */
1692 static int hf_h245_terminalInformation = -1;      /* SEQUENCE_OF_TerminalInformation */
1693 static int hf_h245_terminalInformation_item = -1;  /* TerminalInformation */
1694 static int hf_h245_masterActivate = -1;           /* NULL */
1695 static int hf_h245_slaveActivate = -1;            /* NULL */
1696 static int hf_h245_deActivate = -1;               /* NULL */
1697 static int hf_h245_accept = -1;                   /* NULL */
1698 static int hf_h245_reject = -1;                   /* T_reject */
1699 static int hf_h245_functionNotSupportedFlag = -1;  /* NULL */
1700 static int hf_h245_callInformationReq = -1;       /* CallInformationReq */
1701 static int hf_h245_maxNumberOfAdditionalConnections = -1;  /* INTEGER_1_65535 */
1702 static int hf_h245_addConnectionReq = -1;         /* AddConnectionReq */
1703 static int hf_h245_dialingInformation = -1;       /* DialingInformation */
1704 static int hf_h245_removeConnectionReq = -1;      /* RemoveConnectionReq */
1705 static int hf_h245_connectionIdentifier = -1;     /* ConnectionIdentifier */
1706 static int hf_h245_maximumHeaderIntervalReq = -1;  /* MaximumHeaderIntervalReq */
1707 static int hf_h245_requestType = -1;              /* T_requestType */
1708 static int hf_h245_currentIntervalInformation = -1;  /* NULL */
1709 static int hf_h245_requestedInterval = -1;        /* INTEGER_0_65535 */
1710 static int hf_h245_callInformationResp = -1;      /* CallInformationResp */
1711 static int hf_h245_callAssociationNumber = -1;    /* INTEGER_0_4294967295 */
1712 static int hf_h245_addConnectionResp = -1;        /* AddConnectionResp */
1713 static int hf_h245_responseCode = -1;             /* T_responseCode */
1714 static int hf_h245_accepted = -1;                 /* NULL */
1715 static int hf_h245_rejected = -1;                 /* T_rejected */
1716 static int hf_h245_connectionsNotAvailable = -1;  /* NULL */
1717 static int hf_h245_userRejected = -1;             /* NULL */
1718 static int hf_h245_removeConnectionResp = -1;     /* RemoveConnectionResp */
1719 static int hf_h245_maximumHeaderIntervalResp = -1;  /* MaximumHeaderIntervalResp */
1720 static int hf_h245_currentInterval = -1;          /* INTEGER_0_65535 */
1721 static int hf_h245_crcDesired = -1;               /* T_crcDesired */
1722 static int hf_h245_excessiveError = -1;           /* T_excessiveError */
1723 static int hf_h245_differential = -1;             /* SET_SIZE_1_65535_OF_DialingInformationNumber */
1724 static int hf_h245_differential_item = -1;        /* DialingInformationNumber */
1725 static int hf_h245_infoNotAvailable = -1;         /* INTEGER_1_65535 */
1726 static int hf_h245_networkAddressNum = -1;        /* NumericString_SIZE_0_40 */
1727 static int hf_h245_subAddress = -1;               /* IA5String_SIZE_1_40 */
1728 static int hf_h245_networkType = -1;              /* SET_SIZE_1_255_OF_DialingInformationNetworkType */
1729 static int hf_h245_networkType_item = -1;         /* DialingInformationNetworkType */
1730 static int hf_h245_n_isdn = -1;                   /* NULL */
1731 static int hf_h245_gstn = -1;                     /* NULL */
1732 static int hf_h245_mobile = -1;                   /* NULL */
1733 static int hf_h245_channelTag = -1;               /* INTEGER_0_4294967295 */
1734 static int hf_h245_sequenceNum = -1;              /* INTEGER_0_4294967295 */
1735 static int hf_h245_maximumBitRate = -1;           /* MaximumBitRate */
1736 static int hf_h245_rejectReason = -1;             /* LogicalChannelRateRejectReason */
1737 static int hf_h245_currentMaximumBitRate = -1;    /* MaximumBitRate */
1738 static int hf_h245_undefinedReason = -1;          /* NULL */
1739 static int hf_h245_insufficientResources = -1;    /* NULL */
1740 static int hf_h245_specificRequest = -1;          /* T_specificRequest */
1741 static int hf_h245_multiplexCapabilityBool = -1;  /* BOOLEAN */
1742 static int hf_h245_capabilityTableEntryNumbers = -1;  /* SET_SIZE_1_65535_OF_CapabilityTableEntryNumber */
1743 static int hf_h245_capabilityTableEntryNumbers_item = -1;  /* CapabilityTableEntryNumber */
1744 static int hf_h245_capabilityDescriptorNumbers = -1;  /* SET_SIZE_1_256_OF_CapabilityDescriptorNumber */
1745 static int hf_h245_capabilityDescriptorNumbers_item = -1;  /* CapabilityDescriptorNumber */
1746 static int hf_h245_genericRequestFlag = -1;       /* NULL */
1747 static int hf_h245_encryptionSE = -1;             /* OCTET_STRING */
1748 static int hf_h245_encryptionIVRequest = -1;      /* NULL */
1749 static int hf_h245_encryptionAlgorithmID = -1;    /* T_encryptionAlgorithmID */
1750 static int hf_h245_h233AlgorithmIdentifier = -1;  /* SequenceNumber */
1751 static int hf_h245_associatedAlgorithm = -1;      /* NonStandardParameter */
1752 static int hf_h245_wholeMultiplex = -1;           /* NULL */
1753 static int hf_h245_scope = -1;                    /* Scope */
1754 static int hf_h245_res_maximumBitRate = -1;       /* INTEGER_0_16777215 */
1755 static int hf_h245_noRestriction = -1;            /* NULL */
1756 static int hf_h245_restriction = -1;              /* Restriction */
1757 static int hf_h245_disconnect = -1;               /* NULL */
1758 static int hf_h245_gstnOptions = -1;              /* T_gstnOptions */
1759 static int hf_h245_telephonyMode = -1;            /* NULL */
1760 static int hf_h245_v8bis = -1;                    /* NULL */
1761 static int hf_h245_v34DSVD = -1;                  /* NULL */
1762 static int hf_h245_v34DuplexFAX = -1;             /* NULL */
1763 static int hf_h245_v34H324 = -1;                  /* NULL */
1764 static int hf_h245_isdnOptions = -1;              /* T_isdnOptions */
1765 static int hf_h245_v140 = -1;                     /* NULL */
1766 static int hf_h245_terminalOnHold = -1;           /* NULL */
1767 static int hf_h245_cancelBroadcastMyLogicalChannel = -1;  /* LogicalChannelNumber */
1768 static int hf_h245_cancelMakeTerminalBroadcaster = -1;  /* NULL */
1769 static int hf_h245_cancelSendThisSource = -1;     /* NULL */
1770 static int hf_h245_dropConference = -1;           /* NULL */
1771 static int hf_h245_substituteConferenceIDCommand = -1;  /* SubstituteConferenceIDCommand */
1772 static int hf_h245_conferenceIdentifier = -1;     /* OCTET_STRING_SIZE_16 */
1773 static int hf_h245_masterToSlave = -1;            /* NULL */
1774 static int hf_h245_slaveToMaster = -1;            /* NULL */
1775 static int hf_h245_mc_type = -1;                  /* Mc_type */
1776 static int hf_h245_equaliseDelay = -1;            /* NULL */
1777 static int hf_h245_zeroDelay = -1;                /* NULL */
1778 static int hf_h245_multipointModeCommand = -1;    /* NULL */
1779 static int hf_h245_cancelMultipointModeCommand = -1;  /* NULL */
1780 static int hf_h245_videoFreezePicture = -1;       /* NULL */
1781 static int hf_h245_videoFastUpdatePicture = -1;   /* NULL */
1782 static int hf_h245_videoFastUpdateGOB = -1;       /* T_videoFastUpdateGOB */
1783 static int hf_h245_firstGOB = -1;                 /* INTEGER_0_17 */
1784 static int hf_h245_numberOfGOBs = -1;             /* INTEGER_1_18 */
1785 static int hf_h245_videoTemporalSpatialTradeOff = -1;  /* INTEGER_0_31 */
1786 static int hf_h245_videoSendSyncEveryGOB = -1;    /* NULL */
1787 static int hf_h245_videoSendSyncEveryGOBCancel = -1;  /* NULL */
1788 static int hf_h245_videoFastUpdateMB = -1;        /* T_videoFastUpdateMB */
1789 static int hf_h245_firstGOB_0_255 = -1;           /* INTEGER_0_255 */
1790 static int hf_h245_firstMB_1_8192 = -1;           /* INTEGER_1_8192 */
1791 static int hf_h245_numberOfMBs = -1;              /* INTEGER_1_8192 */
1792 static int hf_h245_maxH223MUXPDUsize = -1;        /* INTEGER_1_65535 */
1793 static int hf_h245_encryptionUpdate = -1;         /* EncryptionSync */
1794 static int hf_h245_encryptionUpdateRequest = -1;  /* EncryptionUpdateRequest */
1795 static int hf_h245_switchReceiveMediaOff = -1;    /* NULL */
1796 static int hf_h245_switchReceiveMediaOn = -1;     /* NULL */
1797 static int hf_h245_progressiveRefinementStart = -1;  /* T_progressiveRefinementStart */
1798 static int hf_h245_repeatCount = -1;              /* T_repeatCount */
1799 static int hf_h245_doOneProgression = -1;         /* NULL */
1800 static int hf_h245_doContinuousProgressions = -1;  /* NULL */
1801 static int hf_h245_doOneIndependentProgression = -1;  /* NULL */
1802 static int hf_h245_doContinuousIndependentProgressions = -1;  /* NULL */
1803 static int hf_h245_progressiveRefinementAbortOne = -1;  /* NULL */
1804 static int hf_h245_progressiveRefinementAbortContinuous = -1;  /* NULL */
1805 static int hf_h245_videoBadMBs = -1;              /* T_videoBadMBs */
1806 static int hf_h245_firstMB = -1;                  /* INTEGER_1_9216 */
1807 static int hf_h245_numberOfMBs1_1_9216 = -1;      /* INTEGER_1_9216 */
1808 static int hf_h245_temporalReference = -1;        /* INTEGER_0_1023 */
1809 static int hf_h245_lostPicture = -1;              /* SEQUENCE_OF_PictureReference */
1810 static int hf_h245_lostPicture_item = -1;         /* PictureReference */
1811 static int hf_h245_lostPartialPicture = -1;       /* T_lostPartialPicture */
1812 static int hf_h245_pictureReference = -1;         /* PictureReference */
1813 static int hf_h245_recoveryReferencePicture = -1;  /* SEQUENCE_OF_PictureReference */
1814 static int hf_h245_recoveryReferencePicture_item = -1;  /* PictureReference */
1815 static int hf_h245_encryptionUpdateCommand = -1;  /* T_encryptionUpdateCommand */
1816 static int hf_h245_encryptionUpdateAck = -1;      /* T_encryptionUpdateAck */
1817 static int hf_h245_direction = -1;                /* EncryptionUpdateDirection */
1818 static int hf_h245_secureChannel = -1;            /* BOOLEAN */
1819 static int hf_h245_sharedSecret = -1;             /* BOOLEAN */
1820 static int hf_h245_certProtectedKey = -1;         /* BOOLEAN */
1821 static int hf_h245_keyProtectionMethod = -1;      /* KeyProtectionMethod */
1822 static int hf_h245_pictureNumber = -1;            /* INTEGER_0_1023 */
1823 static int hf_h245_longTermPictureIndex = -1;     /* INTEGER_0_255 */
1824 static int hf_h245_h223ModeChange = -1;           /* T_h223ModeChange */
1825 static int hf_h245_toLevel0 = -1;                 /* NULL */
1826 static int hf_h245_toLevel1 = -1;                 /* NULL */
1827 static int hf_h245_toLevel2 = -1;                 /* NULL */
1828 static int hf_h245_toLevel2withOptionalHeader = -1;  /* NULL */
1829 static int hf_h245_h223AnnexADoubleFlag = -1;     /* T_h223AnnexADoubleFlag */
1830 static int hf_h245_start = -1;                    /* NULL */
1831 static int hf_h245_stop = -1;                     /* NULL */
1832 static int hf_h245_bitRate = -1;                  /* INTEGER_1_65535 */
1833 static int hf_h245_bitRateLockedToPCRClock = -1;  /* BOOLEAN */
1834 static int hf_h245_bitRateLockedToNetworkClock = -1;  /* BOOLEAN */
1835 static int hf_h245_cmd_aal = -1;                  /* Cmd_aal */
1836 static int hf_h245_cmd_aal1 = -1;                 /* Cmd_aal1 */
1837 static int hf_h245_cmd_clockRecovery = -1;        /* Cmd_clockRecovery */
1838 static int hf_h245_nullClockRecoveryflag = -1;    /* NULL */
1839 static int hf_h245_srtsClockRecovery = -1;        /* NULL */
1840 static int hf_h245_adaptiveClockRecoveryFlag = -1;  /* NULL */
1841 static int hf_h245_cmd_errorCorrection = -1;      /* Cmd_errorCorrection */
1842 static int hf_h245_nullErrorCorrectionFlag = -1;  /* NULL */
1843 static int hf_h245_longInterleaverFlag = -1;      /* NULL */
1844 static int hf_h245_shortInterleaverFlag = -1;     /* NULL */
1845 static int hf_h245_errorCorrectionOnlyFlag = -1;  /* NULL */
1846 static int hf_h245_cmd_aal5 = -1;                 /* Cmd_aal5 */
1847 static int hf_h245_cmd_multiplex = -1;            /* Cmd_multiplex */
1848 static int hf_h245_noMultiplex = -1;              /* NULL */
1849 static int hf_h245_transportStream = -1;          /* NULL */
1850 static int hf_h245_programStreamFlag = -1;        /* NULL */
1851 static int hf_h245_cmd_reverseParameters = -1;    /* Cmd_reverseParameters */
1852 static int hf_h245_cmdr_multiplex = -1;           /* CmdR_multiplex */
1853 static int hf_h245_sampleSize = -1;               /* INTEGER_1_255 */
1854 static int hf_h245_samplesPerFrame = -1;          /* INTEGER_1_255 */
1855 static int hf_h245_status = -1;                   /* T_status */
1856 static int hf_h245_synchronized = -1;             /* NULL */
1857 static int hf_h245_reconfiguration = -1;          /* NULL */
1858 static int hf_h245_fns_cause = -1;                /* FunctionNotSupportedCause */
1859 static int hf_h245_syntaxError = -1;              /* NULL */
1860 static int hf_h245_semanticError = -1;            /* NULL */
1861 static int hf_h245_unknownFunction = -1;          /* NULL */
1862 static int hf_h245_returnedFunction = -1;         /* T_returnedFunction */
1863 static int hf_h245_sbeNumber = -1;                /* INTEGER_0_9 */
1864 static int hf_h245_terminalNumberAssign = -1;     /* TerminalLabel */
1865 static int hf_h245_terminalJoinedConference = -1;  /* TerminalLabel */
1866 static int hf_h245_terminalLeftConference = -1;   /* TerminalLabel */
1867 static int hf_h245_seenByAtLeastOneOther = -1;    /* NULL */
1868 static int hf_h245_cancelSeenByAtLeastOneOther = -1;  /* NULL */
1869 static int hf_h245_seenByAll = -1;                /* NULL */
1870 static int hf_h245_cancelSeenByAll = -1;          /* NULL */
1871 static int hf_h245_terminalYouAreSeeing = -1;     /* TerminalLabel */
1872 static int hf_h245_requestForFloor = -1;          /* NULL */
1873 static int hf_h245_withdrawChairToken = -1;       /* NULL */
1874 static int hf_h245_floorRequested = -1;           /* TerminalLabel */
1875 static int hf_h245_terminalYouAreSeeingInSubPictureNumber = -1;  /* TerminalYouAreSeeingInSubPictureNumber */
1876 static int hf_h245_videoIndicateCompose = -1;     /* VideoIndicateCompose */
1877 static int hf_h245_masterMCU = -1;                /* NULL */
1878 static int hf_h245_cancelMasterMCU = -1;          /* NULL */
1879 static int hf_h245_subPictureNumber = -1;         /* INTEGER_0_255 */
1880 static int hf_h245_compositionNumber = -1;        /* INTEGER_0_255 */
1881 static int hf_h245_mi_type = -1;                  /* Mi_type */
1882 static int hf_h245_logicalChannelActive = -1;     /* NULL */
1883 static int hf_h245_logicalChannelInactive = -1;   /* NULL */
1884 static int hf_h245_multipointConference = -1;     /* NULL */
1885 static int hf_h245_cancelMultipointConference = -1;  /* NULL */
1886 static int hf_h245_multipointZeroComm = -1;       /* NULL */
1887 static int hf_h245_cancelMultipointZeroComm = -1;  /* NULL */
1888 static int hf_h245_multipointSecondaryStatus = -1;  /* NULL */
1889 static int hf_h245_cancelMultipointSecondaryStatus = -1;  /* NULL */
1890 static int hf_h245_videoIndicateReadyToActivate = -1;  /* NULL */
1891 static int hf_h245_videoNotDecodedMBs = -1;       /* T_videoNotDecodedMBs */
1892 static int hf_h245_temporalReference_0_255 = -1;  /* INTEGER_0_255 */
1893 static int hf_h245_estimatedReceivedJitterMantissa = -1;  /* INTEGER_0_3 */
1894 static int hf_h245_estimatedReceivedJitterExponent = -1;  /* INTEGER_0_7 */
1895 static int hf_h245_skippedFrameCount = -1;        /* INTEGER_0_15 */
1896 static int hf_h245_additionalDecoderBuffer = -1;  /* INTEGER_0_262143 */
1897 static int hf_h245_logicalChannelNumber1 = -1;    /* LogicalChannelNumber */
1898 static int hf_h245_logicalChannelNumber2 = -1;    /* LogicalChannelNumber */
1899 static int hf_h245_skew = -1;                     /* INTEGER_0_4095 */
1900 static int hf_h245_maximumSkew = -1;              /* INTEGER_0_4095 */
1901 static int hf_h245_signalAddress = -1;            /* TransportAddress */
1902 static int hf_h245_vendor = -1;                   /* NonStandardIdentifier */
1903 static int hf_h245_productNumber = -1;            /* OCTET_STRING_SIZE_1_256 */
1904 static int hf_h245_versionNumber = -1;            /* OCTET_STRING_SIZE_1_256 */
1905 static int hf_h245_ind_aal = -1;                  /* Ind_aal */
1906 static int hf_h245_ind_aal1 = -1;                 /* Ind_aal1 */
1907 static int hf_h245_ind_clockRecovery = -1;        /* Ind_clockRecovery */
1908 static int hf_h245_ind_errorCorrection = -1;      /* Ind_errorCorrection */
1909 static int hf_h245_ind_aal5 = -1;                 /* Ind_aal5 */
1910 static int hf_h245_ind_multiplex = -1;            /* Ind_multiplex */
1911 static int hf_h245_ind_reverseParameters = -1;    /* Ind_reverseParameters */
1912 static int hf_h245_indr_multiplex = -1;           /* IndR_multiplex */
1913 static int hf_h245_iv8 = -1;                      /* IV8 */
1914 static int hf_h245_iv16 = -1;                     /* IV16 */
1915 static int hf_h245_iv = -1;                       /* OCTET_STRING */
1916 static int hf_h245_alphanumeric = -1;             /* GeneralString */
1917 static int hf_h245_userInputSupportIndication = -1;  /* T_userInputSupportIndication */
1918 static int hf_h245_signal = -1;                   /* T_signal */
1919 static int hf_h245_signalType = -1;               /* T_signalType */
1920 static int hf_h245_duration = -1;                 /* INTEGER_1_65535 */
1921 static int hf_h245_rtp = -1;                      /* T_rtp */
1922 static int hf_h245_timestamp = -1;                /* INTEGER_0_4294967295 */
1923 static int hf_h245_expirationTime = -1;           /* INTEGER_0_4294967295 */
1924 static int hf_h245_rtpPayloadIndication = -1;     /* NULL */
1925 static int hf_h245_paramS = -1;                   /* Params */
1926 static int hf_h245_encryptedSignalType = -1;      /* OCTET_STRING_SIZE_1 */
1927 static int hf_h245_algorithmOID = -1;             /* OBJECT_IDENTIFIER */
1928 static int hf_h245_signalUpdate = -1;             /* T_signalUpdate */
1929 static int hf_h245_si_rtp = -1;                   /* Si_rtp */
1930 static int hf_h245_extendedAlphanumeric = -1;     /* T_extendedAlphanumeric */
1931 static int hf_h245_encrypted = -1;                /* OCTET_STRING */
1932 static int hf_h245_encryptedAlphanumeric = -1;    /* EncryptedAlphanumeric */
1933
1934 /*--- End of included file: packet-h245-hf.c ---*/
1935 #line 398 "../../asn1/h245/packet-h245-template.c"
1936
1937 /* Initialize the subtree pointers */
1938 static int ett_h245 = -1;
1939 static int ett_h245_returnedFunction = -1;
1940
1941 /*--- Included file: packet-h245-ett.c ---*/
1942 #line 1 "../../asn1/h245/packet-h245-ett.c"
1943 static gint ett_h245_MultimediaSystemControlMessage = -1;
1944 static gint ett_h245_RequestMessage = -1;
1945 static gint ett_h245_ResponseMessage = -1;
1946 static gint ett_h245_CommandMessage = -1;
1947 static gint ett_h245_IndicationMessage = -1;
1948 static gint ett_h245_GenericMessage = -1;
1949 static gint ett_h245_T_messageContent = -1;
1950 static gint ett_h245_NonStandardMessage = -1;
1951 static gint ett_h245_NonStandardParameter = -1;
1952 static gint ett_h245_NonStandardIdentifier = -1;
1953 static gint ett_h245_H221NonStandardID = -1;
1954 static gint ett_h245_MasterSlaveDetermination = -1;
1955 static gint ett_h245_MasterSlaveDeterminationAck = -1;
1956 static gint ett_h245_T_decision = -1;
1957 static gint ett_h245_MasterSlaveDeterminationReject = -1;
1958 static gint ett_h245_MasterSlaveDeterminationRejectCause = -1;
1959 static gint ett_h245_MasterSlaveDeterminationRelease = -1;
1960 static gint ett_h245_TerminalCapabilitySet = -1;
1961 static gint ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry = -1;
1962 static gint ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor = -1;
1963 static gint ett_h245_SEQUENCE_OF_GenericInformation = -1;
1964 static gint ett_h245_CapabilityTableEntry = -1;
1965 static gint ett_h245_CapabilityDescriptor = -1;
1966 static gint ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet = -1;
1967 static gint ett_h245_AlternativeCapabilitySet = -1;
1968 static gint ett_h245_TerminalCapabilitySetAck = -1;
1969 static gint ett_h245_TerminalCapabilitySetReject = -1;
1970 static gint ett_h245_TerminalCapabilitySetRejectCause = -1;
1971 static gint ett_h245_T_tableEntryCapacityExceeded = -1;
1972 static gint ett_h245_TerminalCapabilitySetRelease = -1;
1973 static gint ett_h245_Capability = -1;
1974 static gint ett_h245_T_h233EncryptionReceiveCapability = -1;
1975 static gint ett_h245_H235SecurityCapability = -1;
1976 static gint ett_h245_MultiplexCapability = -1;
1977 static gint ett_h245_H222Capability = -1;
1978 static gint ett_h245_SET_OF_VCCapability = -1;
1979 static gint ett_h245_VCCapability = -1;
1980 static gint ett_h245_T_aal1 = -1;
1981 static gint ett_h245_T_aal5 = -1;
1982 static gint ett_h245_T_availableBitRates = -1;
1983 static gint ett_h245_Avb_type = -1;
1984 static gint ett_h245_T_rangeOfBitRates = -1;
1985 static gint ett_h245_T_aal1ViaGateway = -1;
1986 static gint ett_h245_SET_SIZE_1_256_OF_Q2931Address = -1;
1987 static gint ett_h245_H223Capability = -1;
1988 static gint ett_h245_T_h223MultiplexTableCapability = -1;
1989 static gint ett_h245_T_enhanced = -1;
1990 static gint ett_h245_T_mobileOperationTransmitCapability = -1;
1991 static gint ett_h245_T_mobileMultilinkFrameCapability = -1;
1992 static gint ett_h245_H223AnnexCCapability = -1;
1993 static gint ett_h245_V76Capability = -1;
1994 static gint ett_h245_V75Capability = -1;
1995 static gint ett_h245_H2250Capability = -1;
1996 static gint ett_h245_T_mcCapability = -1;
1997 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability = -1;
1998 static gint ett_h245_MediaPacketizationCapability = -1;
1999 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType = -1;
2000 static gint ett_h245_RSVPParameters = -1;
2001 static gint ett_h245_QOSMode = -1;
2002 static gint ett_h245_ATMParameters = -1;
2003 static gint ett_h245_ServicePriorityValue = -1;
2004 static gint ett_h245_ServicePriority = -1;
2005 static gint ett_h245_AuthorizationParameters = -1;
2006 static gint ett_h245_QOSType = -1;
2007 static gint ett_h245_QOSClass = -1;
2008 static gint ett_h245_QOSDescriptor = -1;
2009 static gint ett_h245_GenericTransportParameters = -1;
2010 static gint ett_h245_QOSCapability = -1;
2011 static gint ett_h245_MediaTransportType = -1;
2012 static gint ett_h245_T_atm_AAL5_compressed = -1;
2013 static gint ett_h245_MediaChannelCapability = -1;
2014 static gint ett_h245_TransportCapability = -1;
2015 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability = -1;
2016 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability = -1;
2017 static gint ett_h245_RedundancyEncodingCapability = -1;
2018 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber = -1;
2019 static gint ett_h245_RedundancyEncodingMethod = -1;
2020 static gint ett_h245_RTPH263VideoRedundancyEncoding = -1;
2021 static gint ett_h245_T_frameToThreadMapping = -1;
2022 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping = -1;
2023 static gint ett_h245_T_containedThreads = -1;
2024 static gint ett_h245_RTPH263VideoRedundancyFrameMapping = -1;
2025 static gint ett_h245_T_frameSequence = -1;
2026 static gint ett_h245_MultipointCapability = -1;
2027 static gint ett_h245_SEQUENCE_OF_MediaDistributionCapability = -1;
2028 static gint ett_h245_MediaDistributionCapability = -1;
2029 static gint ett_h245_SEQUENCE_OF_DataApplicationCapability = -1;
2030 static gint ett_h245_VideoCapability = -1;
2031 static gint ett_h245_ExtendedVideoCapability = -1;
2032 static gint ett_h245_SEQUENCE_OF_VideoCapability = -1;
2033 static gint ett_h245_SEQUENCE_OF_GenericCapability = -1;
2034 static gint ett_h245_H261VideoCapability = -1;
2035 static gint ett_h245_H262VideoCapability = -1;
2036 static gint ett_h245_H263VideoCapability = -1;
2037 static gint ett_h245_EnhancementLayerInfo = -1;
2038 static gint ett_h245_SET_SIZE_1_14_OF_EnhancementOptions = -1;
2039 static gint ett_h245_SET_SIZE_1_14_OF_BEnhancementParameters = -1;
2040 static gint ett_h245_BEnhancementParameters = -1;
2041 static gint ett_h245_EnhancementOptions = -1;
2042 static gint ett_h245_H263Options = -1;
2043 static gint ett_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency = -1;
2044 static gint ett_h245_SET_SIZE_1_16_OF_CustomPictureFormat = -1;
2045 static gint ett_h245_SET_SIZE_1_16_OF_H263VideoModeCombos = -1;
2046 static gint ett_h245_TransparencyParameters = -1;
2047 static gint ett_h245_RefPictureSelection = -1;
2048 static gint ett_h245_T_additionalPictureMemory = -1;
2049 static gint ett_h245_T_videoBackChannelSend = -1;
2050 static gint ett_h245_T_enhancedReferencePicSelect = -1;
2051 static gint ett_h245_T_subPictureRemovalParameters = -1;
2052 static gint ett_h245_CustomPictureClockFrequency = -1;
2053 static gint ett_h245_CustomPictureFormat = -1;
2054 static gint ett_h245_T_mPI = -1;
2055 static gint ett_h245_T_customPCF = -1;
2056 static gint ett_h245_T_customPCF_item = -1;
2057 static gint ett_h245_T_pixelAspectInformation = -1;
2058 static gint ett_h245_T_pixelAspectCode = -1;
2059 static gint ett_h245_T_extendedPAR = -1;
2060 static gint ett_h245_T_extendedPAR_item = -1;
2061 static gint ett_h245_H263VideoModeCombos = -1;
2062 static gint ett_h245_SET_SIZE_1_16_OF_H263ModeComboFlags = -1;
2063 static gint ett_h245_H263ModeComboFlags = -1;
2064 static gint ett_h245_H263Version3Options = -1;
2065 static gint ett_h245_IS11172VideoCapability = -1;
2066 static gint ett_h245_AudioCapability = -1;
2067 static gint ett_h245_T_g7231 = -1;
2068 static gint ett_h245_G729Extensions = -1;
2069 static gint ett_h245_G7231AnnexCCapability = -1;
2070 static gint ett_h245_G723AnnexCAudioMode = -1;
2071 static gint ett_h245_IS11172AudioCapability = -1;
2072 static gint ett_h245_IS13818AudioCapability = -1;
2073 static gint ett_h245_GSMAudioCapability = -1;
2074 static gint ett_h245_VBDCapability = -1;
2075 static gint ett_h245_DataApplicationCapability = -1;
2076 static gint ett_h245_Application = -1;
2077 static gint ett_h245_T_t84 = -1;
2078 static gint ett_h245_Nlpid = -1;
2079 static gint ett_h245_T_t38fax = -1;
2080 static gint ett_h245_DataProtocolCapability = -1;
2081 static gint ett_h245_T_v76wCompression = -1;
2082 static gint ett_h245_CompressionType = -1;
2083 static gint ett_h245_V42bis = -1;
2084 static gint ett_h245_T84Profile = -1;
2085 static gint ett_h245_T_t84Restricted = -1;
2086 static gint ett_h245_T38FaxProfile = -1;
2087 static gint ett_h245_T38FaxRateManagement = -1;
2088 static gint ett_h245_T38FaxUdpOptions = -1;
2089 static gint ett_h245_T_t38FaxUdpEC = -1;
2090 static gint ett_h245_T38FaxTcpOptions = -1;
2091 static gint ett_h245_EncryptionAuthenticationAndIntegrity = -1;
2092 static gint ett_h245_EncryptionCapability = -1;
2093 static gint ett_h245_MediaEncryptionAlgorithm = -1;
2094 static gint ett_h245_AuthenticationCapability = -1;
2095 static gint ett_h245_IntegrityCapability = -1;
2096 static gint ett_h245_UserInputCapability = -1;
2097 static gint ett_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter = -1;
2098 static gint ett_h245_ConferenceCapability = -1;
2099 static gint ett_h245_SEQUENCE_OF_NonStandardParameter = -1;
2100 static gint ett_h245_GenericCapability = -1;
2101 static gint ett_h245_T_collapsing = -1;
2102 static gint ett_h245_T_nonCollapsing = -1;
2103 static gint ett_h245_CapabilityIdentifier = -1;
2104 static gint ett_h245_GenericParameter = -1;
2105 static gint ett_h245_SEQUENCE_OF_ParameterIdentifier = -1;
2106 static gint ett_h245_ParameterIdentifier = -1;
2107 static gint ett_h245_ParameterValue = -1;
2108 static gint ett_h245_SEQUENCE_OF_GenericParameter = -1;
2109 static gint ett_h245_MultiplexedStreamCapability = -1;
2110 static gint ett_h245_MultiplexFormat = -1;
2111 static gint ett_h245_AudioTelephonyEventCapability = -1;
2112 static gint ett_h245_AudioToneCapability = -1;
2113 static gint ett_h245_NoPTAudioTelephonyEventCapability = -1;
2114 static gint ett_h245_NoPTAudioToneCapability = -1;
2115 static gint ett_h245_MultiplePayloadStreamCapability = -1;
2116 static gint ett_h245_DepFECCapability = -1;
2117 static gint ett_h245_FECC_rfc2733 = -1;
2118 static gint ett_h245_T_separateStreamBool = -1;
2119 static gint ett_h245_FECCapability = -1;
2120 static gint ett_h245_Rfc2733Format = -1;
2121 static gint ett_h245_OpenLogicalChannel = -1;
2122 static gint ett_h245_T_forwardLogicalChannelParameters = -1;
2123 static gint ett_h245_OLC_forw_multiplexParameters = -1;
2124 static gint ett_h245_OLC_reverseLogicalChannelParameters = -1;
2125 static gint ett_h245_OLC_rev_multiplexParameters = -1;
2126 static gint ett_h245_NetworkAccessParameters = -1;
2127 static gint ett_h245_T_distribution = -1;
2128 static gint ett_h245_T_networkAddress = -1;
2129 static gint ett_h245_T_t120SetupProcedure = -1;
2130 static gint ett_h245_Q2931Address = -1;
2131 static gint ett_h245_T_address = -1;
2132 static gint ett_h245_V75Parameters = -1;
2133 static gint ett_h245_DataType = -1;
2134 static gint ett_h245_H235Media = -1;
2135 static gint ett_h245_T_mediaType = -1;
2136 static gint ett_h245_MultiplexedStreamParameter = -1;
2137 static gint ett_h245_H222LogicalChannelParameters = -1;
2138 static gint ett_h245_H223LogicalChannelParameters = -1;
2139 static gint ett_h245_T_adaptationLayerType = -1;
2140 static gint ett_h245_Al3 = -1;
2141 static gint ett_h245_H223AL1MParameters = -1;
2142 static gint ett_h245_T_transferMode = -1;
2143 static gint ett_h245_AL1HeaderFEC = -1;
2144 static gint ett_h245_AL1CrcLength = -1;
2145 static gint ett_h245_ArqType = -1;
2146 static gint ett_h245_H223AL2MParameters = -1;
2147 static gint ett_h245_AL2HeaderFEC = -1;
2148 static gint ett_h245_H223AL3MParameters = -1;
2149 static gint ett_h245_T_headerFormat = -1;
2150 static gint ett_h245_AL3CrcLength = -1;
2151 static gint ett_h245_H223AnnexCArqParameters = -1;
2152 static gint ett_h245_T_numberOfRetransmissions = -1;
2153 static gint ett_h245_V76LogicalChannelParameters = -1;
2154 static gint ett_h245_T_suspendResume = -1;
2155 static gint ett_h245_V76LCP_mode = -1;
2156 static gint ett_h245_T_eRM = -1;
2157 static gint ett_h245_T_recovery = -1;
2158 static gint ett_h245_V76HDLCParameters = -1;
2159 static gint ett_h245_CRCLength = -1;
2160 static gint ett_h245_H2250LogicalChannelParameters = -1;
2161 static gint ett_h245_T_mediaPacketization = -1;
2162 static gint ett_h245_RTPPayloadType = -1;
2163 static gint ett_h245_T_payloadDescriptor = -1;
2164 static gint ett_h245_RedundancyEncoding = -1;
2165 static gint ett_h245_T_rtpRedundancyEncoding = -1;
2166 static gint ett_h245_SEQUENCE_OF_RedundancyEncodingElement = -1;
2167 static gint ett_h245_RedundancyEncodingElement = -1;
2168 static gint ett_h245_MultiplePayloadStream = -1;
2169 static gint ett_h245_SEQUENCE_OF_MultiplePayloadStreamElement = -1;
2170 static gint ett_h245_MultiplePayloadStreamElement = -1;
2171 static gint ett_h245_DepFECData = -1;
2172 static gint ett_h245_RFC2733Data = -1;
2173 static gint ett_h245_FECdata_mode = -1;
2174 static gint ett_h245_DepSeparateStream = -1;
2175 static gint ett_h245_T_differentPort = -1;
2176 static gint ett_h245_T_samePort = -1;
2177 static gint ett_h245_FECData = -1;
2178 static gint ett_h245_T_rfc2733 = -1;
2179 static gint ett_h245_T_pktMode = -1;
2180 static gint ett_h245_T_mode_rfc2733sameport = -1;
2181 static gint ett_h245_T_mode_rfc2733diffport = -1;
2182 static gint ett_h245_TransportAddress = -1;
2183 static gint ett_h245_UnicastAddress = -1;
2184 static gint ett_h245_T_iPAddress = -1;
2185 static gint ett_h245_T_iPXAddress = -1;
2186 static gint ett_h245_T_iP6Address = -1;
2187 static gint ett_h245_T_iPSourceRouteAddress = -1;
2188 static gint ett_h245_T_routing = -1;
2189 static gint ett_h245_T_route = -1;
2190 static gint ett_h245_MulticastAddress = -1;
2191 static gint ett_h245_MIPAddress = -1;
2192 static gint ett_h245_MIP6Address = -1;
2193 static gint ett_h245_EncryptionSync = -1;
2194 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_EscrowData = -1;
2195 static gint ett_h245_EscrowData = -1;
2196 static gint ett_h245_OpenLogicalChannelAck = -1;
2197 static gint ett_h245_OLC_ack_reverseLogicalChannelParameters = -1;
2198 static gint ett_h245_T_olc_ack_multiplexParameters = -1;
2199 static gint ett_h245_T_forwardMultiplexAckParameters = -1;
2200 static gint ett_h245_OpenLogicalChannelReject = -1;
2201 static gint ett_h245_OpenLogicalChannelRejectCause = -1;
2202 static gint ett_h245_OpenLogicalChannelConfirm = -1;
2203 static gint ett_h245_H2250LogicalChannelAckParameters = -1;
2204 static gint ett_h245_CloseLogicalChannel = -1;
2205 static gint ett_h245_T_cLC_source = -1;
2206 static gint ett_h245_Clc_reason = -1;
2207 static gint ett_h245_CloseLogicalChannelAck = -1;
2208 static gint ett_h245_RequestChannelClose = -1;
2209 static gint ett_h245_T_reason = -1;
2210 static gint ett_h245_RequestChannelCloseAck = -1;
2211 static gint ett_h245_RequestChannelCloseReject = -1;
2212 static gint ett_h245_RequestChannelCloseRejectCause = -1;
2213 static gint ett_h245_RequestChannelCloseRelease = -1;
2214 static gint ett_h245_MultiplexEntrySend = -1;
2215 static gint ett_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor = -1;
2216 static gint ett_h245_MultiplexEntryDescriptor = -1;
2217 static gint ett_h245_T_elementList = -1;
2218 static gint ett_h245_MultiplexElement = -1;
2219 static gint ett_h245_Me_type = -1;
2220 static gint ett_h245_T_subElementList = -1;
2221 static gint ett_h245_ME_repeatCount = -1;
2222 static gint ett_h245_MultiplexEntrySendAck = -1;
2223 static gint ett_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber = -1;
2224 static gint ett_h245_MultiplexEntrySendReject = -1;
2225 static gint ett_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions = -1;
2226 static gint ett_h245_MultiplexEntryRejectionDescriptions = -1;
2227 static gint ett_h245_MultiplexEntryRejectionDescriptionsCause = -1;
2228 static gint ett_h245_MultiplexEntrySendRelease = -1;
2229 static gint ett_h245_RequestMultiplexEntry = -1;
2230 static gint ett_h245_RequestMultiplexEntryAck = -1;
2231 static gint ett_h245_RequestMultiplexEntryReject = -1;
2232 static gint ett_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions = -1;
2233 static gint ett_h245_RequestMultiplexEntryRejectionDescriptions = -1;
2234 static gint ett_h245_RequestMultiplexEntryRejectionDescriptionsCause = -1;
2235 static gint ett_h245_RequestMultiplexEntryRelease = -1;
2236 static gint ett_h245_RequestMode = -1;
2237 static gint ett_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription = -1;
2238 static gint ett_h245_RequestModeAck = -1;
2239 static gint ett_h245_Req_mode_ack_response = -1;
2240 static gint ett_h245_RequestModeReject = -1;
2241 static gint ett_h245_RequestModeRejectCause = -1;
2242 static gint ett_h245_RequestModeRelease = -1;
2243 static gint ett_h245_ModeDescription = -1;
2244 static gint ett_h245_ModeElementType = -1;
2245 static gint ett_h245_ModeElement = -1;
2246 static gint ett_h245_H235Mode = -1;
2247 static gint ett_h245_T_mediaMode = -1;
2248 static gint ett_h245_MultiplexedStreamModeParameters = -1;
2249 static gint ett_h245_RedundancyEncodingDTMode = -1;
2250 static gint ett_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement = -1;
2251 static gint ett_h245_RedundancyEncodingDTModeElement = -1;
2252 static gint ett_h245_Re_type = -1;
2253 static gint ett_h245_MultiplePayloadStreamMode = -1;
2254 static gint ett_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode = -1;
2255 static gint ett_h245_MultiplePayloadStreamElementMode = -1;
2256 static gint ett_h245_DepFECMode = -1;
2257 static gint ett_h245_T_rfc2733Mode = -1;
2258 static gint ett_h245_FEC_mode = -1;
2259 static gint ett_h245_FECMode = -1;
2260 static gint ett_h245_H223ModeParameters = -1;
2261 static gint ett_h245_AdaptationLayerType = -1;
2262 static gint ett_h245_V76ModeParameters = -1;
2263 static gint ett_h245_H2250ModeParameters = -1;
2264 static gint ett_h245_RedundancyEncodingMode = -1;
2265 static gint ett_h245_T_secondaryEncodingMode = -1;
2266 static gint ett_h245_VideoMode = -1;
2267 static gint ett_h245_H261VideoMode = -1;
2268 static gint ett_h245_H261Resolution = -1;
2269 static gint ett_h245_H262VideoMode = -1;
2270 static gint ett_h245_T_profileAndLevel = -1;
2271 static gint ett_h245_H263VideoMode = -1;
2272 static gint ett_h245_H263Resolution = -1;
2273 static gint ett_h245_IS11172VideoMode = -1;
2274 static gint ett_h245_AudioMode = -1;
2275 static gint ett_h245_Mode_g7231 = -1;
2276 static gint ett_h245_IS11172AudioMode = -1;
2277 static gint ett_h245_T_audioLayer = -1;
2278 static gint ett_h245_T_audioSampling = -1;
2279 static gint ett_h245_IS11172_multichannelType = -1;
2280 static gint ett_h245_IS13818AudioMode = -1;
2281 static gint ett_h245_IS13818AudioLayer = -1;
2282 static gint ett_h245_IS13818AudioSampling = -1;
2283 static gint ett_h245_IS13818MultichannelType = -1;
2284 static gint ett_h245_G7231AnnexCMode = -1;
2285 static gint ett_h245_VBDMode = -1;
2286 static gint ett_h245_DataMode = -1;
2287 static gint ett_h245_DataModeApplication = -1;
2288 static gint ett_h245_T38faxApp = -1;
2289 static gint ett_h245_EncryptionMode = -1;
2290 static gint ett_h245_RoundTripDelayRequest = -1;
2291 static gint ett_h245_RoundTripDelayResponse = -1;
2292 static gint ett_h245_MaintenanceLoopRequest = -1;
2293 static gint ett_h245_Mlr_type = -1;
2294 static gint ett_h245_MaintenanceLoopAck = -1;
2295 static gint ett_h245_Mla_type = -1;
2296 static gint ett_h245_MaintenanceLoopReject = -1;
2297 static gint ett_h245_Mlrej_type = -1;
2298 static gint ett_h245_MaintenanceLoopRejectCause = -1;
2299 static gint ett_h245_MaintenanceLoopOffCommand = -1;
2300 static gint ett_h245_CommunicationModeCommand = -1;
2301 static gint ett_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry = -1;
2302 static gint ett_h245_CommunicationModeRequest = -1;
2303 static gint ett_h245_CommunicationModeResponse = -1;
2304 static gint ett_h245_CommunicationModeTableEntry = -1;
2305 static gint ett_h245_T_entryDataType = -1;
2306 static gint ett_h245_ConferenceRequest = -1;
2307 static gint ett_h245_T_requestTerminalCertificate = -1;
2308 static gint ett_h245_CertSelectionCriteria = -1;
2309 static gint ett_h245_Criteria = -1;
2310 static gint ett_h245_TerminalLabel = -1;
2311 static gint ett_h245_ConferenceResponse = -1;
2312 static gint ett_h245_T_mCTerminalIDResponse = -1;
2313 static gint ett_h245_T_terminalIDResponse = -1;
2314 static gint ett_h245_T_conferenceIDResponse = -1;
2315 static gint ett_h245_T_passwordResponse = -1;
2316 static gint ett_h245_SET_SIZE_1_256_OF_TerminalLabel = -1;
2317 static gint ett_h245_T_makeMeChairResponse = -1;
2318 static gint ett_h245_T_extensionAddressResponse = -1;
2319 static gint ett_h245_T_chairTokenOwnerResponse = -1;
2320 static gint ett_h245_T_terminalCertificateResponse = -1;
2321 static gint ett_h245_T_broadcastMyLogicalChannelResponse = -1;
2322 static gint ett_h245_T_makeTerminalBroadcasterResponse = -1;
2323 static gint ett_h245_T_sendThisSourceResponse = -1;
2324 static gint ett_h245_RequestAllTerminalIDsResponse = -1;
2325 static gint ett_h245_SEQUENCE_OF_TerminalInformation = -1;
2326 static gint ett_h245_TerminalInformation = -1;
2327 static gint ett_h245_RemoteMCRequest = -1;
2328 static gint ett_h245_RemoteMCResponse = -1;
2329 static gint ett_h245_T_reject = -1;
2330 static gint ett_h245_MultilinkRequest = -1;
2331 static gint ett_h245_CallInformationReq = -1;
2332 static gint ett_h245_AddConnectionReq = -1;
2333 static gint ett_h245_RemoveConnectionReq = -1;
2334 static gint ett_h245_MaximumHeaderIntervalReq = -1;
2335 static gint ett_h245_T_requestType = -1;
2336 static gint ett_h245_MultilinkResponse = -1;
2337 static gint ett_h245_CallInformationResp = -1;
2338 static gint ett_h245_AddConnectionResp = -1;
2339 static gint ett_h245_T_responseCode = -1;
2340 static gint ett_h245_T_rejected = -1;
2341 static gint ett_h245_RemoveConnectionResp = -1;
2342 static gint ett_h245_MaximumHeaderIntervalResp = -1;
2343 static gint ett_h245_MultilinkIndication = -1;
2344 static gint ett_h245_T_crcDesired = -1;
2345 static gint ett_h245_T_excessiveError = -1;
2346 static gint ett_h245_DialingInformation = -1;
2347 static gint ett_h245_SET_SIZE_1_65535_OF_DialingInformationNumber = -1;
2348 static gint ett_h245_DialingInformationNumber = -1;
2349 static gint ett_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType = -1;
2350 static gint ett_h245_DialingInformationNetworkType = -1;
2351 static gint ett_h245_ConnectionIdentifier = -1;
2352 static gint ett_h245_LogicalChannelRateRequest = -1;
2353 static gint ett_h245_LogicalChannelRateAcknowledge = -1;
2354 static gint ett_h245_LogicalChannelRateReject = -1;
2355 static gint ett_h245_LogicalChannelRateRejectReason = -1;
2356 static gint ett_h245_LogicalChannelRateRelease = -1;
2357 static gint ett_h245_SendTerminalCapabilitySet = -1;
2358 static gint ett_h245_T_specificRequest = -1;
2359 static gint ett_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber = -1;
2360 static gint ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber = -1;
2361 static gint ett_h245_EncryptionCommand = -1;
2362 static gint ett_h245_T_encryptionAlgorithmID = -1;
2363 static gint ett_h245_FlowControlCommand = -1;
2364 static gint ett_h245_Scope = -1;
2365 static gint ett_h245_Restriction = -1;
2366 static gint ett_h245_EndSessionCommand = -1;
2367 static gint ett_h245_T_gstnOptions = -1;
2368 static gint ett_h245_T_isdnOptions = -1;
2369 static gint ett_h245_ConferenceCommand = -1;
2370 static gint ett_h245_SubstituteConferenceIDCommand = -1;
2371 static gint ett_h245_EncryptionUpdateDirection = -1;
2372 static gint ett_h245_MiscellaneousCommand = -1;
2373 static gint ett_h245_Mc_type = -1;
2374 static gint ett_h245_T_videoFastUpdateGOB = -1;
2375 static gint ett_h245_T_videoFastUpdateMB = -1;
2376 static gint ett_h245_T_progressiveRefinementStart = -1;
2377 static gint ett_h245_T_repeatCount = -1;
2378 static gint ett_h245_T_videoBadMBs = -1;
2379 static gint ett_h245_SEQUENCE_OF_PictureReference = -1;
2380 static gint ett_h245_T_lostPartialPicture = -1;
2381 static gint ett_h245_T_encryptionUpdateCommand = -1;
2382 static gint ett_h245_T_encryptionUpdateAck = -1;
2383 static gint ett_h245_KeyProtectionMethod = -1;
2384 static gint ett_h245_EncryptionUpdateRequest = -1;
2385 static gint ett_h245_PictureReference = -1;
2386 static gint ett_h245_H223MultiplexReconfiguration = -1;
2387 static gint ett_h245_T_h223ModeChange = -1;
2388 static gint ett_h245_T_h223AnnexADoubleFlag = -1;
2389 static gint ett_h245_NewATMVCCommand = -1;
2390 static gint ett_h245_Cmd_aal = -1;
2391 static gint ett_h245_Cmd_aal1 = -1;
2392 static gint ett_h245_Cmd_clockRecovery = -1;
2393 static gint ett_h245_Cmd_errorCorrection = -1;
2394 static gint ett_h245_Cmd_aal5 = -1;
2395 static gint ett_h245_Cmd_multiplex = -1;
2396 static gint ett_h245_Cmd_reverseParameters = -1;
2397 static gint ett_h245_CmdR_multiplex = -1;
2398 static gint ett_h245_MobileMultilinkReconfigurationCommand = -1;
2399 static gint ett_h245_T_status = -1;
2400 static gint ett_h245_FunctionNotUnderstood = -1;
2401 static gint ett_h245_FunctionNotSupported = -1;
2402 static gint ett_h245_FunctionNotSupportedCause = -1;
2403 static gint ett_h245_ConferenceIndication = -1;
2404 static gint ett_h245_TerminalYouAreSeeingInSubPictureNumber = -1;
2405 static gint ett_h245_VideoIndicateCompose = -1;
2406 static gint ett_h245_MiscellaneousIndication = -1;
2407 static gint ett_h245_Mi_type = -1;
2408 static gint ett_h245_T_videoNotDecodedMBs = -1;
2409 static gint ett_h245_JitterIndication = -1;
2410 static gint ett_h245_H223SkewIndication = -1;
2411 static gint ett_h245_H2250MaximumSkewIndication = -1;
2412 static gint ett_h245_MCLocationIndication = -1;
2413 static gint ett_h245_VendorIdentification = -1;
2414 static gint ett_h245_NewATMVCIndication = -1;
2415 static gint ett_h245_Ind_aal = -1;
2416 static gint ett_h245_Ind_aal1 = -1;
2417 static gint ett_h245_Ind_clockRecovery = -1;
2418 static gint ett_h245_Ind_errorCorrection = -1;
2419 static gint ett_h245_Ind_aal5 = -1;
2420 static gint ett_h245_Ind_multiplex = -1;
2421 static gint ett_h245_Ind_reverseParameters = -1;
2422 static gint ett_h245_IndR_multiplex = -1;
2423 static gint ett_h245_Params = -1;
2424 static gint ett_h245_UserInputIndication = -1;
2425 static gint ett_h245_T_userInputSupportIndication = -1;
2426 static gint ett_h245_T_signal = -1;
2427 static gint ett_h245_T_rtp = -1;
2428 static gint ett_h245_T_signalUpdate = -1;
2429 static gint ett_h245_Si_rtp = -1;
2430 static gint ett_h245_T_extendedAlphanumeric = -1;
2431 static gint ett_h245_EncryptedAlphanumeric = -1;
2432 static gint ett_h245_FlowControlIndication = -1;
2433 static gint ett_h245_MobileMultilinkReconfigurationIndication = -1;
2434
2435 /*--- End of included file: packet-h245-ett.c ---*/
2436 #line 403 "../../asn1/h245/packet-h245-template.c"
2437
2438 /* Forward declarations */
2439 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_);
2440 static void reset_h245_pi(void *dummy _U_)
2441 {
2442         h245_pi = NULL; /* Make sure we don't leave ep_alloc()ated memory lying around */
2443 }
2444
2445
2446 /*--- Included file: packet-h245-fn.c ---*/
2447 #line 1 "../../asn1/h245/packet-h245-fn.c"
2448 /*--- Cyclic dependencies ---*/
2449
2450 /* GenericParameter -> ParameterValue -> ParameterValue/genericParameter -> GenericParameter */
2451 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_);
2452
2453 /* VideoCapability -> ExtendedVideoCapability -> ExtendedVideoCapability/videoCapability -> VideoCapability */
2454 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_);
2455
2456 /* AudioCapability -> VBDCapability -> AudioCapability */
2457 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_);
2458
2459 /* DataType -> H235Media -> H235Media/mediaType -> RedundancyEncoding -> DataType */
2460 /* DataType -> H235Media -> H235Media/mediaType -> RedundancyEncoding -> RedundancyEncoding/rtpRedundancyEncoding -> RedundancyEncodingElement -> DataType */
2461 /* DataType -> H235Media -> H235Media/mediaType -> MultiplePayloadStream -> MultiplePayloadStream/elements -> MultiplePayloadStreamElement -> DataType */
2462 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_);
2463
2464 /* MultiplexElement -> MultiplexElement/type -> MultiplexElement/type/subElementList -> MultiplexElement */
2465 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_);
2466
2467 /* AudioMode -> VBDMode -> AudioMode */
2468 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_);
2469
2470 /* ModeElementType -> RedundancyEncodingDTMode -> RedundancyEncodingDTModeElement -> RedundancyEncodingDTModeElement/type -> FECMode -> ModeElementType */
2471 /* ModeElementType -> MultiplePayloadStreamMode -> MultiplePayloadStreamMode/elements -> MultiplePayloadStreamElementMode -> ModeElementType */
2472 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_);
2473
2474
2475
2476
2477 static int
2478 dissect_h245_T_object(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2479   offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &nsiOID);
2480
2481   return offset;
2482 }
2483
2484
2485
2486 static int
2487 dissect_h245_T_t35CountryCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2488   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2489                                                             0U, 255U, &t35CountryCode, FALSE);
2490
2491   return offset;
2492 }
2493
2494
2495
2496 static int
2497 dissect_h245_T_t35Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2498   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2499                                                             0U, 255U, &t35Extension, FALSE);
2500
2501   return offset;
2502 }
2503
2504
2505
2506 static int
2507 dissect_h245_T_manufacturerCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2508   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2509                                                             0U, 65535U, &manufacturerCode, FALSE);
2510
2511   return offset;
2512 }
2513
2514
2515 static const per_sequence_t H221NonStandardID_sequence[] = {
2516   { &hf_h245_t35CountryCode , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_t35CountryCode },
2517   { &hf_h245_t35Extension   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_t35Extension },
2518   { &hf_h245_manufacturerCode, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_manufacturerCode },
2519   { NULL, 0, 0, NULL }
2520 };
2521
2522 static int
2523 dissect_h245_H221NonStandardID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2524 #line 970 "../../asn1/h245/h245.cnf"
2525   t35CountryCode = 0;
2526   t35Extension = 0;
2527   manufacturerCode = 0;
2528
2529   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2530                                    ett_h245_H221NonStandardID, H221NonStandardID_sequence);
2531
2532 #line 974 "../../asn1/h245/h245.cnf"
2533   h221NonStandard = ((t35CountryCode * 256) + t35Extension) * 65536 + manufacturerCode;
2534   proto_tree_add_uint(tree, hf_h245Manufacturer, tvb, (offset>>3)-4, 4, h221NonStandard);
2535
2536   return offset;
2537 }
2538
2539
2540 static const value_string h245_NonStandardIdentifier_vals[] = {
2541   {   0, "object" },
2542   {   1, "h221NonStandard" },
2543   { 0, NULL }
2544 };
2545
2546 static const per_choice_t NonStandardIdentifier_choice[] = {
2547   {   0, &hf_h245_object         , ASN1_NO_EXTENSIONS     , dissect_h245_T_object },
2548   {   1, &hf_h245_h221NonStandardID, ASN1_NO_EXTENSIONS     , dissect_h245_H221NonStandardID },
2549   { 0, NULL, 0, NULL }
2550 };
2551
2552 static int
2553 dissect_h245_NonStandardIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2554 #line 951 "../../asn1/h245/h245.cnf"
2555         gint32 value;
2556
2557         nsiOID = "";
2558         h221NonStandard = 0;
2559
2560   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2561                                  ett_h245_NonStandardIdentifier, NonStandardIdentifier_choice,
2562                                  &value);
2563
2564         switch (value) {
2565                 case 0 :  /* object */
2566                         nsp_handle = dissector_get_string_handle(nsp_object_dissector_table, nsiOID);
2567                         break;
2568                 case 1 :  /* h221NonStandard */
2569                         nsp_handle = dissector_get_uint_handle(nsp_h221_dissector_table, h221NonStandard);
2570                         break;
2571                 default :
2572                         nsp_handle = NULL;
2573     }
2574
2575
2576   return offset;
2577 }
2578
2579
2580
2581 static int
2582 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_) {
2583 #line 985 "../../asn1/h245/h245.cnf"
2584   tvbuff_t *next_tvb = NULL;
2585
2586   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2587                                        NO_BOUND, NO_BOUND, FALSE, &next_tvb);
2588
2589   if (next_tvb && tvb_length(next_tvb)) {
2590     call_dissector((nsp_handle)?nsp_handle:data_handle, next_tvb, actx->pinfo, tree);
2591   }
2592
2593
2594   return offset;
2595 }
2596
2597
2598 static const per_sequence_t NonStandardParameter_sequence[] = {
2599   { &hf_h245_nonStandardIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardIdentifier },
2600   { &hf_h245_nsd_data       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_nsd_data },
2601   { NULL, 0, 0, NULL }
2602 };
2603
2604 static int
2605 dissect_h245_NonStandardParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2606 #line 983 "../../asn1/h245/h245.cnf"
2607   nsp_handle = NULL;
2608
2609   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2610                                    ett_h245_NonStandardParameter, NonStandardParameter_sequence);
2611
2612   return offset;
2613 }
2614
2615
2616 static const per_sequence_t NonStandardMessage_sequence[] = {
2617   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
2618   { NULL, 0, 0, NULL }
2619 };
2620
2621 static int
2622 dissect_h245_NonStandardMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2623   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2624                                    ett_h245_NonStandardMessage, NonStandardMessage_sequence);
2625
2626   return offset;
2627 }
2628
2629
2630
2631 static int
2632 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_) {
2633   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2634                                                             0U, 255U, NULL, FALSE);
2635
2636   return offset;
2637 }
2638
2639
2640
2641 static int
2642 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_) {
2643   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2644                                                             0U, 16777215U, NULL, FALSE);
2645
2646   return offset;
2647 }
2648
2649
2650 static const per_sequence_t MasterSlaveDetermination_sequence[] = {
2651   { &hf_h245_terminalType   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
2652   { &hf_h245_statusDeterminationNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_16777215 },
2653   { NULL, 0, 0, NULL }
2654 };
2655
2656 static int
2657 dissect_h245_MasterSlaveDetermination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2658   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2659                                    ett_h245_MasterSlaveDetermination, MasterSlaveDetermination_sequence);
2660
2661 #line 573 "../../asn1/h245/h245.cnf"
2662
2663 if (h245_pi != NULL)
2664   h245_pi->msg_type = H245_MastSlvDet;
2665
2666   return offset;
2667 }
2668
2669
2670
2671 static int
2672 dissect_h245_SequenceNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2673   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2674                                                             0U, 255U, NULL, FALSE);
2675
2676   return offset;
2677 }
2678
2679
2680
2681 static int
2682 dissect_h245_OBJECT_IDENTIFIER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2683   offset = dissect_per_object_identifier(tvb, offset, actx, tree, hf_index, NULL);
2684
2685   return offset;
2686 }
2687
2688
2689
2690 static int
2691 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_) {
2692   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2693                                                             1U, 256U, NULL, FALSE);
2694
2695   return offset;
2696 }
2697
2698
2699
2700 static int
2701 dissect_h245_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2702   offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
2703
2704   return offset;
2705 }
2706
2707
2708 static const per_sequence_t T_aal1_sequence[] = {
2709   { &hf_h245_nullClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2710   { &hf_h245_srtsClockRecovery_bool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2711   { &hf_h245_adaptiveClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2712   { &hf_h245_nullErrorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2713   { &hf_h245_longInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2714   { &hf_h245_shortInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2715   { &hf_h245_errorCorrectionOnly, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2716   { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2717   { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2718   { NULL, 0, 0, NULL }
2719 };
2720
2721 static int
2722 dissect_h245_T_aal1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2723   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2724                                    ett_h245_T_aal1, T_aal1_sequence);
2725
2726   return offset;
2727 }
2728
2729
2730
2731 static int
2732 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_) {
2733   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2734                                                             0U, 65535U, NULL, FALSE);
2735
2736   return offset;
2737 }
2738
2739
2740 static const per_sequence_t T_aal5_sequence[] = {
2741   { &hf_h245_forwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
2742   { &hf_h245_backwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
2743   { NULL, 0, 0, NULL }
2744 };
2745
2746 static int
2747 dissect_h245_T_aal5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2748   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2749                                    ett_h245_T_aal5, T_aal5_sequence);
2750
2751   return offset;
2752 }
2753
2754
2755
2756 static int
2757 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_) {
2758   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2759                                                             1U, 65535U, NULL, FALSE);
2760
2761   return offset;
2762 }
2763
2764
2765 static const per_sequence_t T_rangeOfBitRates_sequence[] = {
2766   { &hf_h245_lowerBitRate   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
2767   { &hf_h245_higherBitRate  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
2768   { NULL, 0, 0, NULL }
2769 };
2770
2771 static int
2772 dissect_h245_T_rangeOfBitRates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2773   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2774                                    ett_h245_T_rangeOfBitRates, T_rangeOfBitRates_sequence);
2775
2776   return offset;
2777 }
2778
2779
2780 static const value_string h245_Avb_type_vals[] = {
2781   {   0, "singleBitRate" },
2782   {   1, "rangeOfBitRates" },
2783   { 0, NULL }
2784 };
2785
2786 static const per_choice_t Avb_type_choice[] = {
2787   {   0, &hf_h245_singleBitRate  , ASN1_NO_EXTENSIONS     , dissect_h245_INTEGER_1_65535 },
2788   {   1, &hf_h245_rangeOfBitRates, ASN1_NO_EXTENSIONS     , dissect_h245_T_rangeOfBitRates },
2789   { 0, NULL, 0, NULL }
2790 };
2791
2792 static int
2793 dissect_h245_Avb_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2794   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2795                                  ett_h245_Avb_type, Avb_type_choice,
2796                                  NULL);
2797
2798   return offset;
2799 }
2800
2801
2802 static const per_sequence_t T_availableBitRates_sequence[] = {
2803   { &hf_h245_avb_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Avb_type },
2804   { NULL, 0, 0, NULL }
2805 };
2806
2807 static int
2808 dissect_h245_T_availableBitRates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2809   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2810                                    ett_h245_T_availableBitRates, T_availableBitRates_sequence);
2811
2812   return offset;
2813 }
2814
2815
2816
2817 static int
2818 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_) {
2819   offset = dissect_per_NumericString(tvb, offset, actx, tree, hf_index,
2820                                           1, 16, FALSE);
2821
2822   return offset;
2823 }
2824
2825
2826
2827 static int
2828 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_) {
2829   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2830                                        1, 20, FALSE, NULL);
2831
2832   return offset;
2833 }
2834
2835
2836 static const value_string h245_T_address_vals[] = {
2837   {   0, "internationalNumber" },
2838   {   1, "nsapAddress" },
2839   { 0, NULL }
2840 };
2841
2842 static const per_choice_t T_address_choice[] = {
2843   {   0, &hf_h245_internationalNumber, ASN1_EXTENSION_ROOT    , dissect_h245_NumericString_SIZE_1_16 },
2844   {   1, &hf_h245_nsapAddress    , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_1_20 },
2845   { 0, NULL, 0, NULL }
2846 };
2847
2848 static int
2849 dissect_h245_T_address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2850   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2851                                  ett_h245_T_address, T_address_choice,
2852                                  NULL);
2853
2854   return offset;
2855 }
2856
2857
2858 static const per_sequence_t Q2931Address_sequence[] = {
2859   { &hf_h245_address        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_address },
2860   { &hf_h245_subaddress     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_20 },
2861   { NULL, 0, 0, NULL }
2862 };
2863
2864 static int
2865 dissect_h245_Q2931Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2866   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2867                                    ett_h245_Q2931Address, Q2931Address_sequence);
2868
2869   return offset;
2870 }
2871
2872
2873 static const per_sequence_t SET_SIZE_1_256_OF_Q2931Address_set_of[1] = {
2874   { &hf_h245_gatewayAddress_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_Q2931Address },
2875 };
2876
2877 static int
2878 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_) {
2879   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
2880                                              ett_h245_SET_SIZE_1_256_OF_Q2931Address, SET_SIZE_1_256_OF_Q2931Address_set_of,
2881                                              1, 256, FALSE);
2882
2883   return offset;
2884 }
2885
2886
2887 static const per_sequence_t T_aal1ViaGateway_sequence[] = {
2888   { &hf_h245_gatewayAddress , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_256_OF_Q2931Address },
2889   { &hf_h245_nullClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2890   { &hf_h245_srtsClockRecoveryflag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2891   { &hf_h245_adaptiveClockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2892   { &hf_h245_nullErrorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2893   { &hf_h245_longInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2894   { &hf_h245_shortInterleaver, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2895   { &hf_h245_errorCorrectionOnly, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2896   { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2897   { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2898   { NULL, 0, 0, NULL }
2899 };
2900
2901 static int
2902 dissect_h245_T_aal1ViaGateway(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2903   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2904                                    ett_h245_T_aal1ViaGateway, T_aal1ViaGateway_sequence);
2905
2906   return offset;
2907 }
2908
2909
2910 static const per_sequence_t VCCapability_sequence[] = {
2911   { &hf_h245_aal1           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_aal1 },
2912   { &hf_h245_aal5           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_aal5 },
2913   { &hf_h245_transportStream_bool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2914   { &hf_h245_programStream  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
2915   { &hf_h245_availableBitRates, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_availableBitRates },
2916   { &hf_h245_aal1ViaGateway , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_aal1ViaGateway },
2917   { NULL, 0, 0, NULL }
2918 };
2919
2920 static int
2921 dissect_h245_VCCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2922   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2923                                    ett_h245_VCCapability, VCCapability_sequence);
2924
2925   return offset;
2926 }
2927
2928
2929 static const per_sequence_t SET_OF_VCCapability_set_of[1] = {
2930   { &hf_h245_vcCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_VCCapability },
2931 };
2932
2933 static int
2934 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_) {
2935   offset = dissect_per_set_of(tvb, offset, actx, tree, hf_index,
2936                                  ett_h245_SET_OF_VCCapability, SET_OF_VCCapability_set_of);
2937
2938   return offset;
2939 }
2940
2941
2942 static const per_sequence_t H222Capability_sequence[] = {
2943   { &hf_h245_numberOfVCs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
2944   { &hf_h245_vcCapability   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_OF_VCCapability },
2945   { NULL, 0, 0, NULL }
2946 };
2947
2948 static int
2949 dissect_h245_H222Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2950   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2951                                    ett_h245_H222Capability, H222Capability_sequence);
2952
2953   return offset;
2954 }
2955
2956
2957
2958 static int
2959 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_) {
2960   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2961                                                             0U, 1023U, NULL, FALSE);
2962
2963   return offset;
2964 }
2965
2966
2967
2968 static int
2969 dissect_h245_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2970   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
2971
2972   return offset;
2973 }
2974
2975
2976
2977 static int
2978 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_) {
2979   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2980                                                             1U, 15U, NULL, FALSE);
2981
2982   return offset;
2983 }
2984
2985
2986
2987 static int
2988 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_) {
2989   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2990                                                             2U, 255U, NULL, FALSE);
2991
2992   return offset;
2993 }
2994
2995
2996 static const per_sequence_t T_enhanced_sequence[] = {
2997   { &hf_h245_maximumNestingDepth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_15 },
2998   { &hf_h245_maximumElementListSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_2_255 },
2999   { &hf_h245_maximumSubElementListSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_2_255 },
3000   { NULL, 0, 0, NULL }
3001 };
3002
3003 static int
3004 dissect_h245_T_enhanced(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3005   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3006                                    ett_h245_T_enhanced, T_enhanced_sequence);
3007
3008   return offset;
3009 }
3010
3011
3012 static const value_string h245_T_h223MultiplexTableCapability_vals[] = {
3013   {   0, "basic" },
3014   {   1, "enhanced" },
3015   { 0, NULL }
3016 };
3017
3018 static const per_choice_t T_h223MultiplexTableCapability_choice[] = {
3019   {   0, &hf_h245_basic          , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
3020   {   1, &hf_h245_enhanced       , ASN1_NO_EXTENSIONS     , dissect_h245_T_enhanced },
3021   { 0, NULL, 0, NULL }
3022 };
3023
3024 static int
3025 dissect_h245_T_h223MultiplexTableCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3026   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3027                                  ett_h245_T_h223MultiplexTableCapability, T_h223MultiplexTableCapability_choice,
3028                                  NULL);
3029
3030   return offset;
3031 }
3032
3033
3034 static const per_sequence_t T_mobileOperationTransmitCapability_sequence[] = {
3035   { &hf_h245_modeChangeCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3036   { &hf_h245_h223AnnexA     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3037   { &hf_h245_h223AnnexADoubleFlagFlag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3038   { &hf_h245_h223AnnexB     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3039   { &hf_h245_h223AnnexBwithHeader, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3040   { NULL, 0, 0, NULL }
3041 };
3042
3043 static int
3044 dissect_h245_T_mobileOperationTransmitCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3045   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3046                                    ett_h245_T_mobileOperationTransmitCapability, T_mobileOperationTransmitCapability_sequence);
3047
3048   return offset;
3049 }
3050
3051
3052 static const per_sequence_t H223AnnexCCapability_sequence[] = {
3053   { &hf_h245_videoWithAL1M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3054   { &hf_h245_videoWithAL2M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3055   { &hf_h245_videoWithAL3M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3056   { &hf_h245_audioWithAL1M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3057   { &hf_h245_audioWithAL2M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3058   { &hf_h245_audioWithAL3M  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3059   { &hf_h245_dataWithAL1M   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3060   { &hf_h245_dataWithAL2M   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3061   { &hf_h245_dataWithAL3M   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3062   { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3063   { &hf_h245_maximumAL1MPDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3064   { &hf_h245_maximumAL2MSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3065   { &hf_h245_maximumAL3MSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3066   { &hf_h245_rsCodeCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
3067   { NULL, 0, 0, NULL }
3068 };
3069
3070 static int
3071 dissect_h245_H223AnnexCCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3072   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3073                                    ett_h245_H223AnnexCCapability, H223AnnexCCapability_sequence);
3074
3075   return offset;
3076 }
3077
3078
3079
3080 static int
3081 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_) {
3082   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3083                                                             1U, 19200U, NULL, FALSE);
3084
3085   return offset;
3086 }
3087
3088
3089
3090 static int
3091 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_) {
3092   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3093                                                             1U, 255U, NULL, FALSE);
3094
3095   return offset;
3096 }
3097
3098
3099
3100 static int
3101 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_) {
3102   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3103                                                             1U, 65025U, NULL, FALSE);
3104
3105   return offset;
3106 }
3107
3108
3109 static const per_sequence_t T_mobileMultilinkFrameCapability_sequence[] = {
3110   { &hf_h245_maximumSampleSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
3111   { &hf_h245_maximumPayloadLength, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65025 },
3112   { NULL, 0, 0, NULL }
3113 };
3114
3115 static int
3116 dissect_h245_T_mobileMultilinkFrameCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3117   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3118                                    ett_h245_T_mobileMultilinkFrameCapability, T_mobileMultilinkFrameCapability_sequence);
3119
3120   return offset;
3121 }
3122
3123
3124 static const per_sequence_t H223Capability_sequence[] = {
3125   { &hf_h245_transportWithI_frames, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3126   { &hf_h245_videoWithAL1   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3127   { &hf_h245_videoWithAL2   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3128   { &hf_h245_videoWithAL3   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3129   { &hf_h245_audioWithAL1   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3130   { &hf_h245_audioWithAL2   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3131   { &hf_h245_audioWithAL3   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3132   { &hf_h245_dataWithAL1    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3133   { &hf_h245_dataWithAL2    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3134   { &hf_h245_dataWithAL3    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3135   { &hf_h245_maximumAl2SDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3136   { &hf_h245_maximumAl3SDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
3137   { &hf_h245_maximumDelayJitter, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_1023 },
3138   { &hf_h245_h223MultiplexTableCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_h223MultiplexTableCapability },
3139   { &hf_h245_maxMUXPDUSizeCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3140   { &hf_h245_nsrpSupport    , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3141   { &hf_h245_mobileOperationTransmitCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_mobileOperationTransmitCapability },
3142   { &hf_h245_h223AnnexCCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H223AnnexCCapability },
3143   { &hf_h245_bitRate_1_19200, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_19200 },
3144   { &hf_h245_mobileMultilinkFrameCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_mobileMultilinkFrameCapability },
3145   { NULL, 0, 0, NULL }
3146 };
3147
3148 int
3149 dissect_h245_H223Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3150   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3151                                    ett_h245_H223Capability, H223Capability_sequence);
3152
3153   return offset;
3154 }
3155
3156
3157
3158 static int
3159 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_) {
3160   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3161                                                             2U, 8191U, NULL, FALSE);
3162
3163   return offset;
3164 }
3165
3166
3167
3168 static int
3169 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_) {
3170   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3171                                                             1U, 4095U, NULL, FALSE);
3172
3173   return offset;
3174 }
3175
3176
3177
3178 static int
3179 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_) {
3180   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3181                                                             1U, 127U, NULL, FALSE);
3182
3183   return offset;
3184 }
3185
3186
3187 static const per_sequence_t V75Capability_sequence[] = {
3188   { &hf_h245_audioHeader    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3189   { NULL, 0, 0, NULL }
3190 };
3191
3192 static int
3193 dissect_h245_V75Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3194   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3195                                    ett_h245_V75Capability, V75Capability_sequence);
3196
3197   return offset;
3198 }
3199
3200
3201 static const per_sequence_t V76Capability_sequence[] = {
3202   { &hf_h245_suspendResumeCapabilitywAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3203   { &hf_h245_suspendResumeCapabilitywoAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3204   { &hf_h245_rejCapability  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3205   { &hf_h245_sREJCapability , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3206   { &hf_h245_mREJCapability , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3207   { &hf_h245_crc8bitCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3208   { &hf_h245_crc16bitCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3209   { &hf_h245_crc32bitCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3210   { &hf_h245_uihCapability  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3211   { &hf_h245_numOfDLCS      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_2_8191 },
3212   { &hf_h245_twoOctetAddressFieldCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3213   { &hf_h245_loopBackTestCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3214   { &hf_h245_n401Capability , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_4095 },
3215   { &hf_h245_maxWindowSizeCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
3216   { &hf_h245_v75Capability  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V75Capability },
3217   { NULL, 0, 0, NULL }
3218 };
3219
3220 static int
3221 dissect_h245_V76Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3222   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3223                                    ett_h245_V76Capability, V76Capability_sequence);
3224
3225   return offset;
3226 }
3227
3228
3229
3230 static int
3231 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_) {
3232   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3233                                                             1U, 65536U, NULL, FALSE);
3234
3235   return offset;
3236 }
3237
3238
3239 static const per_sequence_t V42bis_sequence[] = {
3240   { &hf_h245_numberOfCodewords, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65536 },
3241   { &hf_h245_maximumStringLength, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
3242   { NULL, 0, 0, NULL }
3243 };
3244
3245 static int
3246 dissect_h245_V42bis(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3247   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3248                                    ett_h245_V42bis, V42bis_sequence);
3249
3250   return offset;
3251 }
3252
3253
3254 static const value_string h245_CompressionType_vals[] = {
3255   {   0, "v42bis" },
3256   { 0, NULL }
3257 };
3258
3259 static const per_choice_t CompressionType_choice[] = {
3260   {   0, &hf_h245_v42bis         , ASN1_EXTENSION_ROOT    , dissect_h245_V42bis },
3261   { 0, NULL, 0, NULL }
3262 };
3263
3264 static int
3265 dissect_h245_CompressionType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3266   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3267                                  ett_h245_CompressionType, CompressionType_choice,
3268                                  NULL);
3269
3270   return offset;
3271 }
3272
3273
3274 static const value_string h245_T_v76wCompression_vals[] = {
3275   {   0, "transmitCompression" },
3276   {   1, "receiveCompression" },
3277   {   2, "transmitAndReceiveCompression" },
3278   { 0, NULL }
3279 };
3280
3281 static const per_choice_t T_v76wCompression_choice[] = {
3282   {   0, &hf_h245_transmitCompression, ASN1_EXTENSION_ROOT    , dissect_h245_CompressionType },
3283   {   1, &hf_h245_receiveCompression, ASN1_EXTENSION_ROOT    , dissect_h245_CompressionType },
3284   {   2, &hf_h245_transmitAndReceiveCompression, ASN1_EXTENSION_ROOT    , dissect_h245_CompressionType },
3285   { 0, NULL, 0, NULL }
3286 };
3287
3288 static int
3289 dissect_h245_T_v76wCompression(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3290   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3291                                  ett_h245_T_v76wCompression, T_v76wCompression_choice,
3292                                  NULL);
3293
3294   return offset;
3295 }
3296
3297
3298 const value_string DataProtocolCapability_vals[] = {
3299   {   0, "nonStandard" },
3300   {   1, "v14buffered" },
3301   {   2, "v42lapm" },
3302   {   3, "hdlcFrameTunnelling" },
3303   {   4, "h310SeparateVCStack" },
3304   {   5, "h310SingleVCStack" },
3305   {   6, "transparent" },
3306   {   7, "segmentationAndReassembly" },
3307   {   8, "hdlcFrameTunnelingwSAR" },
3308   {   9, "v120" },
3309   {  10, "separateLANStack" },
3310   {  11, "v76wCompression" },
3311   {  12, "tcp" },
3312   {  13, "udp" },
3313   { 0, NULL }
3314 };
3315
3316 static const per_choice_t DataProtocolCapability_choice[] = {
3317   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
3318   {   1, &hf_h245_v14buffered    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3319   {   2, &hf_h245_v42lapm        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3320   {   3, &hf_h245_hdlcFrameTunnelling, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3321   {   4, &hf_h245_h310SeparateVCStack, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3322   {   5, &hf_h245_h310SingleVCStack, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3323   {   6, &hf_h245_transparent    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3324   {   7, &hf_h245_segmentationAndReassembly, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3325   {   8, &hf_h245_hdlcFrameTunnelingwSAR, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3326   {   9, &hf_h245_v120           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3327   {  10, &hf_h245_separateLANStack, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3328   {  11, &hf_h245_v76wCompression, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_v76wCompression },
3329   {  12, &hf_h245_tcp            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3330   {  13, &hf_h245_udp            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
3331   { 0, NULL, 0, NULL }
3332 };
3333
3334 int
3335 dissect_h245_DataProtocolCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3336   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3337                                  ett_h245_DataProtocolCapability, DataProtocolCapability_choice,
3338                                  NULL);
3339
3340   return offset;
3341 }
3342
3343
3344 static const per_sequence_t T_t84Restricted_sequence[] = {
3345   { &hf_h245_qcif_bool      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3346   { &hf_h245_cif_bool       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3347   { &hf_h245_ccir601Seq     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3348   { &hf_h245_ccir601Prog    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3349   { &hf_h245_hdtvSeq        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3350   { &hf_h245_hdtvProg       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3351   { &hf_h245_g3FacsMH200x100, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3352   { &hf_h245_g3FacsMH200x200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3353   { &hf_h245_g4FacsMMR200x100, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3354   { &hf_h245_g4FacsMMR200x200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3355   { &hf_h245_jbig200x200Seq , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3356   { &hf_h245_jbig200x200Prog, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3357   { &hf_h245_jbig300x300Seq , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3358   { &hf_h245_jbig300x300Prog, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3359   { &hf_h245_digPhotoLow    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3360   { &hf_h245_digPhotoMedSeq , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3361   { &hf_h245_digPhotoMedProg, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3362   { &hf_h245_digPhotoHighSeq, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3363   { &hf_h245_digPhotoHighProg, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3364   { NULL, 0, 0, NULL }
3365 };
3366
3367 static int
3368 dissect_h245_T_t84Restricted(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3369   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3370                                    ett_h245_T_t84Restricted, T_t84Restricted_sequence);
3371
3372   return offset;
3373 }
3374
3375
3376 static const value_string h245_T84Profile_vals[] = {
3377   {   0, "t84Unrestricted" },
3378   {   1, "t84Restricted" },
3379   { 0, NULL }
3380 };
3381
3382 static const per_choice_t T84Profile_choice[] = {
3383   {   0, &hf_h245_t84Unrestricted, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
3384   {   1, &hf_h245_t84Restricted  , ASN1_NO_EXTENSIONS     , dissect_h245_T_t84Restricted },
3385   { 0, NULL, 0, NULL }
3386 };
3387
3388 static int
3389 dissect_h245_T84Profile(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3390   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3391                                  ett_h245_T84Profile, T84Profile_choice,
3392                                  NULL);
3393
3394   return offset;
3395 }
3396
3397
3398 static const per_sequence_t T_t84_sequence[] = {
3399   { &hf_h245_t84Protocol    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
3400   { &hf_h245_t84Profile     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T84Profile },
3401   { NULL, 0, 0, NULL }
3402 };
3403
3404 static int
3405 dissect_h245_T_t84(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3406   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3407                                    ett_h245_T_t84, T_t84_sequence);
3408
3409   return offset;
3410 }
3411
3412
3413
3414 static int
3415 dissect_h245_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3416   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3417                                        NO_BOUND, NO_BOUND, FALSE, NULL);
3418
3419   return offset;
3420 }
3421
3422
3423 static const per_sequence_t Nlpid_sequence[] = {
3424   { &hf_h245_nlpidProtocol  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
3425   { &hf_h245_nlpidData      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING },
3426   { NULL, 0, 0, NULL }
3427 };
3428
3429 static int
3430 dissect_h245_Nlpid(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3431   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3432                                    ett_h245_Nlpid, Nlpid_sequence);
3433
3434   return offset;
3435 }
3436
3437
3438 static const value_string h245_T38FaxRateManagement_vals[] = {
3439   {   0, "localTCF" },
3440   {   1, "transferredTCF" },
3441   { 0, NULL }
3442 };
3443
3444 static const per_choice_t T38FaxRateManagement_choice[] = {
3445   {   0, &hf_h245_localTCF       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3446   {   1, &hf_h245_transferredTCF , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3447   { 0, NULL, 0, NULL }
3448 };
3449
3450 static int
3451 dissect_h245_T38FaxRateManagement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3452   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3453                                  ett_h245_T38FaxRateManagement, T38FaxRateManagement_choice,
3454                                  NULL);
3455
3456   return offset;
3457 }
3458
3459
3460
3461 static int
3462 dissect_h245_INTEGER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3463   offset = dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
3464
3465   return offset;
3466 }
3467
3468
3469 static const value_string h245_T_t38FaxUdpEC_vals[] = {
3470   {   0, "t38UDPFEC" },
3471   {   1, "t38UDPRedundancy" },
3472   { 0, NULL }
3473 };
3474
3475 static const per_choice_t T_t38FaxUdpEC_choice[] = {
3476   {   0, &hf_h245_t38UDPFEC      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3477   {   1, &hf_h245_t38UDPRedundancy, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3478   { 0, NULL, 0, NULL }
3479 };
3480
3481 static int
3482 dissect_h245_T_t38FaxUdpEC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3483   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3484                                  ett_h245_T_t38FaxUdpEC, T_t38FaxUdpEC_choice,
3485                                  NULL);
3486
3487   return offset;
3488 }
3489
3490
3491 static const per_sequence_t T38FaxUdpOptions_sequence[] = {
3492   { &hf_h245_t38FaxMaxBuffer, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_INTEGER },
3493   { &hf_h245_t38FaxMaxDatagram, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_INTEGER },
3494   { &hf_h245_t38FaxUdpEC    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_t38FaxUdpEC },
3495   { NULL, 0, 0, NULL }
3496 };
3497
3498 static int
3499 dissect_h245_T38FaxUdpOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3500   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3501                                    ett_h245_T38FaxUdpOptions, T38FaxUdpOptions_sequence);
3502
3503   return offset;
3504 }
3505
3506
3507 static const per_sequence_t T38FaxTcpOptions_sequence[] = {
3508   { &hf_h245_t38TCPBidirectionalMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3509   { NULL, 0, 0, NULL }
3510 };
3511
3512 static int
3513 dissect_h245_T38FaxTcpOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3514   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3515                                    ett_h245_T38FaxTcpOptions, T38FaxTcpOptions_sequence);
3516
3517   return offset;
3518 }
3519
3520
3521 static const per_sequence_t T38FaxProfile_sequence[] = {
3522   { &hf_h245_fillBitRemoval , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3523   { &hf_h245_transcodingJBIG, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3524   { &hf_h245_transcodingMMR , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
3525   { &hf_h245_version        , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
3526   { &hf_h245_t38FaxRateManagement, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_T38FaxRateManagement },
3527   { &hf_h245_t38FaxUdpOptions, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T38FaxUdpOptions },
3528   { &hf_h245_t38FaxTcpOptions, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T38FaxTcpOptions },
3529   { NULL, 0, 0, NULL }
3530 };
3531
3532 int
3533 dissect_h245_T38FaxProfile(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3534   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3535                                    ett_h245_T38FaxProfile, T38FaxProfile_sequence);
3536
3537   return offset;
3538 }
3539
3540
3541 static const per_sequence_t T_t38fax_sequence[] = {
3542   { &hf_h245_t38FaxProtocol , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
3543   { &hf_h245_t38FaxProfile  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T38FaxProfile },
3544   { NULL, 0, 0, NULL }
3545 };
3546
3547 static int
3548 dissect_h245_T_t38fax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3549   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3550                                    ett_h245_T_t38fax, T_t38fax_sequence);
3551
3552   return offset;
3553 }
3554
3555
3556
3557 static int
3558 dissect_h245_T_standardOid(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3559 #line 730 "../../asn1/h245/h245.cnf"
3560   const gchar *standard_oid_str = NULL;
3561   gef_ctx_t *gefx;
3562
3563   offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &standard_oid_str);
3564
3565   gefx = gef_ctx_get(actx->private_data);
3566   if (gefx) gefx->id = standard_oid_str;
3567
3568   if(strcmp(standard_oid_str,"0.0.8.235.0.3.76") == 0) {  /* MIKEY */
3569     if (upcoming_channel)
3570           upcoming_channel->srtp_flag = TRUE;
3571   }
3572
3573   if(!h245_lc_dissector && strcmp(standard_oid_str,"0.0.8.245.1.1.1") == 0)
3574         h245_lc_dissector = amr_handle;
3575
3576
3577   return offset;
3578 }
3579
3580
3581
3582 static int
3583 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_) {
3584   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3585                                        16, 16, FALSE, NULL);
3586
3587   return offset;
3588 }
3589
3590
3591
3592 static int
3593 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_) {
3594   offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
3595                                           1, 64, FALSE);
3596
3597   return offset;
3598 }
3599
3600
3601 static const value_string h245_CapabilityIdentifier_vals[] = {
3602   {   0, "standard" },
3603   {   1, "h221NonStandard" },
3604   {   2, "uuid" },
3605   {   3, "domainBased" },
3606   { 0, NULL }
3607 };
3608
3609 static const per_choice_t CapabilityIdentifier_choice[] = {
3610   {   0, &hf_h245_standardOid    , ASN1_EXTENSION_ROOT    , dissect_h245_T_standardOid },
3611   {   1, &hf_h245_h221NonStandard, ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
3612   {   2, &hf_h245_uuid           , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_16 },
3613   {   3, &hf_h245_domainBased    , ASN1_EXTENSION_ROOT    , dissect_h245_IA5String_SIZE_1_64 },
3614   { 0, NULL, 0, NULL }
3615 };
3616
3617 static int
3618 dissect_h245_CapabilityIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3619 #line 716 "../../asn1/h245/h245.cnf"
3620   gef_ctx_t *gefx;
3621
3622   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3623                                  ett_h245_CapabilityIdentifier, CapabilityIdentifier_choice,
3624                                  NULL);
3625
3626 #line 718 "../../asn1/h245/h245.cnf"
3627   gef_ctx_update_key(gef_ctx_get(actx->private_data));
3628   /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG CapabilityIdentifier: %s", gef_ctx_get(actx->private_data)->key);*/
3629   gefx = gef_ctx_get(actx->private_data);
3630   if (gefx) {
3631     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3632     actx->pinfo->private_data = actx;
3633     dissector_try_string(gef_name_dissector_table, gefx->key, tvb_new_subset(tvb, offset>>3, 0, 0), actx->pinfo, tree);
3634   }
3635   actx->private_data = gefx;  /* subdissector could overwrite it */
3636
3637   return offset;
3638 }
3639
3640
3641
3642 static int
3643 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_) {
3644   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3645                                                             0U, 4294967295U, NULL, FALSE);
3646
3647   return offset;
3648 }
3649
3650
3651
3652 static int
3653 dissect_h245_T_standard(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3654 #line 761 "../../asn1/h245/h245.cnf"
3655   guint32 value_int = (guint32)-1;
3656   gef_ctx_t *gefx;
3657
3658   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3659                                                             0U, 127U, &value_int, FALSE);
3660
3661   gefx = gef_ctx_get(actx->private_data);
3662   if (gefx) gefx->id = ep_strdup_printf("%d", value_int);
3663
3664
3665   return offset;
3666 }
3667
3668
3669 static const value_string h245_ParameterIdentifier_vals[] = {
3670   {   0, "standard" },
3671   {   1, "h221NonStandard" },
3672   {   2, "uuid" },
3673   {   3, "domainBased" },
3674   { 0, NULL }
3675 };
3676
3677 static const per_choice_t ParameterIdentifier_choice[] = {
3678   {   0, &hf_h245_standard       , ASN1_EXTENSION_ROOT    , dissect_h245_T_standard },
3679   {   1, &hf_h245_h221NonStandard, ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
3680   {   2, &hf_h245_uuid           , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_16 },
3681   {   3, &hf_h245_domainBased    , ASN1_EXTENSION_ROOT    , dissect_h245_IA5String_SIZE_1_64 },
3682   { 0, NULL, 0, NULL }
3683 };
3684
3685 static int
3686 dissect_h245_ParameterIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3687 #line 747 "../../asn1/h245/h245.cnf"
3688   gef_ctx_t *gefx;
3689
3690   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3691                                  ett_h245_ParameterIdentifier, ParameterIdentifier_choice,
3692                                  NULL);
3693
3694 #line 749 "../../asn1/h245/h245.cnf"
3695   gef_ctx_update_key(gef_ctx_get(actx->private_data));
3696   /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG ParameterIdentifier: %s", gef_ctx_get(actx->private_data)->key);*/
3697   gefx = gef_ctx_get(actx->private_data);
3698   if (gefx) {
3699     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3700     actx->pinfo->private_data = actx;
3701     dissector_try_string(gef_name_dissector_table, gefx->key, tvb_new_subset(tvb, offset>>3, 0, 0), actx->pinfo, tree);
3702   }
3703   actx->private_data = gefx;  /* subdissector could overwrite it */
3704
3705   return offset;
3706 }
3707
3708
3709
3710 static int
3711 dissect_h245_T_booleanArray(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3712 #line 770 "../../asn1/h245/h245.cnf"
3713   guint32 value;
3714   guint8 *buf;
3715   tvbuff_t *value_tvb;
3716   gef_ctx_t *gefx;
3717
3718   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3719                                                             0U, 255U, &value, FALSE);
3720
3721   gefx = gef_ctx_get(actx->private_data);
3722   if (gefx) {
3723     buf = ep_alloc(sizeof(guint8));
3724     buf[0] = value;
3725     value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint8), sizeof(guint8));
3726     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3727     add_new_data_source(actx->pinfo, value_tvb, "booleanArray");
3728     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3729   }
3730
3731
3732   return offset;
3733 }
3734
3735
3736
3737 static int
3738 dissect_h245_T_unsignedMin(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3739 #line 787 "../../asn1/h245/h245.cnf"
3740   guint32 value;
3741   guint8 *buf;
3742   tvbuff_t *value_tvb;
3743   gef_ctx_t *gefx;
3744
3745   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3746                                                             0U, 65535U, &value, FALSE);
3747
3748   gefx = gef_ctx_get(actx->private_data);
3749   if (gefx) {
3750     buf = ep_alloc(sizeof(guint16));
3751     phtons(buf, value);
3752     value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint16), sizeof(guint16));
3753     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3754     add_new_data_source(actx->pinfo, value_tvb, "unsignedMin");
3755     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3756   }
3757
3758
3759   return offset;
3760 }
3761
3762
3763
3764 static int
3765 dissect_h245_T_unsignedMax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3766 #line 804 "../../asn1/h245/h245.cnf"
3767   guint32 value;
3768   guint8 *buf;
3769   tvbuff_t *value_tvb;
3770   gef_ctx_t *gefx;
3771
3772   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3773                                                             0U, 65535U, &value, FALSE);
3774
3775   gefx = gef_ctx_get(actx->private_data);
3776   if (gefx) {
3777     buf = ep_alloc(sizeof(guint16));
3778     phtons(buf, value);
3779     value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint16), sizeof(guint16));
3780     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3781     add_new_data_source(actx->pinfo, value_tvb, "unsignedMax");
3782     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3783   }
3784
3785
3786   return offset;
3787 }
3788
3789
3790
3791 static int
3792 dissect_h245_T_unsigned32Min(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3793 #line 821 "../../asn1/h245/h245.cnf"
3794   guint32 value;
3795   guint8 *buf;
3796   tvbuff_t *value_tvb;
3797   gef_ctx_t *gefx;
3798
3799   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3800                                                             0U, 4294967295U, &value, FALSE);
3801
3802   gefx = gef_ctx_get(actx->private_data);
3803   if (gefx) {
3804     buf = ep_alloc(sizeof(guint32));
3805     phtonl(buf, value);
3806     value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint32), sizeof(guint32));
3807     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3808     add_new_data_source(actx->pinfo, value_tvb, "unsigned32Min");
3809     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3810   }
3811
3812
3813   return offset;
3814 }
3815
3816
3817
3818 static int
3819 dissect_h245_T_unsigned32Max(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3820 #line 838 "../../asn1/h245/h245.cnf"
3821   guint32 value;
3822   guint8 *buf;
3823   tvbuff_t *value_tvb;
3824   gef_ctx_t *gefx;
3825
3826   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3827                                                             0U, 4294967295U, &value, FALSE);
3828
3829   gefx = gef_ctx_get(actx->private_data);
3830   if (gefx) {
3831     buf = ep_alloc(sizeof(guint32));
3832     phtonl(buf, value);
3833     value_tvb = tvb_new_child_real_data(tvb, buf, sizeof(guint32), sizeof(guint32));
3834     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3835     add_new_data_source(actx->pinfo, value_tvb, "unsigned32Max");
3836     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3837   }
3838
3839
3840   return offset;
3841 }
3842
3843
3844
3845 static int
3846 dissect_h245_T_octetString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3847 #line 855 "../../asn1/h245/h245.cnf"
3848   tvbuff_t *value_tvb;
3849   gef_ctx_t *gefx;
3850
3851   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3852                                        NO_BOUND, NO_BOUND, FALSE, &value_tvb);
3853
3854   gefx = gef_ctx_get(actx->private_data);
3855   if (gefx) {
3856     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
3857     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
3858   }
3859
3860
3861   return offset;
3862 }
3863
3864
3865 static const per_sequence_t SEQUENCE_OF_GenericParameter_sequence_of[1] = {
3866   { &hf_h245_genericParameters_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_GenericParameter },
3867 };
3868
3869 static int
3870 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_) {
3871   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3872                                       ett_h245_SEQUENCE_OF_GenericParameter, SEQUENCE_OF_GenericParameter_sequence_of);
3873
3874   return offset;
3875 }
3876
3877
3878 static const value_string h245_ParameterValue_vals[] = {
3879   {   0, "logical" },
3880   {   1, "booleanArray" },
3881   {   2, "unsignedMin" },
3882   {   3, "unsignedMax" },
3883   {   4, "unsigned32Min" },
3884   {   5, "unsigned32Max" },
3885   {   6, "octetString" },
3886   {   7, "genericParameter" },
3887   { 0, NULL }
3888 };
3889
3890 static const per_choice_t ParameterValue_choice[] = {
3891   {   0, &hf_h245_logical        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
3892   {   1, &hf_h245_booleanArray   , ASN1_EXTENSION_ROOT    , dissect_h245_T_booleanArray },
3893   {   2, &hf_h245_unsignedMin    , ASN1_EXTENSION_ROOT    , dissect_h245_T_unsignedMin },
3894   {   3, &hf_h245_unsignedMax    , ASN1_EXTENSION_ROOT    , dissect_h245_T_unsignedMax },
3895   {   4, &hf_h245_unsigned32Min  , ASN1_EXTENSION_ROOT    , dissect_h245_T_unsigned32Min },
3896   {   5, &hf_h245_unsigned32Max  , ASN1_EXTENSION_ROOT    , dissect_h245_T_unsigned32Max },
3897   {   6, &hf_h245_octetString    , ASN1_EXTENSION_ROOT    , dissect_h245_T_octetString },
3898   {   7, &hf_h245_genericParameters, ASN1_EXTENSION_ROOT    , dissect_h245_SEQUENCE_OF_GenericParameter },
3899   { 0, NULL, 0, NULL }
3900 };
3901
3902 static int
3903 dissect_h245_ParameterValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3904   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3905                                  ett_h245_ParameterValue, ParameterValue_choice,
3906                                  NULL);
3907
3908   return offset;
3909 }
3910
3911
3912 static const per_sequence_t SEQUENCE_OF_ParameterIdentifier_sequence_of[1] = {
3913   { &hf_h245_supersedes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ParameterIdentifier },
3914 };
3915
3916 static int
3917 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_) {
3918   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3919                                       ett_h245_SEQUENCE_OF_ParameterIdentifier, SEQUENCE_OF_ParameterIdentifier_sequence_of);
3920
3921   return offset;
3922 }
3923
3924
3925 static const per_sequence_t GenericParameter_sequence[] = {
3926   { &hf_h245_parameterIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ParameterIdentifier },
3927   { &hf_h245_parameterValue , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ParameterValue },
3928   { &hf_h245_supersedes     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_ParameterIdentifier },
3929   { NULL, 0, 0, NULL }
3930 };
3931
3932 static int
3933 dissect_h245_GenericParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3934   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3935                                    ett_h245_GenericParameter, GenericParameter_sequence);
3936
3937   return offset;
3938 }
3939
3940
3941
3942 static int
3943 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_) {
3944 #line 672 "../../asn1/h245/h245.cnf"
3945   gef_ctx_t *parent_gefx;
3946
3947   parent_gefx = gef_ctx_get(actx->private_data);
3948   actx->private_data = gef_ctx_alloc(parent_gefx, "collapsing");
3949
3950   offset = dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_index);
3951
3952 #line 677 "../../asn1/h245/h245.cnf"
3953   actx->private_data = parent_gefx;
3954
3955   return offset;
3956 }
3957
3958
3959 static const per_sequence_t T_collapsing_sequence_of[1] = {
3960   { &hf_h245_collapsing_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_collapsing_item },
3961 };
3962
3963 static int
3964 dissect_h245_T_collapsing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3965   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3966                                       ett_h245_T_collapsing, T_collapsing_sequence_of);
3967
3968   return offset;
3969 }
3970
3971
3972
3973 static int
3974 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_) {
3975 #line 681 "../../asn1/h245/h245.cnf"
3976   gef_ctx_t *parent_gefx;
3977
3978   parent_gefx = gef_ctx_get(actx->private_data);
3979   actx->private_data = gef_ctx_alloc(parent_gefx, "nonCollapsing");
3980
3981   offset = dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_index);
3982
3983 #line 686 "../../asn1/h245/h245.cnf"
3984   actx->private_data = parent_gefx;
3985
3986   return offset;
3987 }
3988
3989
3990 static const per_sequence_t T_nonCollapsing_sequence_of[1] = {
3991   { &hf_h245_nonCollapsing_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_nonCollapsing_item },
3992 };
3993
3994 static int
3995 dissect_h245_T_nonCollapsing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3996   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
3997                                       ett_h245_T_nonCollapsing, T_nonCollapsing_sequence_of);
3998
3999   return offset;
4000 }
4001
4002
4003
4004 static int
4005 dissect_h245_T_nonCollapsingRaw(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4006 #line 690 "../../asn1/h245/h245.cnf"
4007   tvbuff_t *value_tvb;
4008   gef_ctx_t *parent_gefx;
4009   gef_ctx_t *gefx;
4010
4011   parent_gefx = gef_ctx_get(actx->private_data);
4012   actx->private_data = gef_ctx_alloc(parent_gefx, "nonCollapsingRaw");
4013   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4014                                        NO_BOUND, NO_BOUND, FALSE, &value_tvb);
4015
4016   gefx = gef_ctx_get(actx->private_data);
4017   if (gefx) {
4018     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG dissector_try_string: %s", gefx->key);*/
4019     actx->pinfo->private_data = actx;
4020     dissector_try_string(gef_content_dissector_table, gefx->key, value_tvb, actx->pinfo, tree);
4021   }
4022   actx->private_data = parent_gefx;
4023
4024
4025   return offset;
4026 }
4027
4028
4029 static const per_sequence_t GenericCapability_sequence[] = {
4030   { &hf_h245_capabilityIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityIdentifier },
4031   { &hf_h245_maxBitRate2_0_4294967295, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
4032   { &hf_h245_collapsing     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_collapsing },
4033   { &hf_h245_nonCollapsing  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_nonCollapsing },
4034   { &hf_h245_nonCollapsingRaw, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_nonCollapsingRaw },
4035   { &hf_h245_transport      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_DataProtocolCapability },
4036   { NULL, 0, 0, NULL }
4037 };
4038
4039 static int
4040 dissect_h245_GenericCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4041 #line 665 "../../asn1/h245/h245.cnf"
4042   void *priv_data = actx->private_data;
4043   actx->private_data = gef_ctx_alloc(NULL, "GenericCapability");
4044
4045   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4046                                    ett_h245_GenericCapability, GenericCapability_sequence);
4047
4048 #line 668 "../../asn1/h245/h245.cnf"
4049   actx->private_data = priv_data;
4050
4051   return offset;
4052 }
4053
4054
4055 static const value_string h245_Application_vals[] = {
4056   {   0, "nonStandard" },
4057   {   1, "t120" },
4058   {   2, "dsm-cc" },
4059   {   3, "userData" },
4060   {   4, "t84" },
4061   {   5, "t434" },
4062   {   6, "h224" },
4063   {   7, "nlpid" },
4064   {   8, "dsvdControl" },
4065   {   9, "h222DataPartitioning" },
4066   {  10, "t30fax" },
4067   {  11, "t140" },
4068   {  12, "t38fax" },
4069   {  13, "genericDataCapability" },
4070   { 0, NULL }
4071 };
4072
4073 static const per_choice_t Application_choice[] = {
4074   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4075   {   1, &hf_h245_t120           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4076   {   2, &hf_h245_dsm_cc         , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4077   {   3, &hf_h245_userData       , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4078   {   4, &hf_h245_t84            , ASN1_EXTENSION_ROOT    , dissect_h245_T_t84 },
4079   {   5, &hf_h245_t434           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4080   {   6, &hf_h245_h224           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4081   {   7, &hf_h245_nlpid          , ASN1_EXTENSION_ROOT    , dissect_h245_Nlpid },
4082   {   8, &hf_h245_dsvdControl    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4083   {   9, &hf_h245_h222DataPartitioning, ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
4084   {  10, &hf_h245_t30fax         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
4085   {  11, &hf_h245_t140           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
4086   {  12, &hf_h245_t38fax         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_t38fax },
4087   {  13, &hf_h245_genericDataCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
4088   { 0, NULL, 0, NULL }
4089 };
4090
4091 static int
4092 dissect_h245_Application(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4093 #line 503 "../../asn1/h245/h245.cnf"
4094   gint32 value;
4095
4096   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4097                                  ett_h245_Application, Application_choice,
4098                                  &value);
4099
4100         codec_type = val_to_str(value, h245_Application_vals, "<unknown>");
4101
4102
4103   return offset;
4104 }
4105
4106
4107 static const per_sequence_t DataApplicationCapability_sequence[] = {
4108   { &hf_h245_application    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Application },
4109   { &hf_h245_maxBitRate2_0_4294967295, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
4110   { NULL, 0, 0, NULL }
4111 };
4112
4113 static int
4114 dissect_h245_DataApplicationCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4115   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4116                                    ett_h245_DataApplicationCapability, DataApplicationCapability_sequence);
4117
4118   return offset;
4119 }
4120
4121
4122 static const per_sequence_t SEQUENCE_OF_DataApplicationCapability_sequence_of[1] = {
4123   { &hf_h245_centralizedData_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataApplicationCapability },
4124 };
4125
4126 static int
4127 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_) {
4128   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4129                                       ett_h245_SEQUENCE_OF_DataApplicationCapability, SEQUENCE_OF_DataApplicationCapability_sequence_of);
4130
4131   return offset;
4132 }
4133
4134
4135 static const per_sequence_t MediaDistributionCapability_sequence[] = {
4136   { &hf_h245_centralizedControl, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4137   { &hf_h245_distributedControl, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4138   { &hf_h245_centralizedAudio, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4139   { &hf_h245_distributedAudio, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4140   { &hf_h245_centralizedVideo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4141   { &hf_h245_distributedVideo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4142   { &hf_h245_centralizedData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_DataApplicationCapability },
4143   { &hf_h245_distributedData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_DataApplicationCapability },
4144   { NULL, 0, 0, NULL }
4145 };
4146
4147 static int
4148 dissect_h245_MediaDistributionCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4149   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4150                                    ett_h245_MediaDistributionCapability, MediaDistributionCapability_sequence);
4151
4152   return offset;
4153 }
4154
4155
4156 static const per_sequence_t SEQUENCE_OF_MediaDistributionCapability_sequence_of[1] = {
4157   { &hf_h245_mediaDistributionCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MediaDistributionCapability },
4158 };
4159
4160 static int
4161 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_) {
4162   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
4163                                       ett_h245_SEQUENCE_OF_MediaDistributionCapability, SEQUENCE_OF_MediaDistributionCapability_sequence_of);
4164
4165   return offset;
4166 }
4167
4168
4169 static const per_sequence_t MultipointCapability_sequence[] = {
4170   { &hf_h245_multicastCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4171   { &hf_h245_multiUniCastConference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4172   { &hf_h245_mediaDistributionCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_MediaDistributionCapability },
4173   { NULL, 0, 0, NULL }
4174 };
4175
4176 static int
4177 dissect_h245_MultipointCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4178   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4179                                    ett_h245_MultipointCapability, MultipointCapability_sequence);
4180
4181   return offset;
4182 }
4183
4184
4185 static const per_sequence_t T_mcCapability_sequence[] = {
4186   { &hf_h245_centralizedConferenceMC, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4187   { &hf_h245_decentralizedConferenceMC, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4188   { NULL, 0, 0, NULL }
4189 };
4190
4191 static int
4192 dissect_h245_T_mcCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4193   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4194                                    ett_h245_T_mcCapability, T_mcCapability_sequence);
4195
4196   return offset;
4197 }
4198
4199
4200
4201 static int
4202 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_) {
4203   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4204                                                             1U, 32768U, &rfc_number, TRUE);
4205
4206   return offset;
4207 }
4208
4209
4210 static const value_string h245_T_payloadDescriptor_vals[] = {
4211   {   0, "nonStandardIdentifier" },
4212   {   1, "rfc-number" },
4213   {   2, "oid" },
4214   { 0, NULL }
4215 };
4216
4217 static const per_choice_t T_payloadDescriptor_choice[] = {
4218   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4219   {   1, &hf_h245_rfc_number     , ASN1_EXTENSION_ROOT    , dissect_h245_T_rfc_number },
4220   {   2, &hf_h245_oid            , ASN1_EXTENSION_ROOT    , dissect_h245_OBJECT_IDENTIFIER },
4221   { 0, NULL, 0, NULL }
4222 };
4223
4224 static int
4225 dissect_h245_T_payloadDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4226   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4227                                  ett_h245_T_payloadDescriptor, T_payloadDescriptor_choice,
4228                                  NULL);
4229
4230   return offset;
4231 }
4232
4233
4234
4235 static int
4236 dissect_h245_T_rtpPayloadType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4237 #line 936 "../../asn1/h245/h245.cnf"
4238   unsigned int pt;
4239
4240   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4241                                                             0U, 127U, &pt, FALSE);
4242
4243
4244   if ((rfc_number == 2198) && upcoming_channel) {
4245     upcoming_channel->rfc2198 = pt;
4246   }
4247
4248
4249   return offset;
4250 }
4251
4252
4253 static const per_sequence_t RTPPayloadType_sequence[] = {
4254   { &hf_h245_payloadDescriptor, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_payloadDescriptor },
4255   { &hf_h245_rtpPayloadType_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_rtpPayloadType },
4256   { NULL, 0, 0, NULL }
4257 };
4258
4259 static int
4260 dissect_h245_RTPPayloadType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4261 #line 928 "../../asn1/h245/h245.cnf"
4262   rfc_number = 0;
4263
4264   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4265                                    ett_h245_RTPPayloadType, RTPPayloadType_sequence);
4266
4267   return offset;
4268 }
4269
4270
4271 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_RTPPayloadType_sequence_of[1] = {
4272   { &hf_h245_rtpPayloadTypes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RTPPayloadType },
4273 };
4274
4275 static int
4276 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_) {
4277   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4278                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType, SEQUENCE_SIZE_1_256_OF_RTPPayloadType_sequence_of,
4279                                                   1, 256, FALSE);
4280
4281   return offset;
4282 }
4283
4284
4285 static const per_sequence_t MediaPacketizationCapability_sequence[] = {
4286   { &hf_h245_h261aVideoPacketization, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4287   { &hf_h245_rtpPayloadTypes, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType },
4288   { NULL, 0, 0, NULL }
4289 };
4290
4291 static int
4292 dissect_h245_MediaPacketizationCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4293   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4294                                    ett_h245_MediaPacketizationCapability, MediaPacketizationCapability_sequence);
4295
4296   return offset;
4297 }
4298
4299
4300 static const value_string h245_QOSMode_vals[] = {
4301   {   0, "guaranteedQOS" },
4302   {   1, "controlledLoad" },
4303   { 0, NULL }
4304 };
4305
4306 static const per_choice_t QOSMode_choice[] = {
4307   {   0, &hf_h245_guaranteedQOS  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4308   {   1, &hf_h245_controlledLoad , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4309   { 0, NULL, 0, NULL }
4310 };
4311
4312 static int
4313 dissect_h245_QOSMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4314   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4315                                  ett_h245_QOSMode, QOSMode_choice,
4316                                  NULL);
4317
4318   return offset;
4319 }
4320
4321
4322
4323 static int
4324 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_) {
4325   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4326                                                             1U, 4294967295U, NULL, FALSE);
4327
4328   return offset;
4329 }
4330
4331
4332 static const per_sequence_t RSVPParameters_sequence[] = {
4333   { &hf_h245_qosMode        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_QOSMode },
4334   { &hf_h245_tokenRate      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4335   { &hf_h245_bucketSize     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4336   { &hf_h245_peakRate       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4337   { &hf_h245_minPoliced     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4338   { &hf_h245_maxPktSize     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4339   { NULL, 0, 0, NULL }
4340 };
4341
4342 static int
4343 dissect_h245_RSVPParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4344   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4345                                    ett_h245_RSVPParameters, RSVPParameters_sequence);
4346
4347   return offset;
4348 }
4349
4350
4351 static const per_sequence_t ATMParameters_sequence[] = {
4352   { &hf_h245_maxNTUSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
4353   { &hf_h245_atmUBR         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4354   { &hf_h245_atmrtVBR       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4355   { &hf_h245_atmnrtVBR      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4356   { &hf_h245_atmABR         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4357   { &hf_h245_atmCBR         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4358   { NULL, 0, 0, NULL }
4359 };
4360
4361 static int
4362 dissect_h245_ATMParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4363   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4364                                    ett_h245_ATMParameters, ATMParameters_sequence);
4365
4366   return offset;
4367 }
4368
4369
4370 static const per_sequence_t GenericTransportParameters_sequence[] = {
4371   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4372   { &hf_h245_averageRate    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4373   { &hf_h245_burst          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4374   { &hf_h245_peakRate       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4375   { &hf_h245_maxPktSize     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
4376   { NULL, 0, 0, NULL }
4377 };
4378
4379 static int
4380 dissect_h245_GenericTransportParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4381   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4382                                    ett_h245_GenericTransportParameters, GenericTransportParameters_sequence);
4383
4384   return offset;
4385 }
4386
4387
4388 static const per_sequence_t ServicePriorityValue_sequence[] = {
4389   { &hf_h245_nonStandardParameter, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4390   { &hf_h245_value          , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
4391   { NULL, 0, 0, NULL }
4392 };
4393
4394 static int
4395 dissect_h245_ServicePriorityValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4396   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4397                                    ett_h245_ServicePriorityValue, ServicePriorityValue_sequence);
4398
4399   return offset;
4400 }
4401
4402
4403
4404 static int
4405 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_) {
4406   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4407                                                             0U, 4095U, NULL, FALSE);
4408
4409   return offset;
4410 }
4411
4412
4413 static const per_sequence_t ServicePriority_sequence[] = {
4414   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4415   { &hf_h245_servicePrioritySignalled, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4416   { &hf_h245_servicePriorityValue, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_ServicePriorityValue },
4417   { &hf_h245_serviceClass   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4095 },
4418   { &hf_h245_serviceSubclass, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_255 },
4419   { NULL, 0, 0, NULL }
4420 };
4421
4422 static int
4423 dissect_h245_ServicePriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4424   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4425                                    ett_h245_ServicePriority, ServicePriority_sequence);
4426
4427   return offset;
4428 }
4429
4430
4431 static const per_sequence_t AuthorizationParameters_sequence[] = {
4432   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4433   { NULL, 0, 0, NULL }
4434 };
4435
4436 static int
4437 dissect_h245_AuthorizationParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4438   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4439                                    ett_h245_AuthorizationParameters, AuthorizationParameters_sequence);
4440
4441   return offset;
4442 }
4443
4444
4445 static const value_string h245_QOSType_vals[] = {
4446   {   0, "desired" },
4447   {   1, "required" },
4448   { 0, NULL }
4449 };
4450
4451 static const per_choice_t QOSType_choice[] = {
4452   {   0, &hf_h245_desired        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4453   {   1, &hf_h245_required       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4454   { 0, NULL, 0, NULL }
4455 };
4456
4457 static int
4458 dissect_h245_QOSType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4459   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4460                                  ett_h245_QOSType, QOSType_choice,
4461                                  NULL);
4462
4463   return offset;
4464 }
4465
4466
4467 static const value_string h245_QOSClass_vals[] = {
4468   {   0, "class0" },
4469   {   1, "class1" },
4470   {   2, "class2" },
4471   {   3, "class3" },
4472   {   4, "class4" },
4473   {   5, "class5" },
4474   { 0, NULL }
4475 };
4476
4477 static const per_choice_t QOSClass_choice[] = {
4478   {   0, &hf_h245_class0         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4479   {   1, &hf_h245_class1         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4480   {   2, &hf_h245_class2         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4481   {   3, &hf_h245_class3         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4482   {   4, &hf_h245_class4         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4483   {   5, &hf_h245_class5         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4484   { 0, NULL, 0, NULL }
4485 };
4486
4487 static int
4488 dissect_h245_QOSClass(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4489   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4490                                  ett_h245_QOSClass, QOSClass_choice,
4491                                  NULL);
4492
4493   return offset;
4494 }
4495
4496
4497 static const per_sequence_t QOSDescriptor_sequence[] = {
4498   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4499   { &hf_h245_qosType        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_QOSType },
4500   { &hf_h245_qosClass       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_QOSClass },
4501   { NULL, 0, 0, NULL }
4502 };
4503
4504 static int
4505 dissect_h245_QOSDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4506   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4507                                    ett_h245_QOSDescriptor, QOSDescriptor_sequence);
4508
4509   return offset;
4510 }
4511
4512
4513
4514 static int
4515 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_) {
4516   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4517                                                             0U, 63U, NULL, FALSE);
4518
4519   return offset;
4520 }
4521
4522
4523 static const per_sequence_t QOSCapability_sequence[] = {
4524   { &hf_h245_nonStandardData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4525   { &hf_h245_rsvpParameters , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RSVPParameters },
4526   { &hf_h245_atmParameters  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_ATMParameters },
4527   { &hf_h245_localQoS       , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
4528   { &hf_h245_genericTransportParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericTransportParameters },
4529   { &hf_h245_servicePriority, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_ServicePriority },
4530   { &hf_h245_authorizationParameter, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_AuthorizationParameters },
4531   { &hf_h245_qosDescriptor  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_QOSDescriptor },
4532   { &hf_h245_dscpValue      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_63 },
4533   { NULL, 0, 0, NULL }
4534 };
4535
4536 int
4537 dissect_h245_QOSCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4538   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4539                                    ett_h245_QOSCapability, QOSCapability_sequence);
4540
4541   return offset;
4542 }
4543
4544
4545 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_QOSCapability_sequence_of[1] = {
4546   { &hf_h245_qOSCapabilities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_QOSCapability },
4547 };
4548
4549 static int
4550 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_) {
4551   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4552                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability, SEQUENCE_SIZE_1_256_OF_QOSCapability_sequence_of,
4553                                                   1, 256, FALSE);
4554
4555   return offset;
4556 }
4557
4558
4559 static const per_sequence_t T_atm_AAL5_compressed_sequence[] = {
4560   { &hf_h245_variable_delta , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4561   { NULL, 0, 0, NULL }
4562 };
4563
4564 static int
4565 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_) {
4566   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4567                                    ett_h245_T_atm_AAL5_compressed, T_atm_AAL5_compressed_sequence);
4568
4569   return offset;
4570 }
4571
4572
4573 static const value_string h245_MediaTransportType_vals[] = {
4574   {   0, "ip-UDP" },
4575   {   1, "ip-TCP" },
4576   {   2, "atm-AAL5-UNIDIR" },
4577   {   3, "atm-AAL5-BIDIR" },
4578   {   4, "atm-AAL5-compressed" },
4579   { 0, NULL }
4580 };
4581
4582 static const per_choice_t MediaTransportType_choice[] = {
4583   {   0, &hf_h245_ip_UDP         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4584   {   1, &hf_h245_ip_TCP         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4585   {   2, &hf_h245_atm_AAL5_UNIDIR, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4586   {   3, &hf_h245_atm_AAL5_BIDIR , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4587   {   4, &hf_h245_atm_AAL5_compressed, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_atm_AAL5_compressed },
4588   { 0, NULL, 0, NULL }
4589 };
4590
4591 static int
4592 dissect_h245_MediaTransportType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4593   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4594                                  ett_h245_MediaTransportType, MediaTransportType_choice,
4595                                  NULL);
4596
4597   return offset;
4598 }
4599
4600
4601 static const per_sequence_t MediaChannelCapability_sequence[] = {
4602   { &hf_h245_mediaTransport , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MediaTransportType },
4603   { NULL, 0, 0, NULL }
4604 };
4605
4606 static int
4607 dissect_h245_MediaChannelCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4608   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4609                                    ett_h245_MediaChannelCapability, MediaChannelCapability_sequence);
4610
4611   return offset;
4612 }
4613
4614
4615 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_MediaChannelCapability_sequence_of[1] = {
4616   { &hf_h245_mediaChannelCapabilities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MediaChannelCapability },
4617 };
4618
4619 static int
4620 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_) {
4621   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4622                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability, SEQUENCE_SIZE_1_256_OF_MediaChannelCapability_sequence_of,
4623                                                   1, 256, FALSE);
4624
4625   return offset;
4626 }
4627
4628
4629 static const per_sequence_t TransportCapability_sequence[] = {
4630   { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
4631   { &hf_h245_qOSCapabilities, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability },
4632   { &hf_h245_mediaChannelCapabilities, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability },
4633   { NULL, 0, 0, NULL }
4634 };
4635
4636 static int
4637 dissect_h245_TransportCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4638   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4639                                    ett_h245_TransportCapability, TransportCapability_sequence);
4640
4641   return offset;
4642 }
4643
4644
4645
4646 static int
4647 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_) {
4648   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4649                                                             1U, 16U, NULL, FALSE);
4650
4651   return offset;
4652 }
4653
4654
4655
4656 static int
4657 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_) {
4658   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4659                                                             0U, 15U, NULL, FALSE);
4660
4661   return offset;
4662 }
4663
4664
4665 static const per_sequence_t T_frameSequence_sequence_of[1] = {
4666   { &hf_h245_frameSequence_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
4667 };
4668
4669 static int
4670 dissect_h245_T_frameSequence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4671   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4672                                                   ett_h245_T_frameSequence, T_frameSequence_sequence_of,
4673                                                   1, 256, FALSE);
4674
4675   return offset;
4676 }
4677
4678
4679 static const per_sequence_t RTPH263VideoRedundancyFrameMapping_sequence[] = {
4680   { &hf_h245_threadNumber   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_15 },
4681   { &hf_h245_frameSequence  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_frameSequence },
4682   { NULL, 0, 0, NULL }
4683 };
4684
4685 static int
4686 dissect_h245_RTPH263VideoRedundancyFrameMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4687   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4688                                    ett_h245_RTPH263VideoRedundancyFrameMapping, RTPH263VideoRedundancyFrameMapping_sequence);
4689
4690   return offset;
4691 }
4692
4693
4694 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping_sequence_of[1] = {
4695   { &hf_h245_custom_item    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RTPH263VideoRedundancyFrameMapping },
4696 };
4697
4698 static int
4699 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_) {
4700   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4701                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping, SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping_sequence_of,
4702                                                   1, 256, FALSE);
4703
4704   return offset;
4705 }
4706
4707
4708 static const value_string h245_T_frameToThreadMapping_vals[] = {
4709   {   0, "roundrobin" },
4710   {   1, "custom" },
4711   { 0, NULL }
4712 };
4713
4714 static const per_choice_t T_frameToThreadMapping_choice[] = {
4715   {   0, &hf_h245_roundrobin     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4716   {   1, &hf_h245_custom         , ASN1_EXTENSION_ROOT    , dissect_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping },
4717   { 0, NULL, 0, NULL }
4718 };
4719
4720 static int
4721 dissect_h245_T_frameToThreadMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4722   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4723                                  ett_h245_T_frameToThreadMapping, T_frameToThreadMapping_choice,
4724                                  NULL);
4725
4726   return offset;
4727 }
4728
4729
4730 static const per_sequence_t T_containedThreads_sequence_of[1] = {
4731   { &hf_h245_containedThreads_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_15 },
4732 };
4733
4734 static int
4735 dissect_h245_T_containedThreads(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4736   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4737                                                   ett_h245_T_containedThreads, T_containedThreads_sequence_of,
4738                                                   1, 256, FALSE);
4739
4740   return offset;
4741 }
4742
4743
4744 static const per_sequence_t RTPH263VideoRedundancyEncoding_sequence[] = {
4745   { &hf_h245_numberOfThreads, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_16 },
4746   { &hf_h245_framesBetweenSyncPoints, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
4747   { &hf_h245_frameToThreadMapping, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_frameToThreadMapping },
4748   { &hf_h245_containedThreads, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_containedThreads },
4749   { NULL, 0, 0, NULL }
4750 };
4751
4752 static int
4753 dissect_h245_RTPH263VideoRedundancyEncoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4754   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4755                                    ett_h245_RTPH263VideoRedundancyEncoding, RTPH263VideoRedundancyEncoding_sequence);
4756
4757   return offset;
4758 }
4759
4760
4761 static const value_string h245_RedundancyEncodingMethod_vals[] = {
4762   {   0, "nonStandard" },
4763   {   1, "rtpAudioRedundancyEncoding" },
4764   {   2, "rtpH263VideoRedundancyEncoding" },
4765   { 0, NULL }
4766 };
4767
4768 static const per_choice_t RedundancyEncodingMethod_choice[] = {
4769   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4770   {   1, &hf_h245_rtpAudioRedundancyEncoding, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
4771   {   2, &hf_h245_rtpH263VideoRedundancyEncoding, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RTPH263VideoRedundancyEncoding },
4772   { 0, NULL, 0, NULL }
4773 };
4774
4775 static int
4776 dissect_h245_RedundancyEncodingMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4777   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4778                                  ett_h245_RedundancyEncodingMethod, RedundancyEncodingMethod_choice,
4779                                  NULL);
4780
4781   return offset;
4782 }
4783
4784
4785
4786 static int
4787 dissect_h245_CapabilityTableEntryNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4788   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4789                                                             1U, 65535U, NULL, FALSE);
4790
4791   return offset;
4792 }
4793
4794
4795 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber_sequence_of[1] = {
4796   { &hf_h245_secondaryEncodingCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
4797 };
4798
4799 static int
4800 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_) {
4801   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4802                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber, SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber_sequence_of,
4803                                                   1, 256, FALSE);
4804
4805   return offset;
4806 }
4807
4808
4809 static const per_sequence_t RedundancyEncodingCapability_sequence[] = {
4810   { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
4811   { &hf_h245_primaryEncoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
4812   { &hf_h245_secondaryEncodingCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber },
4813   { NULL, 0, 0, NULL }
4814 };
4815
4816 static int
4817 dissect_h245_RedundancyEncodingCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4818   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4819                                    ett_h245_RedundancyEncodingCapability, RedundancyEncodingCapability_sequence);
4820
4821   return offset;
4822 }
4823
4824
4825 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability_sequence_of[1] = {
4826   { &hf_h245_redundancyEncodingCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingCapability },
4827 };
4828
4829 static int
4830 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_) {
4831   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4832                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability, SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability_sequence_of,
4833                                                   1, 256, FALSE);
4834
4835   return offset;
4836 }
4837
4838
4839 static const per_sequence_t H2250Capability_sequence[] = {
4840   { &hf_h245_maximumAudioDelayJitter, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_1023 },
4841   { &hf_h245_receiveMultipointCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultipointCapability },
4842   { &hf_h245_transmitMultipointCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultipointCapability },
4843   { &hf_h245_receiveAndTransmitMultipointCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultipointCapability },
4844   { &hf_h245_mcCapability   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mcCapability },
4845   { &hf_h245_rtcpVideoControlCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4846   { &hf_h245_mediaPacketizationCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MediaPacketizationCapability },
4847   { &hf_h245_transportCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TransportCapability },
4848   { &hf_h245_redundancyEncodingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability },
4849   { &hf_h245_logicalChannelSwitchingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4850   { &hf_h245_t120DynamicPortCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4851   { NULL, 0, 0, NULL }
4852 };
4853
4854 static int
4855 dissect_h245_H2250Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4856   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4857                                    ett_h245_H2250Capability, H2250Capability_sequence);
4858
4859   return offset;
4860 }
4861
4862
4863 static const value_string h245_MultiplexCapability_vals[] = {
4864   {   0, "nonStandard" },
4865   {   1, "h222Capability" },
4866   {   2, "h223Capability" },
4867   {   3, "v76Capability" },
4868   {   4, "h2250Capability" },
4869   {   5, "genericMultiplexCapability" },
4870   { 0, NULL }
4871 };
4872
4873 static const per_choice_t MultiplexCapability_choice[] = {
4874   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
4875   {   1, &hf_h245_h222Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H222Capability },
4876   {   2, &hf_h245_h223Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H223Capability },
4877   {   3, &hf_h245_v76Capability  , ASN1_EXTENSION_ROOT    , dissect_h245_V76Capability },
4878   {   4, &hf_h245_h2250Capability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250Capability },
4879   {   5, &hf_h245_genericMultiplexCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
4880   { 0, NULL, 0, NULL }
4881 };
4882
4883 static int
4884 dissect_h245_MultiplexCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4885   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4886                                  ett_h245_MultiplexCapability, MultiplexCapability_choice,
4887                                  NULL);
4888
4889   return offset;
4890 }
4891
4892
4893
4894 static int
4895 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_) {
4896   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4897                                                             1U, 4U, NULL, FALSE);
4898
4899   return offset;
4900 }
4901
4902
4903 static const per_sequence_t H261VideoCapability_sequence[] = {
4904   { &hf_h245_qcifMPI_1_4    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4 },
4905   { &hf_h245_cifMPI_1_4     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4 },
4906   { &hf_h245_temporalSpatialTradeOffCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4907   { &hf_h245_maxBitRate_1_19200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_19200 },
4908   { &hf_h245_stillImageTransmission, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4909   { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4910   { NULL, 0, 0, NULL }
4911 };
4912
4913 static int
4914 dissect_h245_H261VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4915   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4916                                    ett_h245_H261VideoCapability, H261VideoCapability_sequence);
4917
4918   return offset;
4919 }
4920
4921
4922
4923 static int
4924 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_) {
4925   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4926                                                             0U, 1073741823U, NULL, FALSE);
4927
4928   return offset;
4929 }
4930
4931
4932
4933 static int
4934 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_) {
4935   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4936                                                             0U, 262143U, NULL, FALSE);
4937
4938   return offset;
4939 }
4940
4941
4942
4943 static int
4944 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_) {
4945   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4946                                                             0U, 16383U, NULL, FALSE);
4947
4948   return offset;
4949 }
4950
4951
4952 static const per_sequence_t H262VideoCapability_sequence[] = {
4953   { &hf_h245_profileAndLevel_SPatML, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4954   { &hf_h245_profileAndLevel_MPatLL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4955   { &hf_h245_profileAndLevel_MPatML, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4956   { &hf_h245_profileAndLevel_MPatH_14, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4957   { &hf_h245_profileAndLevel_MPatHL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4958   { &hf_h245_profileAndLevel_SNRatLL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4959   { &hf_h245_profileAndLevel_SNRatML, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4960   { &hf_h245_profileAndLevel_SpatialatH_14, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4961   { &hf_h245_profileAndLevel_HPatML, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4962   { &hf_h245_profileAndLevel_HPatH_14, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4963   { &hf_h245_profileAndLevel_HPatHL, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4964   { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
4965   { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
4966   { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
4967   { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
4968   { &hf_h245_framesPerSecond, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
4969   { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
4970   { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
4971   { NULL, 0, 0, NULL }
4972 };
4973
4974 static int
4975 dissect_h245_H262VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4976   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4977                                    ett_h245_H262VideoCapability, H262VideoCapability_sequence);
4978
4979   return offset;
4980 }
4981
4982
4983
4984 static int
4985 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_) {
4986   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4987                                                             1U, 32U, NULL, FALSE);
4988
4989   return offset;
4990 }
4991
4992
4993
4994 static int
4995 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_) {
4996   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4997                                                             1U, 192400U, NULL, FALSE);
4998
4999   return offset;
5000 }
5001
5002
5003
5004 static int
5005 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_) {
5006   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5007                                                             0U, 524287U, NULL, FALSE);
5008
5009   return offset;
5010 }
5011
5012
5013
5014 static int
5015 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_) {
5016   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5017                                                             1U, 3600U, NULL, FALSE);
5018
5019   return offset;
5020 }
5021
5022
5023
5024 static int
5025 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_) {
5026   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5027                                                             -262144, 262143U, NULL, FALSE);
5028
5029   return offset;
5030 }
5031
5032
5033 static const per_sequence_t TransparencyParameters_sequence[] = {
5034   { &hf_h245_presentationOrder, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
5035   { &hf_h245_offset_x       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_M262144_262143 },
5036   { &hf_h245_offset_y       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_M262144_262143 },
5037   { &hf_h245_scale_x        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
5038   { &hf_h245_scale_y        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
5039   { NULL, 0, 0, NULL }
5040 };
5041
5042 static int
5043 dissect_h245_TransparencyParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5044   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5045                                    ett_h245_TransparencyParameters, TransparencyParameters_sequence);
5046
5047   return offset;
5048 }
5049
5050
5051 static const per_sequence_t T_additionalPictureMemory_sequence[] = {
5052   { &hf_h245_sqcifAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5053   { &hf_h245_qcifAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5054   { &hf_h245_cifAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5055   { &hf_h245_cif4AdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5056   { &hf_h245_cif16AdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5057   { &hf_h245_bigCpfAdditionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5058   { NULL, 0, 0, NULL }
5059 };
5060
5061 static int
5062 dissect_h245_T_additionalPictureMemory(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5063   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5064                                    ett_h245_T_additionalPictureMemory, T_additionalPictureMemory_sequence);
5065
5066   return offset;
5067 }
5068
5069
5070 static const value_string h245_T_videoBackChannelSend_vals[] = {
5071   {   0, "none" },
5072   {   1, "ackMessageOnly" },
5073   {   2, "nackMessageOnly" },
5074   {   3, "ackOrNackMessageOnly" },
5075   {   4, "ackAndNackMessage" },
5076   { 0, NULL }
5077 };
5078
5079 static const per_choice_t T_videoBackChannelSend_choice[] = {
5080   {   0, &hf_h245_none           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5081   {   1, &hf_h245_ackMessageOnly , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5082   {   2, &hf_h245_nackMessageOnly, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5083   {   3, &hf_h245_ackOrNackMessageOnly, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5084   {   4, &hf_h245_ackAndNackMessage, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
5085   { 0, NULL, 0, NULL }
5086 };
5087
5088 static int
5089 dissect_h245_T_videoBackChannelSend(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5090   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5091                                  ett_h245_T_videoBackChannelSend, T_videoBackChannelSend_choice,
5092                                  NULL);
5093
5094   return offset;
5095 }
5096
5097
5098
5099 static int
5100 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_) {
5101   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5102                                                             1U, 128U, NULL, FALSE);
5103
5104   return offset;
5105 }
5106
5107
5108
5109 static int
5110 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_) {
5111   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5112                                                             1U, 72U, NULL, FALSE);
5113
5114   return offset;
5115 }
5116
5117
5118 static const per_sequence_t T_subPictureRemovalParameters_sequence[] = {
5119   { &hf_h245_mpuHorizMBs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_128 },
5120   { &hf_h245_mpuVertMBs     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_72 },
5121   { &hf_h245_mpuTotalNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65536 },
5122   { NULL, 0, 0, NULL }
5123 };
5124
5125 static int
5126 dissect_h245_T_subPictureRemovalParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5127   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5128                                    ett_h245_T_subPictureRemovalParameters, T_subPictureRemovalParameters_sequence);
5129
5130   return offset;
5131 }
5132
5133
5134 static const per_sequence_t T_enhancedReferencePicSelect_sequence[] = {
5135   { &hf_h245_subPictureRemovalParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_subPictureRemovalParameters },
5136   { NULL, 0, 0, NULL }
5137 };
5138
5139 static int
5140 dissect_h245_T_enhancedReferencePicSelect(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5141   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5142                                    ett_h245_T_enhancedReferencePicSelect, T_enhancedReferencePicSelect_sequence);
5143
5144   return offset;
5145 }
5146
5147
5148 static const per_sequence_t RefPictureSelection_sequence[] = {
5149   { &hf_h245_additionalPictureMemory, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_additionalPictureMemory },
5150   { &hf_h245_videoMux       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5151   { &hf_h245_videoBackChannelSend, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_videoBackChannelSend },
5152   { &hf_h245_enhancedReferencePicSelect, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_T_enhancedReferencePicSelect },
5153   { NULL, 0, 0, NULL }
5154 };
5155
5156 static int
5157 dissect_h245_RefPictureSelection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5158   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5159                                    ett_h245_RefPictureSelection, RefPictureSelection_sequence);
5160
5161   return offset;
5162 }
5163
5164
5165
5166 static int
5167 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_) {
5168   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5169                                                             1000U, 1001U, NULL, FALSE);
5170
5171   return offset;
5172 }
5173
5174
5175
5176 static int
5177 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_) {
5178   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5179                                                             1U, 2048U, NULL, FALSE);
5180
5181   return offset;
5182 }
5183
5184
5185 static const per_sequence_t CustomPictureClockFrequency_sequence[] = {
5186   { &hf_h245_clockConversionCode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1000_1001 },
5187   { &hf_h245_clockDivisor   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
5188   { &hf_h245_sqcifMPI       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5189   { &hf_h245_qcifMPI_1_2048 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5190   { &hf_h245_cifMPI2_1_2048 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5191   { &hf_h245_cif4MPI        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5192   { &hf_h245_cif16MPI       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_2048 },
5193   { NULL, 0, 0, NULL }
5194 };
5195
5196 static int
5197 dissect_h245_CustomPictureClockFrequency(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5198   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5199                                    ett_h245_CustomPictureClockFrequency, CustomPictureClockFrequency_sequence);
5200
5201   return offset;
5202 }
5203
5204
5205 static const per_sequence_t SET_SIZE_1_16_OF_CustomPictureClockFrequency_set_of[1] = {
5206   { &hf_h245_customPictureClockFrequency_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CustomPictureClockFrequency },
5207 };
5208
5209 static int
5210 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_) {
5211   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5212                                              ett_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency, SET_SIZE_1_16_OF_CustomPictureClockFrequency_set_of,
5213                                              1, 16, FALSE);
5214
5215   return offset;
5216 }
5217
5218
5219
5220 static int
5221 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_) {
5222   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5223                                                             1U, 31U, NULL, FALSE);
5224
5225   return offset;
5226 }
5227
5228
5229 static const per_sequence_t T_customPCF_item_sequence[] = {
5230   { &hf_h245_clockConversionCode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1000_1001 },
5231   { &hf_h245_clockDivisor   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
5232   { &hf_h245_customMPI      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5233   { NULL, 0, 0, NULL }
5234 };
5235
5236 static int
5237 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_) {
5238   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5239                                    ett_h245_T_customPCF_item, T_customPCF_item_sequence);
5240
5241   return offset;
5242 }
5243
5244
5245 static const per_sequence_t T_customPCF_set_of[1] = {
5246   { &hf_h245_customPCF_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_customPCF_item },
5247 };
5248
5249 static int
5250 dissect_h245_T_customPCF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5251   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5252                                              ett_h245_T_customPCF, T_customPCF_set_of,
5253                                              1, 16, FALSE);
5254
5255   return offset;
5256 }
5257
5258
5259 static const per_sequence_t T_mPI_sequence[] = {
5260   { &hf_h245_standardMPI    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_31 },
5261   { &hf_h245_customPCF      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_customPCF },
5262   { NULL, 0, 0, NULL }
5263 };
5264
5265 static int
5266 dissect_h245_T_mPI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5267   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5268                                    ett_h245_T_mPI, T_mPI_sequence);
5269
5270   return offset;
5271 }
5272
5273
5274
5275 static int
5276 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_) {
5277   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5278                                                             1U, 14U, NULL, FALSE);
5279
5280   return offset;
5281 }
5282
5283
5284 static const per_sequence_t T_pixelAspectCode_set_of[1] = {
5285   { &hf_h245_pixelAspectCode_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_14 },
5286 };
5287
5288 static int
5289 dissect_h245_T_pixelAspectCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5290   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5291                                              ett_h245_T_pixelAspectCode, T_pixelAspectCode_set_of,
5292                                              1, 14, FALSE);
5293
5294   return offset;
5295 }
5296
5297
5298 static const per_sequence_t T_extendedPAR_item_sequence[] = {
5299   { &hf_h245_width          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
5300   { &hf_h245_height         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
5301   { NULL, 0, 0, NULL }
5302 };
5303
5304 static int
5305 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_) {
5306   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5307                                    ett_h245_T_extendedPAR_item, T_extendedPAR_item_sequence);
5308
5309   return offset;
5310 }
5311
5312
5313 static const per_sequence_t T_extendedPAR_set_of[1] = {
5314   { &hf_h245_extendedPAR_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_extendedPAR_item },
5315 };
5316
5317 static int
5318 dissect_h245_T_extendedPAR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5319   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5320                                              ett_h245_T_extendedPAR, T_extendedPAR_set_of,
5321                                              1, 256, FALSE);
5322
5323   return offset;
5324 }
5325
5326
5327 static const value_string h245_T_pixelAspectInformation_vals[] = {
5328   {   0, "anyPixelAspectRatio" },
5329   {   1, "pixelAspectCode" },
5330   {   2, "extendedPAR" },
5331   { 0, NULL }
5332 };
5333
5334 static const per_choice_t T_pixelAspectInformation_choice[] = {
5335   {   0, &hf_h245_anyPixelAspectRatio, ASN1_EXTENSION_ROOT    , dissect_h245_BOOLEAN },
5336   {   1, &hf_h245_pixelAspectCode, ASN1_EXTENSION_ROOT    , dissect_h245_T_pixelAspectCode },
5337   {   2, &hf_h245_extendedPAR    , ASN1_EXTENSION_ROOT    , dissect_h245_T_extendedPAR },
5338   { 0, NULL, 0, NULL }
5339 };
5340
5341 static int
5342 dissect_h245_T_pixelAspectInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5343   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5344                                  ett_h245_T_pixelAspectInformation, T_pixelAspectInformation_choice,
5345                                  NULL);
5346
5347   return offset;
5348 }
5349
5350
5351 static const per_sequence_t CustomPictureFormat_sequence[] = {
5352   { &hf_h245_maxCustomPictureWidth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5353   { &hf_h245_maxCustomPictureHeight, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5354   { &hf_h245_minCustomPictureWidth, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5355   { &hf_h245_minCustomPictureHeight, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_2048 },
5356   { &hf_h245_mPI            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mPI },
5357   { &hf_h245_pixelAspectInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_pixelAspectInformation },
5358   { NULL, 0, 0, NULL }
5359 };
5360
5361 static int
5362 dissect_h245_CustomPictureFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5363   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5364                                    ett_h245_CustomPictureFormat, CustomPictureFormat_sequence);
5365
5366   return offset;
5367 }
5368
5369
5370 static const per_sequence_t SET_SIZE_1_16_OF_CustomPictureFormat_set_of[1] = {
5371   { &hf_h245_customPictureFormat_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CustomPictureFormat },
5372 };
5373
5374 static int
5375 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_) {
5376   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5377                                              ett_h245_SET_SIZE_1_16_OF_CustomPictureFormat, SET_SIZE_1_16_OF_CustomPictureFormat_set_of,
5378                                              1, 16, FALSE);
5379
5380   return offset;
5381 }
5382
5383
5384 static const per_sequence_t H263Version3Options_sequence[] = {
5385   { &hf_h245_dataPartitionedSlices, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5386   { &hf_h245_fixedPointIDCT0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5387   { &hf_h245_interlacedFields, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5388   { &hf_h245_currentPictureHeaderRepetition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5389   { &hf_h245_previousPictureHeaderRepetition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5390   { &hf_h245_nextPictureHeaderRepetition, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5391   { &hf_h245_pictureNumberBoolean, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5392   { &hf_h245_spareReferencePictures, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5393   { NULL, 0, 0, NULL }
5394 };
5395
5396 static int
5397 dissect_h245_H263Version3Options(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5398   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5399                                    ett_h245_H263Version3Options, H263Version3Options_sequence);
5400
5401   return offset;
5402 }
5403
5404
5405 static const per_sequence_t H263ModeComboFlags_sequence[] = {
5406   { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5407   { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5408   { &hf_h245_advancedPrediction, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5409   { &hf_h245_pbFrames       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5410   { &hf_h245_advancedIntraCodingMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5411   { &hf_h245_deblockingFilterMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5412   { &hf_h245_unlimitedMotionVectors, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5413   { &hf_h245_slicesInOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5414   { &hf_h245_slicesInOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5415   { &hf_h245_slicesNoOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5416   { &hf_h245_slicesNoOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5417   { &hf_h245_improvedPBFramesMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5418   { &hf_h245_referencePicSelect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5419   { &hf_h245_dynamicPictureResizingByFour, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5420   { &hf_h245_dynamicPictureResizingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5421   { &hf_h245_dynamicWarpingHalfPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5422   { &hf_h245_dynamicWarpingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5423   { &hf_h245_reducedResolutionUpdate, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5424   { &hf_h245_independentSegmentDecoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5425   { &hf_h245_alternateInterVLCMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5426   { &hf_h245_modifiedQuantizationMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5427   { &hf_h245_enhancedReferencePicSelectBool, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5428   { &hf_h245_h263Version3Options, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_H263Version3Options },
5429   { NULL, 0, 0, NULL }
5430 };
5431
5432 static int
5433 dissect_h245_H263ModeComboFlags(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5434   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5435                                    ett_h245_H263ModeComboFlags, H263ModeComboFlags_sequence);
5436
5437   return offset;
5438 }
5439
5440
5441 static const per_sequence_t SET_SIZE_1_16_OF_H263ModeComboFlags_set_of[1] = {
5442   { &hf_h245_h263VideoCoupledModes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_H263ModeComboFlags },
5443 };
5444
5445 static int
5446 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_) {
5447   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5448                                              ett_h245_SET_SIZE_1_16_OF_H263ModeComboFlags, SET_SIZE_1_16_OF_H263ModeComboFlags_set_of,
5449                                              1, 16, FALSE);
5450
5451   return offset;
5452 }
5453
5454
5455 static const per_sequence_t H263VideoModeCombos_sequence[] = {
5456   { &hf_h245_h263VideoUncoupledModes, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_H263ModeComboFlags },
5457   { &hf_h245_h263VideoCoupledModes, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_16_OF_H263ModeComboFlags },
5458   { NULL, 0, 0, NULL }
5459 };
5460
5461 static int
5462 dissect_h245_H263VideoModeCombos(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5463   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5464                                    ett_h245_H263VideoModeCombos, H263VideoModeCombos_sequence);
5465
5466   return offset;
5467 }
5468
5469
5470 static const per_sequence_t SET_SIZE_1_16_OF_H263VideoModeCombos_set_of[1] = {
5471   { &hf_h245_modeCombos_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_H263VideoModeCombos },
5472 };
5473
5474 static int
5475 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_) {
5476   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5477                                              ett_h245_SET_SIZE_1_16_OF_H263VideoModeCombos, SET_SIZE_1_16_OF_H263VideoModeCombos_set_of,
5478                                              1, 16, FALSE);
5479
5480   return offset;
5481 }
5482
5483
5484 static const per_sequence_t H263Options_sequence[] = {
5485   { &hf_h245_advancedIntraCodingMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5486   { &hf_h245_deblockingFilterMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5487   { &hf_h245_improvedPBFramesMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5488   { &hf_h245_unlimitedMotionVectors, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5489   { &hf_h245_fullPictureFreeze, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5490   { &hf_h245_partialPictureFreezeAndRelease, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5491   { &hf_h245_resizingPartPicFreezeAndRelease, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5492   { &hf_h245_fullPictureSnapshot, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5493   { &hf_h245_partialPictureSnapshot, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5494   { &hf_h245_videoSegmentTagging, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5495   { &hf_h245_progressiveRefinement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5496   { &hf_h245_dynamicPictureResizingByFour, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5497   { &hf_h245_dynamicPictureResizingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5498   { &hf_h245_dynamicWarpingHalfPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5499   { &hf_h245_dynamicWarpingSixteenthPel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5500   { &hf_h245_independentSegmentDecoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5501   { &hf_h245_slicesInOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5502   { &hf_h245_slicesInOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5503   { &hf_h245_slicesNoOrder_NonRect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5504   { &hf_h245_slicesNoOrder_Rect, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5505   { &hf_h245_alternateInterVLCMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5506   { &hf_h245_modifiedQuantizationMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5507   { &hf_h245_reducedResolutionUpdate, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5508   { &hf_h245_transparencyParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TransparencyParameters },
5509   { &hf_h245_separateVideoBackChannel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5510   { &hf_h245_refPictureSelection, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RefPictureSelection },
5511   { &hf_h245_customPictureClockFrequency, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency },
5512   { &hf_h245_customPictureFormat, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_16_OF_CustomPictureFormat },
5513   { &hf_h245_modeCombos     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_16_OF_H263VideoModeCombos },
5514   { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5515   { &hf_h245_h263Version3Options, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_H263Version3Options },
5516   { NULL, 0, 0, NULL }
5517 };
5518
5519 static int
5520 dissect_h245_H263Options(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5521   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5522                                    ett_h245_H263Options, H263Options_sequence);
5523
5524   return offset;
5525 }
5526
5527
5528 static const per_sequence_t EnhancementOptions_sequence[] = {
5529   { &hf_h245_sqcifMPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5530   { &hf_h245_qcifMPI        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5531   { &hf_h245_cifMPI         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5532   { &hf_h245_cif4MPI_1_32   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5533   { &hf_h245_cif16MPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5534   { &hf_h245_maxBitRate     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_192400 },
5535   { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5536   { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5537   { &hf_h245_temporalSpatialTradeOffCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5538   { &hf_h245_slowSqcifMPI   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5539   { &hf_h245_slowQcifMPI    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5540   { &hf_h245_slowCifMPI     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5541   { &hf_h245_slowCif4MPI    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5542   { &hf_h245_slowCif16MPI   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5543   { &hf_h245_errorCompensation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5544   { &hf_h245_h263Options    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_H263Options },
5545   { NULL, 0, 0, NULL }
5546 };
5547
5548 static int
5549 dissect_h245_EnhancementOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5550   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5551                                    ett_h245_EnhancementOptions, EnhancementOptions_sequence);
5552
5553   return offset;
5554 }
5555
5556
5557 static const per_sequence_t SET_SIZE_1_14_OF_EnhancementOptions_set_of[1] = {
5558   { &hf_h245_snrEnhancement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_EnhancementOptions },
5559 };
5560
5561 static int
5562 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_) {
5563   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5564                                              ett_h245_SET_SIZE_1_14_OF_EnhancementOptions, SET_SIZE_1_14_OF_EnhancementOptions_set_of,
5565                                              1, 14, FALSE);
5566
5567   return offset;
5568 }
5569
5570
5571
5572 static int
5573 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_) {
5574   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5575                                                             1U, 64U, NULL, FALSE);
5576
5577   return offset;
5578 }
5579
5580
5581 static const per_sequence_t BEnhancementParameters_sequence[] = {
5582   { &hf_h245_enhancementOptions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EnhancementOptions },
5583   { &hf_h245_numberOfBPictures, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_64 },
5584   { NULL, 0, 0, NULL }
5585 };
5586
5587 static int
5588 dissect_h245_BEnhancementParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5589   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5590                                    ett_h245_BEnhancementParameters, BEnhancementParameters_sequence);
5591
5592   return offset;
5593 }
5594
5595
5596 static const per_sequence_t SET_SIZE_1_14_OF_BEnhancementParameters_set_of[1] = {
5597   { &hf_h245_bPictureEnhancement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BEnhancementParameters },
5598 };
5599
5600 static int
5601 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_) {
5602   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
5603                                              ett_h245_SET_SIZE_1_14_OF_BEnhancementParameters, SET_SIZE_1_14_OF_BEnhancementParameters_set_of,
5604                                              1, 14, FALSE);
5605
5606   return offset;
5607 }
5608
5609
5610 static const per_sequence_t EnhancementLayerInfo_sequence[] = {
5611   { &hf_h245_baseBitRateConstrained, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5612   { &hf_h245_snrEnhancement , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_14_OF_EnhancementOptions },
5613   { &hf_h245_spatialEnhancement, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_14_OF_EnhancementOptions },
5614   { &hf_h245_bPictureEnhancement, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_14_OF_BEnhancementParameters },
5615   { NULL, 0, 0, NULL }
5616 };
5617
5618 static int
5619 dissect_h245_EnhancementLayerInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5620   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5621                                    ett_h245_EnhancementLayerInfo, EnhancementLayerInfo_sequence);
5622
5623   return offset;
5624 }
5625
5626
5627 static const per_sequence_t H263VideoCapability_sequence[] = {
5628   { &hf_h245_sqcifMPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5629   { &hf_h245_qcifMPI        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5630   { &hf_h245_cifMPI         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5631   { &hf_h245_cif4MPI_1_32   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5632   { &hf_h245_cif16MPI_1_32  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_32 },
5633   { &hf_h245_maxBitRate     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_192400 },
5634   { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5635   { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5636   { &hf_h245_advancedPrediction, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5637   { &hf_h245_pbFrames       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5638   { &hf_h245_temporalSpatialTradeOffCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5639   { &hf_h245_hrd_B          , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_524287 },
5640   { &hf_h245_bppMaxKb       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
5641   { &hf_h245_slowSqcifMPI   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5642   { &hf_h245_slowQcifMPI    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5643   { &hf_h245_slowCifMPI     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5644   { &hf_h245_slowCif4MPI    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5645   { &hf_h245_slowCif16MPI   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_3600 },
5646   { &hf_h245_errorCompensation, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5647   { &hf_h245_enhancementLayerInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EnhancementLayerInfo },
5648   { &hf_h245_h263Options    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H263Options },
5649   { NULL, 0, 0, NULL }
5650 };
5651
5652 static int
5653 dissect_h245_H263VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5654   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5655                                    ett_h245_H263VideoCapability, H263VideoCapability_sequence);
5656
5657 #line 364 "../../asn1/h245/h245.cnf"
5658   h245_lc_dissector = h263_handle;
5659
5660   return offset;
5661 }
5662
5663
5664 static const per_sequence_t IS11172VideoCapability_sequence[] = {
5665   { &hf_h245_constrainedBitstream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5666   { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
5667   { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
5668   { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
5669   { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
5670   { &hf_h245_pictureRate    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
5671   { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
5672   { &hf_h245_videoBadMBsCap , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5673   { NULL, 0, 0, NULL }
5674 };
5675
5676 static int
5677 dissect_h245_IS11172VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5678   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5679                                    ett_h245_IS11172VideoCapability, IS11172VideoCapability_sequence);
5680
5681   return offset;
5682 }
5683
5684
5685 static const per_sequence_t SEQUENCE_OF_VideoCapability_sequence_of[1] = {
5686   { &hf_h245_videoCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_VideoCapability },
5687 };
5688
5689 static int
5690 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_) {
5691   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5692                                       ett_h245_SEQUENCE_OF_VideoCapability, SEQUENCE_OF_VideoCapability_sequence_of);
5693
5694   return offset;
5695 }
5696
5697
5698 static const per_sequence_t SEQUENCE_OF_GenericCapability_sequence_of[1] = {
5699   { &hf_h245_videoCapabilityExtension_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_GenericCapability },
5700 };
5701
5702 static int
5703 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_) {
5704   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
5705                                       ett_h245_SEQUENCE_OF_GenericCapability, SEQUENCE_OF_GenericCapability_sequence_of);
5706
5707   return offset;
5708 }
5709
5710
5711 static const per_sequence_t ExtendedVideoCapability_sequence[] = {
5712   { &hf_h245_videoCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_VideoCapability },
5713   { &hf_h245_videoCapabilityExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericCapability },
5714   { NULL, 0, 0, NULL }
5715 };
5716
5717 static int
5718 dissect_h245_ExtendedVideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5719   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5720                                    ett_h245_ExtendedVideoCapability, ExtendedVideoCapability_sequence);
5721
5722   return offset;
5723 }
5724
5725
5726 static const value_string h245_VideoCapability_vals[] = {
5727   {   0, "nonStandard" },
5728   {   1, "h261VideoCapability" },
5729   {   2, "h262VideoCapability" },
5730   {   3, "h263VideoCapability" },
5731   {   4, "is11172VideoCapability" },
5732   {   5, "genericVideoCapability" },
5733   {   6, "extendedVideoCapability" },
5734   { 0, NULL }
5735 };
5736
5737 static const per_choice_t VideoCapability_choice[] = {
5738   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
5739   {   1, &hf_h245_h261VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_H261VideoCapability },
5740   {   2, &hf_h245_h262VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_H262VideoCapability },
5741   {   3, &hf_h245_h263VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_H263VideoCapability },
5742   {   4, &hf_h245_is11172VideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172VideoCapability },
5743   {   5, &hf_h245_genericVideoCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
5744   {   6, &hf_h245_extendedVideoCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ExtendedVideoCapability },
5745   { 0, NULL, 0, NULL }
5746 };
5747
5748 static int
5749 dissect_h245_VideoCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5750 #line 495 "../../asn1/h245/h245.cnf"
5751   gint32 value;
5752
5753   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5754                                  ett_h245_VideoCapability, VideoCapability_choice,
5755                                  &value);
5756
5757         codec_type = val_to_str(value, h245_VideoCapability_vals, "<unknown>");
5758
5759
5760
5761   return offset;
5762 }
5763
5764
5765 static const per_sequence_t T_g7231_sequence[] = {
5766   { &hf_h245_maxAl_sduAudioFrames, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
5767   { &hf_h245_silenceSuppression, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5768   { NULL, 0, 0, NULL }
5769 };
5770
5771 static int
5772 dissect_h245_T_g7231(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5773   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5774                                    ett_h245_T_g7231, T_g7231_sequence);
5775
5776   return offset;
5777 }
5778
5779
5780
5781 static int
5782 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_) {
5783   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5784                                                             1U, 448U, NULL, FALSE);
5785
5786   return offset;
5787 }
5788
5789
5790 static const per_sequence_t IS11172AudioCapability_sequence[] = {
5791   { &hf_h245_audioLayer1    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5792   { &hf_h245_audioLayer2    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5793   { &hf_h245_audioLayer3    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5794   { &hf_h245_audioSampling32k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5795   { &hf_h245_audioSampling44k1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5796   { &hf_h245_audioSampling48k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5797   { &hf_h245_singleChannel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5798   { &hf_h245_twoChannels    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5799   { &hf_h245_bitRate_1_448  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_448 },
5800   { NULL, 0, 0, NULL }
5801 };
5802
5803 static int
5804 dissect_h245_IS11172AudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5805   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5806                                    ett_h245_IS11172AudioCapability, IS11172AudioCapability_sequence);
5807
5808   return offset;
5809 }
5810
5811
5812
5813 static int
5814 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_) {
5815   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5816                                                             1U, 1130U, NULL, FALSE);
5817
5818   return offset;
5819 }
5820
5821
5822 static const per_sequence_t IS13818AudioCapability_sequence[] = {
5823   { &hf_h245_audioLayer1    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5824   { &hf_h245_audioLayer2    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5825   { &hf_h245_audioLayer3    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5826   { &hf_h245_audioSampling16k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5827   { &hf_h245_audioSampling22k05, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5828   { &hf_h245_audioSampling24k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5829   { &hf_h245_audioSampling32k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5830   { &hf_h245_audioSampling44k1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5831   { &hf_h245_audioSampling48k, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5832   { &hf_h245_singleChannel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5833   { &hf_h245_twoChannels    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5834   { &hf_h245_threeChannels2_1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5835   { &hf_h245_threeChannels3_0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5836   { &hf_h245_fourChannels2_0_2_0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5837   { &hf_h245_fourChannels2_2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5838   { &hf_h245_fourChannels3_1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5839   { &hf_h245_fiveChannels3_0_2_0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5840   { &hf_h245_fiveChannels3_2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5841   { &hf_h245_lowFrequencyEnhancement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5842   { &hf_h245_multilingual   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5843   { &hf_h245_bitRate2_1_1130, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_1130 },
5844   { NULL, 0, 0, NULL }
5845 };
5846
5847 static int
5848 dissect_h245_IS13818AudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5849   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5850                                    ett_h245_IS13818AudioCapability, IS13818AudioCapability_sequence);
5851
5852   return offset;
5853 }
5854
5855
5856
5857 static int
5858 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_) {
5859   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5860                                                             27U, 78U, NULL, FALSE);
5861
5862   return offset;
5863 }
5864
5865
5866
5867 static int
5868 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_) {
5869   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5870                                                             23U, 66U, NULL, FALSE);
5871
5872   return offset;
5873 }
5874
5875
5876
5877 static int
5878 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_) {
5879   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5880                                                             6U, 17U, NULL, FALSE);
5881
5882   return offset;
5883 }
5884
5885
5886 static const per_sequence_t G723AnnexCAudioMode_sequence[] = {
5887   { &hf_h245_highRateMode0  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_27_78 },
5888   { &hf_h245_highRateMode1  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_27_78 },
5889   { &hf_h245_lowRateMode0   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_23_66 },
5890   { &hf_h245_lowRateMode1   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_23_66 },
5891   { &hf_h245_sidMode0       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_6_17 },
5892   { &hf_h245_sidMode1       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_6_17 },
5893   { NULL, 0, 0, NULL }
5894 };
5895
5896 static int
5897 dissect_h245_G723AnnexCAudioMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5898   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5899                                    ett_h245_G723AnnexCAudioMode, G723AnnexCAudioMode_sequence);
5900
5901   return offset;
5902 }
5903
5904
5905 static const per_sequence_t G7231AnnexCCapability_sequence[] = {
5906   { &hf_h245_maxAl_sduAudioFrames, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
5907   { &hf_h245_silenceSuppression, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5908   { &hf_h245_g723AnnexCAudioMode, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_G723AnnexCAudioMode },
5909   { NULL, 0, 0, NULL }
5910 };
5911
5912 static int
5913 dissect_h245_G7231AnnexCCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5914   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5915                                    ett_h245_G7231AnnexCCapability, G7231AnnexCCapability_sequence);
5916
5917   return offset;
5918 }
5919
5920
5921 static const per_sequence_t GSMAudioCapability_sequence[] = {
5922   { &hf_h245_audioUnitSize  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
5923   { &hf_h245_comfortNoise   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5924   { &hf_h245_scrambled      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5925   { NULL, 0, 0, NULL }
5926 };
5927
5928 static int
5929 dissect_h245_GSMAudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5930   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5931                                    ett_h245_GSMAudioCapability, GSMAudioCapability_sequence);
5932
5933   return offset;
5934 }
5935
5936
5937 static const per_sequence_t G729Extensions_sequence[] = {
5938   { &hf_h245_audioUnit      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_256 },
5939   { &hf_h245_annexA         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5940   { &hf_h245_annexB         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5941   { &hf_h245_annexD         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5942   { &hf_h245_annexE         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5943   { &hf_h245_annexF         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5944   { &hf_h245_annexG         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5945   { &hf_h245_annexH         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
5946   { NULL, 0, 0, NULL }
5947 };
5948
5949 static int
5950 dissect_h245_G729Extensions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5951   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5952                                    ett_h245_G729Extensions, G729Extensions_sequence);
5953
5954   return offset;
5955 }
5956
5957
5958 static const per_sequence_t VBDCapability_sequence[] = {
5959   { &hf_h245_vbd_cap_type   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AudioCapability },
5960   { NULL, 0, 0, NULL }
5961 };
5962
5963 static int
5964 dissect_h245_VBDCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5965   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5966                                    ett_h245_VBDCapability, VBDCapability_sequence);
5967
5968   return offset;
5969 }
5970
5971
5972
5973 static int
5974 dissect_h245_GeneralString(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5975   offset = dissect_per_GeneralString(tvb, offset, actx, tree, hf_index);
5976
5977   return offset;
5978 }
5979
5980
5981 static const per_sequence_t NoPTAudioTelephonyEventCapability_sequence[] = {
5982   { &hf_h245_audioTelephoneEvent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_GeneralString },
5983   { NULL, 0, 0, NULL }
5984 };
5985
5986 static int
5987 dissect_h245_NoPTAudioTelephonyEventCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5988   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5989                                    ett_h245_NoPTAudioTelephonyEventCapability, NoPTAudioTelephonyEventCapability_sequence);
5990
5991   return offset;
5992 }
5993
5994
5995 static const per_sequence_t NoPTAudioToneCapability_sequence[] = {
5996   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
5997 };
5998
5999 static int
6000 dissect_h245_NoPTAudioToneCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6001   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6002                                    ett_h245_NoPTAudioToneCapability, NoPTAudioToneCapability_sequence);
6003
6004   return offset;
6005 }
6006
6007
6008 static const value_string h245_AudioCapability_vals[] = {
6009   { AudioCapability_nonStandard, "nonStandard" },
6010   { AudioCapability_g711Alaw64k, "g711Alaw64k" },
6011   { AudioCapability_g711Alaw56k, "g711Alaw56k" },
6012   { AudioCapability_g711Ulaw64k, "g711Ulaw64k" },
6013   { AudioCapability_g711Ulaw56k, "g711Ulaw56k" },
6014   { AudioCapability_g722_64k, "g722-64k" },
6015   { AudioCapability_g722_56k, "g722-56k" },
6016   { AudioCapability_g722_48k, "g722-48k" },
6017   { AudioCapability_g7231, "g7231" },
6018   { AudioCapability_g728, "g728" },
6019   { AudioCapability_g729, "g729" },
6020   { AudioCapability_g729AnnexA, "g729AnnexA" },
6021   { AudioCapability_is11172AudioCapability, "is11172AudioCapability" },
6022   { AudioCapability_is13818AudioCapability, "is13818AudioCapability" },
6023   { AudioCapability_g729wAnnexB, "g729wAnnexB" },
6024   { AudioCapability_g729AnnexAwAnnexB, "g729AnnexAwAnnexB" },
6025   { AudioCapability_g7231AnnexCCapability, "g7231AnnexCCapability" },
6026   { AudioCapability_gsmFullRate, "gsmFullRate" },
6027   { AudioCapability_gsmHalfRate, "gsmHalfRate" },
6028   { AudioCapability_gsmEnhancedFullRate, "gsmEnhancedFullRate" },
6029   { AudioCapability_genericAudioCapability, "genericAudioCapability" },
6030   { AudioCapability_g729Extensions, "g729Extensions" },
6031   { AudioCapability_vbd, "vbd" },
6032   { AudioCapability_audioTelephonyEvent, "audioTelephonyEvent" },
6033   { AudioCapability_audioTone, "audioTone" },
6034   { 0, NULL }
6035 };
6036
6037 static const per_choice_t AudioCapability_choice[] = {
6038   { AudioCapability_nonStandard, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6039   { AudioCapability_g711Alaw64k, &hf_h245_g711Alaw64k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6040   { AudioCapability_g711Alaw56k, &hf_h245_g711Alaw56k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6041   { AudioCapability_g711Ulaw64k, &hf_h245_g711Ulaw64k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6042   { AudioCapability_g711Ulaw56k, &hf_h245_g711Ulaw56k    , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6043   { AudioCapability_g722_64k, &hf_h245_g722_64k       , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6044   { AudioCapability_g722_56k, &hf_h245_g722_56k       , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6045   { AudioCapability_g722_48k, &hf_h245_g722_48k       , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6046   { AudioCapability_g7231, &hf_h245_g7231          , ASN1_EXTENSION_ROOT    , dissect_h245_T_g7231 },
6047   { AudioCapability_g728, &hf_h245_g728           , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6048   { AudioCapability_g729, &hf_h245_g729           , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6049   { AudioCapability_g729AnnexA, &hf_h245_g729AnnexA     , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_256 },
6050   { AudioCapability_is11172AudioCapability, &hf_h245_is11172AudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172AudioCapability },
6051   { AudioCapability_is13818AudioCapability, &hf_h245_is13818AudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_IS13818AudioCapability },
6052   { AudioCapability_g729wAnnexB, &hf_h245_g729wAnnexB    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
6053   { AudioCapability_g729AnnexAwAnnexB, &hf_h245_g729AnnexAwAnnexB, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
6054   { AudioCapability_g7231AnnexCCapability, &hf_h245_g7231AnnexCCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_G7231AnnexCCapability },
6055   { AudioCapability_gsmFullRate, &hf_h245_gsmFullRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
6056   { AudioCapability_gsmHalfRate, &hf_h245_gsmHalfRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
6057   { AudioCapability_gsmEnhancedFullRate, &hf_h245_gsmEnhancedFullRate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
6058   { AudioCapability_genericAudioCapability, &hf_h245_genericAudioCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
6059   { AudioCapability_g729Extensions, &hf_h245_g729Extensions , ASN1_NOT_EXTENSION_ROOT, dissect_h245_G729Extensions },
6060   { AudioCapability_vbd, &hf_h245_vbd            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_VBDCapability },
6061   { AudioCapability_audioTelephonyEvent, &hf_h245_audioTelephonyEvent, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NoPTAudioTelephonyEventCapability },
6062   { AudioCapability_audioTone, &hf_h245_audioTone      , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NoPTAudioToneCapability },
6063   { 0, NULL, 0, NULL }
6064 };
6065
6066 static int
6067 dissect_h245_AudioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6068 #line 488 "../../asn1/h245/h245.cnf"
6069   gint32 value;
6070
6071   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6072                                  ett_h245_AudioCapability, AudioCapability_choice,
6073                                  &value);
6074
6075         codec_type = val_to_str(value, h245_AudioCapability_short_vals, "<unknown>");
6076
6077
6078   return offset;
6079 }
6080
6081
6082 static const per_sequence_t T_h233EncryptionReceiveCapability_sequence[] = {
6083   { &hf_h245_h233IVResponseTime, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
6084   { NULL, 0, 0, NULL }
6085 };
6086
6087 static int
6088 dissect_h245_T_h233EncryptionReceiveCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6089   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6090                                    ett_h245_T_h233EncryptionReceiveCapability, T_h233EncryptionReceiveCapability_sequence);
6091
6092   return offset;
6093 }
6094
6095
6096 static const per_sequence_t SEQUENCE_OF_NonStandardParameter_sequence_of[1] = {
6097   { &hf_h245_nonStandardParams_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
6098 };
6099
6100 static int
6101 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_) {
6102   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6103                                       ett_h245_SEQUENCE_OF_NonStandardParameter, SEQUENCE_OF_NonStandardParameter_sequence_of);
6104
6105   return offset;
6106 }
6107
6108
6109 static const per_sequence_t ConferenceCapability_sequence[] = {
6110   { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
6111   { &hf_h245_chairControlCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6112   { &hf_h245_videoIndicateMixingCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6113   { &hf_h245_multipointVisualizationCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
6114   { NULL, 0, 0, NULL }
6115 };
6116
6117 static int
6118 dissect_h245_ConferenceCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6119   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6120                                    ett_h245_ConferenceCapability, ConferenceCapability_sequence);
6121
6122   return offset;
6123 }
6124
6125
6126 static const value_string h245_MediaEncryptionAlgorithm_vals[] = {
6127   {   0, "nonStandard" },
6128   {   1, "algorithm" },
6129   { 0, NULL }
6130 };
6131
6132 static const per_choice_t MediaEncryptionAlgorithm_choice[] = {
6133   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6134   {   1, &hf_h245_algorithm      , ASN1_EXTENSION_ROOT    , dissect_h245_OBJECT_IDENTIFIER },
6135   { 0, NULL, 0, NULL }
6136 };
6137
6138 static int
6139 dissect_h245_MediaEncryptionAlgorithm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6140   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6141                                  ett_h245_MediaEncryptionAlgorithm, MediaEncryptionAlgorithm_choice,
6142                                  NULL);
6143
6144   return offset;
6145 }
6146
6147
6148 static const per_sequence_t EncryptionCapability_sequence_of[1] = {
6149   { &hf_h245_EncryptionCapability_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MediaEncryptionAlgorithm },
6150 };
6151
6152 static int
6153 dissect_h245_EncryptionCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6154   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6155                                                   ett_h245_EncryptionCapability, EncryptionCapability_sequence_of,
6156                                                   1, 256, FALSE);
6157
6158   return offset;
6159 }
6160
6161
6162 static const per_sequence_t AuthenticationCapability_sequence[] = {
6163   { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
6164   { &hf_h245_antiSpamAlgorithm, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
6165   { NULL, 0, 0, NULL }
6166 };
6167
6168 static int
6169 dissect_h245_AuthenticationCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6170   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6171                                    ett_h245_AuthenticationCapability, AuthenticationCapability_sequence);
6172
6173   return offset;
6174 }
6175
6176
6177 static const per_sequence_t IntegrityCapability_sequence[] = {
6178   { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
6179   { NULL, 0, 0, NULL }
6180 };
6181
6182 static int
6183 dissect_h245_IntegrityCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6184   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6185                                    ett_h245_IntegrityCapability, IntegrityCapability_sequence);
6186
6187   return offset;
6188 }
6189
6190
6191 static const per_sequence_t EncryptionAuthenticationAndIntegrity_sequence[] = {
6192   { &hf_h245_encryptionCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_EncryptionCapability },
6193   { &hf_h245_authenticationCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_AuthenticationCapability },
6194   { &hf_h245_integrityCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IntegrityCapability },
6195   { &hf_h245_genericH235SecurityCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericCapability },
6196   { NULL, 0, 0, NULL }
6197 };
6198
6199 static int
6200 dissect_h245_EncryptionAuthenticationAndIntegrity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6201   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6202                                    ett_h245_EncryptionAuthenticationAndIntegrity, EncryptionAuthenticationAndIntegrity_sequence);
6203
6204   return offset;
6205 }
6206
6207
6208 static const per_sequence_t H235SecurityCapability_sequence[] = {
6209   { &hf_h245_encryptionAuthenticationAndIntegrity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionAuthenticationAndIntegrity },
6210   { &hf_h245_mediaCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6211   { NULL, 0, 0, NULL }
6212 };
6213
6214 static int
6215 dissect_h245_H235SecurityCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6216   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6217                                    ett_h245_H235SecurityCapability, H235SecurityCapability_sequence);
6218
6219   return offset;
6220 }
6221
6222
6223 static const per_sequence_t SEQUENCE_SIZE_1_16_OF_NonStandardParameter_sequence_of[1] = {
6224   { &hf_h245_ui_nonStandard_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
6225 };
6226
6227 static int
6228 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_) {
6229   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6230                                                   ett_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter, SEQUENCE_SIZE_1_16_OF_NonStandardParameter_sequence_of,
6231                                                   1, 16, FALSE);
6232
6233   return offset;
6234 }
6235
6236
6237 static const value_string h245_UserInputCapability_vals[] = {
6238   {   0, "nonStandard" },
6239   {   1, "basicString" },
6240   {   2, "iA5String" },
6241   {   3, "generalString" },
6242   {   4, "dtmf" },
6243   {   5, "hookflash" },
6244   {   6, "extendedAlphanumeric" },
6245   {   7, "encryptedBasicString" },
6246   {   8, "encryptedIA5String" },
6247   {   9, "encryptedGeneralString" },
6248   {  10, "secureDTMF" },
6249   {  11, "genericUserInputCapability" },
6250   { 0, NULL }
6251 };
6252
6253 static const per_choice_t UserInputCapability_choice[] = {
6254   {   0, &hf_h245_ui_nonStandard , ASN1_EXTENSION_ROOT    , dissect_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter },
6255   {   1, &hf_h245_basicString    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6256   {   2, &hf_h245_iA5String      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6257   {   3, &hf_h245_generalString  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6258   {   4, &hf_h245_dtmf           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6259   {   5, &hf_h245_hookflash      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6260   {   6, &hf_h245_extendedAlphanumericFlag, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6261   {   7, &hf_h245_encryptedBasicString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6262   {   8, &hf_h245_encryptedIA5String, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6263   {   9, &hf_h245_encryptedGeneralString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6264   {  10, &hf_h245_secureDTMF     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
6265   {  11, &hf_h245_genericUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
6266   { 0, NULL, 0, NULL }
6267 };
6268
6269 static int
6270 dissect_h245_UserInputCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6271   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6272                                  ett_h245_UserInputCapability, UserInputCapability_choice,
6273                                  NULL);
6274
6275   return offset;
6276 }
6277
6278
6279 static const value_string h245_MultiplexFormat_vals[] = {
6280   {   0, "nonStandard" },
6281   {   1, "h222Capability" },
6282   {   2, "h223Capability" },
6283   { 0, NULL }
6284 };
6285
6286 static const per_choice_t MultiplexFormat_choice[] = {
6287   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6288   {   1, &hf_h245_h222Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H222Capability },
6289   {   2, &hf_h245_h223Capability , ASN1_EXTENSION_ROOT    , dissect_h245_H223Capability },
6290   { 0, NULL, 0, NULL }
6291 };
6292
6293 static int
6294 dissect_h245_MultiplexFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6295   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6296                                  ett_h245_MultiplexFormat, MultiplexFormat_choice,
6297                                  NULL);
6298
6299   return offset;
6300 }
6301
6302
6303 static const per_sequence_t AlternativeCapabilitySet_sequence_of[1] = {
6304   { &hf_h245_AlternativeCapabilitySet_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6305 };
6306
6307 static int
6308 dissect_h245_AlternativeCapabilitySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6309   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6310                                                   ett_h245_AlternativeCapabilitySet, AlternativeCapabilitySet_sequence_of,
6311                                                   1, 256, FALSE);
6312
6313   return offset;
6314 }
6315
6316
6317 static const per_sequence_t SET_SIZE_1_256_OF_AlternativeCapabilitySet_set_of[1] = {
6318   { &hf_h245_simultaneousCapabilities_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_AlternativeCapabilitySet },
6319 };
6320
6321 static int
6322 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_) {
6323   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
6324                                              ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet, SET_SIZE_1_256_OF_AlternativeCapabilitySet_set_of,
6325                                              1, 256, FALSE);
6326
6327   return offset;
6328 }
6329
6330
6331 static const per_sequence_t MultiplexedStreamCapability_sequence[] = {
6332   { &hf_h245_multiplexFormat, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexFormat },
6333   { &hf_h245_controlOnMuxStream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6334   { &hf_h245_capabilityOnMuxStream, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet },
6335   { NULL, 0, 0, NULL }
6336 };
6337
6338 static int
6339 dissect_h245_MultiplexedStreamCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6340   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6341                                    ett_h245_MultiplexedStreamCapability, MultiplexedStreamCapability_sequence);
6342
6343   return offset;
6344 }
6345
6346
6347
6348 static int
6349 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_) {
6350   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6351                                                             96U, 127U, NULL, FALSE);
6352
6353   return offset;
6354 }
6355
6356
6357 static const per_sequence_t AudioTelephonyEventCapability_sequence[] = {
6358   { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_96_127 },
6359   { &hf_h245_audioTelephoneEvent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_GeneralString },
6360   { NULL, 0, 0, NULL }
6361 };
6362
6363 static int
6364 dissect_h245_AudioTelephonyEventCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6365   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6366                                    ett_h245_AudioTelephonyEventCapability, AudioTelephonyEventCapability_sequence);
6367
6368   return offset;
6369 }
6370
6371
6372 static const per_sequence_t AudioToneCapability_sequence[] = {
6373   { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_96_127 },
6374   { NULL, 0, 0, NULL }
6375 };
6376
6377 static int
6378 dissect_h245_AudioToneCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6379   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6380                                    ett_h245_AudioToneCapability, AudioToneCapability_sequence);
6381
6382   return offset;
6383 }
6384
6385
6386 static const per_sequence_t T_separateStreamBool_sequence[] = {
6387   { &hf_h245_separatePort   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6388   { &hf_h245_samePortBool   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6389   { NULL, 0, 0, NULL }
6390 };
6391
6392 static int
6393 dissect_h245_T_separateStreamBool(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6394   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6395                                    ett_h245_T_separateStreamBool, T_separateStreamBool_sequence);
6396
6397   return offset;
6398 }
6399
6400
6401 static const per_sequence_t FECC_rfc2733_sequence[] = {
6402   { &hf_h245_redundancyEncodingBool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
6403   { &hf_h245_separateStreamBool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_separateStreamBool },
6404   { NULL, 0, 0, NULL }
6405 };
6406
6407 static int
6408 dissect_h245_FECC_rfc2733(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6409   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6410                                    ett_h245_FECC_rfc2733, FECC_rfc2733_sequence);
6411
6412   return offset;
6413 }
6414
6415
6416 static const value_string h245_DepFECCapability_vals[] = {
6417   {   0, "rfc2733" },
6418   { 0, NULL }
6419 };
6420
6421 static const per_choice_t DepFECCapability_choice[] = {
6422   {   0, &hf_h245_fecc_rfc2733   , ASN1_EXTENSION_ROOT    , dissect_h245_FECC_rfc2733 },
6423   { 0, NULL, 0, NULL }
6424 };
6425
6426 static int
6427 dissect_h245_DepFECCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6428   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6429                                  ett_h245_DepFECCapability, DepFECCapability_choice,
6430                                  NULL);
6431
6432   return offset;
6433 }
6434
6435
6436 static const per_sequence_t MultiplePayloadStreamCapability_sequence[] = {
6437   { &hf_h245_capabilities   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet },
6438   { NULL, 0, 0, NULL }
6439 };
6440
6441 static int
6442 dissect_h245_MultiplePayloadStreamCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6443   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6444                                    ett_h245_MultiplePayloadStreamCapability, MultiplePayloadStreamCapability_sequence);
6445
6446   return offset;
6447 }
6448
6449
6450
6451 static int
6452 dissect_h245_MaxRedundancy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6453   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6454                                                             1U, NO_BOUND, NULL, FALSE);
6455
6456   return offset;
6457 }
6458
6459
6460 static const value_string h245_Rfc2733Format_vals[] = {
6461   {   0, "rfc2733rfc2198" },
6462   {   1, "rfc2733sameport" },
6463   {   2, "rfc2733diffport" },
6464   { 0, NULL }
6465 };
6466
6467 static const per_choice_t Rfc2733Format_choice[] = {
6468   {   0, &hf_h245_rfc2733rfc2198 , ASN1_NO_EXTENSIONS     , dissect_h245_MaxRedundancy },
6469   {   1, &hf_h245_rfc2733sameport, ASN1_NO_EXTENSIONS     , dissect_h245_MaxRedundancy },
6470   {   2, &hf_h245_rfc2733diffport, ASN1_NO_EXTENSIONS     , dissect_h245_MaxRedundancy },
6471   { 0, NULL, 0, NULL }
6472 };
6473
6474 static int
6475 dissect_h245_Rfc2733Format(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6476   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6477                                  ett_h245_Rfc2733Format, Rfc2733Format_choice,
6478                                  NULL);
6479
6480   return offset;
6481 }
6482
6483
6484 static const per_sequence_t FECCapability_sequence[] = {
6485   { &hf_h245_protectedCapability, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6486   { &hf_h245_fecScheme      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
6487   { &hf_h245_rfc2733Format  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Rfc2733Format },
6488   { NULL, 0, 0, NULL }
6489 };
6490
6491 static int
6492 dissect_h245_FECCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6493   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6494                                    ett_h245_FECCapability, FECCapability_sequence);
6495
6496   return offset;
6497 }
6498
6499
6500 const value_string h245_Capability_vals[] = {
6501   {   0, "nonStandard" },
6502   {   1, "receiveVideoCapability" },
6503   {   2, "transmitVideoCapability" },
6504   {   3, "receiveAndTransmitVideoCapability" },
6505   {   4, "receiveAudioCapability" },
6506   {   5, "transmitAudioCapability" },
6507   {   6, "receiveAndTransmitAudioCapability" },
6508   {   7, "receiveDataApplicationCapability" },
6509   {   8, "transmitDataApplicationCapability" },
6510   {   9, "receiveAndTransmitDataApplicationCapability" },
6511   {  10, "h233EncryptionTransmitCapability" },
6512   {  11, "h233EncryptionReceiveCapability" },
6513   {  12, "conferenceCapability" },
6514   {  13, "h235SecurityCapability" },
6515   {  14, "maxPendingReplacementFor" },
6516   {  15, "receiveUserInputCapability" },
6517   {  16, "transmitUserInputCapability" },
6518   {  17, "receiveAndTransmitUserInputCapability" },
6519   {  18, "genericControlCapability" },
6520   {  19, "receiveMultiplexedStreamCapability" },
6521   {  20, "transmitMultiplexedStreamCapability" },
6522   {  21, "receiveAndTransmitMultiplexedStreamCapability" },
6523   {  22, "receiveRTPAudioTelephonyEventCapability" },
6524   {  23, "receiveRTPAudioToneCapability" },
6525   {  24, "depFecCapability" },
6526   {  25, "multiplePayloadStreamCapability" },
6527   {  26, "fecCapability" },
6528   {  27, "redundancyEncodingCap" },
6529   {  28, "oneOfCapabilities" },
6530   { 0, NULL }
6531 };
6532
6533 static const per_choice_t Capability_choice[] = {
6534   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6535   {   1, &hf_h245_receiveVideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
6536   {   2, &hf_h245_transmitVideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
6537   {   3, &hf_h245_receiveAndTransmitVideoCapability, ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
6538   {   4, &hf_h245_receiveAudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
6539   {   5, &hf_h245_transmitAudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
6540   {   6, &hf_h245_receiveAndTransmitAudioCapability, ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
6541   {   7, &hf_h245_receiveDataApplicationCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
6542   {   8, &hf_h245_transmitDataApplicationCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
6543   {   9, &hf_h245_receiveAndTransmitDataApplicationCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
6544   {  10, &hf_h245_h233EncryptionTransmitCapability, ASN1_EXTENSION_ROOT    , dissect_h245_BOOLEAN },
6545   {  11, &hf_h245_h233EncryptionReceiveCapability, ASN1_EXTENSION_ROOT    , dissect_h245_T_h233EncryptionReceiveCapability },
6546   {  12, &hf_h245_conferenceCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceCapability },
6547   {  13, &hf_h245_h235SecurityCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H235SecurityCapability },
6548   {  14, &hf_h245_maxPendingReplacementFor, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_0_255 },
6549   {  15, &hf_h245_receiveUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_UserInputCapability },
6550   {  16, &hf_h245_transmitUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_UserInputCapability },
6551   {  17, &hf_h245_receiveAndTransmitUserInputCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_UserInputCapability },
6552   {  18, &hf_h245_genericControlCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
6553   {  19, &hf_h245_receiveMultiplexedStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamCapability },
6554   {  20, &hf_h245_transmitMultiplexedStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamCapability },
6555   {  21, &hf_h245_receiveAndTransmitMultiplexedStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamCapability },
6556   {  22, &hf_h245_receiveRTPAudioTelephonyEventCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_AudioTelephonyEventCapability },
6557   {  23, &hf_h245_receiveRTPAudioToneCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_AudioToneCapability },
6558   {  24, &hf_h245_depFecCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECCapability },
6559   {  25, &hf_h245_multiplePayloadStreamCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStreamCapability },
6560   {  26, &hf_h245_fecCapability  , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECCapability },
6561   {  27, &hf_h245_redundancyEncodingCap, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncodingCapability },
6562   {  28, &hf_h245_oneOfCapabilities, ASN1_NOT_EXTENSION_ROOT, dissect_h245_AlternativeCapabilitySet },
6563   { 0, NULL, 0, NULL }
6564 };
6565
6566 int
6567 dissect_h245_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6568   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6569                                  ett_h245_Capability, Capability_choice,
6570                                  NULL);
6571
6572   return offset;
6573 }
6574
6575
6576 static const per_sequence_t CapabilityTableEntry_sequence[] = {
6577   { &hf_h245_capabilityTableEntryNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
6578   { &hf_h245_capability     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_Capability },
6579   { NULL, 0, 0, NULL }
6580 };
6581
6582 static int
6583 dissect_h245_CapabilityTableEntry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6584   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6585                                    ett_h245_CapabilityTableEntry, CapabilityTableEntry_sequence);
6586
6587   return offset;
6588 }
6589
6590
6591 static const per_sequence_t SET_SIZE_1_256_OF_CapabilityTableEntry_set_of[1] = {
6592   { &hf_h245_capabilityTable_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntry },
6593 };
6594
6595 static int
6596 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_) {
6597   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
6598                                              ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry, SET_SIZE_1_256_OF_CapabilityTableEntry_set_of,
6599                                              1, 256, FALSE);
6600
6601   return offset;
6602 }
6603
6604
6605
6606 static int
6607 dissect_h245_CapabilityDescriptorNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6608   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6609                                                             0U, 255U, NULL, FALSE);
6610
6611   return offset;
6612 }
6613
6614
6615 static const per_sequence_t CapabilityDescriptor_sequence[] = {
6616   { &hf_h245_capabilityDescriptorNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityDescriptorNumber },
6617   { &hf_h245_simultaneousCapabilities, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet },
6618   { NULL, 0, 0, NULL }
6619 };
6620
6621 static int
6622 dissect_h245_CapabilityDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6623   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6624                                    ett_h245_CapabilityDescriptor, CapabilityDescriptor_sequence);
6625
6626   return offset;
6627 }
6628
6629
6630 static const per_sequence_t SET_SIZE_1_256_OF_CapabilityDescriptor_set_of[1] = {
6631   { &hf_h245_capabilityDescriptors_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityDescriptor },
6632 };
6633
6634 static int
6635 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_) {
6636   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
6637                                              ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor, SET_SIZE_1_256_OF_CapabilityDescriptor_set_of,
6638                                              1, 256, FALSE);
6639
6640   return offset;
6641 }
6642
6643
6644
6645 static int
6646 dissect_h245_T_subMessageIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6647 #line 620 "../../asn1/h245/h245.cnf"
6648   guint32 subMessageIdentifer;
6649   gef_ctx_t *gefx;
6650
6651   gefx = gef_ctx_get(actx->private_data);
6652   if (gefx) {
6653         /* If this is a standard generic message use hf_h245_subMessageIdentifier_standard to get
6654          * the value translated and make it fileterable.
6655          */
6656     if (strcmp("GenericMessage/0.0.8.239.2", gefx->key) == 0) {
6657       hf_index = hf_h245_subMessageIdentifier_standard;
6658     }
6659   }
6660   
6661   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6662                                                             0U, 127U, &subMessageIdentifer, FALSE);
6663
6664   if (gefx) {
6665     gefx->subid = ep_strdup_printf("%u", subMessageIdentifer);
6666     gef_ctx_update_key(gef_ctx_get(actx->private_data));
6667     /* DEBUG */ /*proto_tree_add_text(tree, tvb, offset>>3, 0, "*** DEBUG CapabilityIdentifier: %s", gef_ctx_get(actx->private_data)->key);*/
6668   }
6669   if (hf_index == hf_h245_subMessageIdentifier_standard)
6670   {
6671     col_append_fstr(actx->pinfo->cinfo, COL_INFO, "%s", val_to_str(subMessageIdentifer, h245_h239subMessageIdentifier_vals, "<unknown>") );
6672     g_snprintf(h245_pi->frame_label, 50, "%s", val_to_str(subMessageIdentifer, h245_h239subMessageIdentifier_vals, "<unknown>"));
6673   }
6674
6675
6676   return offset;
6677 }
6678
6679
6680
6681 static int
6682 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_) {
6683 #line 647 "../../asn1/h245/h245.cnf"
6684   gef_ctx_t *parent_gefx;
6685
6686   parent_gefx = gef_ctx_get(actx->private_data);
6687   actx->private_data = gef_ctx_alloc(parent_gefx, NULL);
6688
6689   offset = dissect_h245_GenericParameter(tvb, offset, actx, tree, hf_index);
6690
6691 #line 652 "../../asn1/h245/h245.cnf"
6692   actx->private_data = parent_gefx;
6693
6694   return offset;
6695 }
6696
6697
6698 static const per_sequence_t T_messageContent_sequence_of[1] = {
6699   { &hf_h245_messageContent_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_messageContent_item },
6700 };
6701
6702 static int
6703 dissect_h245_T_messageContent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6704   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6705                                       ett_h245_T_messageContent, T_messageContent_sequence_of);
6706
6707   return offset;
6708 }
6709
6710
6711 static const per_sequence_t GenericMessage_sequence[] = {
6712   { &hf_h245_messageIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityIdentifier },
6713   { &hf_h245_subMessageIdentifier, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_subMessageIdentifier },
6714   { &hf_h245_messageContent , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_messageContent },
6715   { NULL, 0, 0, NULL }
6716 };
6717
6718 static int
6719 dissect_h245_GenericMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6720 #line 606 "../../asn1/h245/h245.cnf"
6721   void *priv_data = actx->private_data;
6722   gef_ctx_t *gefx;
6723
6724   /* check if not inherited from GenericInformation */
6725   gefx = gef_ctx_get(actx->private_data);
6726   if (!gefx) {
6727     gefx = gef_ctx_alloc(NULL, "GenericMessage");
6728     actx->private_data = gefx;
6729   }
6730
6731   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6732                                    ett_h245_GenericMessage, GenericMessage_sequence);
6733
6734 #line 616 "../../asn1/h245/h245.cnf"
6735   actx->private_data = priv_data;
6736
6737   return offset;
6738 }
6739
6740
6741
6742 static int
6743 dissect_h245_GenericInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6744 #line 657 "../../asn1/h245/h245.cnf"
6745   void *priv_data = actx->private_data;
6746   actx->private_data = gef_ctx_alloc(NULL, "GenericInformation");
6747
6748   offset = dissect_h245_GenericMessage(tvb, offset, actx, tree, hf_index);
6749
6750 #line 660 "../../asn1/h245/h245.cnf"
6751   actx->private_data = priv_data;
6752
6753   return offset;
6754 }
6755
6756
6757 static const per_sequence_t SEQUENCE_OF_GenericInformation_sequence_of[1] = {
6758   { &hf_h245_genericInformation_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_GenericInformation },
6759 };
6760
6761 static int
6762 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_) {
6763   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6764                                       ett_h245_SEQUENCE_OF_GenericInformation, SEQUENCE_OF_GenericInformation_sequence_of);
6765
6766   return offset;
6767 }
6768
6769
6770 static const per_sequence_t TerminalCapabilitySet_sequence[] = {
6771   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
6772   { &hf_h245_protocolIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
6773   { &hf_h245_multiplexCapability, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MultiplexCapability },
6774   { &hf_h245_capabilityTable, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_CapabilityTableEntry },
6775   { &hf_h245_capabilityDescriptors, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_CapabilityDescriptor },
6776   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
6777   { NULL, 0, 0, NULL }
6778 };
6779
6780 static int
6781 dissect_h245_TerminalCapabilitySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6782   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6783                                    ett_h245_TerminalCapabilitySet, TerminalCapabilitySet_sequence);
6784
6785 #line 591 "../../asn1/h245/h245.cnf"
6786
6787 if (h245_pi != NULL)
6788   h245_pi->msg_type = H245_TermCapSet;
6789
6790   return offset;
6791 }
6792
6793
6794
6795 static int
6796 dissect_h245_LogicalChannelNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6797 #line 123 "../../asn1/h245/h245.cnf"
6798   guint32 value;
6799   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6800                                                             1U, 65535U, &value, FALSE);
6801
6802   h245_lc_temp = value & 0xfff;
6803
6804
6805   return offset;
6806 }
6807
6808
6809
6810 static int
6811 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_) {
6812   offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index);
6813
6814 #line 164 "../../asn1/h245/h245.cnf"
6815   if (upcoming_olc) upcoming_olc->fwd_lc_num = h245_lc_temp;
6816   h223_fw_lc_num = h245_lc_temp;
6817
6818   return offset;
6819 }
6820
6821
6822 static const value_string h245_EncryptionMode_vals[] = {
6823   {   0, "nonStandard" },
6824   {   1, "h233Encryption" },
6825   { 0, NULL }
6826 };
6827
6828 static const per_choice_t EncryptionMode_choice[] = {
6829   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
6830   {   1, &hf_h245_h233Encryption , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
6831   { 0, NULL, 0, NULL }
6832 };
6833
6834 static int
6835 dissect_h245_EncryptionMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6836   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6837                                  ett_h245_EncryptionMode, EncryptionMode_choice,
6838                                  NULL);
6839
6840   return offset;
6841 }
6842
6843
6844
6845 static int
6846 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_) {
6847   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6848                                                             0U, 127U, NULL, FALSE);
6849
6850   return offset;
6851 }
6852
6853
6854 static const per_sequence_t RedundancyEncodingElement_sequence[] = {
6855   { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
6856   { &hf_h245_payloadType    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
6857   { NULL, 0, 0, NULL }
6858 };
6859
6860 static int
6861 dissect_h245_RedundancyEncodingElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6862   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6863                                    ett_h245_RedundancyEncodingElement, RedundancyEncodingElement_sequence);
6864
6865   return offset;
6866 }
6867
6868
6869 static const per_sequence_t SEQUENCE_OF_RedundancyEncodingElement_sequence_of[1] = {
6870   { &hf_h245_secondary_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingElement },
6871 };
6872
6873 static int
6874 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_) {
6875   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6876                                       ett_h245_SEQUENCE_OF_RedundancyEncodingElement, SEQUENCE_OF_RedundancyEncodingElement_sequence_of);
6877
6878   return offset;
6879 }
6880
6881
6882 static const per_sequence_t T_rtpRedundancyEncoding_sequence[] = {
6883   { &hf_h245_primary        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RedundancyEncodingElement },
6884   { &hf_h245_secondary      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_RedundancyEncodingElement },
6885   { NULL, 0, 0, NULL }
6886 };
6887
6888 static int
6889 dissect_h245_T_rtpRedundancyEncoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6890   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6891                                    ett_h245_T_rtpRedundancyEncoding, T_rtpRedundancyEncoding_sequence);
6892
6893   return offset;
6894 }
6895
6896
6897 static const per_sequence_t RedundancyEncoding_sequence[] = {
6898   { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
6899   { &hf_h245_secondaryEncoding, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_DataType },
6900   { &hf_h245_rtpRedundancyEncoding, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_rtpRedundancyEncoding },
6901   { NULL, 0, 0, NULL }
6902 };
6903
6904 static int
6905 dissect_h245_RedundancyEncoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6906   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6907                                    ett_h245_RedundancyEncoding, RedundancyEncoding_sequence);
6908
6909   return offset;
6910 }
6911
6912
6913 static const per_sequence_t MultiplePayloadStreamElement_sequence[] = {
6914   { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
6915   { &hf_h245_payloadType    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
6916   { NULL, 0, 0, NULL }
6917 };
6918
6919 static int
6920 dissect_h245_MultiplePayloadStreamElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6921   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6922                                    ett_h245_MultiplePayloadStreamElement, MultiplePayloadStreamElement_sequence);
6923
6924   return offset;
6925 }
6926
6927
6928 static const per_sequence_t SEQUENCE_OF_MultiplePayloadStreamElement_sequence_of[1] = {
6929   { &hf_h245_elements_item  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplePayloadStreamElement },
6930 };
6931
6932 static int
6933 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_) {
6934   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
6935                                       ett_h245_SEQUENCE_OF_MultiplePayloadStreamElement, SEQUENCE_OF_MultiplePayloadStreamElement_sequence_of);
6936
6937   return offset;
6938 }
6939
6940
6941 static const per_sequence_t MultiplePayloadStream_sequence[] = {
6942   { &hf_h245_elements       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_MultiplePayloadStreamElement },
6943   { NULL, 0, 0, NULL }
6944 };
6945
6946 static int
6947 dissect_h245_MultiplePayloadStream(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6948   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6949                                    ett_h245_MultiplePayloadStream, MultiplePayloadStream_sequence);
6950
6951   return offset;
6952 }
6953
6954
6955 static const per_sequence_t T_differentPort_sequence[] = {
6956   { &hf_h245_protectedSessionID, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
6957   { &hf_h245_protectedPayloadType, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
6958   { NULL, 0, 0, NULL }
6959 };
6960
6961 static int
6962 dissect_h245_T_differentPort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6963   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6964                                    ett_h245_T_differentPort, T_differentPort_sequence);
6965
6966   return offset;
6967 }
6968
6969
6970 static const per_sequence_t T_samePort_sequence[] = {
6971   { &hf_h245_protectedPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_127 },
6972   { NULL, 0, 0, NULL }
6973 };
6974
6975 static int
6976 dissect_h245_T_samePort(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6977   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6978                                    ett_h245_T_samePort, T_samePort_sequence);
6979
6980   return offset;
6981 }
6982
6983
6984 static const value_string h245_DepSeparateStream_vals[] = {
6985   {   0, "differentPort" },
6986   {   1, "samePort" },
6987   { 0, NULL }
6988 };
6989
6990 static const per_choice_t DepSeparateStream_choice[] = {
6991   {   0, &hf_h245_differentPort  , ASN1_EXTENSION_ROOT    , dissect_h245_T_differentPort },
6992   {   1, &hf_h245_samePort       , ASN1_EXTENSION_ROOT    , dissect_h245_T_samePort },
6993   { 0, NULL, 0, NULL }
6994 };
6995
6996 static int
6997 dissect_h245_DepSeparateStream(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6998   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
6999                                  ett_h245_DepSeparateStream, DepSeparateStream_choice,
7000                                  NULL);
7001
7002   return offset;
7003 }
7004
7005
7006 static const value_string h245_FECdata_mode_vals[] = {
7007   {   0, "redundancyEncoding" },
7008   {   1, "separateStream" },
7009   { 0, NULL }
7010 };
7011
7012 static const per_choice_t FECdata_mode_choice[] = {
7013   {   0, &hf_h245_redundancyEncodingFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7014   {   1, &hf_h245_separateStream , ASN1_EXTENSION_ROOT    , dissect_h245_DepSeparateStream },
7015   { 0, NULL, 0, NULL }
7016 };
7017
7018 static int
7019 dissect_h245_FECdata_mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7020   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7021                                  ett_h245_FECdata_mode, FECdata_mode_choice,
7022                                  NULL);
7023
7024   return offset;
7025 }
7026
7027
7028 static const per_sequence_t RFC2733Data_sequence[] = {
7029   { &hf_h245_fec_data_mode  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_FECdata_mode },
7030   { NULL, 0, 0, NULL }
7031 };
7032
7033 static int
7034 dissect_h245_RFC2733Data(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7035   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7036                                    ett_h245_RFC2733Data, RFC2733Data_sequence);
7037
7038   return offset;
7039 }
7040
7041
7042 static const value_string h245_DepFECData_vals[] = {
7043   {   0, "rfc2733" },
7044   { 0, NULL }
7045 };
7046
7047 static const per_choice_t DepFECData_choice[] = {
7048   {   0, &hf_h245_dep_rfc2733    , ASN1_NO_EXTENSIONS     , dissect_h245_RFC2733Data },
7049   { 0, NULL, 0, NULL }
7050 };
7051
7052 static int
7053 dissect_h245_DepFECData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7054   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7055                                  ett_h245_DepFECData, DepFECData_choice,
7056                                  NULL);
7057
7058   return offset;
7059 }
7060
7061
7062 static const per_sequence_t T_mode_rfc2733sameport_sequence[] = {
7063   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
7064 };
7065
7066 static int
7067 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_) {
7068   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7069                                    ett_h245_T_mode_rfc2733sameport, T_mode_rfc2733sameport_sequence);
7070
7071   return offset;
7072 }
7073
7074
7075 static const per_sequence_t T_mode_rfc2733diffport_sequence[] = {
7076   { &hf_h245_protectedChannel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
7077   { NULL, 0, 0, NULL }
7078 };
7079
7080 static int
7081 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_) {
7082   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7083                                    ett_h245_T_mode_rfc2733diffport, T_mode_rfc2733diffport_sequence);
7084
7085   return offset;
7086 }
7087
7088
7089 static const value_string h245_T_pktMode_vals[] = {
7090   {   0, "rfc2198coding" },
7091   {   1, "rfc2733sameport" },
7092   {   2, "rfc2733diffport" },
7093   { 0, NULL }
7094 };
7095
7096 static const per_choice_t T_pktMode_choice[] = {
7097   {   0, &hf_h245_rfc2198coding  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7098   {   1, &hf_h245_mode_rfc2733sameport, ASN1_EXTENSION_ROOT    , dissect_h245_T_mode_rfc2733sameport },
7099   {   2, &hf_h245_mode_rfc2733diffport, ASN1_EXTENSION_ROOT    , dissect_h245_T_mode_rfc2733diffport },
7100   { 0, NULL, 0, NULL }
7101 };
7102
7103 static int
7104 dissect_h245_T_pktMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7105   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7106                                  ett_h245_T_pktMode, T_pktMode_choice,
7107                                  NULL);
7108
7109   return offset;
7110 }
7111
7112
7113 static const per_sequence_t T_rfc2733_sequence[] = {
7114   { &hf_h245_protectedPayloadType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_127 },
7115   { &hf_h245_fecScheme      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
7116   { &hf_h245_pktMode        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_pktMode },
7117   { NULL, 0, 0, NULL }
7118 };
7119
7120 static int
7121 dissect_h245_T_rfc2733(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7122   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7123                                    ett_h245_T_rfc2733, T_rfc2733_sequence);
7124
7125   return offset;
7126 }
7127
7128
7129 static const value_string h245_FECData_vals[] = {
7130   {   0, "rfc2733" },
7131   { 0, NULL }
7132 };
7133
7134 static const per_choice_t FECData_choice[] = {
7135   {   0, &hf_h245_rfc2733        , ASN1_EXTENSION_ROOT    , dissect_h245_T_rfc2733 },
7136   { 0, NULL, 0, NULL }
7137 };
7138
7139 static int
7140 dissect_h245_FECData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7141   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7142                                  ett_h245_FECData, FECData_choice,
7143                                  NULL);
7144
7145   return offset;
7146 }
7147
7148
7149 static const value_string h245_T_mediaType_vals[] = {
7150   {   0, "nonStandard" },
7151   {   1, "videoData" },
7152   {   2, "audioData" },
7153   {   3, "data" },
7154   {   4, "redundancyEncoding" },
7155   {   5, "multiplePayloadStream" },
7156   {   6, "depFec" },
7157   {   7, "fec" },
7158   { 0, NULL }
7159 };
7160
7161 static const per_choice_t T_mediaType_choice[] = {
7162   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
7163   {   1, &hf_h245_videoData      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
7164   {   2, &hf_h245_audioData      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
7165   {   3, &hf_h245_data           , ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
7166   {   4, &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncoding },
7167   {   5, &hf_h245_multiplePayloadStream, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStream },
7168   {   6, &hf_h245_depFec         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECData },
7169   {   7, &hf_h245_fec            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECData },
7170   { 0, NULL, 0, NULL }
7171 };
7172
7173 static int
7174 dissect_h245_T_mediaType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7175   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7176                                  ett_h245_T_mediaType, T_mediaType_choice,
7177                                  NULL);
7178
7179   return offset;
7180 }
7181
7182
7183 static const per_sequence_t H235Media_sequence[] = {
7184   { &hf_h245_encryptionAuthenticationAndIntegrity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionAuthenticationAndIntegrity },
7185   { &hf_h245_mediaType      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mediaType },
7186   { NULL, 0, 0, NULL }
7187 };
7188
7189 static int
7190 dissect_h245_H235Media(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7191   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7192                                    ett_h245_H235Media, H235Media_sequence);
7193
7194   return offset;
7195 }
7196
7197
7198 static const per_sequence_t MultiplexedStreamParameter_sequence[] = {
7199   { &hf_h245_multiplexFormat, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexFormat },
7200   { &hf_h245_controlOnMuxStream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7201   { NULL, 0, 0, NULL }
7202 };
7203
7204 static int
7205 dissect_h245_MultiplexedStreamParameter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7206   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7207                                    ett_h245_MultiplexedStreamParameter, MultiplexedStreamParameter_sequence);
7208
7209   return offset;
7210 }
7211
7212
7213 static const value_string h245_DataType_vals[] = {
7214   {   0, "nonStandard" },
7215   {   1, "nullData" },
7216   {   2, "videoData" },
7217   {   3, "audioData" },
7218   {   4, "data" },
7219   {   5, "encryptionData" },
7220   {   6, "h235Control" },
7221   {   7, "h235Media" },
7222   {   8, "multiplexedStream" },
7223   {   9, "redundancyEncoding" },
7224   {  10, "multiplePayloadStream" },
7225   {  11, "depFec" },
7226   {  12, "fec" },
7227   { 0, NULL }
7228 };
7229
7230 static const per_choice_t DataType_choice[] = {
7231   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
7232   {   1, &hf_h245_nullData       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7233   {   2, &hf_h245_videoData      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
7234   {   3, &hf_h245_audioData      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
7235   {   4, &hf_h245_data           , ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
7236   {   5, &hf_h245_encryptionData , ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionMode },
7237   {   6, &hf_h245_h235Control    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NonStandardParameter },
7238   {   7, &hf_h245_h235Media      , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H235Media },
7239   {   8, &hf_h245_multiplexedStream, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamParameter },
7240   {   9, &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncoding },
7241   {  10, &hf_h245_multiplePayloadStream, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStream },
7242   {  11, &hf_h245_depFec         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECData },
7243   {  12, &hf_h245_fec            , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECData },
7244   { 0, NULL, 0, NULL }
7245 };
7246
7247 static int
7248 dissect_h245_DataType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7249 #line 1012 "../../asn1/h245/h245.cnf"
7250 gint choice_index;
7251
7252   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7253                                  ett_h245_DataType, DataType_choice,
7254                                  &choice_index);
7255
7256
7257 if (upcoming_channel){
7258         if (choice_index==2){
7259                 upcoming_channel->is_video=TRUE;
7260         }else{
7261                 upcoming_channel->is_video=FALSE;
7262         }
7263 }
7264
7265
7266
7267   return offset;
7268 }
7269
7270
7271
7272 static int
7273 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_) {
7274   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7275                                                             0U, 8191U, NULL, FALSE);
7276
7277   return offset;
7278 }
7279
7280
7281 static const per_sequence_t H222LogicalChannelParameters_sequence[] = {
7282   { &hf_h245_resourceID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
7283   { &hf_h245_subChannelID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_8191 },
7284   { &hf_h245_pcr_pid        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_8191 },
7285   { &hf_h245_programDescriptors, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING },
7286   { &hf_h245_streamDescriptors, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING },
7287   { NULL, 0, 0, NULL }
7288 };
7289
7290 static int
7291 dissect_h245_H222LogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7292   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7293                                    ett_h245_H222LogicalChannelParameters, H222LogicalChannelParameters_sequence);
7294
7295   return offset;
7296 }
7297
7298
7299
7300 static int
7301 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_) {
7302 #line 295 "../../asn1/h245/h245.cnf"
7303   if(h223_lc_params_temp)
7304         h223_lc_params_temp->al_type = al1Framed;
7305
7306   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7307
7308   return offset;
7309 }
7310
7311
7312
7313 static int
7314 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_) {
7315 #line 300 "../../asn1/h245/h245.cnf"
7316   if(h223_lc_params_temp)
7317         h223_lc_params_temp->al_type = al1NotFramed;
7318
7319   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7320
7321   return offset;
7322 }
7323
7324
7325
7326 static int
7327 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_) {
7328 #line 305 "../../asn1/h245/h245.cnf"
7329   if(h223_lc_params_temp)
7330         h223_lc_params_temp->al_type = al2WithoutSequenceNumbers;
7331
7332   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7333
7334   return offset;
7335 }
7336
7337
7338
7339 static int
7340 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_) {
7341 #line 310 "../../asn1/h245/h245.cnf"
7342   if(h223_lc_params_temp)
7343         h223_lc_params_temp->al_type = al2WithSequenceNumbers;
7344
7345   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
7346
7347   return offset;
7348 }
7349
7350
7351
7352 static int
7353 dissect_h245_T_controlFieldOctets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7354 #line 324 "../../asn1/h245/h245.cnf"
7355   guint32 value;
7356   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7357                                                             0U, 2U, &value, FALSE);
7358
7359   if(h223_lc_params_temp && h223_lc_params_temp->al_params)
7360         ((h223_al3_params*)h223_lc_params_temp->al_params)->control_field_octets = value & 3 ;
7361
7362
7363   return offset;
7364 }
7365
7366
7367
7368 static int
7369 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_) {
7370 #line 333 "../../asn1/h245/h245.cnf"
7371   guint32 value;
7372   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7373                                                             0U, 16777215U, &value, FALSE);
7374
7375   if(h223_lc_params_temp && h223_lc_params_temp->al_params)
7376         ((h223_al3_params*)h223_lc_params_temp->al_params)->send_buffer_size = value & 0xfffff;
7377
7378
7379   return offset;
7380 }
7381
7382
7383 static const per_sequence_t Al3_sequence[] = {
7384   { &hf_h245_controlFieldOctets, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_controlFieldOctets },
7385   { &hf_h245_al3_sendBufferSize, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T_al3_sendBufferSize },
7386   { NULL, 0, 0, NULL }
7387 };
7388
7389 static int
7390 dissect_h245_Al3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7391   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7392                                    ett_h245_Al3, Al3_sequence);
7393
7394   return offset;
7395 }
7396
7397
7398
7399 static int
7400 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_) {
7401 #line 315 "../../asn1/h245/h245.cnf"
7402  if(h223_lc_params_temp) {
7403         h223_lc_params_temp->al_type = al3;
7404         h223_lc_params_temp->al_params = se_alloc(sizeof(h223_al3_params));
7405   }
7406
7407   offset = dissect_h245_Al3(tvb, offset, actx, tree, hf_index);
7408
7409   return offset;
7410 }
7411
7412
7413 static const value_string h245_T_transferMode_vals[] = {
7414   {   0, "framed" },
7415   {   1, "unframed" },
7416   { 0, NULL }
7417 };
7418
7419 static const per_choice_t T_transferMode_choice[] = {
7420   {   0, &hf_h245_framed         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7421   {   1, &hf_h245_unframed       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7422   { 0, NULL, 0, NULL }
7423 };
7424
7425 static int
7426 dissect_h245_T_transferMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7427   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7428                                  ett_h245_T_transferMode, T_transferMode_choice,
7429                                  NULL);
7430
7431   return offset;
7432 }
7433
7434
7435 static const value_string h245_AL1HeaderFEC_vals[] = {
7436   {   0, "sebch16-7" },
7437   {   1, "golay24-12" },
7438   { 0, NULL }
7439 };
7440
7441 static const per_choice_t AL1HeaderFEC_choice[] = {
7442   {   0, &hf_h245_sebch16_7      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7443   {   1, &hf_h245_golay24_12     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7444   { 0, NULL, 0, NULL }
7445 };
7446
7447 static int
7448 dissect_h245_AL1HeaderFEC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7449   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7450                                  ett_h245_AL1HeaderFEC, AL1HeaderFEC_choice,
7451                                  NULL);
7452
7453   return offset;
7454 }
7455
7456
7457 static const value_string h245_AL1CrcLength_vals[] = {
7458   {   0, "crc4bit" },
7459   {   1, "crc12bit" },
7460   {   2, "crc20bit" },
7461   {   3, "crc28bit" },
7462   {   4, "crc8bit" },
7463   {   5, "crc16bit" },
7464   {   6, "crc32bit" },
7465   {   7, "crcNotUsed" },
7466   { 0, NULL }
7467 };
7468
7469 static const per_choice_t AL1CrcLength_choice[] = {
7470   {   0, &hf_h245_crc4bit        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7471   {   1, &hf_h245_crc12bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7472   {   2, &hf_h245_crc20bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7473   {   3, &hf_h245_crc28bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7474   {   4, &hf_h245_crc8bit        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7475   {   5, &hf_h245_crc16bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7476   {   6, &hf_h245_crc32bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7477   {   7, &hf_h245_crcNotUsed     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7478   { 0, NULL, 0, NULL }
7479 };
7480
7481 static int
7482 dissect_h245_AL1CrcLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7483   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7484                                  ett_h245_AL1CrcLength, AL1CrcLength_choice,
7485                                  NULL);
7486
7487   return offset;
7488 }
7489
7490
7491
7492 static int
7493 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_) {
7494   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7495                                                             8U, 32U, NULL, FALSE);
7496
7497   return offset;
7498 }
7499
7500
7501
7502 static int
7503 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_) {
7504   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
7505                                                             0U, 16U, NULL, FALSE);
7506
7507   return offset;
7508 }
7509
7510
7511 static const value_string h245_T_numberOfRetransmissions_vals[] = {
7512   {   0, "finite" },
7513   {   1, "infinite" },
7514   { 0, NULL }
7515 };
7516
7517 static const per_choice_t T_numberOfRetransmissions_choice[] = {
7518   {   0, &hf_h245_finite         , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_16 },
7519   {   1, &hf_h245_infinite       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7520   { 0, NULL, 0, NULL }
7521 };
7522
7523 static int
7524 dissect_h245_T_numberOfRetransmissions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7525   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7526                                  ett_h245_T_numberOfRetransmissions, T_numberOfRetransmissions_choice,
7527                                  NULL);
7528
7529   return offset;
7530 }
7531
7532
7533 static const per_sequence_t H223AnnexCArqParameters_sequence[] = {
7534   { &hf_h245_numberOfRetransmissions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_numberOfRetransmissions },
7535   { &hf_h245_sendBufferSize , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_16777215 },
7536   { NULL, 0, 0, NULL }
7537 };
7538
7539 static int
7540 dissect_h245_H223AnnexCArqParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7541   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7542                                    ett_h245_H223AnnexCArqParameters, H223AnnexCArqParameters_sequence);
7543
7544   return offset;
7545 }
7546
7547
7548 static const value_string h245_ArqType_vals[] = {
7549   {   0, "noArq" },
7550   {   1, "typeIArq" },
7551   {   2, "typeIIArq" },
7552   { 0, NULL }
7553 };
7554
7555 static const per_choice_t ArqType_choice[] = {
7556   {   0, &hf_h245_noArq          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7557   {   1, &hf_h245_typeIArq       , ASN1_EXTENSION_ROOT    , dissect_h245_H223AnnexCArqParameters },
7558   {   2, &hf_h245_typeIIArq      , ASN1_EXTENSION_ROOT    , dissect_h245_H223AnnexCArqParameters },
7559   { 0, NULL, 0, NULL }
7560 };
7561
7562 static int
7563 dissect_h245_ArqType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7564   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7565                                  ett_h245_ArqType, ArqType_choice,
7566                                  NULL);
7567
7568   return offset;
7569 }
7570
7571
7572 static const per_sequence_t H223AL1MParameters_sequence[] = {
7573   { &hf_h245_transferMode   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_transferMode },
7574   { &hf_h245_aL1HeaderFEC   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL1HeaderFEC },
7575   { &hf_h245_crcLength2     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL1CrcLength },
7576   { &hf_h245_rcpcCodeRate   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_8_32 },
7577   { &hf_h245_arqType        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ArqType },
7578   { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7579   { &hf_h245_alsduSplitting , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7580   { &hf_h245_rsCodeCorrection, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
7581   { NULL, 0, 0, NULL }
7582 };
7583
7584 static int
7585 dissect_h245_H223AL1MParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7586   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7587                                    ett_h245_H223AL1MParameters, H223AL1MParameters_sequence);
7588
7589   return offset;
7590 }
7591
7592
7593
7594 static int
7595 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_) {
7596 #line 340 "../../asn1/h245/h245.cnf"
7597   if(h223_lc_params_temp)
7598         h223_lc_params_temp->al_type = al1M;
7599
7600   offset = dissect_h245_H223AL1MParameters(tvb, offset, actx, tree, hf_index);
7601
7602   return offset;
7603 }
7604
7605
7606 static const value_string h245_AL2HeaderFEC_vals[] = {
7607   {   0, "sebch16-5" },
7608   {   1, "golay24-12" },
7609   { 0, NULL }
7610 };
7611
7612 static const per_choice_t AL2HeaderFEC_choice[] = {
7613   {   0, &hf_h245_sebch16_5      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7614   {   1, &hf_h245_golay24_12     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7615   { 0, NULL, 0, NULL }
7616 };
7617
7618 static int
7619 dissect_h245_AL2HeaderFEC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7620   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7621                                  ett_h245_AL2HeaderFEC, AL2HeaderFEC_choice,
7622                                  NULL);
7623
7624   return offset;
7625 }
7626
7627
7628 static const per_sequence_t H223AL2MParameters_sequence[] = {
7629   { &hf_h245_aL2HeaderFEC   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL2HeaderFEC },
7630   { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7631   { NULL, 0, 0, NULL }
7632 };
7633
7634 static int
7635 dissect_h245_H223AL2MParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7636   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7637                                    ett_h245_H223AL2MParameters, H223AL2MParameters_sequence);
7638
7639   return offset;
7640 }
7641
7642
7643
7644 static int
7645 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_) {
7646 #line 345 "../../asn1/h245/h245.cnf"
7647   if(h223_lc_params_temp)
7648         h223_lc_params_temp->al_type = al2M;
7649
7650   offset = dissect_h245_H223AL2MParameters(tvb, offset, actx, tree, hf_index);
7651
7652   return offset;
7653 }
7654
7655
7656 static const value_string h245_T_headerFormat_vals[] = {
7657   {   0, "sebch16-7" },
7658   {   1, "golay24-12" },
7659   { 0, NULL }
7660 };
7661
7662 static const per_choice_t T_headerFormat_choice[] = {
7663   {   0, &hf_h245_sebch16_7      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7664   {   1, &hf_h245_golay24_12     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7665   { 0, NULL, 0, NULL }
7666 };
7667
7668 static int
7669 dissect_h245_T_headerFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7670   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7671                                  ett_h245_T_headerFormat, T_headerFormat_choice,
7672                                  NULL);
7673
7674   return offset;
7675 }
7676
7677
7678 static const value_string h245_AL3CrcLength_vals[] = {
7679   {   0, "crc4bit" },
7680   {   1, "crc12bit" },
7681   {   2, "crc20bit" },
7682   {   3, "crc28bit" },
7683   {   4, "crc8bit" },
7684   {   5, "crc16bit" },
7685   {   6, "crc32bit" },
7686   {   7, "crcNotUsed" },
7687   { 0, NULL }
7688 };
7689
7690 static const per_choice_t AL3CrcLength_choice[] = {
7691   {   0, &hf_h245_crc4bit        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7692   {   1, &hf_h245_crc12bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7693   {   2, &hf_h245_crc20bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7694   {   3, &hf_h245_crc28bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7695   {   4, &hf_h245_crc8bit        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7696   {   5, &hf_h245_crc16bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7697   {   6, &hf_h245_crc32bit       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7698   {   7, &hf_h245_crcNotUsed     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
7699   { 0, NULL, 0, NULL }
7700 };
7701
7702 static int
7703 dissect_h245_AL3CrcLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7704   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7705                                  ett_h245_AL3CrcLength, AL3CrcLength_choice,
7706                                  NULL);
7707
7708   return offset;
7709 }
7710
7711
7712 static const per_sequence_t H223AL3MParameters_sequence[] = {
7713   { &hf_h245_headerFormat   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_headerFormat },
7714   { &hf_h245_crlength2      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AL3CrcLength },
7715   { &hf_h245_rcpcCodeRate   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_8_32 },
7716   { &hf_h245_arqType        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ArqType },
7717   { &hf_h245_alpduInterleaving, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7718   { &hf_h245_rsCodeCorrection, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_127 },
7719   { NULL, 0, 0, NULL }
7720 };
7721
7722 static int
7723 dissect_h245_H223AL3MParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7724   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7725                                    ett_h245_H223AL3MParameters, H223AL3MParameters_sequence);
7726
7727   return offset;
7728 }
7729
7730
7731
7732 static int
7733 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_) {
7734 #line 350 "../../asn1/h245/h245.cnf"
7735   if(h223_lc_params_temp)
7736         h223_lc_params_temp->al_type = al3M;
7737
7738   offset = dissect_h245_H223AL3MParameters(tvb, offset, actx, tree, hf_index);
7739
7740   return offset;
7741 }
7742
7743
7744 static const value_string h245_T_adaptationLayerType_vals[] = {
7745   {   0, "nonStandard" },
7746   {   1, "al1Framed" },
7747   {   2, "al1NotFramed" },
7748   {   3, "al2WithoutSequenceNumbers" },
7749   {   4, "al2WithSequenceNumbers" },
7750   {   5, "al3" },
7751   {   6, "al1M" },
7752   {   7, "al2M" },
7753   {   8, "al3M" },
7754   { 0, NULL }
7755 };
7756
7757 static const per_choice_t T_adaptationLayerType_choice[] = {
7758   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
7759   {   1, &hf_h245_h223_al_type_al1Framed, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al1Framed },
7760   {   2, &hf_h245_h223_al_type_al1NotFramed, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al1NotFramed },
7761   {   3, &hf_h245_h223_al_type_al2WithoutSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al2WithoutSequenceNumbers },
7762   {   4, &hf_h245_h223_al_type_al2WithSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al2WithSequenceNumbers },
7763   {   5, &hf_h245_h223_al_type_al3, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223_al_type_al3 },
7764   {   6, &hf_h245_h223_al_type_al1M, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_h223_al_type_al1M },
7765   {   7, &hf_h245_h223_al_type_al2M, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_h223_al_type_al2M },
7766   {   8, &hf_h245_h223_al_type_al3M, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_h223_al_type_al3M },
7767   { 0, NULL, 0, NULL }
7768 };
7769
7770 static int
7771 dissect_h245_T_adaptationLayerType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7772   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7773                                  ett_h245_T_adaptationLayerType, T_adaptationLayerType_choice,
7774                                  NULL);
7775
7776   return offset;
7777 }
7778
7779
7780
7781 static int
7782 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_) {
7783 #line 357 "../../asn1/h245/h245.cnf"
7784   gboolean value;
7785   offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, &value);
7786
7787   if(h223_lc_params_temp)
7788         h223_lc_params_temp->segmentable = value;
7789
7790
7791   return offset;
7792 }
7793
7794
7795 static const per_sequence_t H223LogicalChannelParameters_sequence[] = {
7796   { &hf_h245_adaptationLayerType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_adaptationLayerType },
7797   { &hf_h245_h223_lc_segmentableFlag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_h223_lc_segmentableFlag },
7798   { NULL, 0, 0, NULL }
7799 };
7800
7801 int
7802 dissect_h245_H223LogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7803   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7804                                    ett_h245_H223LogicalChannelParameters, H223LogicalChannelParameters_sequence);
7805
7806   return offset;
7807 }
7808
7809
7810
7811 static int
7812 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_) {
7813 #line 186 "../../asn1/h245/h245.cnf"
7814   h223_fw_lc_params = se_alloc(sizeof(h223_lc_params));
7815   h223_fw_lc_params->al_type = al_nonStandard;
7816   h223_fw_lc_params->al_params = NULL;
7817   h223_fw_lc_params->segmentable = 0;
7818   h223_fw_lc_params->subdissector = NULL;
7819   h223_lc_params_temp = h223_fw_lc_params;
7820
7821   offset = dissect_h245_H223LogicalChannelParameters(tvb, offset, actx, tree, hf_index);
7822
7823   return offset;
7824 }
7825
7826
7827 static const value_string h245_CRCLength_vals[] = {
7828   {   0, "crc8bit" },
7829   {   1, "crc16bit" },
7830   {   2, "crc32bit" },
7831   { 0, NULL }
7832 };
7833
7834 static const per_choice_t CRCLength_choice[] = {
7835   {   0, &hf_h245_crc8bit        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7836   {   1, &hf_h245_crc16bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7837   {   2, &hf_h245_crc32bit       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7838   { 0, NULL, 0, NULL }
7839 };
7840
7841 static int
7842 dissect_h245_CRCLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7843   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7844                                  ett_h245_CRCLength, CRCLength_choice,
7845                                  NULL);
7846
7847   return offset;
7848 }
7849
7850
7851 static const per_sequence_t V76HDLCParameters_sequence[] = {
7852   { &hf_h245_crcLength      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CRCLength },
7853   { &hf_h245_n401           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_4095 },
7854   { &hf_h245_loopbackTestProcedure, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7855   { NULL, 0, 0, NULL }
7856 };
7857
7858 static int
7859 dissect_h245_V76HDLCParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7860   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7861                                    ett_h245_V76HDLCParameters, V76HDLCParameters_sequence);
7862
7863   return offset;
7864 }
7865
7866
7867 static const value_string h245_T_suspendResume_vals[] = {
7868   {   0, "noSuspendResume" },
7869   {   1, "suspendResumewAddress" },
7870   {   2, "suspendResumewoAddress" },
7871   { 0, NULL }
7872 };
7873
7874 static const per_choice_t T_suspendResume_choice[] = {
7875   {   0, &hf_h245_noSuspendResume, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7876   {   1, &hf_h245_suspendResumewAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7877   {   2, &hf_h245_suspendResumewoAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7878   { 0, NULL, 0, NULL }
7879 };
7880
7881 static int
7882 dissect_h245_T_suspendResume(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7883   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7884                                  ett_h245_T_suspendResume, T_suspendResume_choice,
7885                                  NULL);
7886
7887   return offset;
7888 }
7889
7890
7891 static const value_string h245_T_recovery_vals[] = {
7892   {   0, "rej" },
7893   {   1, "sREJ" },
7894   {   2, "mSREJ" },
7895   { 0, NULL }
7896 };
7897
7898 static const per_choice_t T_recovery_choice[] = {
7899   {   0, &hf_h245_rej            , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7900   {   1, &hf_h245_sREJ           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7901   {   2, &hf_h245_mSREJ          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7902   { 0, NULL, 0, NULL }
7903 };
7904
7905 static int
7906 dissect_h245_T_recovery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7907   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7908                                  ett_h245_T_recovery, T_recovery_choice,
7909                                  NULL);
7910
7911   return offset;
7912 }
7913
7914
7915 static const per_sequence_t T_eRM_sequence[] = {
7916   { &hf_h245_windowSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_127 },
7917   { &hf_h245_recovery       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_recovery },
7918   { NULL, 0, 0, NULL }
7919 };
7920
7921 static int
7922 dissect_h245_T_eRM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7923   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7924                                    ett_h245_T_eRM, T_eRM_sequence);
7925
7926   return offset;
7927 }
7928
7929
7930 static const value_string h245_V76LCP_mode_vals[] = {
7931   {   0, "eRM" },
7932   {   1, "uNERM" },
7933   { 0, NULL }
7934 };
7935
7936 static const per_choice_t V76LCP_mode_choice[] = {
7937   {   0, &hf_h245_eRM            , ASN1_EXTENSION_ROOT    , dissect_h245_T_eRM },
7938   {   1, &hf_h245_uNERM          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
7939   { 0, NULL, 0, NULL }
7940 };
7941
7942 static int
7943 dissect_h245_V76LCP_mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7944   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7945                                  ett_h245_V76LCP_mode, V76LCP_mode_choice,
7946                                  NULL);
7947
7948   return offset;
7949 }
7950
7951
7952 static const per_sequence_t V75Parameters_sequence[] = {
7953   { &hf_h245_audioHeaderPresent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7954   { NULL, 0, 0, NULL }
7955 };
7956
7957 static int
7958 dissect_h245_V75Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7959   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7960                                    ett_h245_V75Parameters, V75Parameters_sequence);
7961
7962   return offset;
7963 }
7964
7965
7966 static const per_sequence_t V76LogicalChannelParameters_sequence[] = {
7967   { &hf_h245_hdlcParameters , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V76HDLCParameters },
7968   { &hf_h245_suspendResume  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_suspendResume },
7969   { &hf_h245_uIH            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
7970   { &hf_h245_v76_mode       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V76LCP_mode },
7971   { &hf_h245_v75Parameters  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_V75Parameters },
7972   { NULL, 0, 0, NULL }
7973 };
7974
7975 static int
7976 dissect_h245_V76LogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7977   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7978                                    ett_h245_V76LogicalChannelParameters, V76LogicalChannelParameters_sequence);
7979
7980   return offset;
7981 }
7982
7983
7984
7985 static int
7986 dissect_h245_Ipv4_network(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7987 #line 870 "../../asn1/h245/h245.cnf"
7988   tvbuff_t *value_tvb;
7989
7990   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
7991                                        4, 4, FALSE, &value_tvb);
7992
7993
7994   if (upcoming_channel && upcoming_channel->upcoming_addr) {
7995     tvb_memcpy(value_tvb, upcoming_channel->upcoming_addr->addr_buf, 0, 4);
7996     SET_ADDRESS(&upcoming_channel->upcoming_addr->addr, AT_IPv4, 4, upcoming_channel->upcoming_addr->addr_buf);
7997   }
7998
7999
8000   return offset;
8001 }
8002
8003
8004
8005 static int
8006 dissect_h245_TsapIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8007 #line 881 "../../asn1/h245/h245.cnf"
8008   guint32 tsapIdentifier;
8009
8010   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8011                                                             0U, 65535U, &tsapIdentifier, FALSE);
8012
8013
8014   if (upcoming_channel && upcoming_channel->upcoming_addr) {
8015     upcoming_channel->upcoming_addr->port = tsapIdentifier;
8016   }
8017
8018
8019   return offset;
8020 }
8021
8022
8023 static const per_sequence_t T_iPAddress_sequence[] = {
8024   { &hf_h245_ip4_network    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ipv4_network },
8025   { &hf_h245_tsapIdentifier , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TsapIdentifier },
8026   { NULL, 0, 0, NULL }
8027 };
8028
8029 static int
8030 dissect_h245_T_iPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8031   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8032                                    ett_h245_T_iPAddress, T_iPAddress_sequence);
8033
8034   return offset;
8035 }
8036
8037
8038
8039 static int
8040 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_) {
8041   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8042                                        6, 6, FALSE, NULL);
8043
8044   return offset;
8045 }
8046
8047
8048
8049 static int
8050 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_) {
8051   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8052                                        4, 4, FALSE, NULL);
8053
8054   return offset;
8055 }
8056
8057
8058
8059 static int
8060 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_) {
8061   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8062                                        2, 2, FALSE, NULL);
8063
8064   return offset;
8065 }
8066
8067
8068 static const per_sequence_t T_iPXAddress_sequence[] = {
8069   { &hf_h245_node           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_6 },
8070   { &hf_h245_netnum         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
8071   { &hf_h245_ipx_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_2 },
8072   { NULL, 0, 0, NULL }
8073 };
8074
8075 static int
8076 dissect_h245_T_iPXAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8077   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8078                                    ett_h245_T_iPXAddress, T_iPXAddress_sequence);
8079
8080   return offset;
8081 }
8082
8083
8084 static const per_sequence_t T_iP6Address_sequence[] = {
8085   { &hf_h245_ip6_network    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_16 },
8086   { &hf_h245_ipv6_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
8087   { NULL, 0, 0, NULL }
8088 };
8089
8090 static int
8091 dissect_h245_T_iP6Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8092   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8093                                    ett_h245_T_iP6Address, T_iP6Address_sequence);
8094
8095   return offset;
8096 }
8097
8098
8099 static const value_string h245_T_routing_vals[] = {
8100   {   0, "strict" },
8101   {   1, "loose" },
8102   { 0, NULL }
8103 };
8104
8105 static const per_choice_t T_routing_choice[] = {
8106   {   0, &hf_h245_strict         , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8107   {   1, &hf_h245_loose          , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8108   { 0, NULL, 0, NULL }
8109 };
8110
8111 static int
8112 dissect_h245_T_routing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8113   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8114                                  ett_h245_T_routing, T_routing_choice,
8115                                  NULL);
8116
8117   return offset;
8118 }
8119
8120
8121 static const per_sequence_t T_route_sequence_of[1] = {
8122   { &hf_h245_route_item     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
8123 };
8124
8125 static int
8126 dissect_h245_T_route(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8127   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
8128                                       ett_h245_T_route, T_route_sequence_of);
8129
8130   return offset;
8131 }
8132
8133
8134 static const per_sequence_t T_iPSourceRouteAddress_sequence[] = {
8135   { &hf_h245_routing        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_routing },
8136   { &hf_h245_network        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
8137   { &hf_h245_iPSrcRoute_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
8138   { &hf_h245_route          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_route },
8139   { NULL, 0, 0, NULL }
8140 };
8141
8142 static int
8143 dissect_h245_T_iPSourceRouteAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8144   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8145                                    ett_h245_T_iPSourceRouteAddress, T_iPSourceRouteAddress_sequence);
8146
8147   return offset;
8148 }
8149
8150
8151 const value_string h245_UnicastAddress_vals[] = {
8152   {   0, "iPAddress" },
8153   {   1, "iPXAddress" },
8154   {   2, "iP6Address" },
8155   {   3, "netBios" },
8156   {   4, "iPSourceRouteAddress" },
8157   {   5, "nsap" },
8158   {   6, "nonStandardAddress" },
8159   { 0, NULL }
8160 };
8161
8162 static const per_choice_t UnicastAddress_choice[] = {
8163   {   0, &hf_h245_iPAddress      , ASN1_EXTENSION_ROOT    , dissect_h245_T_iPAddress },
8164   {   1, &hf_h245_iPXAddress     , ASN1_EXTENSION_ROOT    , dissect_h245_T_iPXAddress },
8165   {   2, &hf_h245_iP6Address     , ASN1_EXTENSION_ROOT    , dissect_h245_T_iP6Address },
8166   {   3, &hf_h245_netBios        , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING_SIZE_16 },
8167   {   4, &hf_h245_iPSourceRouteAddress, ASN1_EXTENSION_ROOT    , dissect_h245_T_iPSourceRouteAddress },
8168   {   5, &hf_h245_nsap           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_OCTET_STRING_SIZE_1_20 },
8169   {   6, &hf_h245_nonStandardAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NonStandardParameter },
8170   { 0, NULL, 0, NULL }
8171 };
8172
8173 int
8174 dissect_h245_UnicastAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8175   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8176                                  ett_h245_UnicastAddress, UnicastAddress_choice,
8177                                  NULL);
8178
8179   return offset;
8180 }
8181
8182
8183 static const per_sequence_t MIPAddress_sequence[] = {
8184   { &hf_h245_mip4_network   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_4 },
8185   { &hf_h245_multicast_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
8186   { NULL, 0, 0, NULL }
8187 };
8188
8189 static int
8190 dissect_h245_MIPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8191   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8192                                    ett_h245_MIPAddress, MIPAddress_sequence);
8193
8194   return offset;
8195 }
8196
8197
8198 static const per_sequence_t MIP6Address_sequence[] = {
8199   { &hf_h245_mip6_network   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_16 },
8200   { &hf_h245_multicast_IPv6_tsapIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
8201   { NULL, 0, 0, NULL }
8202 };
8203
8204 static int
8205 dissect_h245_MIP6Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8206   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8207                                    ett_h245_MIP6Address, MIP6Address_sequence);
8208
8209   return offset;
8210 }
8211
8212
8213 const value_string h245_MulticastAddress_vals[] = {
8214   {   0, "iPAddress" },
8215   {   1, "iP6Address" },
8216   {   2, "nsap" },
8217   {   3, "nonStandardAddress" },
8218   { 0, NULL }
8219 };
8220
8221 static const per_choice_t MulticastAddress_choice[] = {
8222   {   0, &hf_h245_mIPAddress     , ASN1_EXTENSION_ROOT    , dissect_h245_MIPAddress },
8223   {   1, &hf_h245_mIP6Address    , ASN1_EXTENSION_ROOT    , dissect_h245_MIP6Address },
8224   {   2, &hf_h245_nsap           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_OCTET_STRING_SIZE_1_20 },
8225   {   3, &hf_h245_nonStandardAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NonStandardParameter },
8226   { 0, NULL, 0, NULL }
8227 };
8228
8229 int
8230 dissect_h245_MulticastAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8231   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8232                                  ett_h245_MulticastAddress, MulticastAddress_choice,
8233                                  NULL);
8234
8235   return offset;
8236 }
8237
8238
8239 const value_string h245_TransportAddress_vals[] = {
8240   {   0, "unicastAddress" },
8241   {   1, "multicastAddress" },
8242   { 0, NULL }
8243 };
8244
8245 static const per_choice_t TransportAddress_choice[] = {
8246   {   0, &hf_h245_unicastAddress , ASN1_EXTENSION_ROOT    , dissect_h245_UnicastAddress },
8247   {   1, &hf_h245_multicastAddress, ASN1_EXTENSION_ROOT    , dissect_h245_MulticastAddress },
8248   { 0, NULL, 0, NULL }
8249 };
8250
8251 int
8252 dissect_h245_TransportAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8253   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8254                                  ett_h245_TransportAddress, TransportAddress_choice,
8255                                  NULL);
8256
8257   return offset;
8258 }
8259
8260
8261
8262 static int
8263 dissect_h245_T_mediaChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8264 #line 900 "../../asn1/h245/h245.cnf"
8265   if (upcoming_channel)
8266     upcoming_channel->upcoming_addr = &upcoming_channel->media_addr;
8267
8268   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
8269
8270 #line 904 "../../asn1/h245/h245.cnf"
8271   if (upcoming_channel)
8272     upcoming_channel->upcoming_addr = NULL;
8273
8274   return offset;
8275 }
8276
8277
8278
8279 static int
8280 dissect_h245_T_mediaControlChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8281 #line 918 "../../asn1/h245/h245.cnf"
8282   if (upcoming_channel)
8283     upcoming_channel->upcoming_addr = &upcoming_channel->media_control_addr;
8284
8285   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
8286
8287 #line 922 "../../asn1/h245/h245.cnf"
8288   if (upcoming_channel)
8289     upcoming_channel->upcoming_addr = NULL;
8290
8291   return offset;
8292 }
8293
8294
8295
8296 static int
8297 dissect_h245_McuNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8298   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8299                                                             0U, 192U, NULL, FALSE);
8300
8301   return offset;
8302 }
8303
8304
8305
8306 static int
8307 dissect_h245_TerminalNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8308   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8309                                                             0U, 192U, NULL, FALSE);
8310
8311   return offset;
8312 }
8313
8314
8315 static const per_sequence_t TerminalLabel_sequence[] = {
8316   { &hf_h245_mcuNumber      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_McuNumber },
8317   { &hf_h245_terminalNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalNumber },
8318   { NULL, 0, 0, NULL }
8319 };
8320
8321 static int
8322 dissect_h245_TerminalLabel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8323   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8324                                    ett_h245_TerminalLabel, TerminalLabel_sequence);
8325
8326   return offset;
8327 }
8328
8329
8330 static const value_string h245_T_mediaPacketization_vals[] = {
8331   {   0, "h261aVideoPacketization" },
8332   {   1, "rtpPayloadType" },
8333   { 0, NULL }
8334 };
8335
8336 static const per_choice_t T_mediaPacketization_choice[] = {
8337   {   0, &hf_h245_h261aVideoPacketizationFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8338   {   1, &hf_h245_rtpPayloadType , ASN1_NOT_EXTENSION_ROOT, dissect_h245_RTPPayloadType },
8339   { 0, NULL, 0, NULL }
8340 };
8341
8342 static int
8343 dissect_h245_T_mediaPacketization(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8344   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8345                                  ett_h245_T_mediaPacketization, T_mediaPacketization_choice,
8346                                  NULL);
8347
8348   return offset;
8349 }
8350
8351
8352 static const per_sequence_t H2250LogicalChannelParameters_sequence[] = {
8353   { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
8354   { &hf_h245_sessionID_0_255, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
8355   { &hf_h245_associatedSessionID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
8356   { &hf_h245_mediaChannel   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_mediaChannel },
8357   { &hf_h245_mediaGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
8358   { &hf_h245_mediaControlChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_mediaControlChannel },
8359   { &hf_h245_mediaControlGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
8360   { &hf_h245_silenceSuppression, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
8361   { &hf_h245_destination    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
8362   { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_96_127 },
8363   { &hf_h245_mediaPacketization, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_mediaPacketization },
8364   { &hf_h245_transportCapability, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TransportCapability },
8365   { &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_RedundancyEncoding },
8366   { &hf_h245_source         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
8367   { NULL, 0, 0, NULL }
8368 };
8369
8370 static int
8371 dissect_h245_H2250LogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8372   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8373                                    ett_h245_H2250LogicalChannelParameters, H2250LogicalChannelParameters_sequence);
8374
8375   return offset;
8376 }
8377
8378
8379 static const value_string h245_OLC_forw_multiplexParameters_vals[] = {
8380   {   0, "h222LogicalChannelParameters" },
8381   {   1, "h223LogicalChannelParameters" },
8382   {   2, "v76LogicalChannelParameters" },
8383   {   3, "h2250LogicalChannelParameters" },
8384   {   4, "none" },
8385   { 0, NULL }
8386 };
8387
8388 static const per_choice_t OLC_forw_multiplexParameters_choice[] = {
8389   {   0, &hf_h245_h222LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_H222LogicalChannelParameters },
8390   {   1, &hf_h245_olc_fw_h223_params, ASN1_EXTENSION_ROOT    , dissect_h245_OLC_fw_h223_params },
8391   {   2, &hf_h245_v76LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_V76LogicalChannelParameters },
8392   {   3, &hf_h245_h2250LogicalChannelParameters, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250LogicalChannelParameters },
8393   {   4, &hf_h245_none           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
8394   { 0, NULL, 0, NULL }
8395 };
8396
8397 static int
8398 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_) {
8399   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8400                                  ett_h245_OLC_forw_multiplexParameters, OLC_forw_multiplexParameters_choice,
8401                                  NULL);
8402
8403   return offset;
8404 }
8405
8406
8407 static const per_sequence_t T_forwardLogicalChannelParameters_sequence[] = {
8408   { &hf_h245_portNumber     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
8409   { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
8410   { &hf_h245_olc_forw_multiplexParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OLC_forw_multiplexParameters },
8411   { &hf_h245_forwardLogicalChannelDependency, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8412   { &hf_h245_replacementFor , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8413   { NULL, 0, 0, NULL }
8414 };
8415
8416 static int
8417 dissect_h245_T_forwardLogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8418 #line 169 "../../asn1/h245/h245.cnf"
8419
8420   upcoming_channel = (upcoming_olc) ? &upcoming_olc->fwd_lc : NULL;
8421
8422   h245_lc_dissector = NULL;
8423   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8424                                    ett_h245_T_forwardLogicalChannelParameters, T_forwardLogicalChannelParameters_sequence);
8425
8426   if(h223_lc_params_temp && h245_lc_dissector)
8427         h223_lc_params_temp->subdissector = h245_lc_dissector;
8428   else if(h223_lc_params_temp)
8429         h223_lc_params_temp->subdissector = data_handle;
8430
8431   if (upcoming_channel && codec_type) {
8432     g_strlcpy(upcoming_channel->data_type_str, codec_type, sizeof(upcoming_channel->data_type_str));
8433   }
8434   upcoming_channel = NULL;
8435
8436
8437   return offset;
8438 }
8439
8440
8441
8442 static int
8443 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_) {
8444 #line 207 "../../asn1/h245/h245.cnf"
8445   h223_rev_lc_params = se_alloc(sizeof(h223_lc_params));
8446   h223_rev_lc_params->al_type = al_nonStandard;
8447   h223_rev_lc_params->al_params = NULL;
8448   h223_rev_lc_params->segmentable = 0;
8449   h223_rev_lc_params->subdissector = NULL;
8450   h223_lc_params_temp = h223_rev_lc_params;
8451
8452   offset = dissect_h245_H223LogicalChannelParameters(tvb, offset, actx, tree, hf_index);
8453
8454   return offset;
8455 }
8456
8457
8458 static const value_string h245_OLC_rev_multiplexParameters_vals[] = {
8459   {   0, "h223LogicalChannelParameters" },
8460   {   1, "v76LogicalChannelParameters" },
8461   {   2, "h2250LogicalChannelParameters" },
8462   { 0, NULL }
8463 };
8464
8465 static const per_choice_t OLC_rev_multiplexParameters_choice[] = {
8466   {   0, &hf_h245_olc_rev_h223_params, ASN1_EXTENSION_ROOT    , dissect_h245_OLC_rev_h223_params },
8467   {   1, &hf_h245_v76LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_V76LogicalChannelParameters },
8468   {   2, &hf_h245_h2250LogicalChannelParameters, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250LogicalChannelParameters },
8469   { 0, NULL, 0, NULL }
8470 };
8471
8472 static int
8473 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_) {
8474   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8475                                  ett_h245_OLC_rev_multiplexParameters, OLC_rev_multiplexParameters_choice,
8476                                  NULL);
8477
8478   return offset;
8479 }
8480
8481
8482 static const per_sequence_t OLC_reverseLogicalChannelParameters_sequence[] = {
8483   { &hf_h245_dataType       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataType },
8484   { &hf_h245_olc_rev_multiplexParameter, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OLC_rev_multiplexParameters },
8485   { &hf_h245_reverseLogicalChannelDependency, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8486   { &hf_h245_replacementFor , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
8487   { NULL, 0, 0, NULL }
8488 };
8489
8490 static int
8491 dissect_h245_OLC_reverseLogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8492 #line 195 "../../asn1/h245/h245.cnf"
8493
8494   upcoming_channel = (upcoming_olc) ? &upcoming_olc->rev_lc : NULL;
8495
8496   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8497                                    ett_h245_OLC_reverseLogicalChannelParameters, OLC_reverseLogicalChannelParameters_sequence);
8498
8499         
8500   if (upcoming_channel && codec_type) {
8501     g_strlcpy(upcoming_channel->data_type_str, codec_type, sizeof(upcoming_channel->data_type_str));
8502   }
8503   upcoming_channel = NULL;
8504
8505
8506   return offset;
8507 }
8508
8509
8510 static const value_string h245_T_distribution_vals[] = {
8511   {   0, "unicast" },
8512   {   1, "multicast" },
8513   { 0, NULL }
8514 };
8515
8516 static const per_choice_t T_distribution_choice[] = {
8517   {   0, &hf_h245_unicast        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8518   {   1, &hf_h245_multicast      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8519   { 0, NULL, 0, NULL }
8520 };
8521
8522 static int
8523 dissect_h245_T_distribution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8524   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8525                                  ett_h245_T_distribution, T_distribution_choice,
8526                                  NULL);
8527
8528   return offset;
8529 }
8530
8531
8532
8533 static int
8534 dissect_h245_T_e164Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8535   offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
8536                                                       1, 128, FALSE, "0123456789#*,", 13,
8537                                                       NULL);
8538
8539   return offset;
8540 }
8541
8542
8543 static const value_string h245_T_networkAddress_vals[] = {
8544   {   0, "q2931Address" },
8545   {   1, "e164Address" },
8546   {   2, "localAreaAddress" },
8547   { 0, NULL }
8548 };
8549
8550 static const per_choice_t T_networkAddress_choice[] = {
8551   {   0, &hf_h245_q2931Address   , ASN1_EXTENSION_ROOT    , dissect_h245_Q2931Address },
8552   {   1, &hf_h245_e164Address    , ASN1_EXTENSION_ROOT    , dissect_h245_T_e164Address },
8553   {   2, &hf_h245_localAreaAddress, ASN1_EXTENSION_ROOT    , dissect_h245_TransportAddress },
8554   { 0, NULL, 0, NULL }
8555 };
8556
8557 static int
8558 dissect_h245_T_networkAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8559   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8560                                  ett_h245_T_networkAddress, T_networkAddress_choice,
8561                                  NULL);
8562
8563   return offset;
8564 }
8565
8566
8567
8568 static int
8569 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_) {
8570   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8571                                        1, 255, FALSE, NULL);
8572
8573   return offset;
8574 }
8575
8576
8577 static const value_string h245_T_t120SetupProcedure_vals[] = {
8578   {   0, "originateCall" },
8579   {   1, "waitForCall" },
8580   {   2, "issueQuery" },
8581   { 0, NULL }
8582 };
8583
8584 static const per_choice_t T_t120SetupProcedure_choice[] = {
8585   {   0, &hf_h245_originateCall  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8586   {   1, &hf_h245_waitForCall    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8587   {   2, &hf_h245_issueQuery     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8588   { 0, NULL, 0, NULL }
8589 };
8590
8591 static int
8592 dissect_h245_T_t120SetupProcedure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8593   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8594                                  ett_h245_T_t120SetupProcedure, T_t120SetupProcedure_choice,
8595                                  NULL);
8596
8597   return offset;
8598 }
8599
8600
8601 static const per_sequence_t NetworkAccessParameters_sequence[] = {
8602   { &hf_h245_distribution   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_distribution },
8603   { &hf_h245_networkAddress , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_networkAddress },
8604   { &hf_h245_associateConference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
8605   { &hf_h245_externalReference, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_255 },
8606   { &hf_h245_t120SetupProcedure, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_t120SetupProcedure },
8607   { NULL, 0, 0, NULL }
8608 };
8609
8610 static int
8611 dissect_h245_NetworkAccessParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8612   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8613                                    ett_h245_NetworkAccessParameters, NetworkAccessParameters_sequence);
8614
8615   return offset;
8616 }
8617
8618
8619
8620 static int
8621 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_) {
8622   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
8623                                        1, 65535, FALSE, NULL);
8624
8625   return offset;
8626 }
8627
8628
8629
8630 static int
8631 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_) {
8632   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8633                                      1, 65535, FALSE, NULL);
8634
8635   return offset;
8636 }
8637
8638
8639 static const per_sequence_t EscrowData_sequence[] = {
8640   { &hf_h245_escrowID       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
8641   { &hf_h245_escrowValue    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BIT_STRING_SIZE_1_65535 },
8642   { NULL, 0, 0, NULL }
8643 };
8644
8645 static int
8646 dissect_h245_EscrowData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8647   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8648                                    ett_h245_EscrowData, EscrowData_sequence);
8649
8650   return offset;
8651 }
8652
8653
8654 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_EscrowData_sequence_of[1] = {
8655   { &hf_h245_escrowentry_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_EscrowData },
8656 };
8657
8658 static int
8659 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_) {
8660   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8661                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_EscrowData, SEQUENCE_SIZE_1_256_OF_EscrowData_sequence_of,
8662                                                   1, 256, FALSE);
8663
8664   return offset;
8665 }
8666
8667
8668 static const per_sequence_t EncryptionSync_sequence[] = {
8669   { &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NonStandardParameter },
8670   { &hf_h245_synchFlag      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
8671   { &hf_h245_h235Key        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_1_65535 },
8672   { &hf_h245_escrowentry    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_SIZE_1_256_OF_EscrowData },
8673   { &hf_h245_genericParameter, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericParameter },
8674   { NULL, 0, 0, NULL }
8675 };
8676
8677 static int
8678 dissect_h245_EncryptionSync(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8679 #line 708 "../../asn1/h245/h245.cnf"
8680   void *priv_data = actx->private_data;
8681   actx->private_data = gef_ctx_alloc(NULL, "EncryptionSync");
8682
8683   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8684                                    ett_h245_EncryptionSync, EncryptionSync_sequence);
8685
8686 #line 711 "../../asn1/h245/h245.cnf"
8687   actx->private_data = priv_data;
8688
8689   return offset;
8690 }
8691
8692
8693 static const per_sequence_t OpenLogicalChannel_sequence[] = {
8694   { &hf_h245_olc_fw_lcn     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OLC_fw_lcn },
8695   { &hf_h245_forwardLogicalChannelParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_forwardLogicalChannelParameters },
8696   { &hf_h245_reverseLogicalChannelParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OLC_reverseLogicalChannelParameters },
8697   { &hf_h245_separateStack  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_NetworkAccessParameters },
8698   { &hf_h245_encryptionSync , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptionSync },
8699   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
8700   { NULL, 0, 0, NULL }
8701 };
8702
8703 int
8704 dissect_h245_OpenLogicalChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8705 #line 130 "../../asn1/h245/h245.cnf"
8706   gint32 temp;
8707
8708   upcoming_olc = (!actx->pinfo->fd->flags.visited) ? se_alloc0(sizeof(olc_info_t)) : NULL;
8709
8710   h223_fw_lc_num = 0;
8711   h223_lc_params_temp = NULL;
8712
8713   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8714                                    ett_h245_OpenLogicalChannel, OpenLogicalChannel_sequence);
8715
8716
8717   if(h223_fw_lc_num != 0 && h223_fw_lc_params) {
8718         h223_pending_olc *pending = se_alloc(sizeof(h223_pending_olc));
8719         pending->fw_channel_params = h223_fw_lc_params;
8720         pending->rev_channel_params = h223_rev_lc_params;
8721         temp = h223_fw_lc_num;
8722         if (actx->pinfo->p2p_dir > -1)
8723                 g_hash_table_insert(h223_pending_olc_reqs[actx->pinfo->p2p_dir], GINT_TO_POINTER(temp), pending);
8724   }
8725
8726   if (upcoming_olc) {
8727     if (fast_start) {
8728       h245_setup_channels(actx->pinfo, &upcoming_olc->rev_lc);
8729     } else {
8730       g_hash_table_insert(h245_pending_olc_reqs, 
8731         se_strdup(gen_olc_key(upcoming_olc->fwd_lc_num, &actx->pinfo->dst, &actx->pinfo->src)), 
8732         upcoming_olc);
8733     }
8734   }
8735   upcoming_olc = NULL;
8736
8737   if (h245_pi != NULL)
8738     h245_pi->msg_type = H245_OpenLogChn;
8739
8740
8741   return offset;
8742 }
8743
8744
8745 static const value_string h245_T_cLC_source_vals[] = {
8746   {   0, "user" },
8747   {   1, "lcse" },
8748   { 0, NULL }
8749 };
8750
8751 static const per_choice_t T_cLC_source_choice[] = {
8752   {   0, &hf_h245_user           , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8753   {   1, &hf_h245_lcse           , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
8754   { 0, NULL, 0, NULL }
8755 };
8756
8757 static int
8758 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_) {
8759   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8760                                  ett_h245_T_cLC_source, T_cLC_source_choice,
8761                                  NULL);
8762
8763   return offset;
8764 }
8765
8766
8767 static const value_string h245_Clc_reason_vals[] = {
8768   {   0, "unknown" },
8769   {   1, "reopen" },
8770   {   2, "reservationFailure" },
8771   {   3, "networkErrorCode" },
8772   { 0, NULL }
8773 };
8774
8775 static const per_choice_t Clc_reason_choice[] = {
8776   {   0, &hf_h245_unknown        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8777   {   1, &hf_h245_reopen         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8778   {   2, &hf_h245_reservationFailure, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8779   {   3, &hf_h245_networkErrorCode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_0_255 },
8780   { 0, NULL, 0, NULL }
8781 };
8782
8783 static int
8784 dissect_h245_Clc_reason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8785   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8786                                  ett_h245_Clc_reason, Clc_reason_choice,
8787                                  NULL);
8788
8789   return offset;
8790 }
8791
8792
8793 static const per_sequence_t CloseLogicalChannel_sequence[] = {
8794   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
8795   { &hf_h245_cLC_source     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_cLC_source },
8796   { &hf_h245_clc_reason     , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_Clc_reason },
8797   { NULL, 0, 0, NULL }
8798 };
8799
8800 static int
8801 dissect_h245_CloseLogicalChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8802   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8803                                    ett_h245_CloseLogicalChannel, CloseLogicalChannel_sequence);
8804
8805 #line 549 "../../asn1/h245/h245.cnf"
8806
8807 if (h245_pi != NULL)
8808   h245_pi->msg_type = H245_CloseLogChn;
8809
8810   return offset;
8811 }
8812
8813
8814 static const value_string h245_T_reason_vals[] = {
8815   {   0, "unknown" },
8816   {   1, "normal" },
8817   {   2, "reopen" },
8818   {   3, "reservationFailure" },
8819   {   4, "networkErrorCode" },
8820   { 0, NULL }
8821 };
8822
8823 static const per_choice_t T_reason_choice[] = {
8824   {   0, &hf_h245_unknown        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8825   {   1, &hf_h245_normal         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8826   {   2, &hf_h245_reopen         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8827   {   3, &hf_h245_reservationFailure, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
8828   {   4, &hf_h245_networkErrorCode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_0_255 },
8829   { 0, NULL, 0, NULL }
8830 };
8831
8832 static int
8833 dissect_h245_T_reason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8834   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8835                                  ett_h245_T_reason, T_reason_choice,
8836                                  NULL);
8837
8838   return offset;
8839 }
8840
8841
8842 static const per_sequence_t RequestChannelClose_sequence[] = {
8843   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
8844   { &hf_h245_qosCapability  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_QOSCapability },
8845   { &hf_h245_reason         , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_T_reason },
8846   { NULL, 0, 0, NULL }
8847 };
8848
8849 static int
8850 dissect_h245_RequestChannelClose(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8851   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
8852                                    ett_h245_RequestChannelClose, RequestChannelClose_sequence);
8853
8854   return offset;
8855 }
8856
8857
8858
8859 static int
8860 dissect_h245_MultiplexTableEntryNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8861 #line 66 "../../asn1/h245/h245.cnf"
8862   guint32 value;
8863   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8864                                                             1U, 15U, &value, FALSE);
8865
8866   h223_mc = value & 0xf;
8867
8868
8869   return offset;
8870 }
8871
8872
8873
8874 static int
8875 dissect_h245_T_logicalChannelNum(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8876 #line 93 "../../asn1/h245/h245.cnf"
8877   /*MultiplexElement/type/logicalChannelNumber*/
8878   guint32 value;
8879   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8880                                                             0U, 65535U, &value, FALSE);
8881
8882   h223_me->sublist = NULL;
8883   h223_me->vc = value & 0xffff;
8884
8885
8886   return offset;
8887 }
8888
8889
8890 static const per_sequence_t T_subElementList_sequence_of[1] = {
8891   { &hf_h245_subElementList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexElement },
8892 };
8893
8894 static int
8895 dissect_h245_T_subElementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8896 #line 101 "../../asn1/h245/h245.cnf"
8897   h223_mux_element dummy_me, *parent_me = h223_me;
8898   memset (&dummy_me, 0, sizeof (h223_mux_element));
8899   h223_me = &dummy_me;
8900   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
8901                                                   ett_h245_T_subElementList, T_subElementList_sequence_of,
8902                                                   2, 255, FALSE);
8903
8904   parent_me->sublist = dummy_me.next;
8905   h223_me = parent_me;
8906   h223_me->vc = 0;
8907
8908
8909   return offset;
8910 }
8911
8912
8913 static const value_string h245_Me_type_vals[] = {
8914   {   0, "logicalChannelNumber" },
8915   {   1, "subElementList" },
8916   { 0, NULL }
8917 };
8918
8919 static const per_choice_t Me_type_choice[] = {
8920   {   0, &hf_h245_logicalChannelNum, ASN1_NO_EXTENSIONS     , dissect_h245_T_logicalChannelNum },
8921   {   1, &hf_h245_subElementList , ASN1_NO_EXTENSIONS     , dissect_h245_T_subElementList },
8922   { 0, NULL, 0, NULL }
8923 };
8924
8925 static int
8926 dissect_h245_Me_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8927   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8928                                  ett_h245_Me_type, Me_type_choice,
8929                                  NULL);
8930
8931   return offset;
8932 }
8933
8934
8935
8936 static int
8937 dissect_h245_ME_finiteRepeatCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8938 #line 117 "../../asn1/h245/h245.cnf"
8939   guint32 value;
8940   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
8941                                                             1U, 65535U, &value, FALSE);
8942
8943   h223_me->repeat_count = value & 0xffff;
8944
8945
8946   return offset;
8947 }
8948
8949
8950
8951 static int
8952 dissect_h245_T_untilClosingFlag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8953   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
8954
8955 #line 111 "../../asn1/h245/h245.cnf"
8956   h223_me->repeat_count = 0;
8957
8958   return offset;
8959 }
8960
8961
8962 static const value_string h245_ME_repeatCount_vals[] = {
8963   {   0, "finite" },
8964   {   1, "untilClosingFlag" },
8965   { 0, NULL }
8966 };
8967
8968 static const per_choice_t ME_repeatCount_choice[] = {
8969   {   0, &hf_h245_me_repeatCount_finite, ASN1_NO_EXTENSIONS     , dissect_h245_ME_finiteRepeatCount },
8970   {   1, &hf_h245_untilClosingFlag, ASN1_NO_EXTENSIONS     , dissect_h245_T_untilClosingFlag },
8971   { 0, NULL, 0, NULL }
8972 };
8973
8974 static int
8975 dissect_h245_ME_repeatCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8976   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
8977                                  ett_h245_ME_repeatCount, ME_repeatCount_choice,
8978                                  NULL);
8979
8980   return offset;
8981 }
8982
8983
8984 static const per_sequence_t MultiplexElement_sequence[] = {
8985   { &hf_h245_me_type        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_Me_type },
8986   { &hf_h245_me_repeatCount , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ME_repeatCount },
8987   { NULL, 0, 0, NULL }
8988 };
8989
8990 static int
8991 dissect_h245_MultiplexElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8992 #line 83 "../../asn1/h245/h245.cnf"
8993   /*MultiplexElement*/
8994   h223_mux_element* me = se_alloc(sizeof(h223_mux_element));
8995   h223_me->next = me;
8996   h223_me = me;
8997   h223_me->next = NULL;
8998
8999   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9000                                    ett_h245_MultiplexElement, MultiplexElement_sequence);
9001
9002   return offset;
9003 }
9004
9005
9006 static const per_sequence_t T_elementList_sequence_of[1] = {
9007   { &hf_h245_elementList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexElement },
9008 };
9009
9010 static int
9011 dissect_h245_T_elementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9012 #line 72 "../../asn1/h245/h245.cnf"
9013   /* create a h223_mux_element to hold onto the head of the list, since
9014    * h223_me will track the tail */
9015   h223_mux_element dummy_me;
9016   memset (&dummy_me, 0, sizeof (h223_mux_element));
9017   h223_me = &dummy_me;
9018   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
9019                                                   ett_h245_T_elementList, T_elementList_sequence_of,
9020                                                   1, 256, FALSE);
9021
9022   /* set h223_me to the head of the list for MEDescriptor to pick up */
9023   h223_me = dummy_me.next;
9024
9025
9026   return offset;
9027 }
9028
9029
9030 static const per_sequence_t MultiplexEntryDescriptor_sequence[] = {
9031   { &hf_h245_multiplexTableEntryNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
9032   { &hf_h245_elementList    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_h245_T_elementList },
9033   { NULL, 0, 0, NULL }
9034 };
9035
9036 static int
9037 dissect_h245_MultiplexEntryDescriptor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9038 #line 54 "../../asn1/h245/h245.cnf"
9039   /*MultiplexEntryDescriptor*/
9040   h223_me = NULL;
9041   h223_mc = 0;
9042   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9043                                    ett_h245_MultiplexEntryDescriptor, MultiplexEntryDescriptor_sequence);
9044
9045   if(h223_set_mc_handle)
9046     (*h223_set_mc_handle)(actx->pinfo, h223_mc, h223_me);
9047  /* stuff */
9048
9049
9050   return offset;
9051 }
9052
9053
9054 static const per_sequence_t SET_SIZE_1_15_OF_MultiplexEntryDescriptor_set_of[1] = {
9055   { &hf_h245_multiplexEntryDescriptors_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexEntryDescriptor },
9056 };
9057
9058 static int
9059 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_) {
9060   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
9061                                              ett_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor, SET_SIZE_1_15_OF_MultiplexEntryDescriptor_set_of,
9062                                              1, 15, FALSE);
9063
9064   return offset;
9065 }
9066
9067
9068 static const per_sequence_t MultiplexEntrySend_sequence[] = {
9069   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
9070   { &hf_h245_multiplexEntryDescriptors, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor },
9071   { NULL, 0, 0, NULL }
9072 };
9073
9074 static int
9075 dissect_h245_MultiplexEntrySend(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9076   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9077                                    ett_h245_MultiplexEntrySend, MultiplexEntrySend_sequence);
9078
9079   return offset;
9080 }
9081
9082
9083 static const per_sequence_t SET_SIZE_1_15_OF_MultiplexTableEntryNumber_set_of[1] = {
9084   { &hf_h245_multiplexTableEntryNumbers_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
9085 };
9086
9087 static int
9088 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_) {
9089   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
9090                                              ett_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber, SET_SIZE_1_15_OF_MultiplexTableEntryNumber_set_of,
9091                                              1, 15, FALSE);
9092
9093   return offset;
9094 }
9095
9096
9097 static const per_sequence_t RequestMultiplexEntry_sequence[] = {
9098   { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
9099   { NULL, 0, 0, NULL }
9100 };
9101
9102 static int
9103 dissect_h245_RequestMultiplexEntry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9104   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9105                                    ett_h245_RequestMultiplexEntry, RequestMultiplexEntry_sequence);
9106
9107   return offset;
9108 }
9109
9110
9111 static const value_string h245_H261Resolution_vals[] = {
9112   {   0, "qcif" },
9113   {   1, "cif" },
9114   { 0, NULL }
9115 };
9116
9117 static const per_choice_t H261Resolution_choice[] = {
9118   {   0, &hf_h245_qcif           , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9119   {   1, &hf_h245_cif            , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9120   { 0, NULL, 0, NULL }
9121 };
9122
9123 static int
9124 dissect_h245_H261Resolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9125   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9126                                  ett_h245_H261Resolution, H261Resolution_choice,
9127                                  NULL);
9128
9129   return offset;
9130 }
9131
9132
9133 static const per_sequence_t H261VideoMode_sequence[] = {
9134   { &hf_h245_h261_resolution, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_H261Resolution },
9135   { &hf_h245_bitRate_1_19200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_19200 },
9136   { &hf_h245_stillImageTransmission, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9137   { NULL, 0, 0, NULL }
9138 };
9139
9140 static int
9141 dissect_h245_H261VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9142   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9143                                    ett_h245_H261VideoMode, H261VideoMode_sequence);
9144
9145   return offset;
9146 }
9147
9148
9149 static const value_string h245_T_profileAndLevel_vals[] = {
9150   {   0, "profileAndLevel-SPatML" },
9151   {   1, "profileAndLevel-MPatLL" },
9152   {   2, "profileAndLevel-MPatML" },
9153   {   3, "profileAndLevel-MPatH-14" },
9154   {   4, "profileAndLevel-MPatHL" },
9155   {   5, "profileAndLevel-SNRatLL" },
9156   {   6, "profileAndLevel-SNRatML" },
9157   {   7, "profileAndLevel-SpatialatH-14" },
9158   {   8, "profileAndLevel-HPatML" },
9159   {   9, "profileAndLevel-HPatH-14" },
9160   {  10, "profileAndLevel-HPatHL" },
9161   { 0, NULL }
9162 };
9163
9164 static const per_choice_t T_profileAndLevel_choice[] = {
9165   {   0, &hf_h245_profileAndLevel_SPatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9166   {   1, &hf_h245_profileAndLevel_MPatLLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9167   {   2, &hf_h245_profileAndLevel_MPatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9168   {   3, &hf_h245_profileAndLevel_MPatH_14Mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9169   {   4, &hf_h245_profileAndLevel_MPatHLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9170   {   5, &hf_h245_profileAndLevel_SNRatLLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9171   {   6, &hf_h245_profileAndLevel_SNRatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9172   {   7, &hf_h245_profileAndLevel_SpatialatH_14Mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9173   {   8, &hf_h245_profileAndLevel_HPatMLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9174   {   9, &hf_h245_profileAndLevel_HPatH_14Mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9175   {  10, &hf_h245_profileAndLevel_HPatHLMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9176   { 0, NULL, 0, NULL }
9177 };
9178
9179 static int
9180 dissect_h245_T_profileAndLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9181   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9182                                  ett_h245_T_profileAndLevel, T_profileAndLevel_choice,
9183                                  NULL);
9184
9185   return offset;
9186 }
9187
9188
9189 static const per_sequence_t H262VideoMode_sequence[] = {
9190   { &hf_h245_profileAndLevel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_profileAndLevel },
9191   { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
9192   { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
9193   { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9194   { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9195   { &hf_h245_framesPerSecond, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
9196   { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
9197   { NULL, 0, 0, NULL }
9198 };
9199
9200 static int
9201 dissect_h245_H262VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9202   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9203                                    ett_h245_H262VideoMode, H262VideoMode_sequence);
9204
9205   return offset;
9206 }
9207
9208
9209 static const value_string h245_H263Resolution_vals[] = {
9210   {   0, "sqcif" },
9211   {   1, "qcif" },
9212   {   2, "cif" },
9213   {   3, "cif4" },
9214   {   4, "cif16" },
9215   {   5, "custom" },
9216   { 0, NULL }
9217 };
9218
9219 static const per_choice_t H263Resolution_choice[] = {
9220   {   0, &hf_h245_sqcif          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9221   {   1, &hf_h245_qcif           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9222   {   2, &hf_h245_cif            , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9223   {   3, &hf_h245_cif4           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9224   {   4, &hf_h245_cif16          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9225   {   5, &hf_h245_custom_res     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
9226   { 0, NULL, 0, NULL }
9227 };
9228
9229 static int
9230 dissect_h245_H263Resolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9231   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9232                                  ett_h245_H263Resolution, H263Resolution_choice,
9233                                  NULL);
9234
9235   return offset;
9236 }
9237
9238
9239 static const per_sequence_t H263VideoMode_sequence[] = {
9240   { &hf_h245_h263_resolution, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_H263Resolution },
9241   { &hf_h245_bitRate_1_19200, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_19200 },
9242   { &hf_h245_unrestrictedVector, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9243   { &hf_h245_arithmeticCoding, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9244   { &hf_h245_advancedPrediction, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9245   { &hf_h245_pbFrames       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9246   { &hf_h245_errorCompensation, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9247   { &hf_h245_enhancementLayerInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EnhancementLayerInfo },
9248   { &hf_h245_h263Options    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H263Options },
9249   { NULL, 0, 0, NULL }
9250 };
9251
9252 static int
9253 dissect_h245_H263VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9254   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9255                                    ett_h245_H263VideoMode, H263VideoMode_sequence);
9256
9257   return offset;
9258 }
9259
9260
9261 static const per_sequence_t IS11172VideoMode_sequence[] = {
9262   { &hf_h245_constrainedBitstream, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9263   { &hf_h245_videoBitRate   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_1073741823 },
9264   { &hf_h245_vbvBufferSize  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
9265   { &hf_h245_samplesPerLine , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9266   { &hf_h245_linesPerFrame  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_16383 },
9267   { &hf_h245_pictureRate    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
9268   { &hf_h245_luminanceSampleRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
9269   { NULL, 0, 0, NULL }
9270 };
9271
9272 static int
9273 dissect_h245_IS11172VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9274   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9275                                    ett_h245_IS11172VideoMode, IS11172VideoMode_sequence);
9276
9277   return offset;
9278 }
9279
9280
9281 static const value_string h245_VideoMode_vals[] = {
9282   {   0, "nonStandard" },
9283   {   1, "h261VideoMode" },
9284   {   2, "h262VideoMode" },
9285   {   3, "h263VideoMode" },
9286   {   4, "is11172VideoMode" },
9287   {   5, "genericVideoMode" },
9288   { 0, NULL }
9289 };
9290
9291 static const per_choice_t VideoMode_choice[] = {
9292   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9293   {   1, &hf_h245_h261VideoMode  , ASN1_EXTENSION_ROOT    , dissect_h245_H261VideoMode },
9294   {   2, &hf_h245_h262VideoMode  , ASN1_EXTENSION_ROOT    , dissect_h245_H262VideoMode },
9295   {   3, &hf_h245_h263VideoMode  , ASN1_EXTENSION_ROOT    , dissect_h245_H263VideoMode },
9296   {   4, &hf_h245_is11172VideoMode, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172VideoMode },
9297   {   5, &hf_h245_genericVideoMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
9298   { 0, NULL, 0, NULL }
9299 };
9300
9301 static int
9302 dissect_h245_VideoMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9303 #line 517 "../../asn1/h245/h245.cnf"
9304   gint32 value;
9305
9306   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9307                                  ett_h245_VideoMode, VideoMode_choice,
9308                                  &value);
9309
9310   codec_type = val_to_str(value, h245_VideoMode_vals, "<unknown>");
9311
9312
9313   return offset;
9314 }
9315
9316
9317 static const value_string h245_Mode_g7231_vals[] = {
9318   {   0, "noSilenceSuppressionLowRate" },
9319   {   1, "noSilenceSuppressionHighRate" },
9320   {   2, "silenceSuppressionLowRate" },
9321   {   3, "silenceSuppressionHighRate" },
9322   { 0, NULL }
9323 };
9324
9325 static const per_choice_t Mode_g7231_choice[] = {
9326   {   0, &hf_h245_noSilenceSuppressionLowRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9327   {   1, &hf_h245_noSilenceSuppressionHighRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9328   {   2, &hf_h245_silenceSuppressionLowRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9329   {   3, &hf_h245_silenceSuppressionHighRate, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9330   { 0, NULL, 0, NULL }
9331 };
9332
9333 static int
9334 dissect_h245_Mode_g7231(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9335   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9336                                  ett_h245_Mode_g7231, Mode_g7231_choice,
9337                                  NULL);
9338
9339   return offset;
9340 }
9341
9342
9343 static const value_string h245_T_audioLayer_vals[] = {
9344   {   0, "audioLayer1" },
9345   {   1, "audioLayer2" },
9346   {   2, "audioLayer3" },
9347   { 0, NULL }
9348 };
9349
9350 static const per_choice_t T_audioLayer_choice[] = {
9351   {   0, &hf_h245_audioLayer1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9352   {   1, &hf_h245_audioLayer2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9353   {   2, &hf_h245_audioLayer3Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9354   { 0, NULL, 0, NULL }
9355 };
9356
9357 static int
9358 dissect_h245_T_audioLayer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9359   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9360                                  ett_h245_T_audioLayer, T_audioLayer_choice,
9361                                  NULL);
9362
9363   return offset;
9364 }
9365
9366
9367 static const value_string h245_T_audioSampling_vals[] = {
9368   {   0, "audioSampling32k" },
9369   {   1, "audioSampling44k1" },
9370   {   2, "audioSampling48k" },
9371   { 0, NULL }
9372 };
9373
9374 static const per_choice_t T_audioSampling_choice[] = {
9375   {   0, &hf_h245_audioSampling32kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9376   {   1, &hf_h245_audioSampling44k1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9377   {   2, &hf_h245_audioSampling48kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9378   { 0, NULL, 0, NULL }
9379 };
9380
9381 static int
9382 dissect_h245_T_audioSampling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9383   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9384                                  ett_h245_T_audioSampling, T_audioSampling_choice,
9385                                  NULL);
9386
9387   return offset;
9388 }
9389
9390
9391 static const value_string h245_IS11172_multichannelType_vals[] = {
9392   {   0, "singleChannel" },
9393   {   1, "twoChannelStereo" },
9394   {   2, "twoChannelDual" },
9395   { 0, NULL }
9396 };
9397
9398 static const per_choice_t IS11172_multichannelType_choice[] = {
9399   {   0, &hf_h245_singleChannelMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9400   {   1, &hf_h245_twoChannelStereo, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9401   {   2, &hf_h245_twoChannelDual , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9402   { 0, NULL, 0, NULL }
9403 };
9404
9405 static int
9406 dissect_h245_IS11172_multichannelType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9407   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9408                                  ett_h245_IS11172_multichannelType, IS11172_multichannelType_choice,
9409                                  NULL);
9410
9411   return offset;
9412 }
9413
9414
9415 static const per_sequence_t IS11172AudioMode_sequence[] = {
9416   { &hf_h245_audioLayer     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_audioLayer },
9417   { &hf_h245_audioSampling  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_audioSampling },
9418   { &hf_h245_is11172multichannelType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS11172_multichannelType },
9419   { &hf_h245_bitRate_1_448  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_448 },
9420   { NULL, 0, 0, NULL }
9421 };
9422
9423 static int
9424 dissect_h245_IS11172AudioMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9425   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9426                                    ett_h245_IS11172AudioMode, IS11172AudioMode_sequence);
9427
9428   return offset;
9429 }
9430
9431
9432 static const value_string h245_IS13818AudioLayer_vals[] = {
9433   {   0, "audioLayer1" },
9434   {   1, "audioLayer2" },
9435   {   2, "audioLayer3" },
9436   { 0, NULL }
9437 };
9438
9439 static const per_choice_t IS13818AudioLayer_choice[] = {
9440   {   0, &hf_h245_audioLayer1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9441   {   1, &hf_h245_audioLayer2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9442   {   2, &hf_h245_audioLayer3Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9443   { 0, NULL, 0, NULL }
9444 };
9445
9446 static int
9447 dissect_h245_IS13818AudioLayer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9448   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9449                                  ett_h245_IS13818AudioLayer, IS13818AudioLayer_choice,
9450                                  NULL);
9451
9452   return offset;
9453 }
9454
9455
9456 static const value_string h245_IS13818AudioSampling_vals[] = {
9457   {   0, "audioSampling16k" },
9458   {   1, "audioSampling22k05" },
9459   {   2, "audioSampling24k" },
9460   {   3, "audioSampling32k" },
9461   {   4, "audioSampling44k1" },
9462   {   5, "audioSampling48k" },
9463   { 0, NULL }
9464 };
9465
9466 static const per_choice_t IS13818AudioSampling_choice[] = {
9467   {   0, &hf_h245_audioSampling16kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9468   {   1, &hf_h245_audioSampling22k05Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9469   {   2, &hf_h245_audioSampling24kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9470   {   3, &hf_h245_audioSampling32kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9471   {   4, &hf_h245_audioSampling44k1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9472   {   5, &hf_h245_audioSampling48kMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9473   { 0, NULL, 0, NULL }
9474 };
9475
9476 static int
9477 dissect_h245_IS13818AudioSampling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9478   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9479                                  ett_h245_IS13818AudioSampling, IS13818AudioSampling_choice,
9480                                  NULL);
9481
9482   return offset;
9483 }
9484
9485
9486 static const value_string h245_IS13818MultichannelType_vals[] = {
9487   {   0, "singleChannel" },
9488   {   1, "twoChannelStereo" },
9489   {   2, "twoChannelDual" },
9490   {   3, "threeChannels2-1" },
9491   {   4, "threeChannels3-0" },
9492   {   5, "fourChannels2-0-2-0" },
9493   {   6, "fourChannels2-2" },
9494   {   7, "fourChannels3-1" },
9495   {   8, "fiveChannels3-0-2-0" },
9496   {   9, "fiveChannels3-2" },
9497   { 0, NULL }
9498 };
9499
9500 static const per_choice_t IS13818MultichannelType_choice[] = {
9501   {   0, &hf_h245_singleChannelMode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9502   {   1, &hf_h245_twoChannelStereo, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9503   {   2, &hf_h245_twoChannelDual , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9504   {   3, &hf_h245_threeChannels2_1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9505   {   4, &hf_h245_threeChannels3_0Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9506   {   5, &hf_h245_fourChannels2_0_2_0Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9507   {   6, &hf_h245_fourChannels2_2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9508   {   7, &hf_h245_fourChannels3_1Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9509   {   8, &hf_h245_fiveChannels3_0_2_0Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9510   {   9, &hf_h245_fiveChannels3_2Mode, ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
9511   { 0, NULL, 0, NULL }
9512 };
9513
9514 static int
9515 dissect_h245_IS13818MultichannelType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9516   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9517                                  ett_h245_IS13818MultichannelType, IS13818MultichannelType_choice,
9518                                  NULL);
9519
9520   return offset;
9521 }
9522
9523
9524 static const per_sequence_t IS13818AudioMode_sequence[] = {
9525   { &hf_h245_audioLayerMode , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS13818AudioLayer },
9526   { &hf_h245_audioSamplingMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS13818AudioSampling },
9527   { &hf_h245_is13818MultichannelType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IS13818MultichannelType },
9528   { &hf_h245_lowFrequencyEnhancement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9529   { &hf_h245_multilingual   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9530   { &hf_h245_bitRate2_1_1130, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_1130 },
9531   { NULL, 0, 0, NULL }
9532 };
9533
9534 static int
9535 dissect_h245_IS13818AudioMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9536   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9537                                    ett_h245_IS13818AudioMode, IS13818AudioMode_sequence);
9538
9539   return offset;
9540 }
9541
9542
9543 static const per_sequence_t G7231AnnexCMode_sequence[] = {
9544   { &hf_h245_maxAl_sduAudioFrames, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_256 },
9545   { &hf_h245_silenceSuppression, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
9546   { &hf_h245_g723AnnexCAudioMode, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_G723AnnexCAudioMode },
9547   { NULL, 0, 0, NULL }
9548 };
9549
9550 static int
9551 dissect_h245_G7231AnnexCMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9552   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9553                                    ett_h245_G7231AnnexCMode, G7231AnnexCMode_sequence);
9554
9555   return offset;
9556 }
9557
9558
9559 static const per_sequence_t VBDMode_sequence[] = {
9560   { &hf_h245_vbd_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AudioMode },
9561   { NULL, 0, 0, NULL }
9562 };
9563
9564 static int
9565 dissect_h245_VBDMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9566   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9567                                    ett_h245_VBDMode, VBDMode_sequence);
9568
9569   return offset;
9570 }
9571
9572
9573 static const value_string h245_AudioMode_vals[] = {
9574   {   0, "nonStandard" },
9575   {   1, "g711Alaw64k" },
9576   {   2, "g711Alaw56k" },
9577   {   3, "g711Ulaw64k" },
9578   {   4, "g711Ulaw56k" },
9579   {   5, "g722-64k" },
9580   {   6, "g722-56k" },
9581   {   7, "g722-48k" },
9582   {   8, "g728" },
9583   {   9, "g729" },
9584   {  10, "g729AnnexA" },
9585   {  11, "g7231" },
9586   {  12, "is11172AudioMode" },
9587   {  13, "is13818AudioMode" },
9588   {  14, "g729wAnnexB" },
9589   {  15, "g729AnnexAwAnnexB" },
9590   {  16, "g7231AnnexCMode" },
9591   {  17, "gsmFullRate" },
9592   {  18, "gsmHalfRate" },
9593   {  19, "gsmEnhancedFullRate" },
9594   {  20, "genericAudioMode" },
9595   {  21, "g729Extensions" },
9596   {  22, "vbd" },
9597   { 0, NULL }
9598 };
9599
9600 static const per_choice_t AudioMode_choice[] = {
9601   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9602   {   1, &hf_h245_g711Alaw64k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9603   {   2, &hf_h245_g711Alaw56k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9604   {   3, &hf_h245_g711Ulaw64k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9605   {   4, &hf_h245_g711Ulaw56k_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9606   {   5, &hf_h245_g722_64k_mode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9607   {   6, &hf_h245_g722_56k_mode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9608   {   7, &hf_h245_g722_48k_mode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9609   {   8, &hf_h245_g728_mode      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9610   {   9, &hf_h245_g729_mode      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9611   {  10, &hf_h245_g729AnnexA_mode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9612   {  11, &hf_h245_g7231_mode     , ASN1_EXTENSION_ROOT    , dissect_h245_Mode_g7231 },
9613   {  12, &hf_h245_is11172AudioMode, ASN1_EXTENSION_ROOT    , dissect_h245_IS11172AudioMode },
9614   {  13, &hf_h245_is13818AudioMode, ASN1_EXTENSION_ROOT    , dissect_h245_IS13818AudioMode },
9615   {  14, &hf_h245_g729wAnnexB    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
9616   {  15, &hf_h245_g729AnnexAwAnnexB, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_256 },
9617   {  16, &hf_h245_g7231AnnexCMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_G7231AnnexCMode },
9618   {  17, &hf_h245_gsmFullRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
9619   {  18, &hf_h245_gsmHalfRate    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
9620   {  19, &hf_h245_gsmEnhancedFullRate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GSMAudioCapability },
9621   {  20, &hf_h245_genericAudioMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
9622   {  21, &hf_h245_g729Extensions , ASN1_NOT_EXTENSION_ROOT, dissect_h245_G729Extensions },
9623   {  22, &hf_h245_vbd_mode       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_VBDMode },
9624   { 0, NULL, 0, NULL }
9625 };
9626
9627 static int
9628 dissect_h245_AudioMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9629 #line 510 "../../asn1/h245/h245.cnf"
9630   gint32 value;
9631
9632   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9633                                  ett_h245_AudioMode, AudioMode_choice,
9634                                  &value);
9635
9636   codec_type = val_to_str(value, h245_AudioMode_vals, "<unknown>");
9637
9638
9639   return offset;
9640 }
9641
9642
9643 static const per_sequence_t T38faxApp_sequence[] = {
9644   { &hf_h245_t38FaxProtocol , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DataProtocolCapability },
9645   { &hf_h245_t38FaxProfile  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_T38FaxProfile },
9646   { NULL, 0, 0, NULL }
9647 };
9648
9649 static int
9650 dissect_h245_T38faxApp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9651   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9652                                    ett_h245_T38faxApp, T38faxApp_sequence);
9653
9654   return offset;
9655 }
9656
9657
9658 static const value_string h245_DataModeApplication_vals[] = {
9659   {   0, "nonStandard" },
9660   {   1, "t120" },
9661   {   2, "dsm-cc" },
9662   {   3, "userData" },
9663   {   4, "t84" },
9664   {   5, "t434" },
9665   {   6, "h224" },
9666   {   7, "nlpid" },
9667   {   8, "dsvdControl" },
9668   {   9, "h222DataPartitioning" },
9669   {  10, "t30fax" },
9670   {  11, "t140" },
9671   {  12, "t38fax" },
9672   {  13, "genericDataMode" },
9673   { 0, NULL }
9674 };
9675
9676 static const per_choice_t DataModeApplication_choice[] = {
9677   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9678   {   1, &hf_h245_t120           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9679   {   2, &hf_h245_dsm_cc         , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9680   {   3, &hf_h245_userData       , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9681   {   4, &hf_h245_t84DataProtocolCapability, ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9682   {   5, &hf_h245_t434           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9683   {   6, &hf_h245_h224           , ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9684   {   7, &hf_h245_nlpid          , ASN1_EXTENSION_ROOT    , dissect_h245_Nlpid },
9685   {   8, &hf_h245_dsvdControl    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9686   {   9, &hf_h245_h222DataPartitioning, ASN1_EXTENSION_ROOT    , dissect_h245_DataProtocolCapability },
9687   {  10, &hf_h245_t30fax         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
9688   {  11, &hf_h245_t140           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DataProtocolCapability },
9689   {  12, &hf_h245_t38faxDataProtocolCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T38faxApp },
9690   {  13, &hf_h245_genericDataMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericCapability },
9691   { 0, NULL, 0, NULL }
9692 };
9693
9694 static int
9695 dissect_h245_DataModeApplication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9696 #line 524 "../../asn1/h245/h245.cnf"
9697   gint32 value;
9698
9699   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9700                                  ett_h245_DataModeApplication, DataModeApplication_choice,
9701                                  &value);
9702
9703   codec_type = val_to_str(value, h245_DataModeApplication_vals, "<unknown>");
9704
9705
9706   return offset;
9707 }
9708
9709
9710 static const per_sequence_t DataMode_sequence[] = {
9711   { &hf_h245_datamodeapplication, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DataModeApplication },
9712   { &hf_h245_bitRate_0_4294967295, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
9713   { NULL, 0, 0, NULL }
9714 };
9715
9716 static int
9717 dissect_h245_DataMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9718   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9719                                    ett_h245_DataMode, DataMode_sequence);
9720
9721   return offset;
9722 }
9723
9724
9725 static const value_string h245_T_mediaMode_vals[] = {
9726   {   0, "nonStandard" },
9727   {   1, "videoMode" },
9728   {   2, "audioMode" },
9729   {   3, "dataMode" },
9730   { 0, NULL }
9731 };
9732
9733 static const per_choice_t T_mediaMode_choice[] = {
9734   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9735   {   1, &hf_h245_videoMode      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoMode },
9736   {   2, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
9737   {   3, &hf_h245_dataMode       , ASN1_EXTENSION_ROOT    , dissect_h245_DataMode },
9738   { 0, NULL, 0, NULL }
9739 };
9740
9741 static int
9742 dissect_h245_T_mediaMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9743   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9744                                  ett_h245_T_mediaMode, T_mediaMode_choice,
9745                                  NULL);
9746
9747   return offset;
9748 }
9749
9750
9751 static const per_sequence_t H235Mode_sequence[] = {
9752   { &hf_h245_encryptionAuthenticationAndIntegrity, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionAuthenticationAndIntegrity },
9753   { &hf_h245_mediaMode      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_mediaMode },
9754   { NULL, 0, 0, NULL }
9755 };
9756
9757 static int
9758 dissect_h245_H235Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9759   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9760                                    ett_h245_H235Mode, H235Mode_sequence);
9761
9762   return offset;
9763 }
9764
9765
9766 static const per_sequence_t FECMode_sequence[] = {
9767   { &hf_h245_protectedElement, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ModeElementType },
9768   { &hf_h245_fecScheme      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
9769   { &hf_h245_rfc2733Format  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Rfc2733Format },
9770   { NULL, 0, 0, NULL }
9771 };
9772
9773 static int
9774 dissect_h245_FECMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9775   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9776                                    ett_h245_FECMode, FECMode_sequence);
9777
9778   return offset;
9779 }
9780
9781
9782 static const value_string h245_Re_type_vals[] = {
9783   {   0, "nonStandard" },
9784   {   1, "videoMode" },
9785   {   2, "audioMode" },
9786   {   3, "dataMode" },
9787   {   4, "encryptionMode" },
9788   {   5, "h235Mode" },
9789   {   6, "fecMode" },
9790   { 0, NULL }
9791 };
9792
9793 static const per_choice_t Re_type_choice[] = {
9794   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9795   {   1, &hf_h245_videoMode      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoMode },
9796   {   2, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
9797   {   3, &hf_h245_dataMode       , ASN1_EXTENSION_ROOT    , dissect_h245_DataMode },
9798   {   4, &hf_h245_encryptionMode , ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionMode },
9799   {   5, &hf_h245_h235Mode       , ASN1_EXTENSION_ROOT    , dissect_h245_H235Mode },
9800   {   6, &hf_h245_fecMode        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECMode },
9801   { 0, NULL, 0, NULL }
9802 };
9803
9804 static int
9805 dissect_h245_Re_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9806   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9807                                  ett_h245_Re_type, Re_type_choice,
9808                                  NULL);
9809
9810   return offset;
9811 }
9812
9813
9814 static const per_sequence_t RedundancyEncodingDTModeElement_sequence[] = {
9815   { &hf_h245_re_type        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Re_type },
9816   { NULL, 0, 0, NULL }
9817 };
9818
9819 static int
9820 dissect_h245_RedundancyEncodingDTModeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9821   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9822                                    ett_h245_RedundancyEncodingDTModeElement, RedundancyEncodingDTModeElement_sequence);
9823
9824   return offset;
9825 }
9826
9827
9828 static const per_sequence_t SEQUENCE_OF_RedundancyEncodingDTModeElement_sequence_of[1] = {
9829   { &hf_h245_secondaryDTM_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingDTModeElement },
9830 };
9831
9832 static int
9833 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_) {
9834   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
9835                                       ett_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement, SEQUENCE_OF_RedundancyEncodingDTModeElement_sequence_of);
9836
9837   return offset;
9838 }
9839
9840
9841 static const per_sequence_t RedundancyEncodingDTMode_sequence[] = {
9842   { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
9843   { &hf_h245_prmary_dtmode  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingDTModeElement },
9844   { &hf_h245_secondaryDTM   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement },
9845   { NULL, 0, 0, NULL }
9846 };
9847
9848 static int
9849 dissect_h245_RedundancyEncodingDTMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9850   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9851                                    ett_h245_RedundancyEncodingDTMode, RedundancyEncodingDTMode_sequence);
9852
9853   return offset;
9854 }
9855
9856
9857 static const per_sequence_t MultiplePayloadStreamElementMode_sequence[] = {
9858   { &hf_h245_type           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ModeElementType },
9859   { NULL, 0, 0, NULL }
9860 };
9861
9862 static int
9863 dissect_h245_MultiplePayloadStreamElementMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9864   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9865                                    ett_h245_MultiplePayloadStreamElementMode, MultiplePayloadStreamElementMode_sequence);
9866
9867   return offset;
9868 }
9869
9870
9871 static const per_sequence_t SEQUENCE_OF_MultiplePayloadStreamElementMode_sequence_of[1] = {
9872   { &hf_h245_mpsmElements_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplePayloadStreamElementMode },
9873 };
9874
9875 static int
9876 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_) {
9877   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
9878                                       ett_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode, SEQUENCE_OF_MultiplePayloadStreamElementMode_sequence_of);
9879
9880   return offset;
9881 }
9882
9883
9884 static const per_sequence_t MultiplePayloadStreamMode_sequence[] = {
9885   { &hf_h245_mpsmElements   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode },
9886   { NULL, 0, 0, NULL }
9887 };
9888
9889 static int
9890 dissect_h245_MultiplePayloadStreamMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9891   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9892                                    ett_h245_MultiplePayloadStreamMode, MultiplePayloadStreamMode_sequence);
9893
9894   return offset;
9895 }
9896
9897
9898 static const value_string h245_FEC_mode_vals[] = {
9899   {   0, "redundancyEncoding" },
9900   {   1, "separateStream" },
9901   { 0, NULL }
9902 };
9903
9904 static const per_choice_t FEC_mode_choice[] = {
9905   {   0, &hf_h245_redundancyEncodingFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
9906   {   1, &hf_h245_separateStream , ASN1_EXTENSION_ROOT    , dissect_h245_DepSeparateStream },
9907   { 0, NULL, 0, NULL }
9908 };
9909
9910 static int
9911 dissect_h245_FEC_mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9912   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9913                                  ett_h245_FEC_mode, FEC_mode_choice,
9914                                  NULL);
9915
9916   return offset;
9917 }
9918
9919
9920 static const per_sequence_t T_rfc2733Mode_sequence[] = {
9921   { &hf_h245_fec_mode       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_FEC_mode },
9922   { NULL, 0, 0, NULL }
9923 };
9924
9925 static int
9926 dissect_h245_T_rfc2733Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9927   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
9928                                    ett_h245_T_rfc2733Mode, T_rfc2733Mode_sequence);
9929
9930   return offset;
9931 }
9932
9933
9934 static const value_string h245_DepFECMode_vals[] = {
9935   {   0, "rfc2733Mode" },
9936   { 0, NULL }
9937 };
9938
9939 static const per_choice_t DepFECMode_choice[] = {
9940   {   0, &hf_h245_rfc2733Mode    , ASN1_EXTENSION_ROOT    , dissect_h245_T_rfc2733Mode },
9941   { 0, NULL, 0, NULL }
9942 };
9943
9944 static int
9945 dissect_h245_DepFECMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9946   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9947                                  ett_h245_DepFECMode, DepFECMode_choice,
9948                                  NULL);
9949
9950   return offset;
9951 }
9952
9953
9954 static const value_string h245_ModeElementType_vals[] = {
9955   {   0, "nonStandard" },
9956   {   1, "videoMode" },
9957   {   2, "audioMode" },
9958   {   3, "dataMode" },
9959   {   4, "encryptionMode" },
9960   {   5, "h235Mode" },
9961   {   6, "multiplexedStreamMode" },
9962   {   7, "redundancyEncodingDTMode" },
9963   {   8, "multiplePayloadStreamMode" },
9964   {   9, "depFecMode" },
9965   {  10, "fecMode" },
9966   { 0, NULL }
9967 };
9968
9969 static const per_choice_t ModeElementType_choice[] = {
9970   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
9971   {   1, &hf_h245_videoMode      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoMode },
9972   {   2, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
9973   {   3, &hf_h245_dataMode       , ASN1_EXTENSION_ROOT    , dissect_h245_DataMode },
9974   {   4, &hf_h245_encryptionMode , ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionMode },
9975   {   5, &hf_h245_h235Mode       , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H235Mode },
9976   {   6, &hf_h245_multiplexedStreamMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplexedStreamParameter },
9977   {   7, &hf_h245_redundancyEncodingDTMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RedundancyEncodingDTMode },
9978   {   8, &hf_h245_multiplePayloadStreamMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultiplePayloadStreamMode },
9979   {   9, &hf_h245_depFecMode     , ASN1_NOT_EXTENSION_ROOT, dissect_h245_DepFECMode },
9980   {  10, &hf_h245_fecMode        , ASN1_NOT_EXTENSION_ROOT, dissect_h245_FECMode },
9981   { 0, NULL, 0, NULL }
9982 };
9983
9984 static int
9985 dissect_h245_ModeElementType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9986   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
9987                                  ett_h245_ModeElementType, ModeElementType_choice,
9988                                  NULL);
9989
9990   return offset;
9991 }
9992
9993
9994 static const value_string h245_AdaptationLayerType_vals[] = {
9995   {   0, "nonStandard" },
9996   {   1, "al1Framed" },
9997   {   2, "al1NotFramed" },
9998   {   3, "al2WithoutSequenceNumbers" },
9999   {   4, "al2WithSequenceNumbers" },
10000   {   5, "al3" },
10001   {   6, "al1M" },
10002   {   7, "al2M" },
10003   {   8, "al3M" },
10004   { 0, NULL }
10005 };
10006
10007 static const per_choice_t AdaptationLayerType_choice[] = {
10008   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
10009   {   1, &hf_h245_al1Framed      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10010   {   2, &hf_h245_al1NotFramed   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10011   {   3, &hf_h245_al2WithoutSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10012   {   4, &hf_h245_al2WithSequenceNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10013   {   5, &hf_h245_al3            , ASN1_EXTENSION_ROOT    , dissect_h245_Al3 },
10014   {   6, &hf_h245_al1M           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223AL1MParameters },
10015   {   7, &hf_h245_al2M           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223AL2MParameters },
10016   {   8, &hf_h245_al3M           , ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223AL3MParameters },
10017   { 0, NULL, 0, NULL }
10018 };
10019
10020 static int
10021 dissect_h245_AdaptationLayerType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10022   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10023                                  ett_h245_AdaptationLayerType, AdaptationLayerType_choice,
10024                                  NULL);
10025
10026   return offset;
10027 }
10028
10029
10030 static const per_sequence_t H223ModeParameters_sequence[] = {
10031   { &hf_h245_adaptationLayer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_AdaptationLayerType },
10032   { &hf_h245_segmentableFlag, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
10033   { NULL, 0, 0, NULL }
10034 };
10035
10036 static int
10037 dissect_h245_H223ModeParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10038   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10039                                    ett_h245_H223ModeParameters, H223ModeParameters_sequence);
10040
10041   return offset;
10042 }
10043
10044
10045 static const value_string h245_V76ModeParameters_vals[] = {
10046   {   0, "suspendResumewAddress" },
10047   {   1, "suspendResumewoAddress" },
10048   { 0, NULL }
10049 };
10050
10051 static const per_choice_t V76ModeParameters_choice[] = {
10052   {   0, &hf_h245_suspendResumewAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10053   {   1, &hf_h245_suspendResumewoAddress, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10054   { 0, NULL, 0, NULL }
10055 };
10056
10057 static int
10058 dissect_h245_V76ModeParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10059   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10060                                  ett_h245_V76ModeParameters, V76ModeParameters_choice,
10061                                  NULL);
10062
10063   return offset;
10064 }
10065
10066
10067 static const value_string h245_T_secondaryEncodingMode_vals[] = {
10068   {   0, "nonStandard" },
10069   {   1, "audioData" },
10070   { 0, NULL }
10071 };
10072
10073 static const per_choice_t T_secondaryEncodingMode_choice[] = {
10074   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
10075   {   1, &hf_h245_audioMode      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioMode },
10076   { 0, NULL, 0, NULL }
10077 };
10078
10079 static int
10080 dissect_h245_T_secondaryEncodingMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10081   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10082                                  ett_h245_T_secondaryEncodingMode, T_secondaryEncodingMode_choice,
10083                                  NULL);
10084
10085   return offset;
10086 }
10087
10088
10089 static const per_sequence_t RedundancyEncodingMode_sequence[] = {
10090   { &hf_h245_redundancyEncodingMethod, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RedundancyEncodingMethod },
10091   { &hf_h245_secondaryEncodingMode, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_secondaryEncodingMode },
10092   { NULL, 0, 0, NULL }
10093 };
10094
10095 static int
10096 dissect_h245_RedundancyEncodingMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10097   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10098                                    ett_h245_RedundancyEncodingMode, RedundancyEncodingMode_sequence);
10099
10100   return offset;
10101 }
10102
10103
10104 static const per_sequence_t H2250ModeParameters_sequence[] = {
10105   { &hf_h245_redundancyEncodingMode, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_RedundancyEncodingMode },
10106   { NULL, 0, 0, NULL }
10107 };
10108
10109 static int
10110 dissect_h245_H2250ModeParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10111   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10112                                    ett_h245_H2250ModeParameters, H2250ModeParameters_sequence);
10113
10114   return offset;
10115 }
10116
10117
10118 static const per_sequence_t MultiplexedStreamModeParameters_sequence[] = {
10119   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
10120   { NULL, 0, 0, NULL }
10121 };
10122
10123 static int
10124 dissect_h245_MultiplexedStreamModeParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10125   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10126                                    ett_h245_MultiplexedStreamModeParameters, MultiplexedStreamModeParameters_sequence);
10127
10128   return offset;
10129 }
10130
10131
10132 static const per_sequence_t ModeElement_sequence[] = {
10133   { &hf_h245_type           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ModeElementType },
10134   { &hf_h245_h223ModeParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_H223ModeParameters },
10135   { &hf_h245_v76ModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_V76ModeParameters },
10136   { &hf_h245_h2250ModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_H2250ModeParameters },
10137   { &hf_h245_genericModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_GenericCapability },
10138   { &hf_h245_multiplexedStreamModeParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_MultiplexedStreamModeParameters },
10139   { &hf_h245_logicalChannelNumber, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
10140   { NULL, 0, 0, NULL }
10141 };
10142
10143 static int
10144 dissect_h245_ModeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10145   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10146                                    ett_h245_ModeElement, ModeElement_sequence);
10147
10148   return offset;
10149 }
10150
10151
10152 static const per_sequence_t ModeDescription_set_of[1] = {
10153   { &hf_h245_ModeDescription_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ModeElement },
10154 };
10155
10156 static int
10157 dissect_h245_ModeDescription(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10158   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
10159                                              ett_h245_ModeDescription, ModeDescription_set_of,
10160                                              1, 256, FALSE);
10161
10162   return offset;
10163 }
10164
10165
10166 static const per_sequence_t SEQUENCE_SIZE_1_256_OF_ModeDescription_sequence_of[1] = {
10167   { &hf_h245_requestedModes_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_ModeDescription },
10168 };
10169
10170 static int
10171 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_) {
10172   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10173                                                   ett_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription, SEQUENCE_SIZE_1_256_OF_ModeDescription_sequence_of,
10174                                                   1, 256, FALSE);
10175
10176   return offset;
10177 }
10178
10179
10180 static const per_sequence_t RequestMode_sequence[] = {
10181   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10182   { &hf_h245_requestedModes , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription },
10183   { NULL, 0, 0, NULL }
10184 };
10185
10186 static int
10187 dissect_h245_RequestMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10188   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10189                                    ett_h245_RequestMode, RequestMode_sequence);
10190
10191   return offset;
10192 }
10193
10194
10195 static const per_sequence_t RoundTripDelayRequest_sequence[] = {
10196   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10197   { NULL, 0, 0, NULL }
10198 };
10199
10200 static int
10201 dissect_h245_RoundTripDelayRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10202   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10203                                    ett_h245_RoundTripDelayRequest, RoundTripDelayRequest_sequence);
10204
10205   return offset;
10206 }
10207
10208
10209 static const value_string h245_Mlr_type_vals[] = {
10210   {   0, "systemLoop" },
10211   {   1, "mediaLoop" },
10212   {   2, "logicalChannelLoop" },
10213   { 0, NULL }
10214 };
10215
10216 static const per_choice_t Mlr_type_choice[] = {
10217   {   0, &hf_h245_systemLoop     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10218   {   1, &hf_h245_mediaLoop      , ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
10219   {   2, &hf_h245_logicalChannelLoop, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
10220   { 0, NULL, 0, NULL }
10221 };
10222
10223 static int
10224 dissect_h245_Mlr_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10225   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10226                                  ett_h245_Mlr_type, Mlr_type_choice,
10227                                  NULL);
10228
10229   return offset;
10230 }
10231
10232
10233 static const per_sequence_t MaintenanceLoopRequest_sequence[] = {
10234   { &hf_h245_mlr_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mlr_type },
10235   { NULL, 0, 0, NULL }
10236 };
10237
10238 static int
10239 dissect_h245_MaintenanceLoopRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10240   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10241                                    ett_h245_MaintenanceLoopRequest, MaintenanceLoopRequest_sequence);
10242
10243   return offset;
10244 }
10245
10246
10247 static const per_sequence_t CommunicationModeRequest_sequence[] = {
10248   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
10249 };
10250
10251 static int
10252 dissect_h245_CommunicationModeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10253   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10254                                    ett_h245_CommunicationModeRequest, CommunicationModeRequest_sequence);
10255
10256   return offset;
10257 }
10258
10259
10260 static const per_sequence_t Criteria_sequence[] = {
10261   { &hf_h245_field          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
10262   { &hf_h245_criteriaValue  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_1_65535 },
10263   { NULL, 0, 0, NULL }
10264 };
10265
10266 static int
10267 dissect_h245_Criteria(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10268   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10269                                    ett_h245_Criteria, Criteria_sequence);
10270
10271   return offset;
10272 }
10273
10274
10275 static const per_sequence_t CertSelectionCriteria_sequence_of[1] = {
10276   { &hf_h245_CertSelectionCriteria_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_Criteria },
10277 };
10278
10279 static int
10280 dissect_h245_CertSelectionCriteria(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10281   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
10282                                                   ett_h245_CertSelectionCriteria, CertSelectionCriteria_sequence_of,
10283                                                   1, 16, FALSE);
10284
10285   return offset;
10286 }
10287
10288
10289 static const per_sequence_t T_requestTerminalCertificate_sequence[] = {
10290   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
10291   { &hf_h245_certSelectionCriteria, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_CertSelectionCriteria },
10292   { &hf_h245_sRandom        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_4294967295 },
10293   { NULL, 0, 0, NULL }
10294 };
10295
10296 static int
10297 dissect_h245_T_requestTerminalCertificate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10298   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10299                                    ett_h245_T_requestTerminalCertificate, T_requestTerminalCertificate_sequence);
10300
10301   return offset;
10302 }
10303
10304
10305 static const value_string h245_RemoteMCRequest_vals[] = {
10306   {   0, "masterActivate" },
10307   {   1, "slaveActivate" },
10308   {   2, "deActivate" },
10309   { 0, NULL }
10310 };
10311
10312 static const per_choice_t RemoteMCRequest_choice[] = {
10313   {   0, &hf_h245_masterActivate , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10314   {   1, &hf_h245_slaveActivate  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10315   {   2, &hf_h245_deActivate     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10316   { 0, NULL, 0, NULL }
10317 };
10318
10319 static int
10320 dissect_h245_RemoteMCRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10321   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10322                                  ett_h245_RemoteMCRequest, RemoteMCRequest_choice,
10323                                  NULL);
10324
10325   return offset;
10326 }
10327
10328
10329 static const value_string h245_ConferenceRequest_vals[] = {
10330   {   0, "terminalListRequest" },
10331   {   1, "makeMeChair" },
10332   {   2, "cancelMakeMeChair" },
10333   {   3, "dropTerminal" },
10334   {   4, "requestTerminalID" },
10335   {   5, "enterH243Password" },
10336   {   6, "enterH243TerminalID" },
10337   {   7, "enterH243ConferenceID" },
10338   {   8, "enterExtensionAddress" },
10339   {   9, "requestChairTokenOwner" },
10340   {  10, "requestTerminalCertificate" },
10341   {  11, "broadcastMyLogicalChannel" },
10342   {  12, "makeTerminalBroadcaster" },
10343   {  13, "sendThisSource" },
10344   {  14, "requestAllTerminalIDs" },
10345   {  15, "remoteMCRequest" },
10346   { 0, NULL }
10347 };
10348
10349 static const per_choice_t ConferenceRequest_choice[] = {
10350   {   0, &hf_h245_terminalListRequest, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10351   {   1, &hf_h245_makeMeChair    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10352   {   2, &hf_h245_cancelMakeMeChair, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10353   {   3, &hf_h245_dropTerminal   , ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
10354   {   4, &hf_h245_requestTerminalID, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
10355   {   5, &hf_h245_enterH243Password, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10356   {   6, &hf_h245_enterH243TerminalID, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10357   {   7, &hf_h245_enterH243ConferenceID, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10358   {   8, &hf_h245_enterExtensionAddress, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10359   {   9, &hf_h245_requestChairTokenOwner, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10360   {  10, &hf_h245_requestTerminalCertificate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_requestTerminalCertificate },
10361   {  11, &hf_h245_broadcastMyLogicalChannel, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelNumber },
10362   {  12, &hf_h245_makeTerminalBroadcaster, ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalLabel },
10363   {  13, &hf_h245_sendThisSource , ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalLabel },
10364   {  14, &hf_h245_requestAllTerminalIDs, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10365   {  15, &hf_h245_remoteMCRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RemoteMCRequest },
10366   { 0, NULL, 0, NULL }
10367 };
10368
10369 static int
10370 dissect_h245_ConferenceRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10371   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10372                                  ett_h245_ConferenceRequest, ConferenceRequest_choice,
10373                                  NULL);
10374
10375   return offset;
10376 }
10377
10378
10379 static const per_sequence_t CallInformationReq_sequence[] = {
10380   { &hf_h245_maxNumberOfAdditionalConnections, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
10381   { NULL, 0, 0, NULL }
10382 };
10383
10384 static int
10385 dissect_h245_CallInformationReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10386   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10387                                    ett_h245_CallInformationReq, CallInformationReq_sequence);
10388
10389   return offset;
10390 }
10391
10392
10393
10394 static int
10395 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_) {
10396   offset = dissect_per_NumericString(tvb, offset, actx, tree, hf_index,
10397                                           0, 40, FALSE);
10398
10399   return offset;
10400 }
10401
10402
10403
10404 static int
10405 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_) {
10406   offset = dissect_per_IA5String(tvb, offset, actx, tree, hf_index,
10407                                           1, 40, FALSE);
10408
10409   return offset;
10410 }
10411
10412
10413 static const value_string h245_DialingInformationNetworkType_vals[] = {
10414   {   0, "nonStandard" },
10415   {   1, "n-isdn" },
10416   {   2, "gstn" },
10417   {   3, "mobile" },
10418   { 0, NULL }
10419 };
10420
10421 static const per_choice_t DialingInformationNetworkType_choice[] = {
10422   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10423   {   1, &hf_h245_n_isdn         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10424   {   2, &hf_h245_gstn           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10425   {   3, &hf_h245_mobile         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
10426   { 0, NULL, 0, NULL }
10427 };
10428
10429 static int
10430 dissect_h245_DialingInformationNetworkType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10431   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10432                                  ett_h245_DialingInformationNetworkType, DialingInformationNetworkType_choice,
10433                                  NULL);
10434
10435   return offset;
10436 }
10437
10438
10439 static const per_sequence_t SET_SIZE_1_255_OF_DialingInformationNetworkType_set_of[1] = {
10440   { &hf_h245_networkType_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformationNetworkType },
10441 };
10442
10443 static int
10444 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_) {
10445   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
10446                                              ett_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType, SET_SIZE_1_255_OF_DialingInformationNetworkType_set_of,
10447                                              1, 255, FALSE);
10448
10449   return offset;
10450 }
10451
10452
10453 static const per_sequence_t DialingInformationNumber_sequence[] = {
10454   { &hf_h245_networkAddressNum, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_NumericString_SIZE_0_40 },
10455   { &hf_h245_subAddress     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IA5String_SIZE_1_40 },
10456   { &hf_h245_networkType    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType },
10457   { NULL, 0, 0, NULL }
10458 };
10459
10460 static int
10461 dissect_h245_DialingInformationNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10462   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10463                                    ett_h245_DialingInformationNumber, DialingInformationNumber_sequence);
10464
10465   return offset;
10466 }
10467
10468
10469 static const per_sequence_t SET_SIZE_1_65535_OF_DialingInformationNumber_set_of[1] = {
10470   { &hf_h245_differential_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformationNumber },
10471 };
10472
10473 static int
10474 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_) {
10475   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
10476                                              ett_h245_SET_SIZE_1_65535_OF_DialingInformationNumber, SET_SIZE_1_65535_OF_DialingInformationNumber_set_of,
10477                                              1, 65535, FALSE);
10478
10479   return offset;
10480 }
10481
10482
10483 static const value_string h245_DialingInformation_vals[] = {
10484   {   0, "nonStandard" },
10485   {   1, "differential" },
10486   {   2, "infoNotAvailable" },
10487   { 0, NULL }
10488 };
10489
10490 static const per_choice_t DialingInformation_choice[] = {
10491   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10492   {   1, &hf_h245_differential   , ASN1_EXTENSION_ROOT    , dissect_h245_SET_SIZE_1_65535_OF_DialingInformationNumber },
10493   {   2, &hf_h245_infoNotAvailable, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_1_65535 },
10494   { 0, NULL, 0, NULL }
10495 };
10496
10497 static int
10498 dissect_h245_DialingInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10499   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10500                                  ett_h245_DialingInformation, DialingInformation_choice,
10501                                  NULL);
10502
10503   return offset;
10504 }
10505
10506
10507 static const per_sequence_t AddConnectionReq_sequence[] = {
10508   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10509   { &hf_h245_dialingInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformation },
10510   { NULL, 0, 0, NULL }
10511 };
10512
10513 static int
10514 dissect_h245_AddConnectionReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10515   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10516                                    ett_h245_AddConnectionReq, AddConnectionReq_sequence);
10517
10518   return offset;
10519 }
10520
10521
10522 static const per_sequence_t ConnectionIdentifier_sequence[] = {
10523   { &hf_h245_channelTag     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
10524   { &hf_h245_sequenceNum    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
10525   { NULL, 0, 0, NULL }
10526 };
10527
10528 static int
10529 dissect_h245_ConnectionIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10530   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10531                                    ett_h245_ConnectionIdentifier, ConnectionIdentifier_sequence);
10532
10533   return offset;
10534 }
10535
10536
10537 static const per_sequence_t RemoveConnectionReq_sequence[] = {
10538   { &hf_h245_connectionIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConnectionIdentifier },
10539   { NULL, 0, 0, NULL }
10540 };
10541
10542 static int
10543 dissect_h245_RemoveConnectionReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10544   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10545                                    ett_h245_RemoveConnectionReq, RemoveConnectionReq_sequence);
10546
10547   return offset;
10548 }
10549
10550
10551 static const value_string h245_T_requestType_vals[] = {
10552   {   0, "currentIntervalInformation" },
10553   {   1, "requestedInterval" },
10554   { 0, NULL }
10555 };
10556
10557 static const per_choice_t T_requestType_choice[] = {
10558   {   0, &hf_h245_currentIntervalInformation, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10559   {   1, &hf_h245_requestedInterval, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_65535 },
10560   { 0, NULL, 0, NULL }
10561 };
10562
10563 static int
10564 dissect_h245_T_requestType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10565   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10566                                  ett_h245_T_requestType, T_requestType_choice,
10567                                  NULL);
10568
10569   return offset;
10570 }
10571
10572
10573 static const per_sequence_t MaximumHeaderIntervalReq_sequence[] = {
10574   { &hf_h245_requestType    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_requestType },
10575   { NULL, 0, 0, NULL }
10576 };
10577
10578 static int
10579 dissect_h245_MaximumHeaderIntervalReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10580   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10581                                    ett_h245_MaximumHeaderIntervalReq, MaximumHeaderIntervalReq_sequence);
10582
10583   return offset;
10584 }
10585
10586
10587 static const value_string h245_MultilinkRequest_vals[] = {
10588   {   0, "nonStandard" },
10589   {   1, "callInformation" },
10590   {   2, "addConnection" },
10591   {   3, "removeConnection" },
10592   {   4, "maximumHeaderInterval" },
10593   { 0, NULL }
10594 };
10595
10596 static const per_choice_t MultilinkRequest_choice[] = {
10597   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10598   {   1, &hf_h245_callInformationReq, ASN1_EXTENSION_ROOT    , dissect_h245_CallInformationReq },
10599   {   2, &hf_h245_addConnectionReq, ASN1_EXTENSION_ROOT    , dissect_h245_AddConnectionReq },
10600   {   3, &hf_h245_removeConnectionReq, ASN1_EXTENSION_ROOT    , dissect_h245_RemoveConnectionReq },
10601   {   4, &hf_h245_maximumHeaderIntervalReq, ASN1_EXTENSION_ROOT    , dissect_h245_MaximumHeaderIntervalReq },
10602   { 0, NULL, 0, NULL }
10603 };
10604
10605 static int
10606 dissect_h245_MultilinkRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10607   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10608                                  ett_h245_MultilinkRequest, MultilinkRequest_choice,
10609                                  NULL);
10610
10611   return offset;
10612 }
10613
10614
10615
10616 static int
10617 dissect_h245_MaximumBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10618   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
10619                                                             0U, 4294967295U, NULL, FALSE);
10620
10621   return offset;
10622 }
10623
10624
10625 static const per_sequence_t LogicalChannelRateRequest_sequence[] = {
10626   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10627   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
10628   { &hf_h245_maximumBitRate , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MaximumBitRate },
10629   { NULL, 0, 0, NULL }
10630 };
10631
10632 static int
10633 dissect_h245_LogicalChannelRateRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10634   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10635                                    ett_h245_LogicalChannelRateRequest, LogicalChannelRateRequest_sequence);
10636
10637   return offset;
10638 }
10639
10640
10641 static const value_string h245_RequestMessage_vals[] = {
10642   { RequestMessage_nonStandard, "nonStandard" },
10643   { RequestMessage_masterSlaveDetermination, "masterSlaveDetermination" },
10644   { RequestMessage_terminalCapabilitySet, "terminalCapabilitySet" },
10645   { RequestMessage_openLogicalChannel, "openLogicalChannel" },
10646   { RequestMessage_closeLogicalChannel, "closeLogicalChannel" },
10647   { RequestMessage_requestChannelClose, "requestChannelClose" },
10648   { RequestMessage_multiplexEntrySend, "multiplexEntrySend" },
10649   { RequestMessage_requestMultiplexEntry, "requestMultiplexEntry" },
10650   { RequestMessage_requestMode, "requestMode" },
10651   { RequestMessage_roundTripDelayRequest, "roundTripDelayRequest" },
10652   { RequestMessage_maintenanceLoopRequest, "maintenanceLoopRequest" },
10653   { RequestMessage_communicationModeRequest, "communicationModeRequest" },
10654   { RequestMessage_conferenceRequest, "conferenceRequest" },
10655   { RequestMessage_multilinkRequest, "multilinkRequest" },
10656   { RequestMessage_logicalChannelRateRequest, "logicalChannelRateRequest" },
10657   { RequestMessage_genericRequest, "genericRequest" },
10658   { 0, NULL }
10659 };
10660
10661 static const per_choice_t RequestMessage_choice[] = {
10662   { RequestMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
10663   { RequestMessage_masterSlaveDetermination, &hf_h245_masterSlaveDetermination, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDetermination },
10664   { RequestMessage_terminalCapabilitySet, &hf_h245_terminalCapabilitySet, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySet },
10665   { RequestMessage_openLogicalChannel, &hf_h245_openLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannel },
10666   { RequestMessage_closeLogicalChannel, &hf_h245_closeLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_CloseLogicalChannel },
10667   { RequestMessage_requestChannelClose, &hf_h245_requestChannelClose, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelClose },
10668   { RequestMessage_multiplexEntrySend, &hf_h245_multiplexEntrySend, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySend },
10669   { RequestMessage_requestMultiplexEntry, &hf_h245_requestMultiplexEntry, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntry },
10670   { RequestMessage_requestMode, &hf_h245_requestMode    , ASN1_EXTENSION_ROOT    , dissect_h245_RequestMode },
10671   { RequestMessage_roundTripDelayRequest, &hf_h245_roundTripDelayRequest, ASN1_EXTENSION_ROOT    , dissect_h245_RoundTripDelayRequest },
10672   { RequestMessage_maintenanceLoopRequest, &hf_h245_maintenanceLoopRequest, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopRequest },
10673   { RequestMessage_communicationModeRequest, &hf_h245_communicationModeRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_CommunicationModeRequest },
10674   { RequestMessage_conferenceRequest, &hf_h245_conferenceRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceRequest },
10675   { RequestMessage_multilinkRequest, &hf_h245_multilinkRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultilinkRequest },
10676   { RequestMessage_logicalChannelRateRequest, &hf_h245_logicalChannelRateRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateRequest },
10677   { RequestMessage_genericRequest, &hf_h245_genericRequest , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
10678   { 0, NULL, 0, NULL }
10679 };
10680
10681 static int
10682 dissect_h245_RequestMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10683 #line 368 "../../asn1/h245/h245.cnf"
10684   gint32 value;
10685
10686   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10687                                  ett_h245_RequestMessage, RequestMessage_choice,
10688                                  &value);
10689
10690         if ( h245_shorttypes == TRUE )
10691             {
10692                         col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
10693                                 val_to_str(value, h245_RequestMessage_short_vals, "<unknown>"));
10694                 }
10695                 else
10696                 {
10697                         col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
10698                                 val_to_str(value, h245_RequestMessage_vals, "<unknown>"));
10699                 }
10700
10701         if (( codec_type != NULL ) && ( value == RequestMessage_openLogicalChannel) ){
10702                 col_append_fstr(actx->pinfo->cinfo, COL_INFO, "(%s) ", codec_type );
10703         }
10704
10705         col_set_fence(actx->pinfo->cinfo,COL_INFO);
10706
10707     /* Add to packet info */
10708         if (h245_pi == NULL)
10709                 return offset;
10710
10711     if (strlen(h245_pi->frame_label) == 0)
10712     {
10713       g_snprintf(h245_pi->frame_label, 50, "%s", val_to_str(value, h245_RequestMessage_short_vals, "UKN"));
10714
10715       /* if it is OLC or RM*/
10716       if ((codec_type != NULL) && (( value == RequestMessage_openLogicalChannel) || ( value == RequestMessage_requestMode)))
10717       {
10718         g_strlcat(h245_pi->frame_label, " (", 50);
10719         g_strlcat(h245_pi->frame_label, codec_type, 50);
10720         g_strlcat(h245_pi->frame_label, ")", 50);
10721       }
10722     }
10723     g_strlcat(h245_pi->comment, val_to_str(value, h245_RequestMessage_vals, "<unknown>"), 50);
10724
10725
10726   return offset;
10727 }
10728
10729
10730 static const value_string h245_T_decision_vals[] = {
10731   {   0, "master" },
10732   {   1, "slave" },
10733   { 0, NULL }
10734 };
10735
10736 static const per_choice_t T_decision_choice[] = {
10737   {   0, &hf_h245_master         , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
10738   {   1, &hf_h245_slave          , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
10739   { 0, NULL, 0, NULL }
10740 };
10741
10742 static int
10743 dissect_h245_T_decision(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10744   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10745                                  ett_h245_T_decision, T_decision_choice,
10746                                  NULL);
10747
10748   return offset;
10749 }
10750
10751
10752 static const per_sequence_t MasterSlaveDeterminationAck_sequence[] = {
10753   { &hf_h245_decision       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_decision },
10754   { NULL, 0, 0, NULL }
10755 };
10756
10757 static int
10758 dissect_h245_MasterSlaveDeterminationAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10759   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10760                                    ett_h245_MasterSlaveDeterminationAck, MasterSlaveDeterminationAck_sequence);
10761
10762 #line 531 "../../asn1/h245/h245.cnf"
10763
10764 if (h245_pi != NULL)
10765   h245_pi->msg_type = H245_MastSlvDetAck;
10766
10767   return offset;
10768 }
10769
10770
10771 static const value_string h245_MasterSlaveDeterminationRejectCause_vals[] = {
10772   {   0, "identicalNumbers" },
10773   { 0, NULL }
10774 };
10775
10776 static const per_choice_t MasterSlaveDeterminationRejectCause_choice[] = {
10777   {   0, &hf_h245_identicalNumbers, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10778   { 0, NULL, 0, NULL }
10779 };
10780
10781 static int
10782 dissect_h245_MasterSlaveDeterminationRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10783   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10784                                  ett_h245_MasterSlaveDeterminationRejectCause, MasterSlaveDeterminationRejectCause_choice,
10785                                  NULL);
10786
10787   return offset;
10788 }
10789
10790
10791 static const per_sequence_t MasterSlaveDeterminationReject_sequence[] = {
10792   { &hf_h245_msd_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MasterSlaveDeterminationRejectCause },
10793   { NULL, 0, 0, NULL }
10794 };
10795
10796 static int
10797 dissect_h245_MasterSlaveDeterminationReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10798   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10799                                    ett_h245_MasterSlaveDeterminationReject, MasterSlaveDeterminationReject_sequence);
10800
10801 #line 537 "../../asn1/h245/h245.cnf"
10802
10803 if (h245_pi != NULL)
10804   h245_pi->msg_type = H245_MastSlvDetRjc;
10805
10806   return offset;
10807 }
10808
10809
10810 static const per_sequence_t TerminalCapabilitySetAck_sequence[] = {
10811   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10812   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
10813   { NULL, 0, 0, NULL }
10814 };
10815
10816 static int
10817 dissect_h245_TerminalCapabilitySetAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10818   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10819                                    ett_h245_TerminalCapabilitySetAck, TerminalCapabilitySetAck_sequence);
10820
10821 #line 567 "../../asn1/h245/h245.cnf"
10822
10823 if (h245_pi != NULL)
10824   h245_pi->msg_type = H245_TermCapSetAck;
10825
10826   return offset;
10827 }
10828
10829
10830 static const value_string h245_T_tableEntryCapacityExceeded_vals[] = {
10831   {   0, "highestEntryNumberProcessed" },
10832   {   1, "noneProcessed" },
10833   { 0, NULL }
10834 };
10835
10836 static const per_choice_t T_tableEntryCapacityExceeded_choice[] = {
10837   {   0, &hf_h245_highestEntryNumberProcessed, ASN1_NO_EXTENSIONS     , dissect_h245_CapabilityTableEntryNumber },
10838   {   1, &hf_h245_noneProcessed  , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
10839   { 0, NULL, 0, NULL }
10840 };
10841
10842 static int
10843 dissect_h245_T_tableEntryCapacityExceeded(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10844   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10845                                  ett_h245_T_tableEntryCapacityExceeded, T_tableEntryCapacityExceeded_choice,
10846                                  NULL);
10847
10848   return offset;
10849 }
10850
10851
10852 static const value_string h245_TerminalCapabilitySetRejectCause_vals[] = {
10853   {   0, "unspecified" },
10854   {   1, "undefinedTableEntryUsed" },
10855   {   2, "descriptorCapacityExceeded" },
10856   {   3, "tableEntryCapacityExceeded" },
10857   { 0, NULL }
10858 };
10859
10860 static const per_choice_t TerminalCapabilitySetRejectCause_choice[] = {
10861   {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10862   {   1, &hf_h245_undefinedTableEntryUsed, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10863   {   2, &hf_h245_descriptorCapacityExceeded, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
10864   {   3, &hf_h245_tableEntryCapacityExceeded, ASN1_EXTENSION_ROOT    , dissect_h245_T_tableEntryCapacityExceeded },
10865   { 0, NULL, 0, NULL }
10866 };
10867
10868 static int
10869 dissect_h245_TerminalCapabilitySetRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10870   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10871                                  ett_h245_TerminalCapabilitySetRejectCause, TerminalCapabilitySetRejectCause_choice,
10872                                  NULL);
10873
10874   return offset;
10875 }
10876
10877
10878 static const per_sequence_t TerminalCapabilitySetReject_sequence[] = {
10879   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
10880   { &hf_h245_tcs_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalCapabilitySetRejectCause },
10881   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
10882   { NULL, 0, 0, NULL }
10883 };
10884
10885 static int
10886 dissect_h245_TerminalCapabilitySetReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10887   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10888                                    ett_h245_TerminalCapabilitySetReject, TerminalCapabilitySetReject_sequence);
10889
10890 #line 579 "../../asn1/h245/h245.cnf"
10891
10892 if (h245_pi != NULL)
10893   h245_pi->msg_type = H245_TermCapSetRjc;
10894
10895   return offset;
10896 }
10897
10898
10899
10900 static int
10901 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_) {
10902   offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index);
10903
10904 #line 275 "../../asn1/h245/h245.cnf"
10905   if (upcoming_olc) upcoming_olc->fwd_lc_num = h245_lc_temp;
10906   h223_fw_lc_num = h245_lc_temp;
10907
10908   return offset;
10909 }
10910
10911
10912
10913 static int
10914 dissect_h245_T_reverseLogicalChannelNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10915   offset = dissect_h245_LogicalChannelNumber(tvb, offset, actx, tree, hf_index);
10916
10917 #line 289 "../../asn1/h245/h245.cnf"
10918   h223_rev_lc_num = h245_lc_temp;
10919
10920   return offset;
10921 }
10922
10923
10924 static const value_string h245_T_olc_ack_multiplexParameters_vals[] = {
10925   {   0, "h222LogicalChannelParameters" },
10926   {   1, "h2250LogicalChannelParameters" },
10927   { 0, NULL }
10928 };
10929
10930 static const per_choice_t T_olc_ack_multiplexParameters_choice[] = {
10931   {   0, &hf_h245_h222LogicalChannelParameters, ASN1_EXTENSION_ROOT    , dissect_h245_H222LogicalChannelParameters },
10932   {   1, &hf_h245_h2250LogicalChannelParameters, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250LogicalChannelParameters },
10933   { 0, NULL, 0, NULL }
10934 };
10935
10936 static int
10937 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_) {
10938   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
10939                                  ett_h245_T_olc_ack_multiplexParameters, T_olc_ack_multiplexParameters_choice,
10940                                  NULL);
10941
10942   return offset;
10943 }
10944
10945
10946 static const per_sequence_t OLC_ack_reverseLogicalChannelParameters_sequence[] = {
10947   { &hf_h245_reverseLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_reverseLogicalChannelNumber },
10948   { &hf_h245_portNumber     , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
10949   { &hf_h245_olc_ack_multiplexParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_olc_ack_multiplexParameters },
10950   { &hf_h245_replacementFor , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_LogicalChannelNumber },
10951   { NULL, 0, 0, NULL }
10952 };
10953
10954 static int
10955 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_) {
10956   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
10957                                    ett_h245_OLC_ack_reverseLogicalChannelParameters, OLC_ack_reverseLogicalChannelParameters_sequence);
10958
10959   return offset;
10960 }
10961
10962
10963
10964 static int
10965 dissect_h245_Ack_mediaChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10966 #line 891 "../../asn1/h245/h245.cnf"
10967   if (upcoming_channel)
10968     upcoming_channel->upcoming_addr = &upcoming_channel->media_addr;
10969
10970   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
10971
10972 #line 895 "../../asn1/h245/h245.cnf"
10973   if (upcoming_channel)
10974     upcoming_channel->upcoming_addr = NULL;
10975
10976   return offset;
10977 }
10978
10979
10980
10981 static int
10982 dissect_h245_Ack_mediaControlChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10983 #line 909 "../../asn1/h245/h245.cnf"
10984   if (upcoming_channel)
10985     upcoming_channel->upcoming_addr = &upcoming_channel->media_control_addr;
10986
10987   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
10988
10989 #line 913 "../../asn1/h245/h245.cnf"
10990   if (upcoming_channel)
10991     upcoming_channel->upcoming_addr = NULL;
10992
10993   return offset;
10994 }
10995
10996
10997 static const per_sequence_t H2250LogicalChannelAckParameters_sequence[] = {
10998   { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
10999   { &hf_h245_sessionID      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
11000   { &hf_h245_ack_mediaChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Ack_mediaChannel },
11001   { &hf_h245_ack_mediaControlChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Ack_mediaControlChannel },
11002   { &hf_h245_dynamicRTPPayloadType, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_96_127 },
11003   { &hf_h245_flowControlToZero, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
11004   { &hf_h245_portNumber     , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_65535 },
11005   { NULL, 0, 0, NULL }
11006 };
11007
11008 static int
11009 dissect_h245_H2250LogicalChannelAckParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11010   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11011                                    ett_h245_H2250LogicalChannelAckParameters, H2250LogicalChannelAckParameters_sequence);
11012
11013   return offset;
11014 }
11015
11016
11017 static const value_string h245_T_forwardMultiplexAckParameters_vals[] = {
11018   {   0, "h2250LogicalChannelAckParameters" },
11019   { 0, NULL }
11020 };
11021
11022 static const per_choice_t T_forwardMultiplexAckParameters_choice[] = {
11023   {   0, &hf_h245_h2250LogicalChannelAckParameters, ASN1_EXTENSION_ROOT    , dissect_h245_H2250LogicalChannelAckParameters },
11024   { 0, NULL, 0, NULL }
11025 };
11026
11027 static int
11028 dissect_h245_T_forwardMultiplexAckParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11029 #line 280 "../../asn1/h245/h245.cnf"
11030
11031   upcoming_channel = (upcoming_olc) ? &upcoming_olc->fwd_lc : NULL;
11032
11033   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11034                                  ett_h245_T_forwardMultiplexAckParameters, T_forwardMultiplexAckParameters_choice,
11035                                  NULL);
11036
11037         
11038   upcoming_channel = NULL;
11039
11040
11041   return offset;
11042 }
11043
11044
11045 static const per_sequence_t OpenLogicalChannelAck_sequence[] = {
11046   { &hf_h245_olc_ack_fw_lcn , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OLC_ack_fw_lcn },
11047   { &hf_h245_olc_ack_reverseLogicalChannelParameters, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OLC_ack_reverseLogicalChannelParameters },
11048   { &hf_h245_separateStack  , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_NetworkAccessParameters },
11049   { &hf_h245_forwardMultiplexAckParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_T_forwardMultiplexAckParameters },
11050   { &hf_h245_encryptionSync , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptionSync },
11051   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
11052   { NULL, 0, 0, NULL }
11053 };
11054
11055 static int
11056 dissect_h245_OpenLogicalChannelAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11057 #line 219 "../../asn1/h245/h245.cnf"
11058   guint32 temp;
11059   int p2p_dir;
11060   h223_pending_olc *pend;
11061   const gchar *olc_key;
11062   olc_info_t *olc_req;
11063
11064   upcoming_olc = (!actx->pinfo->fd->flags.visited) ? ep_alloc0(sizeof(olc_info_t)) : NULL;
11065
11066   h223_fw_lc_num = 0;
11067   h223_rev_lc_num = 0;
11068         
11069   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11070                                    ett_h245_OpenLogicalChannelAck, OpenLogicalChannelAck_sequence);
11071
11072
11073   temp = h223_fw_lc_num;
11074   p2p_dir = actx->pinfo->p2p_dir;
11075   
11076   if(actx->pinfo->p2p_dir == P2P_DIR_SENT)
11077         actx->pinfo->p2p_dir = P2P_DIR_RECV;
11078   else
11079         actx->pinfo->p2p_dir = P2P_DIR_SENT;
11080   pend = g_hash_table_lookup( h223_pending_olc_reqs[actx->pinfo->p2p_dir], GINT_TO_POINTER(temp) );
11081   if (pend) {
11082         DISSECTOR_ASSERT( ( h223_rev_lc_num &&  pend->rev_channel_params)
11083                                    || (!h223_rev_lc_num && !pend->rev_channel_params) );
11084         if(h223_add_lc_handle) {
11085           (*h223_add_lc_handle)( actx->pinfo, h223_fw_lc_num, pend->fw_channel_params );
11086           if(h223_rev_lc_num)
11087                 (*h223_add_lc_handle)( actx->pinfo, h223_rev_lc_num, pend->rev_channel_params );
11088         }
11089   } else {
11090         /* we missed the OpenLogicalChannel packet */
11091   }
11092   actx->pinfo->p2p_dir = p2p_dir;
11093
11094   if (upcoming_olc) {
11095     olc_key = gen_olc_key(upcoming_olc->fwd_lc_num, &actx->pinfo->src, &actx->pinfo->dst);
11096     olc_req = g_hash_table_lookup(h245_pending_olc_reqs, olc_key);
11097     if (olc_req) {
11098       update_unicast_addr(&olc_req->fwd_lc.media_addr, &upcoming_olc->fwd_lc.media_addr);
11099       update_unicast_addr(&olc_req->fwd_lc.media_control_addr, &upcoming_olc->fwd_lc.media_control_addr);
11100       update_unicast_addr(&olc_req->rev_lc.media_addr, &upcoming_olc->rev_lc.media_addr);
11101       update_unicast_addr(&olc_req->rev_lc.media_control_addr, &upcoming_olc->rev_lc.media_control_addr);
11102       h245_setup_channels(actx->pinfo, &olc_req->fwd_lc);
11103       h245_setup_channels(actx->pinfo, &olc_req->rev_lc);
11104       g_hash_table_remove(h245_pending_olc_reqs, olc_key);
11105     } else {
11106       h245_setup_channels(actx->pinfo, &upcoming_olc->fwd_lc);
11107     }
11108   }
11109   upcoming_olc = NULL;
11110
11111   if (h245_pi != NULL)
11112         h245_pi->msg_type = H245_OpenLogChnAck;
11113
11114
11115   return offset;
11116 }
11117
11118
11119 static const value_string h245_OpenLogicalChannelRejectCause_vals[] = {
11120   {   0, "unspecified" },
11121   {   1, "unsuitableReverseParameters" },
11122   {   2, "dataTypeNotSupported" },
11123   {   3, "dataTypeNotAvailable" },
11124   {   4, "unknownDataType" },
11125   {   5, "dataTypeALCombinationNotSupported" },
11126   {   6, "multicastChannelNotAllowed" },
11127   {   7, "insufficientBandwidth" },
11128   {   8, "separateStackEstablishmentFailed" },
11129   {   9, "invalidSessionID" },
11130   {  10, "masterSlaveConflict" },
11131   {  11, "waitForCommunicationMode" },
11132   {  12, "invalidDependentChannel" },
11133   {  13, "replacementForRejected" },
11134   {  14, "securityDenied" },
11135   {  15, "qoSControlNotSupported" },
11136   { 0, NULL }
11137 };
11138
11139 static const per_choice_t OpenLogicalChannelRejectCause_choice[] = {
11140   {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11141   {   1, &hf_h245_unsuitableReverseParameters, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11142   {   2, &hf_h245_dataTypeNotSupported, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11143   {   3, &hf_h245_dataTypeNotAvailable, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11144   {   4, &hf_h245_unknownDataType, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11145   {   5, &hf_h245_dataTypeALCombinationNotSupported, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11146   {   6, &hf_h245_multicastChannelNotAllowed, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11147   {   7, &hf_h245_insufficientBandwidth, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11148   {   8, &hf_h245_separateStackEstablishmentFailed, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11149   {   9, &hf_h245_invalidSessionID, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11150   {  10, &hf_h245_masterSlaveConflict, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11151   {  11, &hf_h245_waitForCommunicationMode, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11152   {  12, &hf_h245_invalidDependentChannel, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11153   {  13, &hf_h245_replacementForRejected, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11154   {  14, &hf_h245_securityDenied , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11155   {  15, &hf_h245_qoSControlNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
11156   { 0, NULL, 0, NULL }
11157 };
11158
11159 static int
11160 dissect_h245_OpenLogicalChannelRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11161   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11162                                  ett_h245_OpenLogicalChannelRejectCause, OpenLogicalChannelRejectCause_choice,
11163                                  NULL);
11164
11165   return offset;
11166 }
11167
11168
11169 static const per_sequence_t OpenLogicalChannelReject_sequence[] = {
11170   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11171   { &hf_h245_olc_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OpenLogicalChannelRejectCause },
11172   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
11173   { NULL, 0, 0, NULL }
11174 };
11175
11176 static int
11177 dissect_h245_OpenLogicalChannelReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11178   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11179                                    ett_h245_OpenLogicalChannelReject, OpenLogicalChannelReject_sequence);
11180
11181 #line 543 "../../asn1/h245/h245.cnf"
11182
11183 if (h245_pi != NULL)
11184   h245_pi->msg_type = H245_OpenLogChnRjc;
11185
11186   return offset;
11187 }
11188
11189
11190 static const per_sequence_t CloseLogicalChannelAck_sequence[] = {
11191   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11192   { NULL, 0, 0, NULL }
11193 };
11194
11195 static int
11196 dissect_h245_CloseLogicalChannelAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11197   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11198                                    ett_h245_CloseLogicalChannelAck, CloseLogicalChannelAck_sequence);
11199
11200 #line 555 "../../asn1/h245/h245.cnf"
11201
11202 if (h245_pi != NULL)
11203   h245_pi->msg_type = H245_CloseLogChnAck;
11204
11205   return offset;
11206 }
11207
11208
11209 static const per_sequence_t RequestChannelCloseAck_sequence[] = {
11210   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11211   { NULL, 0, 0, NULL }
11212 };
11213
11214 static int
11215 dissect_h245_RequestChannelCloseAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11216   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11217                                    ett_h245_RequestChannelCloseAck, RequestChannelCloseAck_sequence);
11218
11219   return offset;
11220 }
11221
11222
11223 static const value_string h245_RequestChannelCloseRejectCause_vals[] = {
11224   {   0, "unspecified" },
11225   { 0, NULL }
11226 };
11227
11228 static const per_choice_t RequestChannelCloseRejectCause_choice[] = {
11229   {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11230   { 0, NULL, 0, NULL }
11231 };
11232
11233 static int
11234 dissect_h245_RequestChannelCloseRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11235   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11236                                  ett_h245_RequestChannelCloseRejectCause, RequestChannelCloseRejectCause_choice,
11237                                  NULL);
11238
11239   return offset;
11240 }
11241
11242
11243 static const per_sequence_t RequestChannelCloseReject_sequence[] = {
11244   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
11245   { &hf_h245_req_chan_clos_rej_cause, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RequestChannelCloseRejectCause },
11246   { NULL, 0, 0, NULL }
11247 };
11248
11249 static int
11250 dissect_h245_RequestChannelCloseReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11251   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11252                                    ett_h245_RequestChannelCloseReject, RequestChannelCloseReject_sequence);
11253
11254   return offset;
11255 }
11256
11257
11258 static const per_sequence_t MultiplexEntrySendAck_sequence[] = {
11259   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11260   { &hf_h245_multiplexTableEntryNumbers, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
11261   { NULL, 0, 0, NULL }
11262 };
11263
11264 static int
11265 dissect_h245_MultiplexEntrySendAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11266   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11267                                    ett_h245_MultiplexEntrySendAck, MultiplexEntrySendAck_sequence);
11268
11269   return offset;
11270 }
11271
11272
11273 static const value_string h245_MultiplexEntryRejectionDescriptionsCause_vals[] = {
11274   {   0, "unspecifiedCause" },
11275   {   1, "descriptorTooComplex" },
11276   { 0, NULL }
11277 };
11278
11279 static const per_choice_t MultiplexEntryRejectionDescriptionsCause_choice[] = {
11280   {   0, &hf_h245_unspecifiedCause, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11281   {   1, &hf_h245_descriptorTooComplex, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11282   { 0, NULL, 0, NULL }
11283 };
11284
11285 static int
11286 dissect_h245_MultiplexEntryRejectionDescriptionsCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11287   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11288                                  ett_h245_MultiplexEntryRejectionDescriptionsCause, MultiplexEntryRejectionDescriptionsCause_choice,
11289                                  NULL);
11290
11291   return offset;
11292 }
11293
11294
11295 static const per_sequence_t MultiplexEntryRejectionDescriptions_sequence[] = {
11296   { &hf_h245_multiplexTableEntryNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
11297   { &hf_h245_mux_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexEntryRejectionDescriptionsCause },
11298   { NULL, 0, 0, NULL }
11299 };
11300
11301 static int
11302 dissect_h245_MultiplexEntryRejectionDescriptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11303   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11304                                    ett_h245_MultiplexEntryRejectionDescriptions, MultiplexEntryRejectionDescriptions_sequence);
11305
11306   return offset;
11307 }
11308
11309
11310 static const per_sequence_t SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions_set_of[1] = {
11311   { &hf_h245_sendRejectionDescriptions_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexEntryRejectionDescriptions },
11312 };
11313
11314 static int
11315 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_) {
11316   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11317                                              ett_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions, SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions_set_of,
11318                                              1, 15, FALSE);
11319
11320   return offset;
11321 }
11322
11323
11324 static const per_sequence_t MultiplexEntrySendReject_sequence[] = {
11325   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11326   { &hf_h245_sendRejectionDescriptions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions },
11327   { NULL, 0, 0, NULL }
11328 };
11329
11330 static int
11331 dissect_h245_MultiplexEntrySendReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11332   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11333                                    ett_h245_MultiplexEntrySendReject, MultiplexEntrySendReject_sequence);
11334
11335   return offset;
11336 }
11337
11338
11339 static const per_sequence_t RequestMultiplexEntryAck_sequence[] = {
11340   { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
11341   { NULL, 0, 0, NULL }
11342 };
11343
11344 static int
11345 dissect_h245_RequestMultiplexEntryAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11346   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11347                                    ett_h245_RequestMultiplexEntryAck, RequestMultiplexEntryAck_sequence);
11348
11349   return offset;
11350 }
11351
11352
11353 static const value_string h245_RequestMultiplexEntryRejectionDescriptionsCause_vals[] = {
11354   {   0, "unspecifiedCause" },
11355   { 0, NULL }
11356 };
11357
11358 static const per_choice_t RequestMultiplexEntryRejectionDescriptionsCause_choice[] = {
11359   {   0, &hf_h245_unspecifiedCause, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11360   { 0, NULL, 0, NULL }
11361 };
11362
11363 static int
11364 dissect_h245_RequestMultiplexEntryRejectionDescriptionsCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11365   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11366                                  ett_h245_RequestMultiplexEntryRejectionDescriptionsCause, RequestMultiplexEntryRejectionDescriptionsCause_choice,
11367                                  NULL);
11368
11369   return offset;
11370 }
11371
11372
11373 static const per_sequence_t RequestMultiplexEntryRejectionDescriptions_sequence[] = {
11374   { &hf_h245_multiplexTableEntryNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MultiplexTableEntryNumber },
11375   { &hf_h245_req_mux_rej_cause, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RequestMultiplexEntryRejectionDescriptionsCause },
11376   { NULL, 0, 0, NULL }
11377 };
11378
11379 static int
11380 dissect_h245_RequestMultiplexEntryRejectionDescriptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11381   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11382                                    ett_h245_RequestMultiplexEntryRejectionDescriptions, RequestMultiplexEntryRejectionDescriptions_sequence);
11383
11384   return offset;
11385 }
11386
11387
11388 static const per_sequence_t SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions_set_of[1] = {
11389   { &hf_h245_rejectionDescriptions_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_RequestMultiplexEntryRejectionDescriptions },
11390 };
11391
11392 static int
11393 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_) {
11394   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11395                                              ett_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions, SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions_set_of,
11396                                              1, 15, FALSE);
11397
11398   return offset;
11399 }
11400
11401
11402 static const per_sequence_t RequestMultiplexEntryReject_sequence[] = {
11403   { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
11404   { &hf_h245_rejectionDescriptions, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions },
11405   { NULL, 0, 0, NULL }
11406 };
11407
11408 static int
11409 dissect_h245_RequestMultiplexEntryReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11410   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11411                                    ett_h245_RequestMultiplexEntryReject, RequestMultiplexEntryReject_sequence);
11412
11413   return offset;
11414 }
11415
11416
11417 static const value_string h245_Req_mode_ack_response_vals[] = {
11418   {   0, "willTransmitMostPreferredMode" },
11419   {   1, "willTransmitLessPreferredMode" },
11420   { 0, NULL }
11421 };
11422
11423 static const per_choice_t Req_mode_ack_response_choice[] = {
11424   {   0, &hf_h245_willTransmitMostPreferredMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11425   {   1, &hf_h245_willTransmitLessPreferredMode, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11426   { 0, NULL, 0, NULL }
11427 };
11428
11429 static int
11430 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_) {
11431   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11432                                  ett_h245_Req_mode_ack_response, Req_mode_ack_response_choice,
11433                                  NULL);
11434
11435   return offset;
11436 }
11437
11438
11439 static const per_sequence_t RequestModeAck_sequence[] = {
11440   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11441   { &hf_h245_req_mode_ack_response, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Req_mode_ack_response },
11442   { NULL, 0, 0, NULL }
11443 };
11444
11445 static int
11446 dissect_h245_RequestModeAck(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_RequestModeAck, RequestModeAck_sequence);
11449
11450   return offset;
11451 }
11452
11453
11454 static const value_string h245_RequestModeRejectCause_vals[] = {
11455   {   0, "modeUnavailable" },
11456   {   1, "multipointConstraint" },
11457   {   2, "requestDenied" },
11458   { 0, NULL }
11459 };
11460
11461 static const per_choice_t RequestModeRejectCause_choice[] = {
11462   {   0, &hf_h245_modeUnavailable, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11463   {   1, &hf_h245_multipointConstraint, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11464   {   2, &hf_h245_requestDenied  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11465   { 0, NULL, 0, NULL }
11466 };
11467
11468 static int
11469 dissect_h245_RequestModeRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11470   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11471                                  ett_h245_RequestModeRejectCause, RequestModeRejectCause_choice,
11472                                  NULL);
11473
11474   return offset;
11475 }
11476
11477
11478 static const per_sequence_t RequestModeReject_sequence[] = {
11479   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11480   { &hf_h245_req_rej_cause  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_RequestModeRejectCause },
11481   { NULL, 0, 0, NULL }
11482 };
11483
11484 static int
11485 dissect_h245_RequestModeReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11486   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11487                                    ett_h245_RequestModeReject, RequestModeReject_sequence);
11488
11489   return offset;
11490 }
11491
11492
11493 static const per_sequence_t RoundTripDelayResponse_sequence[] = {
11494   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
11495   { NULL, 0, 0, NULL }
11496 };
11497
11498 static int
11499 dissect_h245_RoundTripDelayResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11500   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11501                                    ett_h245_RoundTripDelayResponse, RoundTripDelayResponse_sequence);
11502
11503   return offset;
11504 }
11505
11506
11507 static const value_string h245_Mla_type_vals[] = {
11508   {   0, "systemLoop" },
11509   {   1, "mediaLoop" },
11510   {   2, "logicalChannelLoop" },
11511   { 0, NULL }
11512 };
11513
11514 static const per_choice_t Mla_type_choice[] = {
11515   {   0, &hf_h245_systemLoop     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11516   {   1, &hf_h245_mediaLoop      , ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
11517   {   2, &hf_h245_logicalChannelLoop, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
11518   { 0, NULL, 0, NULL }
11519 };
11520
11521 static int
11522 dissect_h245_Mla_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11523   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11524                                  ett_h245_Mla_type, Mla_type_choice,
11525                                  NULL);
11526
11527   return offset;
11528 }
11529
11530
11531 static const per_sequence_t MaintenanceLoopAck_sequence[] = {
11532   { &hf_h245_mla_type       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mla_type },
11533   { NULL, 0, 0, NULL }
11534 };
11535
11536 static int
11537 dissect_h245_MaintenanceLoopAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11538   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11539                                    ett_h245_MaintenanceLoopAck, MaintenanceLoopAck_sequence);
11540
11541   return offset;
11542 }
11543
11544
11545 static const value_string h245_Mlrej_type_vals[] = {
11546   {   0, "systemLoop" },
11547   {   1, "mediaLoop" },
11548   {   2, "logicalChannelLoop" },
11549   { 0, NULL }
11550 };
11551
11552 static const per_choice_t Mlrej_type_choice[] = {
11553   {   0, &hf_h245_systemLoop     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11554   {   1, &hf_h245_mediaLoop      , ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
11555   {   2, &hf_h245_logicalChannelLoop, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
11556   { 0, NULL, 0, NULL }
11557 };
11558
11559 static int
11560 dissect_h245_Mlrej_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11561   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11562                                  ett_h245_Mlrej_type, Mlrej_type_choice,
11563                                  NULL);
11564
11565   return offset;
11566 }
11567
11568
11569 static const value_string h245_MaintenanceLoopRejectCause_vals[] = {
11570   {   0, "canNotPerformLoop" },
11571   { 0, NULL }
11572 };
11573
11574 static const per_choice_t MaintenanceLoopRejectCause_choice[] = {
11575   {   0, &hf_h245_canNotPerformLoop, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11576   { 0, NULL, 0, NULL }
11577 };
11578
11579 static int
11580 dissect_h245_MaintenanceLoopRejectCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11581   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11582                                  ett_h245_MaintenanceLoopRejectCause, MaintenanceLoopRejectCause_choice,
11583                                  NULL);
11584
11585   return offset;
11586 }
11587
11588
11589 static const per_sequence_t MaintenanceLoopReject_sequence[] = {
11590   { &hf_h245_mlrej_type     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mlrej_type },
11591   { &hf_h245_maintloop_rej_cause, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MaintenanceLoopRejectCause },
11592   { NULL, 0, 0, NULL }
11593 };
11594
11595 static int
11596 dissect_h245_MaintenanceLoopReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11597   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11598                                    ett_h245_MaintenanceLoopReject, MaintenanceLoopReject_sequence);
11599
11600   return offset;
11601 }
11602
11603
11604
11605 static int
11606 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_) {
11607   offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
11608                                           1, 128, FALSE);
11609
11610   return offset;
11611 }
11612
11613
11614 static const value_string h245_T_entryDataType_vals[] = {
11615   {   0, "videoData" },
11616   {   1, "audioData" },
11617   {   2, "data" },
11618   { 0, NULL }
11619 };
11620
11621 static const per_choice_t T_entryDataType_choice[] = {
11622   {   0, &hf_h245_videoData      , ASN1_EXTENSION_ROOT    , dissect_h245_VideoCapability },
11623   {   1, &hf_h245_audioData      , ASN1_EXTENSION_ROOT    , dissect_h245_AudioCapability },
11624   {   2, &hf_h245_data           , ASN1_EXTENSION_ROOT    , dissect_h245_DataApplicationCapability },
11625   { 0, NULL, 0, NULL }
11626 };
11627
11628 static int
11629 dissect_h245_T_entryDataType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11630   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11631                                  ett_h245_T_entryDataType, T_entryDataType_choice,
11632                                  NULL);
11633
11634   return offset;
11635 }
11636
11637
11638
11639 static int
11640 dissect_h245_Cm_mediaChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11641   offset = dissect_h245_TransportAddress(tvb, offset, actx, tree, hf_index);
11642
11643   return offset;
11644 }
11645
11646
11647 static const per_sequence_t CommunicationModeTableEntry_sequence[] = {
11648   { &hf_h245_nonStandardParams, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_NonStandardParameter },
11649   { &hf_h245_sessionID      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
11650   { &hf_h245_associatedSessionID, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
11651   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
11652   { &hf_h245_sessionDescription, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BMPString_SIZE_1_128 },
11653   { &hf_h245_entryDataType  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_entryDataType },
11654   { &hf_h245_cm_mediaChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Cm_mediaChannel },
11655   { &hf_h245_mediaGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
11656   { &hf_h245_cm_mediaControlChannel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TransportAddress },
11657   { &hf_h245_mediaControlGuaranteedDelivery, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_BOOLEAN },
11658   { &hf_h245_redundancyEncoding, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_RedundancyEncoding },
11659   { &hf_h245_sessionDependency, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_1_255 },
11660   { &hf_h245_destination    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
11661   { NULL, 0, 0, NULL }
11662 };
11663
11664 static int
11665 dissect_h245_CommunicationModeTableEntry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11666   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11667                                    ett_h245_CommunicationModeTableEntry, CommunicationModeTableEntry_sequence);
11668
11669   return offset;
11670 }
11671
11672
11673 static const per_sequence_t SET_SIZE_1_256_OF_CommunicationModeTableEntry_set_of[1] = {
11674   { &hf_h245_communicationModeTable_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CommunicationModeTableEntry },
11675 };
11676
11677 static int
11678 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_) {
11679   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11680                                              ett_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry, SET_SIZE_1_256_OF_CommunicationModeTableEntry_set_of,
11681                                              1, 256, FALSE);
11682
11683   return offset;
11684 }
11685
11686
11687 static const value_string h245_CommunicationModeResponse_vals[] = {
11688   {   0, "communicationModeTable" },
11689   { 0, NULL }
11690 };
11691
11692 static const per_choice_t CommunicationModeResponse_choice[] = {
11693   {   0, &hf_h245_communicationModeTable, ASN1_EXTENSION_ROOT    , dissect_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry },
11694   { 0, NULL, 0, NULL }
11695 };
11696
11697 static int
11698 dissect_h245_CommunicationModeResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11699   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11700                                  ett_h245_CommunicationModeResponse, CommunicationModeResponse_choice,
11701                                  NULL);
11702
11703   return offset;
11704 }
11705
11706
11707
11708 static int
11709 dissect_h245_TerminalID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11710   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11711                                        1, 128, FALSE, NULL);
11712
11713   return offset;
11714 }
11715
11716
11717 static const per_sequence_t T_mCTerminalIDResponse_sequence[] = {
11718   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11719   { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11720   { NULL, 0, 0, NULL }
11721 };
11722
11723 static int
11724 dissect_h245_T_mCTerminalIDResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11725   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11726                                    ett_h245_T_mCTerminalIDResponse, T_mCTerminalIDResponse_sequence);
11727
11728   return offset;
11729 }
11730
11731
11732 static const per_sequence_t T_terminalIDResponse_sequence[] = {
11733   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11734   { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11735   { NULL, 0, 0, NULL }
11736 };
11737
11738 static int
11739 dissect_h245_T_terminalIDResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11740   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11741                                    ett_h245_T_terminalIDResponse, T_terminalIDResponse_sequence);
11742
11743   return offset;
11744 }
11745
11746
11747
11748 static int
11749 dissect_h245_ConferenceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11750   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11751                                        1, 32, FALSE, NULL);
11752
11753   return offset;
11754 }
11755
11756
11757 static const per_sequence_t T_conferenceIDResponse_sequence[] = {
11758   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11759   { &hf_h245_conferenceID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConferenceID },
11760   { NULL, 0, 0, NULL }
11761 };
11762
11763 static int
11764 dissect_h245_T_conferenceIDResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11765   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11766                                    ett_h245_T_conferenceIDResponse, T_conferenceIDResponse_sequence);
11767
11768   return offset;
11769 }
11770
11771
11772
11773 static int
11774 dissect_h245_Password(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11775   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
11776                                        1, 32, FALSE, NULL);
11777
11778   return offset;
11779 }
11780
11781
11782 static const per_sequence_t T_passwordResponse_sequence[] = {
11783   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11784   { &hf_h245_password       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Password },
11785   { NULL, 0, 0, NULL }
11786 };
11787
11788 static int
11789 dissect_h245_T_passwordResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11790   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11791                                    ett_h245_T_passwordResponse, T_passwordResponse_sequence);
11792
11793   return offset;
11794 }
11795
11796
11797 static const per_sequence_t SET_SIZE_1_256_OF_TerminalLabel_set_of[1] = {
11798   { &hf_h245_terminalListResponse_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11799 };
11800
11801 static int
11802 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_) {
11803   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
11804                                              ett_h245_SET_SIZE_1_256_OF_TerminalLabel, SET_SIZE_1_256_OF_TerminalLabel_set_of,
11805                                              1, 256, FALSE);
11806
11807   return offset;
11808 }
11809
11810
11811 static const value_string h245_T_makeMeChairResponse_vals[] = {
11812   {   0, "grantedChairToken" },
11813   {   1, "deniedChairToken" },
11814   { 0, NULL }
11815 };
11816
11817 static const per_choice_t T_makeMeChairResponse_choice[] = {
11818   {   0, &hf_h245_grantedChairToken, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11819   {   1, &hf_h245_deniedChairToken, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11820   { 0, NULL, 0, NULL }
11821 };
11822
11823 static int
11824 dissect_h245_T_makeMeChairResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11825   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11826                                  ett_h245_T_makeMeChairResponse, T_makeMeChairResponse_choice,
11827                                  NULL);
11828
11829   return offset;
11830 }
11831
11832
11833 static const per_sequence_t T_extensionAddressResponse_sequence[] = {
11834   { &hf_h245_extensionAddress, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11835   { NULL, 0, 0, NULL }
11836 };
11837
11838 static int
11839 dissect_h245_T_extensionAddressResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11840   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11841                                    ett_h245_T_extensionAddressResponse, T_extensionAddressResponse_sequence);
11842
11843   return offset;
11844 }
11845
11846
11847 static const per_sequence_t T_chairTokenOwnerResponse_sequence[] = {
11848   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11849   { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11850   { NULL, 0, 0, NULL }
11851 };
11852
11853 static int
11854 dissect_h245_T_chairTokenOwnerResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11855   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11856                                    ett_h245_T_chairTokenOwnerResponse, T_chairTokenOwnerResponse_sequence);
11857
11858   return offset;
11859 }
11860
11861
11862 static const per_sequence_t T_terminalCertificateResponse_sequence[] = {
11863   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_TerminalLabel },
11864   { &hf_h245_certificateResponse, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_65535 },
11865   { NULL, 0, 0, NULL }
11866 };
11867
11868 static int
11869 dissect_h245_T_terminalCertificateResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11870   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11871                                    ett_h245_T_terminalCertificateResponse, T_terminalCertificateResponse_sequence);
11872
11873   return offset;
11874 }
11875
11876
11877 static const value_string h245_T_broadcastMyLogicalChannelResponse_vals[] = {
11878   {   0, "grantedBroadcastMyLogicalChannel" },
11879   {   1, "deniedBroadcastMyLogicalChannel" },
11880   { 0, NULL }
11881 };
11882
11883 static const per_choice_t T_broadcastMyLogicalChannelResponse_choice[] = {
11884   {   0, &hf_h245_grantedBroadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11885   {   1, &hf_h245_deniedBroadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11886   { 0, NULL, 0, NULL }
11887 };
11888
11889 static int
11890 dissect_h245_T_broadcastMyLogicalChannelResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11891   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11892                                  ett_h245_T_broadcastMyLogicalChannelResponse, T_broadcastMyLogicalChannelResponse_choice,
11893                                  NULL);
11894
11895   return offset;
11896 }
11897
11898
11899 static const value_string h245_T_makeTerminalBroadcasterResponse_vals[] = {
11900   {   0, "grantedMakeTerminalBroadcaster" },
11901   {   1, "deniedMakeTerminalBroadcaster" },
11902   { 0, NULL }
11903 };
11904
11905 static const per_choice_t T_makeTerminalBroadcasterResponse_choice[] = {
11906   {   0, &hf_h245_grantedMakeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11907   {   1, &hf_h245_deniedMakeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11908   { 0, NULL, 0, NULL }
11909 };
11910
11911 static int
11912 dissect_h245_T_makeTerminalBroadcasterResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11913   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11914                                  ett_h245_T_makeTerminalBroadcasterResponse, T_makeTerminalBroadcasterResponse_choice,
11915                                  NULL);
11916
11917   return offset;
11918 }
11919
11920
11921 static const value_string h245_T_sendThisSourceResponse_vals[] = {
11922   {   0, "grantedSendThisSource" },
11923   {   1, "deniedSendThisSource" },
11924   { 0, NULL }
11925 };
11926
11927 static const per_choice_t T_sendThisSourceResponse_choice[] = {
11928   {   0, &hf_h245_grantedSendThisSource, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11929   {   1, &hf_h245_deniedSendThisSource, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11930   { 0, NULL, 0, NULL }
11931 };
11932
11933 static int
11934 dissect_h245_T_sendThisSourceResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11935   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
11936                                  ett_h245_T_sendThisSourceResponse, T_sendThisSourceResponse_choice,
11937                                  NULL);
11938
11939   return offset;
11940 }
11941
11942
11943 static const per_sequence_t TerminalInformation_sequence[] = {
11944   { &hf_h245_terminalLabel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalLabel },
11945   { &hf_h245_terminalID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalID },
11946   { NULL, 0, 0, NULL }
11947 };
11948
11949 static int
11950 dissect_h245_TerminalInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11951   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11952                                    ett_h245_TerminalInformation, TerminalInformation_sequence);
11953
11954   return offset;
11955 }
11956
11957
11958 static const per_sequence_t SEQUENCE_OF_TerminalInformation_sequence_of[1] = {
11959   { &hf_h245_terminalInformation_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_TerminalInformation },
11960 };
11961
11962 static int
11963 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_) {
11964   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
11965                                       ett_h245_SEQUENCE_OF_TerminalInformation, SEQUENCE_OF_TerminalInformation_sequence_of);
11966
11967   return offset;
11968 }
11969
11970
11971 static const per_sequence_t RequestAllTerminalIDsResponse_sequence[] = {
11972   { &hf_h245_terminalInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SEQUENCE_OF_TerminalInformation },
11973   { NULL, 0, 0, NULL }
11974 };
11975
11976 static int
11977 dissect_h245_RequestAllTerminalIDsResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11978   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
11979                                    ett_h245_RequestAllTerminalIDsResponse, RequestAllTerminalIDsResponse_sequence);
11980
11981   return offset;
11982 }
11983
11984
11985 static const value_string h245_T_reject_vals[] = {
11986   {   0, "unspecified" },
11987   {   1, "functionNotSupported" },
11988   { 0, NULL }
11989 };
11990
11991 static const per_choice_t T_reject_choice[] = {
11992   {   0, &hf_h245_unspecified    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11993   {   1, &hf_h245_functionNotSupportedFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
11994   { 0, NULL, 0, NULL }
11995 };
11996
11997 static int
11998 dissect_h245_T_reject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11999   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12000                                  ett_h245_T_reject, T_reject_choice,
12001                                  NULL);
12002
12003   return offset;
12004 }
12005
12006
12007 static const value_string h245_RemoteMCResponse_vals[] = {
12008   {   0, "accept" },
12009   {   1, "reject" },
12010   { 0, NULL }
12011 };
12012
12013 static const per_choice_t RemoteMCResponse_choice[] = {
12014   {   0, &hf_h245_accept         , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12015   {   1, &hf_h245_reject         , ASN1_EXTENSION_ROOT    , dissect_h245_T_reject },
12016   { 0, NULL, 0, NULL }
12017 };
12018
12019 static int
12020 dissect_h245_RemoteMCResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12021   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12022                                  ett_h245_RemoteMCResponse, RemoteMCResponse_choice,
12023                                  NULL);
12024
12025   return offset;
12026 }
12027
12028
12029 static const value_string h245_ConferenceResponse_vals[] = {
12030   {   0, "mCTerminalIDResponse" },
12031   {   1, "terminalIDResponse" },
12032   {   2, "conferenceIDResponse" },
12033   {   3, "passwordResponse" },
12034   {   4, "terminalListResponse" },
12035   {   5, "videoCommandReject" },
12036   {   6, "terminalDropReject" },
12037   {   7, "makeMeChairResponse" },
12038   {   8, "extensionAddressResponse" },
12039   {   9, "chairTokenOwnerResponse" },
12040   {  10, "terminalCertificateResponse" },
12041   {  11, "broadcastMyLogicalChannelResponse" },
12042   {  12, "makeTerminalBroadcasterResponse" },
12043   {  13, "sendThisSourceResponse" },
12044   {  14, "requestAllTerminalIDsResponse" },
12045   {  15, "remoteMCResponse" },
12046   { 0, NULL }
12047 };
12048
12049 static const per_choice_t ConferenceResponse_choice[] = {
12050   {   0, &hf_h245_mCTerminalIDResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_mCTerminalIDResponse },
12051   {   1, &hf_h245_terminalIDResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_terminalIDResponse },
12052   {   2, &hf_h245_conferenceIDResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_conferenceIDResponse },
12053   {   3, &hf_h245_passwordResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_passwordResponse },
12054   {   4, &hf_h245_terminalListResponse, ASN1_EXTENSION_ROOT    , dissect_h245_SET_SIZE_1_256_OF_TerminalLabel },
12055   {   5, &hf_h245_videoCommandReject, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12056   {   6, &hf_h245_terminalDropReject, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12057   {   7, &hf_h245_makeMeChairResponse, ASN1_EXTENSION_ROOT    , dissect_h245_T_makeMeChairResponse },
12058   {   8, &hf_h245_extensionAddressResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_extensionAddressResponse },
12059   {   9, &hf_h245_chairTokenOwnerResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_chairTokenOwnerResponse },
12060   {  10, &hf_h245_terminalCertificateResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_terminalCertificateResponse },
12061   {  11, &hf_h245_broadcastMyLogicalChannelResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_broadcastMyLogicalChannelResponse },
12062   {  12, &hf_h245_makeTerminalBroadcasterResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_makeTerminalBroadcasterResponse },
12063   {  13, &hf_h245_sendThisSourceResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_sendThisSourceResponse },
12064   {  14, &hf_h245_requestAllTerminalIDsResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RequestAllTerminalIDsResponse },
12065   {  15, &hf_h245_remoteMCResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_RemoteMCResponse },
12066   { 0, NULL, 0, NULL }
12067 };
12068
12069 static int
12070 dissect_h245_ConferenceResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12071   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12072                                  ett_h245_ConferenceResponse, ConferenceResponse_choice,
12073                                  NULL);
12074
12075   return offset;
12076 }
12077
12078
12079 static const per_sequence_t CallInformationResp_sequence[] = {
12080   { &hf_h245_dialingInformation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_DialingInformation },
12081   { &hf_h245_callAssociationNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4294967295 },
12082   { NULL, 0, 0, NULL }
12083 };
12084
12085 static int
12086 dissect_h245_CallInformationResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12087   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12088                                    ett_h245_CallInformationResp, CallInformationResp_sequence);
12089
12090   return offset;
12091 }
12092
12093
12094 static const value_string h245_T_rejected_vals[] = {
12095   {   0, "connectionsNotAvailable" },
12096   {   1, "userRejected" },
12097   { 0, NULL }
12098 };
12099
12100 static const per_choice_t T_rejected_choice[] = {
12101   {   0, &hf_h245_connectionsNotAvailable, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12102   {   1, &hf_h245_userRejected   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12103   { 0, NULL, 0, NULL }
12104 };
12105
12106 static int
12107 dissect_h245_T_rejected(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12108   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12109                                  ett_h245_T_rejected, T_rejected_choice,
12110                                  NULL);
12111
12112   return offset;
12113 }
12114
12115
12116 static const value_string h245_T_responseCode_vals[] = {
12117   {   0, "accepted" },
12118   {   1, "rejected" },
12119   { 0, NULL }
12120 };
12121
12122 static const per_choice_t T_responseCode_choice[] = {
12123   {   0, &hf_h245_accepted       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12124   {   1, &hf_h245_rejected       , ASN1_EXTENSION_ROOT    , dissect_h245_T_rejected },
12125   { 0, NULL, 0, NULL }
12126 };
12127
12128 static int
12129 dissect_h245_T_responseCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12130   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12131                                  ett_h245_T_responseCode, T_responseCode_choice,
12132                                  NULL);
12133
12134   return offset;
12135 }
12136
12137
12138 static const per_sequence_t AddConnectionResp_sequence[] = {
12139   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
12140   { &hf_h245_responseCode   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_responseCode },
12141   { NULL, 0, 0, NULL }
12142 };
12143
12144 static int
12145 dissect_h245_AddConnectionResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12146   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12147                                    ett_h245_AddConnectionResp, AddConnectionResp_sequence);
12148
12149   return offset;
12150 }
12151
12152
12153 static const per_sequence_t RemoveConnectionResp_sequence[] = {
12154   { &hf_h245_connectionIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConnectionIdentifier },
12155   { NULL, 0, 0, NULL }
12156 };
12157
12158 static int
12159 dissect_h245_RemoveConnectionResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12160   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12161                                    ett_h245_RemoveConnectionResp, RemoveConnectionResp_sequence);
12162
12163   return offset;
12164 }
12165
12166
12167 static const per_sequence_t MaximumHeaderIntervalResp_sequence[] = {
12168   { &hf_h245_currentInterval, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
12169   { NULL, 0, 0, NULL }
12170 };
12171
12172 static int
12173 dissect_h245_MaximumHeaderIntervalResp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12174   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12175                                    ett_h245_MaximumHeaderIntervalResp, MaximumHeaderIntervalResp_sequence);
12176
12177   return offset;
12178 }
12179
12180
12181 static const value_string h245_MultilinkResponse_vals[] = {
12182   {   0, "nonStandard" },
12183   {   1, "callInformation" },
12184   {   2, "addConnection" },
12185   {   3, "removeConnection" },
12186   {   4, "maximumHeaderInterval" },
12187   { 0, NULL }
12188 };
12189
12190 static const per_choice_t MultilinkResponse_choice[] = {
12191   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
12192   {   1, &hf_h245_callInformationResp, ASN1_EXTENSION_ROOT    , dissect_h245_CallInformationResp },
12193   {   2, &hf_h245_addConnectionResp, ASN1_EXTENSION_ROOT    , dissect_h245_AddConnectionResp },
12194   {   3, &hf_h245_removeConnectionResp, ASN1_EXTENSION_ROOT    , dissect_h245_RemoveConnectionResp },
12195   {   4, &hf_h245_maximumHeaderIntervalResp, ASN1_EXTENSION_ROOT    , dissect_h245_MaximumHeaderIntervalResp },
12196   { 0, NULL, 0, NULL }
12197 };
12198
12199 static int
12200 dissect_h245_MultilinkResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12201   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12202                                  ett_h245_MultilinkResponse, MultilinkResponse_choice,
12203                                  NULL);
12204
12205   return offset;
12206 }
12207
12208
12209 static const per_sequence_t LogicalChannelRateAcknowledge_sequence[] = {
12210   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
12211   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
12212   { &hf_h245_maximumBitRate , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_MaximumBitRate },
12213   { NULL, 0, 0, NULL }
12214 };
12215
12216 static int
12217 dissect_h245_LogicalChannelRateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12218   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12219                                    ett_h245_LogicalChannelRateAcknowledge, LogicalChannelRateAcknowledge_sequence);
12220
12221   return offset;
12222 }
12223
12224
12225 static const value_string h245_LogicalChannelRateRejectReason_vals[] = {
12226   {   0, "undefinedReason" },
12227   {   1, "insufficientResources" },
12228   { 0, NULL }
12229 };
12230
12231 static const per_choice_t LogicalChannelRateRejectReason_choice[] = {
12232   {   0, &hf_h245_undefinedReason, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12233   {   1, &hf_h245_insufficientResources, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12234   { 0, NULL, 0, NULL }
12235 };
12236
12237 static int
12238 dissect_h245_LogicalChannelRateRejectReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12239   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12240                                  ett_h245_LogicalChannelRateRejectReason, LogicalChannelRateRejectReason_choice,
12241                                  NULL);
12242
12243   return offset;
12244 }
12245
12246
12247 static const per_sequence_t LogicalChannelRateReject_sequence[] = {
12248   { &hf_h245_sequenceNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
12249   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
12250   { &hf_h245_rejectReason   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelRateRejectReason },
12251   { &hf_h245_currentMaximumBitRate, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MaximumBitRate },
12252   { NULL, 0, 0, NULL }
12253 };
12254
12255 static int
12256 dissect_h245_LogicalChannelRateReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12257   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12258                                    ett_h245_LogicalChannelRateReject, LogicalChannelRateReject_sequence);
12259
12260   return offset;
12261 }
12262
12263
12264 static const value_string h245_ResponseMessage_vals[] = {
12265   { ResponseMessage_nonStandard, "nonStandard" },
12266   { ResponseMessage_masterSlaveDeterminationAck, "masterSlaveDeterminationAck" },
12267   { ResponseMessage_masterSlaveDeterminationReject, "masterSlaveDeterminationReject" },
12268   { ResponseMessage_terminalCapabilitySetAck, "terminalCapabilitySetAck" },
12269   { ResponseMessage_terminalCapabilitySetReject, "terminalCapabilitySetReject" },
12270   { ResponseMessage_openLogicalChannelAck, "openLogicalChannelAck" },
12271   { ResponseMessage_openLogicalChannelReject, "openLogicalChannelReject" },
12272   { ResponseMessage_closeLogicalChannelAck, "closeLogicalChannelAck" },
12273   { ResponseMessage_requestChannelCloseAck, "requestChannelCloseAck" },
12274   { ResponseMessage_requestChannelCloseReject, "requestChannelCloseReject" },
12275   { ResponseMessage_multiplexEntrySendAck, "multiplexEntrySendAck" },
12276   { ResponseMessage_multiplexEntrySendReject, "multiplexEntrySendReject" },
12277   { ResponseMessage_requestMultiplexEntryAck, "requestMultiplexEntryAck" },
12278   { ResponseMessage_requestMultiplexEntryReject, "requestMultiplexEntryReject" },
12279   { ResponseMessage_requestModeAck, "requestModeAck" },
12280   { ResponseMessage_requestModeReject, "requestModeReject" },
12281   { ResponseMessage_roundTripDelayResponse, "roundTripDelayResponse" },
12282   { ResponseMessage_maintenanceLoopAck, "maintenanceLoopAck" },
12283   { ResponseMessage_maintenanceLoopReject, "maintenanceLoopReject" },
12284   { ResponseMessage_communicationModeResponse, "communicationModeResponse" },
12285   { ResponseMessage_conferenceResponse, "conferenceResponse" },
12286   { ResponseMessage_multilinkResponse, "multilinkResponse" },
12287   { ResponseMessage_logicalChannelRateAcknowledge, "logicalChannelRateAcknowledge" },
12288   { ResponseMessage_logicalChannelRateReject, "logicalChannelRateReject" },
12289   { ResponseMessage_genericResponse, "genericResponse" },
12290   { 0, NULL }
12291 };
12292
12293 static const per_choice_t ResponseMessage_choice[] = {
12294   { ResponseMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
12295   { ResponseMessage_masterSlaveDeterminationAck, &hf_h245_masterSlaveDeterminationAck, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDeterminationAck },
12296   { ResponseMessage_masterSlaveDeterminationReject, &hf_h245_masterSlaveDeterminationReject, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDeterminationReject },
12297   { ResponseMessage_terminalCapabilitySetAck, &hf_h245_terminalCapabilitySetAck, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySetAck },
12298   { ResponseMessage_terminalCapabilitySetReject, &hf_h245_terminalCapabilitySetReject, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySetReject },
12299   { ResponseMessage_openLogicalChannelAck, &hf_h245_openLogicalChannelAck, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannelAck },
12300   { ResponseMessage_openLogicalChannelReject, &hf_h245_openLogicalChannelReject, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannelReject },
12301   { ResponseMessage_closeLogicalChannelAck, &hf_h245_closeLogicalChannelAck, ASN1_EXTENSION_ROOT    , dissect_h245_CloseLogicalChannelAck },
12302   { ResponseMessage_requestChannelCloseAck, &hf_h245_requestChannelCloseAck, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelCloseAck },
12303   { ResponseMessage_requestChannelCloseReject, &hf_h245_requestChannelCloseReject, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelCloseReject },
12304   { ResponseMessage_multiplexEntrySendAck, &hf_h245_multiplexEntrySendAck, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySendAck },
12305   { ResponseMessage_multiplexEntrySendReject, &hf_h245_multiplexEntrySendReject, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySendReject },
12306   { ResponseMessage_requestMultiplexEntryAck, &hf_h245_requestMultiplexEntryAck, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntryAck },
12307   { ResponseMessage_requestMultiplexEntryReject, &hf_h245_requestMultiplexEntryReject, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntryReject },
12308   { ResponseMessage_requestModeAck, &hf_h245_requestModeAck , ASN1_EXTENSION_ROOT    , dissect_h245_RequestModeAck },
12309   { ResponseMessage_requestModeReject, &hf_h245_requestModeReject, ASN1_EXTENSION_ROOT    , dissect_h245_RequestModeReject },
12310   { ResponseMessage_roundTripDelayResponse, &hf_h245_roundTripDelayResponse, ASN1_EXTENSION_ROOT    , dissect_h245_RoundTripDelayResponse },
12311   { ResponseMessage_maintenanceLoopAck, &hf_h245_maintenanceLoopAck, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopAck },
12312   { ResponseMessage_maintenanceLoopReject, &hf_h245_maintenanceLoopReject, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopReject },
12313   { ResponseMessage_communicationModeResponse, &hf_h245_communicationModeResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_CommunicationModeResponse },
12314   { ResponseMessage_conferenceResponse, &hf_h245_conferenceResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceResponse },
12315   { ResponseMessage_multilinkResponse, &hf_h245_multilinkResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultilinkResponse },
12316   { ResponseMessage_logicalChannelRateAcknowledge, &hf_h245_logicalChannelRateAcknowledge, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateAcknowledge },
12317   { ResponseMessage_logicalChannelRateReject, &hf_h245_logicalChannelRateReject, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateReject },
12318   { ResponseMessage_genericResponse, &hf_h245_genericResponse, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
12319   { 0, NULL, 0, NULL }
12320 };
12321
12322 static int
12323 dissect_h245_ResponseMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12324 #line 408 "../../asn1/h245/h245.cnf"
12325   gint32 value;
12326
12327   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12328                                  ett_h245_ResponseMessage, ResponseMessage_choice,
12329                                  &value);
12330
12331             if ( h245_shorttypes == TRUE )
12332                 {
12333                         col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
12334                                 val_to_str(value, h245_ResponseMessage_short_vals, "<unknown>"));
12335                 }
12336                 else
12337                 {
12338                         col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
12339                                 val_to_str(value, h245_ResponseMessage_vals, "<unknown>"));
12340                 }
12341
12342         col_set_fence(actx->pinfo->cinfo,COL_INFO);
12343
12344         if (h245_pi != NULL){
12345                 /* Add to packet info */
12346                 if ( strlen(h245_pi->frame_label) == 0 ){
12347                    g_snprintf(h245_pi->frame_label, 50, "%s", val_to_str(value, h245_ResponseMessage_short_vals, "UKN"));
12348                 }
12349                 g_strlcat(h245_pi->comment, val_to_str(value, h245_ResponseMessage_vals, "<unknown>"), 50);
12350         }
12351
12352
12353
12354   return offset;
12355 }
12356
12357
12358 static const per_sequence_t MaintenanceLoopOffCommand_sequence[] = {
12359   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
12360 };
12361
12362 static int
12363 dissect_h245_MaintenanceLoopOffCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12364   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12365                                    ett_h245_MaintenanceLoopOffCommand, MaintenanceLoopOffCommand_sequence);
12366
12367   return offset;
12368 }
12369
12370
12371 static const per_sequence_t SET_SIZE_1_65535_OF_CapabilityTableEntryNumber_set_of[1] = {
12372   { &hf_h245_capabilityTableEntryNumbers_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityTableEntryNumber },
12373 };
12374
12375 static int
12376 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_) {
12377   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
12378                                              ett_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber, SET_SIZE_1_65535_OF_CapabilityTableEntryNumber_set_of,
12379                                              1, 65535, FALSE);
12380
12381   return offset;
12382 }
12383
12384
12385 static const per_sequence_t SET_SIZE_1_256_OF_CapabilityDescriptorNumber_set_of[1] = {
12386   { &hf_h245_capabilityDescriptorNumbers_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_CapabilityDescriptorNumber },
12387 };
12388
12389 static int
12390 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_) {
12391   offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
12392                                              ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber, SET_SIZE_1_256_OF_CapabilityDescriptorNumber_set_of,
12393                                              1, 256, FALSE);
12394
12395   return offset;
12396 }
12397
12398
12399 static const per_sequence_t T_specificRequest_sequence[] = {
12400   { &hf_h245_multiplexCapabilityBool, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12401   { &hf_h245_capabilityTableEntryNumbers, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber },
12402   { &hf_h245_capabilityDescriptorNumbers, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber },
12403   { NULL, 0, 0, NULL }
12404 };
12405
12406 static int
12407 dissect_h245_T_specificRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12408   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12409                                    ett_h245_T_specificRequest, T_specificRequest_sequence);
12410
12411   return offset;
12412 }
12413
12414
12415 static const value_string h245_SendTerminalCapabilitySet_vals[] = {
12416   {   0, "specificRequest" },
12417   {   1, "genericRequest" },
12418   { 0, NULL }
12419 };
12420
12421 static const per_choice_t SendTerminalCapabilitySet_choice[] = {
12422   {   0, &hf_h245_specificRequest, ASN1_EXTENSION_ROOT    , dissect_h245_T_specificRequest },
12423   {   1, &hf_h245_genericRequestFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12424   { 0, NULL, 0, NULL }
12425 };
12426
12427 static int
12428 dissect_h245_SendTerminalCapabilitySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12429   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12430                                  ett_h245_SendTerminalCapabilitySet, SendTerminalCapabilitySet_choice,
12431                                  NULL);
12432
12433   return offset;
12434 }
12435
12436
12437 static const per_sequence_t T_encryptionAlgorithmID_sequence[] = {
12438   { &hf_h245_h233AlgorithmIdentifier, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_SequenceNumber },
12439   { &hf_h245_associatedAlgorithm, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardParameter },
12440   { NULL, 0, 0, NULL }
12441 };
12442
12443 static int
12444 dissect_h245_T_encryptionAlgorithmID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12445   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12446                                    ett_h245_T_encryptionAlgorithmID, T_encryptionAlgorithmID_sequence);
12447
12448   return offset;
12449 }
12450
12451
12452 static const value_string h245_EncryptionCommand_vals[] = {
12453   {   0, "encryptionSE" },
12454   {   1, "encryptionIVRequest" },
12455   {   2, "encryptionAlgorithmID" },
12456   { 0, NULL }
12457 };
12458
12459 static const per_choice_t EncryptionCommand_choice[] = {
12460   {   0, &hf_h245_encryptionSE   , ASN1_EXTENSION_ROOT    , dissect_h245_OCTET_STRING },
12461   {   1, &hf_h245_encryptionIVRequest, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12462   {   2, &hf_h245_encryptionAlgorithmID, ASN1_EXTENSION_ROOT    , dissect_h245_T_encryptionAlgorithmID },
12463   { 0, NULL, 0, NULL }
12464 };
12465
12466 static int
12467 dissect_h245_EncryptionCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12468   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12469                                  ett_h245_EncryptionCommand, EncryptionCommand_choice,
12470                                  NULL);
12471
12472   return offset;
12473 }
12474
12475
12476 static const value_string h245_Scope_vals[] = {
12477   {   0, "logicalChannelNumber" },
12478   {   1, "resourceID" },
12479   {   2, "wholeMultiplex" },
12480   { 0, NULL }
12481 };
12482
12483 static const per_choice_t Scope_choice[] = {
12484   {   0, &hf_h245_logicalChannelNumber, ASN1_NO_EXTENSIONS     , dissect_h245_LogicalChannelNumber },
12485   {   1, &hf_h245_resourceID     , ASN1_NO_EXTENSIONS     , dissect_h245_INTEGER_0_65535 },
12486   {   2, &hf_h245_wholeMultiplex , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
12487   { 0, NULL, 0, NULL }
12488 };
12489
12490 static int
12491 dissect_h245_Scope(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12492   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12493                                  ett_h245_Scope, Scope_choice,
12494                                  NULL);
12495
12496   return offset;
12497 }
12498
12499
12500 static const value_string h245_Restriction_vals[] = {
12501   {   0, "maximumBitRate" },
12502   {   1, "noRestriction" },
12503   { 0, NULL }
12504 };
12505
12506 static const per_choice_t Restriction_choice[] = {
12507   {   0, &hf_h245_res_maximumBitRate, ASN1_NO_EXTENSIONS     , dissect_h245_INTEGER_0_16777215 },
12508   {   1, &hf_h245_noRestriction  , ASN1_NO_EXTENSIONS     , dissect_h245_NULL },
12509   { 0, NULL, 0, NULL }
12510 };
12511
12512 static int
12513 dissect_h245_Restriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12514   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12515                                  ett_h245_Restriction, Restriction_choice,
12516                                  NULL);
12517
12518   return offset;
12519 }
12520
12521
12522 static const per_sequence_t FlowControlCommand_sequence[] = {
12523   { &hf_h245_scope          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Scope },
12524   { &hf_h245_restriction    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Restriction },
12525   { NULL, 0, 0, NULL }
12526 };
12527
12528 static int
12529 dissect_h245_FlowControlCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12530   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12531                                    ett_h245_FlowControlCommand, FlowControlCommand_sequence);
12532
12533   return offset;
12534 }
12535
12536
12537 static const value_string h245_T_gstnOptions_vals[] = {
12538   {   0, "telephonyMode" },
12539   {   1, "v8bis" },
12540   {   2, "v34DSVD" },
12541   {   3, "v34DuplexFAX" },
12542   {   4, "v34H324" },
12543   { 0, NULL }
12544 };
12545
12546 static const per_choice_t T_gstnOptions_choice[] = {
12547   {   0, &hf_h245_telephonyMode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12548   {   1, &hf_h245_v8bis          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12549   {   2, &hf_h245_v34DSVD        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12550   {   3, &hf_h245_v34DuplexFAX   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12551   {   4, &hf_h245_v34H324        , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12552   { 0, NULL, 0, NULL }
12553 };
12554
12555 static int
12556 dissect_h245_T_gstnOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12557   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12558                                  ett_h245_T_gstnOptions, T_gstnOptions_choice,
12559                                  NULL);
12560
12561   return offset;
12562 }
12563
12564
12565 static const value_string h245_T_isdnOptions_vals[] = {
12566   {   0, "telephonyMode" },
12567   {   1, "v140" },
12568   {   2, "terminalOnHold" },
12569   { 0, NULL }
12570 };
12571
12572 static const per_choice_t T_isdnOptions_choice[] = {
12573   {   0, &hf_h245_telephonyMode  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12574   {   1, &hf_h245_v140           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12575   {   2, &hf_h245_terminalOnHold , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12576   { 0, NULL, 0, NULL }
12577 };
12578
12579 static int
12580 dissect_h245_T_isdnOptions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12581   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12582                                  ett_h245_T_isdnOptions, T_isdnOptions_choice,
12583                                  NULL);
12584
12585   return offset;
12586 }
12587
12588
12589 static const value_string h245_EndSessionCommand_vals[] = {
12590   {   0, "nonStandard" },
12591   {   1, "disconnect" },
12592   {   2, "gstnOptions" },
12593   {   3, "isdnOptions" },
12594   {   4, "genericInformation" },
12595   { 0, NULL }
12596 };
12597
12598 static const per_choice_t EndSessionCommand_choice[] = {
12599   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
12600   {   1, &hf_h245_disconnect     , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12601   {   2, &hf_h245_gstnOptions    , ASN1_EXTENSION_ROOT    , dissect_h245_T_gstnOptions },
12602   {   3, &hf_h245_isdnOptions    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_isdnOptions },
12603   {   4, &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_GenericInformation },
12604   { 0, NULL, 0, NULL }
12605 };
12606
12607 static int
12608 dissect_h245_EndSessionCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12609   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12610                                  ett_h245_EndSessionCommand, EndSessionCommand_choice,
12611                                  NULL);
12612
12613   return offset;
12614 }
12615
12616
12617
12618 static int
12619 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_) {
12620   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12621                                                             0U, 17U, NULL, FALSE);
12622
12623   return offset;
12624 }
12625
12626
12627
12628 static int
12629 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_) {
12630   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12631                                                             1U, 18U, NULL, FALSE);
12632
12633   return offset;
12634 }
12635
12636
12637 static const per_sequence_t T_videoFastUpdateGOB_sequence[] = {
12638   { &hf_h245_firstGOB       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_17 },
12639   { &hf_h245_numberOfGOBs   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_18 },
12640   { NULL, 0, 0, NULL }
12641 };
12642
12643 static int
12644 dissect_h245_T_videoFastUpdateGOB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12645   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12646                                    ett_h245_T_videoFastUpdateGOB, T_videoFastUpdateGOB_sequence);
12647
12648   return offset;
12649 }
12650
12651
12652
12653 static int
12654 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_) {
12655   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12656                                                             0U, 31U, NULL, FALSE);
12657
12658   return offset;
12659 }
12660
12661
12662
12663 static int
12664 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_) {
12665   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12666                                                             1U, 8192U, NULL, FALSE);
12667
12668   return offset;
12669 }
12670
12671
12672 static const per_sequence_t T_videoFastUpdateMB_sequence[] = {
12673   { &hf_h245_firstGOB_0_255 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_255 },
12674   { &hf_h245_firstMB_1_8192 , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_8192 },
12675   { &hf_h245_numberOfMBs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_8192 },
12676   { NULL, 0, 0, NULL }
12677 };
12678
12679 static int
12680 dissect_h245_T_videoFastUpdateMB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12681   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12682                                    ett_h245_T_videoFastUpdateMB, T_videoFastUpdateMB_sequence);
12683
12684   return offset;
12685 }
12686
12687
12688 static const per_sequence_t KeyProtectionMethod_sequence[] = {
12689   { &hf_h245_secureChannel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12690   { &hf_h245_sharedSecret   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12691   { &hf_h245_certProtectedKey, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
12692   { NULL, 0, 0, NULL }
12693 };
12694
12695 static int
12696 dissect_h245_KeyProtectionMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12697   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12698                                    ett_h245_KeyProtectionMethod, KeyProtectionMethod_sequence);
12699
12700   return offset;
12701 }
12702
12703
12704 static const per_sequence_t EncryptionUpdateRequest_sequence[] = {
12705   { &hf_h245_keyProtectionMethod, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_KeyProtectionMethod },
12706   { &hf_h245_synchFlag      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_INTEGER_0_255 },
12707   { NULL, 0, 0, NULL }
12708 };
12709
12710 static int
12711 dissect_h245_EncryptionUpdateRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12712   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12713                                    ett_h245_EncryptionUpdateRequest, EncryptionUpdateRequest_sequence);
12714
12715   return offset;
12716 }
12717
12718
12719 static const value_string h245_T_repeatCount_vals[] = {
12720   {   0, "doOneProgression" },
12721   {   1, "doContinuousProgressions" },
12722   {   2, "doOneIndependentProgression" },
12723   {   3, "doContinuousIndependentProgressions" },
12724   { 0, NULL }
12725 };
12726
12727 static const per_choice_t T_repeatCount_choice[] = {
12728   {   0, &hf_h245_doOneProgression, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12729   {   1, &hf_h245_doContinuousProgressions, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12730   {   2, &hf_h245_doOneIndependentProgression, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12731   {   3, &hf_h245_doContinuousIndependentProgressions, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12732   { 0, NULL, 0, NULL }
12733 };
12734
12735 static int
12736 dissect_h245_T_repeatCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12737   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12738                                  ett_h245_T_repeatCount, T_repeatCount_choice,
12739                                  NULL);
12740
12741   return offset;
12742 }
12743
12744
12745 static const per_sequence_t T_progressiveRefinementStart_sequence[] = {
12746   { &hf_h245_repeatCount    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_repeatCount },
12747   { NULL, 0, 0, NULL }
12748 };
12749
12750 static int
12751 dissect_h245_T_progressiveRefinementStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12752   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12753                                    ett_h245_T_progressiveRefinementStart, T_progressiveRefinementStart_sequence);
12754
12755   return offset;
12756 }
12757
12758
12759
12760 static int
12761 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_) {
12762   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
12763                                                             1U, 9216U, NULL, FALSE);
12764
12765   return offset;
12766 }
12767
12768
12769 static const per_sequence_t T_videoBadMBs_sequence[] = {
12770   { &hf_h245_firstMB        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12771   { &hf_h245_numberOfMBs1_1_9216, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12772   { &hf_h245_temporalReference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_1023 },
12773   { NULL, 0, 0, NULL }
12774 };
12775
12776 static int
12777 dissect_h245_T_videoBadMBs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12778   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12779                                    ett_h245_T_videoBadMBs, T_videoBadMBs_sequence);
12780
12781   return offset;
12782 }
12783
12784
12785 static const value_string h245_PictureReference_vals[] = {
12786   {   0, "pictureNumber" },
12787   {   1, "longTermPictureIndex" },
12788   { 0, NULL }
12789 };
12790
12791 static const per_choice_t PictureReference_choice[] = {
12792   {   0, &hf_h245_pictureNumber  , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_1023 },
12793   {   1, &hf_h245_longTermPictureIndex, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_255 },
12794   { 0, NULL, 0, NULL }
12795 };
12796
12797 static int
12798 dissect_h245_PictureReference(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12799   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12800                                  ett_h245_PictureReference, PictureReference_choice,
12801                                  NULL);
12802
12803   return offset;
12804 }
12805
12806
12807 static const per_sequence_t SEQUENCE_OF_PictureReference_sequence_of[1] = {
12808   { &hf_h245_lostPicture_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_h245_PictureReference },
12809 };
12810
12811 static int
12812 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_) {
12813   offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
12814                                       ett_h245_SEQUENCE_OF_PictureReference, SEQUENCE_OF_PictureReference_sequence_of);
12815
12816   return offset;
12817 }
12818
12819
12820 static const per_sequence_t T_lostPartialPicture_sequence[] = {
12821   { &hf_h245_pictureReference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_PictureReference },
12822   { &hf_h245_firstMB        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12823   { &hf_h245_numberOfMBs1_1_9216, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_9216 },
12824   { NULL, 0, 0, NULL }
12825 };
12826
12827 static int
12828 dissect_h245_T_lostPartialPicture(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12829   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12830                                    ett_h245_T_lostPartialPicture, T_lostPartialPicture_sequence);
12831
12832   return offset;
12833 }
12834
12835
12836 static const per_sequence_t T_encryptionUpdateCommand_sequence[] = {
12837   { &hf_h245_encryptionSync , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_EncryptionSync },
12838   { &hf_h245_multiplePayloadStream, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_MultiplePayloadStream },
12839   { NULL, 0, 0, NULL }
12840 };
12841
12842 static int
12843 dissect_h245_T_encryptionUpdateCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12844   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12845                                    ett_h245_T_encryptionUpdateCommand, T_encryptionUpdateCommand_sequence);
12846
12847   return offset;
12848 }
12849
12850
12851 static const per_sequence_t T_encryptionUpdateAck_sequence[] = {
12852   { &hf_h245_synchFlag      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
12853   { NULL, 0, 0, NULL }
12854 };
12855
12856 static int
12857 dissect_h245_T_encryptionUpdateAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12858   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12859                                    ett_h245_T_encryptionUpdateAck, T_encryptionUpdateAck_sequence);
12860
12861   return offset;
12862 }
12863
12864
12865 static const value_string h245_Mc_type_vals[] = {
12866   {   0, "equaliseDelay" },
12867   {   1, "zeroDelay" },
12868   {   2, "multipointModeCommand" },
12869   {   3, "cancelMultipointModeCommand" },
12870   {   4, "videoFreezePicture" },
12871   {   5, "videoFastUpdatePicture" },
12872   {   6, "videoFastUpdateGOB" },
12873   {   7, "videoTemporalSpatialTradeOff" },
12874   {   8, "videoSendSyncEveryGOB" },
12875   {   9, "videoSendSyncEveryGOBCancel" },
12876   {  10, "videoFastUpdateMB" },
12877   {  11, "maxH223MUXPDUsize" },
12878   {  12, "encryptionUpdate" },
12879   {  13, "encryptionUpdateRequest" },
12880   {  14, "switchReceiveMediaOff" },
12881   {  15, "switchReceiveMediaOn" },
12882   {  16, "progressiveRefinementStart" },
12883   {  17, "progressiveRefinementAbortOne" },
12884   {  18, "progressiveRefinementAbortContinuous" },
12885   {  19, "videoBadMBs" },
12886   {  20, "lostPicture" },
12887   {  21, "lostPartialPicture" },
12888   {  22, "recoveryReferencePicture" },
12889   {  23, "encryptionUpdateCommand" },
12890   {  24, "encryptionUpdateAck" },
12891   { 0, NULL }
12892 };
12893
12894 static const per_choice_t Mc_type_choice[] = {
12895   {   0, &hf_h245_equaliseDelay  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12896   {   1, &hf_h245_zeroDelay      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12897   {   2, &hf_h245_multipointModeCommand, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12898   {   3, &hf_h245_cancelMultipointModeCommand, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12899   {   4, &hf_h245_videoFreezePicture, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12900   {   5, &hf_h245_videoFastUpdatePicture, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12901   {   6, &hf_h245_videoFastUpdateGOB, ASN1_EXTENSION_ROOT    , dissect_h245_T_videoFastUpdateGOB },
12902   {   7, &hf_h245_videoTemporalSpatialTradeOff, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_31 },
12903   {   8, &hf_h245_videoSendSyncEveryGOB, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12904   {   9, &hf_h245_videoSendSyncEveryGOBCancel, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12905   {  10, &hf_h245_videoFastUpdateMB, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_videoFastUpdateMB },
12906   {  11, &hf_h245_maxH223MUXPDUsize, ASN1_NOT_EXTENSION_ROOT, dissect_h245_INTEGER_1_65535 },
12907   {  12, &hf_h245_encryptionUpdate, ASN1_NOT_EXTENSION_ROOT, dissect_h245_EncryptionSync },
12908   {  13, &hf_h245_encryptionUpdateRequest, ASN1_NOT_EXTENSION_ROOT, dissect_h245_EncryptionUpdateRequest },
12909   {  14, &hf_h245_switchReceiveMediaOff, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12910   {  15, &hf_h245_switchReceiveMediaOn, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12911   {  16, &hf_h245_progressiveRefinementStart, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_progressiveRefinementStart },
12912   {  17, &hf_h245_progressiveRefinementAbortOne, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12913   {  18, &hf_h245_progressiveRefinementAbortContinuous, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
12914   {  19, &hf_h245_videoBadMBs    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_videoBadMBs },
12915   {  20, &hf_h245_lostPicture    , ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_PictureReference },
12916   {  21, &hf_h245_lostPartialPicture, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_lostPartialPicture },
12917   {  22, &hf_h245_recoveryReferencePicture, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_PictureReference },
12918   {  23, &hf_h245_encryptionUpdateCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_encryptionUpdateCommand },
12919   {  24, &hf_h245_encryptionUpdateAck, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_encryptionUpdateAck },
12920   { 0, NULL, 0, NULL }
12921 };
12922
12923 static int
12924 dissect_h245_Mc_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12925   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12926                                  ett_h245_Mc_type, Mc_type_choice,
12927                                  NULL);
12928
12929   return offset;
12930 }
12931
12932
12933 static const value_string h245_EncryptionUpdateDirection_vals[] = {
12934   {   0, "masterToSlave" },
12935   {   1, "slaveToMaster" },
12936   { 0, NULL }
12937 };
12938
12939 static const per_choice_t EncryptionUpdateDirection_choice[] = {
12940   {   0, &hf_h245_masterToSlave  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12941   {   1, &hf_h245_slaveToMaster  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
12942   { 0, NULL, 0, NULL }
12943 };
12944
12945 static int
12946 dissect_h245_EncryptionUpdateDirection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12947   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
12948                                  ett_h245_EncryptionUpdateDirection, EncryptionUpdateDirection_choice,
12949                                  NULL);
12950
12951   return offset;
12952 }
12953
12954
12955 static const per_sequence_t MiscellaneousCommand_sequence[] = {
12956   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
12957   { &hf_h245_mc_type        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mc_type },
12958   { &hf_h245_direction      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptionUpdateDirection },
12959   { NULL, 0, 0, NULL }
12960 };
12961
12962 static int
12963 dissect_h245_MiscellaneousCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12964   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12965                                    ett_h245_MiscellaneousCommand, MiscellaneousCommand_sequence);
12966
12967   return offset;
12968 }
12969
12970
12971 static const per_sequence_t CommunicationModeCommand_sequence[] = {
12972   { &hf_h245_communicationModeTable, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry },
12973   { NULL, 0, 0, NULL }
12974 };
12975
12976 static int
12977 dissect_h245_CommunicationModeCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12978   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12979                                    ett_h245_CommunicationModeCommand, CommunicationModeCommand_sequence);
12980
12981   return offset;
12982 }
12983
12984
12985 static const per_sequence_t SubstituteConferenceIDCommand_sequence[] = {
12986   { &hf_h245_conferenceIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING_SIZE_16 },
12987   { NULL, 0, 0, NULL }
12988 };
12989
12990 static int
12991 dissect_h245_SubstituteConferenceIDCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12992   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
12993                                    ett_h245_SubstituteConferenceIDCommand, SubstituteConferenceIDCommand_sequence);
12994
12995   return offset;
12996 }
12997
12998
12999 static const value_string h245_ConferenceCommand_vals[] = {
13000   {   0, "broadcastMyLogicalChannel" },
13001   {   1, "cancelBroadcastMyLogicalChannel" },
13002   {   2, "makeTerminalBroadcaster" },
13003   {   3, "cancelMakeTerminalBroadcaster" },
13004   {   4, "sendThisSource" },
13005   {   5, "cancelSendThisSource" },
13006   {   6, "dropConference" },
13007   {   7, "substituteConferenceIDCommand" },
13008   { 0, NULL }
13009 };
13010
13011 static const per_choice_t ConferenceCommand_choice[] = {
13012   {   0, &hf_h245_broadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
13013   {   1, &hf_h245_cancelBroadcastMyLogicalChannel, ASN1_EXTENSION_ROOT    , dissect_h245_LogicalChannelNumber },
13014   {   2, &hf_h245_makeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
13015   {   3, &hf_h245_cancelMakeTerminalBroadcaster, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13016   {   4, &hf_h245_sendThisSource , ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
13017   {   5, &hf_h245_cancelSendThisSource, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13018   {   6, &hf_h245_dropConference , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13019   {   7, &hf_h245_substituteConferenceIDCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SubstituteConferenceIDCommand },
13020   { 0, NULL, 0, NULL }
13021 };
13022
13023 static int
13024 dissect_h245_ConferenceCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13025   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13026                                  ett_h245_ConferenceCommand, ConferenceCommand_choice,
13027                                  NULL);
13028
13029   return offset;
13030 }
13031
13032
13033 static const value_string h245_T_h223ModeChange_vals[] = {
13034   {   0, "toLevel0" },
13035   {   1, "toLevel1" },
13036   {   2, "toLevel2" },
13037   {   3, "toLevel2withOptionalHeader" },
13038   { 0, NULL }
13039 };
13040
13041 static const per_choice_t T_h223ModeChange_choice[] = {
13042   {   0, &hf_h245_toLevel0       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13043   {   1, &hf_h245_toLevel1       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13044   {   2, &hf_h245_toLevel2       , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13045   {   3, &hf_h245_toLevel2withOptionalHeader, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13046   { 0, NULL, 0, NULL }
13047 };
13048
13049 static int
13050 dissect_h245_T_h223ModeChange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13051   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13052                                  ett_h245_T_h223ModeChange, T_h223ModeChange_choice,
13053                                  NULL);
13054
13055   return offset;
13056 }
13057
13058
13059 static const value_string h245_T_h223AnnexADoubleFlag_vals[] = {
13060   {   0, "start" },
13061   {   1, "stop" },
13062   { 0, NULL }
13063 };
13064
13065 static const per_choice_t T_h223AnnexADoubleFlag_choice[] = {
13066   {   0, &hf_h245_start          , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13067   {   1, &hf_h245_stop           , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13068   { 0, NULL, 0, NULL }
13069 };
13070
13071 static int
13072 dissect_h245_T_h223AnnexADoubleFlag(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_T_h223AnnexADoubleFlag, T_h223AnnexADoubleFlag_choice,
13075                                  NULL);
13076
13077   return offset;
13078 }
13079
13080
13081 static const value_string h245_H223MultiplexReconfiguration_vals[] = {
13082   {   0, "h223ModeChange" },
13083   {   1, "h223AnnexADoubleFlag" },
13084   { 0, NULL }
13085 };
13086
13087 static const per_choice_t H223MultiplexReconfiguration_choice[] = {
13088   {   0, &hf_h245_h223ModeChange , ASN1_EXTENSION_ROOT    , dissect_h245_T_h223ModeChange },
13089   {   1, &hf_h245_h223AnnexADoubleFlag, ASN1_EXTENSION_ROOT    , dissect_h245_T_h223AnnexADoubleFlag },
13090   { 0, NULL, 0, NULL }
13091 };
13092
13093 static int
13094 dissect_h245_H223MultiplexReconfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13095   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13096                                  ett_h245_H223MultiplexReconfiguration, H223MultiplexReconfiguration_choice,
13097                                  NULL);
13098
13099   return offset;
13100 }
13101
13102
13103 static const value_string h245_Cmd_clockRecovery_vals[] = {
13104   {   0, "nullClockRecovery" },
13105   {   1, "srtsClockRecovery" },
13106   {   2, "adaptiveClockRecovery" },
13107   { 0, NULL }
13108 };
13109
13110 static const per_choice_t Cmd_clockRecovery_choice[] = {
13111   {   0, &hf_h245_nullClockRecoveryflag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13112   {   1, &hf_h245_srtsClockRecovery, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13113   {   2, &hf_h245_adaptiveClockRecoveryFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13114   { 0, NULL, 0, NULL }
13115 };
13116
13117 static int
13118 dissect_h245_Cmd_clockRecovery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13119   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13120                                  ett_h245_Cmd_clockRecovery, Cmd_clockRecovery_choice,
13121                                  NULL);
13122
13123   return offset;
13124 }
13125
13126
13127 static const value_string h245_Cmd_errorCorrection_vals[] = {
13128   {   0, "nullErrorCorrection" },
13129   {   1, "longInterleaver" },
13130   {   2, "shortInterleaver" },
13131   {   3, "errorCorrectionOnly" },
13132   { 0, NULL }
13133 };
13134
13135 static const per_choice_t Cmd_errorCorrection_choice[] = {
13136   {   0, &hf_h245_nullErrorCorrectionFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13137   {   1, &hf_h245_longInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13138   {   2, &hf_h245_shortInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13139   {   3, &hf_h245_errorCorrectionOnlyFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13140   { 0, NULL, 0, NULL }
13141 };
13142
13143 static int
13144 dissect_h245_Cmd_errorCorrection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13145   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13146                                  ett_h245_Cmd_errorCorrection, Cmd_errorCorrection_choice,
13147                                  NULL);
13148
13149   return offset;
13150 }
13151
13152
13153 static const per_sequence_t Cmd_aal1_sequence[] = {
13154   { &hf_h245_cmd_clockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_clockRecovery },
13155   { &hf_h245_cmd_errorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_errorCorrection },
13156   { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13157   { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13158   { NULL, 0, 0, NULL }
13159 };
13160
13161 static int
13162 dissect_h245_Cmd_aal1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13163   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13164                                    ett_h245_Cmd_aal1, Cmd_aal1_sequence);
13165
13166   return offset;
13167 }
13168
13169
13170 static const per_sequence_t Cmd_aal5_sequence[] = {
13171   { &hf_h245_forwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13172   { &hf_h245_backwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13173   { NULL, 0, 0, NULL }
13174 };
13175
13176 static int
13177 dissect_h245_Cmd_aal5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13178   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13179                                    ett_h245_Cmd_aal5, Cmd_aal5_sequence);
13180
13181   return offset;
13182 }
13183
13184
13185 static const value_string h245_Cmd_aal_vals[] = {
13186   {   0, "aal1" },
13187   {   1, "aal5" },
13188   { 0, NULL }
13189 };
13190
13191 static const per_choice_t Cmd_aal_choice[] = {
13192   {   0, &hf_h245_cmd_aal1       , ASN1_EXTENSION_ROOT    , dissect_h245_Cmd_aal1 },
13193   {   1, &hf_h245_cmd_aal5       , ASN1_EXTENSION_ROOT    , dissect_h245_Cmd_aal5 },
13194   { 0, NULL, 0, NULL }
13195 };
13196
13197 static int
13198 dissect_h245_Cmd_aal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13199   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13200                                  ett_h245_Cmd_aal, Cmd_aal_choice,
13201                                  NULL);
13202
13203   return offset;
13204 }
13205
13206
13207 static const value_string h245_Cmd_multiplex_vals[] = {
13208   {   0, "noMultiplex" },
13209   {   1, "transportStream" },
13210   {   2, "programStream" },
13211   { 0, NULL }
13212 };
13213
13214 static const per_choice_t Cmd_multiplex_choice[] = {
13215   {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13216   {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13217   {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13218   { 0, NULL, 0, NULL }
13219 };
13220
13221 static int
13222 dissect_h245_Cmd_multiplex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13223   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13224                                  ett_h245_Cmd_multiplex, Cmd_multiplex_choice,
13225                                  NULL);
13226
13227   return offset;
13228 }
13229
13230
13231 static const value_string h245_CmdR_multiplex_vals[] = {
13232   {   0, "noMultiplex" },
13233   {   1, "transportStream" },
13234   {   2, "programStream" },
13235   { 0, NULL }
13236 };
13237
13238 static const per_choice_t CmdR_multiplex_choice[] = {
13239   {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13240   {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13241   {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13242   { 0, NULL, 0, NULL }
13243 };
13244
13245 static int
13246 dissect_h245_CmdR_multiplex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13247   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13248                                  ett_h245_CmdR_multiplex, CmdR_multiplex_choice,
13249                                  NULL);
13250
13251   return offset;
13252 }
13253
13254
13255 static const per_sequence_t Cmd_reverseParameters_sequence[] = {
13256   { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13257   { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13258   { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13259   { &hf_h245_cmdr_multiplex , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_CmdR_multiplex },
13260   { NULL, 0, 0, NULL }
13261 };
13262
13263 static int
13264 dissect_h245_Cmd_reverseParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13265   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13266                                    ett_h245_Cmd_reverseParameters, Cmd_reverseParameters_sequence);
13267
13268   return offset;
13269 }
13270
13271
13272 static const per_sequence_t NewATMVCCommand_sequence[] = {
13273   { &hf_h245_resourceID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13274   { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13275   { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13276   { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13277   { &hf_h245_cmd_aal        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_aal },
13278   { &hf_h245_cmd_multiplex  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_multiplex },
13279   { &hf_h245_cmd_reverseParameters, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Cmd_reverseParameters },
13280   { NULL, 0, 0, NULL }
13281 };
13282
13283 static int
13284 dissect_h245_NewATMVCCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13285   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13286                                    ett_h245_NewATMVCCommand, NewATMVCCommand_sequence);
13287
13288   return offset;
13289 }
13290
13291
13292 static const value_string h245_T_status_vals[] = {
13293   {   0, "synchronized" },
13294   {   1, "reconfiguration" },
13295   { 0, NULL }
13296 };
13297
13298 static const per_choice_t T_status_choice[] = {
13299   {   0, &hf_h245_synchronized   , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13300   {   1, &hf_h245_reconfiguration, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13301   { 0, NULL, 0, NULL }
13302 };
13303
13304 static int
13305 dissect_h245_T_status(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13306   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13307                                  ett_h245_T_status, T_status_choice,
13308                                  NULL);
13309
13310   return offset;
13311 }
13312
13313
13314 static const per_sequence_t MobileMultilinkReconfigurationCommand_sequence[] = {
13315   { &hf_h245_sampleSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
13316   { &hf_h245_samplesPerFrame, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
13317   { &hf_h245_status         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_status },
13318   { NULL, 0, 0, NULL }
13319 };
13320
13321 static int
13322 dissect_h245_MobileMultilinkReconfigurationCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13323   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13324                                    ett_h245_MobileMultilinkReconfigurationCommand, MobileMultilinkReconfigurationCommand_sequence);
13325
13326   return offset;
13327 }
13328
13329
13330 static const value_string h245_CommandMessage_vals[] = {
13331   { CommandMessage_nonStandard, "nonStandard" },
13332   { CommandMessage_maintenanceLoopOffCommand, "maintenanceLoopOffCommand" },
13333   { CommandMessage_sendTerminalCapabilitySet, "sendTerminalCapabilitySet" },
13334   { CommandMessage_encryptionCommand, "encryptionCommand" },
13335   { CommandMessage_flowControlCommand, "flowControlCommand" },
13336   { CommandMessage_endSessionCommand, "endSessionCommand" },
13337   { CommandMessage_miscellaneousCommand, "miscellaneousCommand" },
13338   { CommandMessage_communicationModeCommand, "communicationModeCommand" },
13339   { CommandMessage_conferenceCommand, "conferenceCommand" },
13340   { CommandMessage_h223MultiplexReconfiguration, "h223MultiplexReconfiguration" },
13341   { CommandMessage_newATMVCCommand, "newATMVCCommand" },
13342   { CommandMessage_mobileMultilinkReconfigurationCommand, "mobileMultilinkReconfigurationCommand" },
13343   { CommandMessage_genericCommand, "genericCommand" },
13344   { 0, NULL }
13345 };
13346
13347 static const per_choice_t CommandMessage_choice[] = {
13348   { CommandMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
13349   { CommandMessage_maintenanceLoopOffCommand, &hf_h245_maintenanceLoopOffCommand, ASN1_EXTENSION_ROOT    , dissect_h245_MaintenanceLoopOffCommand },
13350   { CommandMessage_sendTerminalCapabilitySet, &hf_h245_sendTerminalCapabilitySet, ASN1_EXTENSION_ROOT    , dissect_h245_SendTerminalCapabilitySet },
13351   { CommandMessage_encryptionCommand, &hf_h245_encryptionCommand, ASN1_EXTENSION_ROOT    , dissect_h245_EncryptionCommand },
13352   { CommandMessage_flowControlCommand, &hf_h245_flowControlCommand, ASN1_EXTENSION_ROOT    , dissect_h245_FlowControlCommand },
13353   { CommandMessage_endSessionCommand, &hf_h245_endSessionCommand, ASN1_EXTENSION_ROOT    , dissect_h245_EndSessionCommand },
13354   { CommandMessage_miscellaneousCommand, &hf_h245_miscellaneousCommand, ASN1_EXTENSION_ROOT    , dissect_h245_MiscellaneousCommand },
13355   { CommandMessage_communicationModeCommand, &hf_h245_communicationModeCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_CommunicationModeCommand },
13356   { CommandMessage_conferenceCommand, &hf_h245_conferenceCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceCommand },
13357   { CommandMessage_h223MultiplexReconfiguration, &hf_h245_h223MultiplexReconfiguration, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H223MultiplexReconfiguration },
13358   { CommandMessage_newATMVCCommand, &hf_h245_newATMVCCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NewATMVCCommand },
13359   { CommandMessage_mobileMultilinkReconfigurationCommand, &hf_h245_mobileMultilinkReconfigurationCommand, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MobileMultilinkReconfigurationCommand },
13360   { CommandMessage_genericCommand, &hf_h245_genericCommand , ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
13361   { 0, NULL, 0, NULL }
13362 };
13363
13364 static int
13365 dissect_h245_CommandMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13366 #line 462 "../../asn1/h245/h245.cnf"
13367   gint32 value;
13368
13369   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13370                                  ett_h245_CommandMessage, CommandMessage_choice,
13371                                  &value);
13372
13373            if ( h245_shorttypes == TRUE )
13374                 {
13375                         col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
13376                                 val_to_str(value, h245_CommandMessage_short_vals, "<unknown>"));
13377                 }
13378                 else
13379                 {
13380                         col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
13381                                 val_to_str(value, h245_CommandMessage_vals, "<unknown>"));
13382                 }
13383
13384         col_set_fence(actx->pinfo->cinfo,COL_INFO);
13385     /* Add to packet info */
13386     if (h245_pi != NULL){
13387       if ( strlen(h245_pi->frame_label) == 0 ){
13388         g_snprintf(h245_pi->frame_label, 50, "%s", val_to_str(value, h245_CommandMessage_short_vals, "UKN"));
13389       }
13390           g_strlcat(h245_pi->comment, val_to_str(value, h245_CommandMessage_vals, "<unknown>"), 50);
13391     }
13392
13393
13394
13395   return offset;
13396 }
13397
13398
13399 static const value_string h245_FunctionNotUnderstood_vals[] = {
13400   {   0, "request" },
13401   {   1, "response" },
13402   {   2, "command" },
13403   { 0, NULL }
13404 };
13405
13406 static const per_choice_t FunctionNotUnderstood_choice[] = {
13407   {   0, &hf_h245_request        , ASN1_NO_EXTENSIONS     , dissect_h245_RequestMessage },
13408   {   1, &hf_h245_response       , ASN1_NO_EXTENSIONS     , dissect_h245_ResponseMessage },
13409   {   2, &hf_h245_command        , ASN1_NO_EXTENSIONS     , dissect_h245_CommandMessage },
13410   { 0, NULL, 0, NULL }
13411 };
13412
13413 static int
13414 dissect_h245_FunctionNotUnderstood(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13415   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13416                                  ett_h245_FunctionNotUnderstood, FunctionNotUnderstood_choice,
13417                                  NULL);
13418
13419   return offset;
13420 }
13421
13422
13423 static const per_sequence_t MasterSlaveDeterminationRelease_sequence[] = {
13424   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
13425 };
13426
13427 static int
13428 dissect_h245_MasterSlaveDeterminationRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13429   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13430                                    ett_h245_MasterSlaveDeterminationRelease, MasterSlaveDeterminationRelease_sequence);
13431
13432 #line 585 "../../asn1/h245/h245.cnf"
13433
13434 if (h245_pi != NULL)
13435   h245_pi->msg_type = H245_MastSlvDetRls;
13436
13437   return offset;
13438 }
13439
13440
13441 static const per_sequence_t TerminalCapabilitySetRelease_sequence[] = {
13442   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
13443   { NULL, 0, 0, NULL }
13444 };
13445
13446 static int
13447 dissect_h245_TerminalCapabilitySetRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13448   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13449                                    ett_h245_TerminalCapabilitySetRelease, TerminalCapabilitySetRelease_sequence);
13450
13451 #line 597 "../../asn1/h245/h245.cnf"
13452
13453 if (h245_pi != NULL)
13454   h245_pi->msg_type = H245_TermCapSetRls;
13455
13456   return offset;
13457 }
13458
13459
13460 static const per_sequence_t OpenLogicalChannelConfirm_sequence[] = {
13461   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13462   { &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_SEQUENCE_OF_GenericInformation },
13463   { NULL, 0, 0, NULL }
13464 };
13465
13466 static int
13467 dissect_h245_OpenLogicalChannelConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13468   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13469                                    ett_h245_OpenLogicalChannelConfirm, OpenLogicalChannelConfirm_sequence);
13470
13471 #line 561 "../../asn1/h245/h245.cnf"
13472
13473 if (h245_pi != NULL)
13474   h245_pi->msg_type = H245_OpenLogChnCnf;
13475
13476   return offset;
13477 }
13478
13479
13480 static const per_sequence_t RequestChannelCloseRelease_sequence[] = {
13481   { &hf_h245_forwardLogicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13482   { NULL, 0, 0, NULL }
13483 };
13484
13485 static int
13486 dissect_h245_RequestChannelCloseRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13487   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13488                                    ett_h245_RequestChannelCloseRelease, RequestChannelCloseRelease_sequence);
13489
13490   return offset;
13491 }
13492
13493
13494 static const per_sequence_t MultiplexEntrySendRelease_sequence[] = {
13495   { &hf_h245_multiplexTableEntryNumbers, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
13496   { NULL, 0, 0, NULL }
13497 };
13498
13499 static int
13500 dissect_h245_MultiplexEntrySendRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13501   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13502                                    ett_h245_MultiplexEntrySendRelease, MultiplexEntrySendRelease_sequence);
13503
13504   return offset;
13505 }
13506
13507
13508 static const per_sequence_t RequestMultiplexEntryRelease_sequence[] = {
13509   { &hf_h245_entryNumbers   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber },
13510   { NULL, 0, 0, NULL }
13511 };
13512
13513 static int
13514 dissect_h245_RequestMultiplexEntryRelease(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_RequestMultiplexEntryRelease, RequestMultiplexEntryRelease_sequence);
13517
13518   return offset;
13519 }
13520
13521
13522 static const per_sequence_t RequestModeRelease_sequence[] = {
13523   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
13524 };
13525
13526 static int
13527 dissect_h245_RequestModeRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13528   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13529                                    ett_h245_RequestModeRelease, RequestModeRelease_sequence);
13530
13531   return offset;
13532 }
13533
13534
13535 static const per_sequence_t T_videoNotDecodedMBs_sequence[] = {
13536   { &hf_h245_firstMB_1_8192 , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_8192 },
13537   { &hf_h245_numberOfMBs    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_8192 },
13538   { &hf_h245_temporalReference_0_255, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
13539   { NULL, 0, 0, NULL }
13540 };
13541
13542 static int
13543 dissect_h245_T_videoNotDecodedMBs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13544   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13545                                    ett_h245_T_videoNotDecodedMBs, T_videoNotDecodedMBs_sequence);
13546
13547   return offset;
13548 }
13549
13550
13551 static const value_string h245_Mi_type_vals[] = {
13552   {   0, "logicalChannelActive" },
13553   {   1, "logicalChannelInactive" },
13554   {   2, "multipointConference" },
13555   {   3, "cancelMultipointConference" },
13556   {   4, "multipointZeroComm" },
13557   {   5, "cancelMultipointZeroComm" },
13558   {   6, "multipointSecondaryStatus" },
13559   {   7, "cancelMultipointSecondaryStatus" },
13560   {   8, "videoIndicateReadyToActivate" },
13561   {   9, "videoTemporalSpatialTradeOff" },
13562   {  10, "videoNotDecodedMBs" },
13563   {  11, "transportCapability" },
13564   { 0, NULL }
13565 };
13566
13567 static const per_choice_t Mi_type_choice[] = {
13568   {   0, &hf_h245_logicalChannelActive, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13569   {   1, &hf_h245_logicalChannelInactive, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13570   {   2, &hf_h245_multipointConference, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13571   {   3, &hf_h245_cancelMultipointConference, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13572   {   4, &hf_h245_multipointZeroComm, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13573   {   5, &hf_h245_cancelMultipointZeroComm, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13574   {   6, &hf_h245_multipointSecondaryStatus, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13575   {   7, &hf_h245_cancelMultipointSecondaryStatus, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13576   {   8, &hf_h245_videoIndicateReadyToActivate, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13577   {   9, &hf_h245_videoTemporalSpatialTradeOff, ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_31 },
13578   {  10, &hf_h245_videoNotDecodedMBs, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_videoNotDecodedMBs },
13579   {  11, &hf_h245_transportCapability, ASN1_NOT_EXTENSION_ROOT, dissect_h245_TransportCapability },
13580   { 0, NULL, 0, NULL }
13581 };
13582
13583 static int
13584 dissect_h245_Mi_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13585   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13586                                  ett_h245_Mi_type, Mi_type_choice,
13587                                  NULL);
13588
13589   return offset;
13590 }
13591
13592
13593 static const per_sequence_t MiscellaneousIndication_sequence[] = {
13594   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13595   { &hf_h245_mi_type        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Mi_type },
13596   { NULL, 0, 0, NULL }
13597 };
13598
13599 static int
13600 dissect_h245_MiscellaneousIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13601   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13602                                    ett_h245_MiscellaneousIndication, MiscellaneousIndication_sequence);
13603
13604   return offset;
13605 }
13606
13607
13608
13609 static int
13610 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_) {
13611   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
13612                                                             0U, 3U, NULL, FALSE);
13613
13614   return offset;
13615 }
13616
13617
13618
13619 static int
13620 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_) {
13621   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
13622                                                             0U, 7U, NULL, FALSE);
13623
13624   return offset;
13625 }
13626
13627
13628 static const per_sequence_t JitterIndication_sequence[] = {
13629   { &hf_h245_scope          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Scope },
13630   { &hf_h245_estimatedReceivedJitterMantissa, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_3 },
13631   { &hf_h245_estimatedReceivedJitterExponent, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_7 },
13632   { &hf_h245_skippedFrameCount, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_15 },
13633   { &hf_h245_additionalDecoderBuffer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_262143 },
13634   { NULL, 0, 0, NULL }
13635 };
13636
13637 static int
13638 dissect_h245_JitterIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13639   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13640                                    ett_h245_JitterIndication, JitterIndication_sequence);
13641
13642   return offset;
13643 }
13644
13645
13646 static const per_sequence_t H223SkewIndication_sequence[] = {
13647   { &hf_h245_logicalChannelNumber1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13648   { &hf_h245_logicalChannelNumber2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13649   { &hf_h245_skew           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4095 },
13650   { NULL, 0, 0, NULL }
13651 };
13652
13653 static int
13654 dissect_h245_H223SkewIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13655   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13656                                    ett_h245_H223SkewIndication, H223SkewIndication_sequence);
13657
13658   return offset;
13659 }
13660
13661
13662 static const value_string h245_Ind_clockRecovery_vals[] = {
13663   {   0, "nullClockRecovery" },
13664   {   1, "srtsClockRecovery" },
13665   {   2, "adaptiveClockRecovery" },
13666   { 0, NULL }
13667 };
13668
13669 static const per_choice_t Ind_clockRecovery_choice[] = {
13670   {   0, &hf_h245_nullClockRecoveryflag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13671   {   1, &hf_h245_srtsClockRecovery, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13672   {   2, &hf_h245_adaptiveClockRecoveryFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13673   { 0, NULL, 0, NULL }
13674 };
13675
13676 static int
13677 dissect_h245_Ind_clockRecovery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13678   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13679                                  ett_h245_Ind_clockRecovery, Ind_clockRecovery_choice,
13680                                  NULL);
13681
13682   return offset;
13683 }
13684
13685
13686 static const value_string h245_Ind_errorCorrection_vals[] = {
13687   {   0, "nullErrorCorrection" },
13688   {   1, "longInterleaver" },
13689   {   2, "shortInterleaver" },
13690   {   3, "errorCorrectionOnly" },
13691   { 0, NULL }
13692 };
13693
13694 static const per_choice_t Ind_errorCorrection_choice[] = {
13695   {   0, &hf_h245_nullErrorCorrectionFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13696   {   1, &hf_h245_longInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13697   {   2, &hf_h245_shortInterleaverFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13698   {   3, &hf_h245_errorCorrectionOnlyFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13699   { 0, NULL, 0, NULL }
13700 };
13701
13702 static int
13703 dissect_h245_Ind_errorCorrection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13704   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13705                                  ett_h245_Ind_errorCorrection, Ind_errorCorrection_choice,
13706                                  NULL);
13707
13708   return offset;
13709 }
13710
13711
13712 static const per_sequence_t Ind_aal1_sequence[] = {
13713   { &hf_h245_ind_clockRecovery, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_clockRecovery },
13714   { &hf_h245_ind_errorCorrection, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_errorCorrection },
13715   { &hf_h245_structuredDataTransfer, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13716   { &hf_h245_partiallyFilledCells, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13717   { NULL, 0, 0, NULL }
13718 };
13719
13720 static int
13721 dissect_h245_Ind_aal1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13722   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13723                                    ett_h245_Ind_aal1, Ind_aal1_sequence);
13724
13725   return offset;
13726 }
13727
13728
13729 static const per_sequence_t Ind_aal5_sequence[] = {
13730   { &hf_h245_forwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13731   { &hf_h245_backwardMaximumSDUSize, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13732   { NULL, 0, 0, NULL }
13733 };
13734
13735 static int
13736 dissect_h245_Ind_aal5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13737   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13738                                    ett_h245_Ind_aal5, Ind_aal5_sequence);
13739
13740   return offset;
13741 }
13742
13743
13744 static const value_string h245_Ind_aal_vals[] = {
13745   {   0, "aal1" },
13746   {   1, "aal5" },
13747   { 0, NULL }
13748 };
13749
13750 static const per_choice_t Ind_aal_choice[] = {
13751   {   0, &hf_h245_ind_aal1       , ASN1_EXTENSION_ROOT    , dissect_h245_Ind_aal1 },
13752   {   1, &hf_h245_ind_aal5       , ASN1_EXTENSION_ROOT    , dissect_h245_Ind_aal5 },
13753   { 0, NULL, 0, NULL }
13754 };
13755
13756 static int
13757 dissect_h245_Ind_aal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13758   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13759                                  ett_h245_Ind_aal, Ind_aal_choice,
13760                                  NULL);
13761
13762   return offset;
13763 }
13764
13765
13766 static const value_string h245_Ind_multiplex_vals[] = {
13767   {   0, "noMultiplex" },
13768   {   1, "transportStream" },
13769   {   2, "programStream" },
13770   { 0, NULL }
13771 };
13772
13773 static const per_choice_t Ind_multiplex_choice[] = {
13774   {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13775   {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13776   {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13777   { 0, NULL, 0, NULL }
13778 };
13779
13780 static int
13781 dissect_h245_Ind_multiplex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13782   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13783                                  ett_h245_Ind_multiplex, Ind_multiplex_choice,
13784                                  NULL);
13785
13786   return offset;
13787 }
13788
13789
13790 static const value_string h245_IndR_multiplex_vals[] = {
13791   {   0, "noMultiplex" },
13792   {   1, "transportStream" },
13793   {   2, "programStream" },
13794   { 0, NULL }
13795 };
13796
13797 static const per_choice_t IndR_multiplex_choice[] = {
13798   {   0, &hf_h245_noMultiplex    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13799   {   1, &hf_h245_transportStream, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13800   {   2, &hf_h245_programStreamFlag, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13801   { 0, NULL, 0, NULL }
13802 };
13803
13804 static int
13805 dissect_h245_IndR_multiplex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13806   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13807                                  ett_h245_IndR_multiplex, IndR_multiplex_choice,
13808                                  NULL);
13809
13810   return offset;
13811 }
13812
13813
13814 static const per_sequence_t Ind_reverseParameters_sequence[] = {
13815   { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13816   { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13817   { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13818   { &hf_h245_indr_multiplex , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_IndR_multiplex },
13819   { NULL, 0, 0, NULL }
13820 };
13821
13822 static int
13823 dissect_h245_Ind_reverseParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13824   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13825                                    ett_h245_Ind_reverseParameters, Ind_reverseParameters_sequence);
13826
13827   return offset;
13828 }
13829
13830
13831 static const per_sequence_t NewATMVCIndication_sequence[] = {
13832   { &hf_h245_resourceID     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_65535 },
13833   { &hf_h245_bitRate        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13834   { &hf_h245_bitRateLockedToPCRClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13835   { &hf_h245_bitRateLockedToNetworkClock, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_BOOLEAN },
13836   { &hf_h245_ind_aal        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_aal },
13837   { &hf_h245_ind_multiplex  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Ind_multiplex },
13838   { &hf_h245_ind_reverseParameters, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_Ind_reverseParameters },
13839   { NULL, 0, 0, NULL }
13840 };
13841
13842 static int
13843 dissect_h245_NewATMVCIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13844   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13845                                    ett_h245_NewATMVCIndication, NewATMVCIndication_sequence);
13846
13847   return offset;
13848 }
13849
13850
13851 static const value_string h245_T_userInputSupportIndication_vals[] = {
13852   {   0, "nonStandard" },
13853   {   1, "basicString" },
13854   {   2, "iA5String" },
13855   {   3, "generalString" },
13856   {   4, "encryptedBasicString" },
13857   {   5, "encryptedIA5String" },
13858   {   6, "encryptedGeneralString" },
13859   { 0, NULL }
13860 };
13861
13862 static const per_choice_t T_userInputSupportIndication_choice[] = {
13863   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
13864   {   1, &hf_h245_basicString    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13865   {   2, &hf_h245_iA5String      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13866   {   3, &hf_h245_generalString  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
13867   {   4, &hf_h245_encryptedBasicString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
13868   {   5, &hf_h245_encryptedIA5String, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
13869   {   6, &hf_h245_encryptedGeneralString, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
13870   { 0, NULL, 0, NULL }
13871 };
13872
13873 static int
13874 dissect_h245_T_userInputSupportIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13875   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
13876                                  ett_h245_T_userInputSupportIndication, T_userInputSupportIndication_choice,
13877                                  NULL);
13878
13879   return offset;
13880 }
13881
13882
13883
13884 static int
13885 dissect_h245_T_signalType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13886   offset = dissect_per_restricted_character_string(tvb, offset, actx, tree, hf_index,
13887                                                       1, 1, FALSE, "0123456789#*ABCD!", 17,
13888                                                       NULL);
13889
13890   return offset;
13891 }
13892
13893
13894 static const per_sequence_t T_rtp_sequence[] = {
13895   { &hf_h245_timestamp      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
13896   { &hf_h245_expirationTime , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_0_4294967295 },
13897   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13898   { NULL, 0, 0, NULL }
13899 };
13900
13901 static int
13902 dissect_h245_T_rtp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13903   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13904                                    ett_h245_T_rtp, T_rtp_sequence);
13905
13906   return offset;
13907 }
13908
13909
13910
13911 static int
13912 dissect_h245_IV8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13913   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
13914                                        8, 8, FALSE, NULL);
13915
13916   return offset;
13917 }
13918
13919
13920
13921 static int
13922 dissect_h245_IV16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13923   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
13924                                        16, 16, FALSE, NULL);
13925
13926   return offset;
13927 }
13928
13929
13930 static const per_sequence_t Params_sequence[] = {
13931   { &hf_h245_iv8            , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IV8 },
13932   { &hf_h245_iv16           , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_IV16 },
13933   { &hf_h245_iv             , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING },
13934   { NULL, 0, 0, NULL }
13935 };
13936
13937 static int
13938 dissect_h245_Params(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13939   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13940                                    ett_h245_Params, Params_sequence);
13941
13942   return offset;
13943 }
13944
13945
13946
13947 static int
13948 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_) {
13949   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
13950                                        1, 1, FALSE, NULL);
13951
13952   return offset;
13953 }
13954
13955
13956 static const per_sequence_t T_signal_sequence[] = {
13957   { &hf_h245_signalType     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_T_signalType },
13958   { &hf_h245_duration       , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_INTEGER_1_65535 },
13959   { &hf_h245_rtp            , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_rtp },
13960   { &hf_h245_rtpPayloadIndication, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_NULL },
13961   { &hf_h245_paramS         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_Params },
13962   { &hf_h245_encryptedSignalType, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1 },
13963   { &hf_h245_algorithmOID   , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_OBJECT_IDENTIFIER },
13964   { NULL, 0, 0, NULL }
13965 };
13966
13967 static int
13968 dissect_h245_T_signal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13969   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13970                                    ett_h245_T_signal, T_signal_sequence);
13971
13972   return offset;
13973 }
13974
13975
13976 static const per_sequence_t Si_rtp_sequence[] = {
13977   { &hf_h245_logicalChannelNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
13978   { NULL, 0, 0, NULL }
13979 };
13980
13981 static int
13982 dissect_h245_Si_rtp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13983   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13984                                    ett_h245_Si_rtp, Si_rtp_sequence);
13985
13986   return offset;
13987 }
13988
13989
13990 static const per_sequence_t T_signalUpdate_sequence[] = {
13991   { &hf_h245_duration       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_65535 },
13992   { &hf_h245_si_rtp         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Si_rtp },
13993   { NULL, 0, 0, NULL }
13994 };
13995
13996 static int
13997 dissect_h245_T_signalUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13998   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
13999                                    ett_h245_T_signalUpdate, T_signalUpdate_sequence);
14000
14001   return offset;
14002 }
14003
14004
14005 static const per_sequence_t EncryptedAlphanumeric_sequence[] = {
14006   { &hf_h245_algorithmOID   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OBJECT_IDENTIFIER },
14007   { &hf_h245_paramS         , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_Params },
14008   { &hf_h245_encrypted      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_OCTET_STRING },
14009   { NULL, 0, 0, NULL }
14010 };
14011
14012 static int
14013 dissect_h245_EncryptedAlphanumeric(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14014   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14015                                    ett_h245_EncryptedAlphanumeric, EncryptedAlphanumeric_sequence);
14016
14017   return offset;
14018 }
14019
14020
14021 static const per_sequence_t T_extendedAlphanumeric_sequence[] = {
14022   { &hf_h245_alphanumeric   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_GeneralString },
14023   { &hf_h245_rtpPayloadIndication, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_NULL },
14024   { &hf_h245_encryptedAlphanumeric, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_h245_EncryptedAlphanumeric },
14025   { NULL, 0, 0, NULL }
14026 };
14027
14028 static int
14029 dissect_h245_T_extendedAlphanumeric(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14030   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14031                                    ett_h245_T_extendedAlphanumeric, T_extendedAlphanumeric_sequence);
14032
14033   return offset;
14034 }
14035
14036
14037 static const value_string h245_UserInputIndication_vals[] = {
14038   {   0, "nonStandard" },
14039   {   1, "alphanumeric" },
14040   {   2, "userInputSupportIndication" },
14041   {   3, "signal" },
14042   {   4, "signalUpdate" },
14043   {   5, "extendedAlphanumeric" },
14044   {   6, "encryptedAlphanumeric" },
14045   {   7, "genericInformation" },
14046   { 0, NULL }
14047 };
14048
14049 static const per_choice_t UserInputIndication_choice[] = {
14050   {   0, &hf_h245_nonStandard    , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardParameter },
14051   {   1, &hf_h245_alphanumeric   , ASN1_EXTENSION_ROOT    , dissect_h245_GeneralString },
14052   {   2, &hf_h245_userInputSupportIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_userInputSupportIndication },
14053   {   3, &hf_h245_signal         , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_signal },
14054   {   4, &hf_h245_signalUpdate   , ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_signalUpdate },
14055   {   5, &hf_h245_extendedAlphanumeric, ASN1_NOT_EXTENSION_ROOT, dissect_h245_T_extendedAlphanumeric },
14056   {   6, &hf_h245_encryptedAlphanumeric, ASN1_NOT_EXTENSION_ROOT, dissect_h245_EncryptedAlphanumeric },
14057   {   7, &hf_h245_genericInformation, ASN1_NOT_EXTENSION_ROOT, dissect_h245_SEQUENCE_OF_GenericInformation },
14058   { 0, NULL, 0, NULL }
14059 };
14060
14061 static int
14062 dissect_h245_UserInputIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14063   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14064                                  ett_h245_UserInputIndication, UserInputIndication_choice,
14065                                  NULL);
14066
14067   return offset;
14068 }
14069
14070
14071 static const per_sequence_t H2250MaximumSkewIndication_sequence[] = {
14072   { &hf_h245_logicalChannelNumber1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
14073   { &hf_h245_logicalChannelNumber2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_LogicalChannelNumber },
14074   { &hf_h245_maximumSkew    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_4095 },
14075   { NULL, 0, 0, NULL }
14076 };
14077
14078 static int
14079 dissect_h245_H2250MaximumSkewIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14080   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14081                                    ett_h245_H2250MaximumSkewIndication, H2250MaximumSkewIndication_sequence);
14082
14083   return offset;
14084 }
14085
14086
14087 static const per_sequence_t MCLocationIndication_sequence[] = {
14088   { &hf_h245_signalAddress  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TransportAddress },
14089   { NULL, 0, 0, NULL }
14090 };
14091
14092 static int
14093 dissect_h245_MCLocationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14094   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14095                                    ett_h245_MCLocationIndication, MCLocationIndication_sequence);
14096
14097   return offset;
14098 }
14099
14100
14101
14102 static int
14103 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_) {
14104   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
14105                                                             0U, 9U, NULL, FALSE);
14106
14107   return offset;
14108 }
14109
14110
14111 static const per_sequence_t TerminalYouAreSeeingInSubPictureNumber_sequence[] = {
14112   { &hf_h245_terminalNumber , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_TerminalNumber },
14113   { &hf_h245_subPictureNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
14114   { &hf_h245_mcuNumber      , ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_h245_McuNumber },
14115   { NULL, 0, 0, NULL }
14116 };
14117
14118 static int
14119 dissect_h245_TerminalYouAreSeeingInSubPictureNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14120   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14121                                    ett_h245_TerminalYouAreSeeingInSubPictureNumber, TerminalYouAreSeeingInSubPictureNumber_sequence);
14122
14123   return offset;
14124 }
14125
14126
14127 static const per_sequence_t VideoIndicateCompose_sequence[] = {
14128   { &hf_h245_compositionNumber, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_0_255 },
14129   { NULL, 0, 0, NULL }
14130 };
14131
14132 static int
14133 dissect_h245_VideoIndicateCompose(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14134   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14135                                    ett_h245_VideoIndicateCompose, VideoIndicateCompose_sequence);
14136
14137   return offset;
14138 }
14139
14140
14141 static const value_string h245_ConferenceIndication_vals[] = {
14142   {   0, "sbeNumber" },
14143   {   1, "terminalNumberAssign" },
14144   {   2, "terminalJoinedConference" },
14145   {   3, "terminalLeftConference" },
14146   {   4, "seenByAtLeastOneOther" },
14147   {   5, "cancelSeenByAtLeastOneOther" },
14148   {   6, "seenByAll" },
14149   {   7, "cancelSeenByAll" },
14150   {   8, "terminalYouAreSeeing" },
14151   {   9, "requestForFloor" },
14152   {  10, "withdrawChairToken" },
14153   {  11, "floorRequested" },
14154   {  12, "terminalYouAreSeeingInSubPictureNumber" },
14155   {  13, "videoIndicateCompose" },
14156   {  14, "masterMCU" },
14157   {  15, "cancelMasterMCU" },
14158   { 0, NULL }
14159 };
14160
14161 static const per_choice_t ConferenceIndication_choice[] = {
14162   {   0, &hf_h245_sbeNumber      , ASN1_EXTENSION_ROOT    , dissect_h245_INTEGER_0_9 },
14163   {   1, &hf_h245_terminalNumberAssign, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
14164   {   2, &hf_h245_terminalJoinedConference, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
14165   {   3, &hf_h245_terminalLeftConference, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
14166   {   4, &hf_h245_seenByAtLeastOneOther, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14167   {   5, &hf_h245_cancelSeenByAtLeastOneOther, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14168   {   6, &hf_h245_seenByAll      , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14169   {   7, &hf_h245_cancelSeenByAll, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14170   {   8, &hf_h245_terminalYouAreSeeing, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalLabel },
14171   {   9, &hf_h245_requestForFloor, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14172   {  10, &hf_h245_withdrawChairToken, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
14173   {  11, &hf_h245_floorRequested , ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalLabel },
14174   {  12, &hf_h245_terminalYouAreSeeingInSubPictureNumber, ASN1_NOT_EXTENSION_ROOT, dissect_h245_TerminalYouAreSeeingInSubPictureNumber },
14175   {  13, &hf_h245_videoIndicateCompose, ASN1_NOT_EXTENSION_ROOT, dissect_h245_VideoIndicateCompose },
14176   {  14, &hf_h245_masterMCU      , ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
14177   {  15, &hf_h245_cancelMasterMCU, ASN1_NOT_EXTENSION_ROOT, dissect_h245_NULL },
14178   { 0, NULL, 0, NULL }
14179 };
14180
14181 static int
14182 dissect_h245_ConferenceIndication(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_ConferenceIndication, ConferenceIndication_choice,
14185                                  NULL);
14186
14187   return offset;
14188 }
14189
14190
14191
14192 static int
14193 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_) {
14194   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
14195                                        1, 256, FALSE, NULL);
14196
14197   return offset;
14198 }
14199
14200
14201 static const per_sequence_t VendorIdentification_sequence[] = {
14202   { &hf_h245_vendor         , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_NonStandardIdentifier },
14203   { &hf_h245_productNumber  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_256 },
14204   { &hf_h245_versionNumber  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_OCTET_STRING_SIZE_1_256 },
14205   { NULL, 0, 0, NULL }
14206 };
14207
14208 static int
14209 dissect_h245_VendorIdentification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14210   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14211                                    ett_h245_VendorIdentification, VendorIdentification_sequence);
14212
14213   return offset;
14214 }
14215
14216
14217 static const value_string h245_FunctionNotSupportedCause_vals[] = {
14218   {   0, "syntaxError" },
14219   {   1, "semanticError" },
14220   {   2, "unknownFunction" },
14221   { 0, NULL }
14222 };
14223
14224 static const per_choice_t FunctionNotSupportedCause_choice[] = {
14225   {   0, &hf_h245_syntaxError    , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14226   {   1, &hf_h245_semanticError  , ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14227   {   2, &hf_h245_unknownFunction, ASN1_EXTENSION_ROOT    , dissect_h245_NULL },
14228   { 0, NULL, 0, NULL }
14229 };
14230
14231 static int
14232 dissect_h245_FunctionNotSupportedCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14233   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14234                                  ett_h245_FunctionNotSupportedCause, FunctionNotSupportedCause_choice,
14235                                  NULL);
14236
14237   return offset;
14238 }
14239
14240
14241
14242 static int
14243 dissect_h245_T_returnedFunction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14244 #line 994 "../../asn1/h245/h245.cnf"
14245   tvbuff_t *next_tvb = NULL;
14246   proto_item *item;
14247   proto_tree *subtree;
14248   h245_packet_info *saved_h245_pi;
14249
14250   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
14251                                        NO_BOUND, NO_BOUND, FALSE, &next_tvb);
14252
14253
14254  if (next_tvb && tvb_length(next_tvb)) {
14255         saved_h245_pi = h245_pi;
14256         h245_pi = NULL;
14257         item = proto_tree_add_text(tree, next_tvb, 0, -1,"The returned function");
14258         subtree = proto_item_add_subtree(item, ett_h245_returnedFunction);
14259         PROTO_ITEM_SET_GENERATED(item);
14260         dissect_h245_MultimediaSystemControlMessage(next_tvb, 0, actx, subtree, hf_h245_pdu_type);
14261         h245_pi = saved_h245_pi;
14262  }
14263
14264
14265
14266   return offset;
14267 }
14268
14269
14270 static const per_sequence_t FunctionNotSupported_sequence[] = {
14271   { &hf_h245_fns_cause      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_FunctionNotSupportedCause },
14272   { &hf_h245_returnedFunction, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_h245_T_returnedFunction },
14273   { NULL, 0, 0, NULL }
14274 };
14275
14276 static int
14277 dissect_h245_FunctionNotSupported(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14278   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14279                                    ett_h245_FunctionNotSupported, FunctionNotSupported_sequence);
14280
14281   return offset;
14282 }
14283
14284
14285 static const per_sequence_t T_crcDesired_sequence[] = {
14286   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
14287 };
14288
14289 static int
14290 dissect_h245_T_crcDesired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14291   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14292                                    ett_h245_T_crcDesired, T_crcDesired_sequence);
14293
14294   return offset;
14295 }
14296
14297
14298 static const per_sequence_t T_excessiveError_sequence[] = {
14299   { &hf_h245_connectionIdentifier, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_ConnectionIdentifier },
14300   { NULL, 0, 0, NULL }
14301 };
14302
14303 static int
14304 dissect_h245_T_excessiveError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14305   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14306                                    ett_h245_T_excessiveError, T_excessiveError_sequence);
14307
14308   return offset;
14309 }
14310
14311
14312 static const value_string h245_MultilinkIndication_vals[] = {
14313   {   0, "nonStandard" },
14314   {   1, "crcDesired" },
14315   {   2, "excessiveError" },
14316   { 0, NULL }
14317 };
14318
14319 static const per_choice_t MultilinkIndication_choice[] = {
14320   {   0, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
14321   {   1, &hf_h245_crcDesired     , ASN1_EXTENSION_ROOT    , dissect_h245_T_crcDesired },
14322   {   2, &hf_h245_excessiveError , ASN1_EXTENSION_ROOT    , dissect_h245_T_excessiveError },
14323   { 0, NULL, 0, NULL }
14324 };
14325
14326 static int
14327 dissect_h245_MultilinkIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14328   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14329                                  ett_h245_MultilinkIndication, MultilinkIndication_choice,
14330                                  NULL);
14331
14332   return offset;
14333 }
14334
14335
14336 static const per_sequence_t LogicalChannelRateRelease_sequence[] = {
14337   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
14338 };
14339
14340 static int
14341 dissect_h245_LogicalChannelRateRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14342   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14343                                    ett_h245_LogicalChannelRateRelease, LogicalChannelRateRelease_sequence);
14344
14345   return offset;
14346 }
14347
14348
14349 static const per_sequence_t FlowControlIndication_sequence[] = {
14350   { &hf_h245_scope          , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Scope },
14351   { &hf_h245_restriction    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_Restriction },
14352   { NULL, 0, 0, NULL }
14353 };
14354
14355 static int
14356 dissect_h245_FlowControlIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14357   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14358                                    ett_h245_FlowControlIndication, FlowControlIndication_sequence);
14359
14360   return offset;
14361 }
14362
14363
14364 static const per_sequence_t MobileMultilinkReconfigurationIndication_sequence[] = {
14365   { &hf_h245_sampleSize     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
14366   { &hf_h245_samplesPerFrame, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_h245_INTEGER_1_255 },
14367   { NULL, 0, 0, NULL }
14368 };
14369
14370 static int
14371 dissect_h245_MobileMultilinkReconfigurationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14372   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
14373                                    ett_h245_MobileMultilinkReconfigurationIndication, MobileMultilinkReconfigurationIndication_sequence);
14374
14375   return offset;
14376 }
14377
14378
14379 static const value_string h245_IndicationMessage_vals[] = {
14380   { IndicationMessage_nonStandard, "nonStandard" },
14381   { IndicationMessage_functionNotUnderstood, "functionNotUnderstood" },
14382   { IndicationMessage_masterSlaveDeterminationRelease, "masterSlaveDeterminationRelease" },
14383   { IndicationMessage_terminalCapabilitySetRelease, "terminalCapabilitySetRelease" },
14384   { IndicationMessage_openLogicalChannelConfirm, "openLogicalChannelConfirm" },
14385   { IndicationMessage_requestChannelCloseRelease, "requestChannelCloseRelease" },
14386   { IndicationMessage_multiplexEntrySendRelease, "multiplexEntrySendRelease" },
14387   { IndicationMessage_requestMultiplexEntryRelease, "requestMultiplexEntryRelease" },
14388   { IndicationMessage_requestModeRelease, "requestModeRelease" },
14389   { IndicationMessage_miscellaneousIndication, "miscellaneousIndication" },
14390   { IndicationMessage_jitterIndication, "jitterIndication" },
14391   { IndicationMessage_h223SkewIndication, "h223SkewIndication" },
14392   { IndicationMessage_newATMVCIndication, "newATMVCIndication" },
14393   { IndicationMessage_userInput, "userInput" },
14394   { IndicationMessage_h2250MaximumSkewIndication, "h2250MaximumSkewIndication" },
14395   { IndicationMessage_mcLocationIndication, "mcLocationIndication" },
14396   { IndicationMessage_conferenceIndication, "conferenceIndication" },
14397   { IndicationMessage_vendorIdentification, "vendorIdentification" },
14398   { IndicationMessage_functionNotSupported, "functionNotSupported" },
14399   { IndicationMessage_multilinkIndication, "multilinkIndication" },
14400   { IndicationMessage_logicalChannelRateRelease, "logicalChannelRateRelease" },
14401   { IndicationMessage_flowControlIndication, "flowControlIndication" },
14402   { IndicationMessage_mobileMultilinkReconfigurationIndication, "mobileMultilinkReconfigurationIndication" },
14403   { IndicationMessage_genericIndication, "genericIndication" },
14404   { 0, NULL }
14405 };
14406
14407 static const per_choice_t IndicationMessage_choice[] = {
14408   { IndicationMessage_nonStandard, &hf_h245_nonStandardMsg , ASN1_EXTENSION_ROOT    , dissect_h245_NonStandardMessage },
14409   { IndicationMessage_functionNotUnderstood, &hf_h245_functionNotUnderstood, ASN1_EXTENSION_ROOT    , dissect_h245_FunctionNotUnderstood },
14410   { IndicationMessage_masterSlaveDeterminationRelease, &hf_h245_masterSlaveDeterminationRelease, ASN1_EXTENSION_ROOT    , dissect_h245_MasterSlaveDeterminationRelease },
14411   { IndicationMessage_terminalCapabilitySetRelease, &hf_h245_terminalCapabilitySetRelease, ASN1_EXTENSION_ROOT    , dissect_h245_TerminalCapabilitySetRelease },
14412   { IndicationMessage_openLogicalChannelConfirm, &hf_h245_openLogicalChannelConfirm, ASN1_EXTENSION_ROOT    , dissect_h245_OpenLogicalChannelConfirm },
14413   { IndicationMessage_requestChannelCloseRelease, &hf_h245_requestChannelCloseRelease, ASN1_EXTENSION_ROOT    , dissect_h245_RequestChannelCloseRelease },
14414   { IndicationMessage_multiplexEntrySendRelease, &hf_h245_multiplexEntrySendRelease, ASN1_EXTENSION_ROOT    , dissect_h245_MultiplexEntrySendRelease },
14415   { IndicationMessage_requestMultiplexEntryRelease, &hf_h245_requestMultiplexEntryRelease, ASN1_EXTENSION_ROOT    , dissect_h245_RequestMultiplexEntryRelease },
14416   { IndicationMessage_requestModeRelease, &hf_h245_requestModeRelease, ASN1_EXTENSION_ROOT    , dissect_h245_RequestModeRelease },
14417   { IndicationMessage_miscellaneousIndication, &hf_h245_miscellaneousIndication, ASN1_EXTENSION_ROOT    , dissect_h245_MiscellaneousIndication },
14418   { IndicationMessage_jitterIndication, &hf_h245_jitterIndication, ASN1_EXTENSION_ROOT    , dissect_h245_JitterIndication },
14419   { IndicationMessage_h223SkewIndication, &hf_h245_h223SkewIndication, ASN1_EXTENSION_ROOT    , dissect_h245_H223SkewIndication },
14420   { IndicationMessage_newATMVCIndication, &hf_h245_newATMVCIndication, ASN1_EXTENSION_ROOT    , dissect_h245_NewATMVCIndication },
14421   { IndicationMessage_userInput, &hf_h245_userInput      , ASN1_EXTENSION_ROOT    , dissect_h245_UserInputIndication },
14422   { IndicationMessage_h2250MaximumSkewIndication, &hf_h245_h2250MaximumSkewIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_H2250MaximumSkewIndication },
14423   { IndicationMessage_mcLocationIndication, &hf_h245_mcLocationIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MCLocationIndication },
14424   { IndicationMessage_conferenceIndication, &hf_h245_conferenceIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_ConferenceIndication },
14425   { IndicationMessage_vendorIdentification, &hf_h245_vendorIdentification, ASN1_NOT_EXTENSION_ROOT, dissect_h245_VendorIdentification },
14426   { IndicationMessage_functionNotSupported, &hf_h245_functionNotSupported, ASN1_NOT_EXTENSION_ROOT, dissect_h245_FunctionNotSupported },
14427   { IndicationMessage_multilinkIndication, &hf_h245_multilinkIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MultilinkIndication },
14428   { IndicationMessage_logicalChannelRateRelease, &hf_h245_logicalChannelRateRelease, ASN1_NOT_EXTENSION_ROOT, dissect_h245_LogicalChannelRateRelease },
14429   { IndicationMessage_flowControlIndication, &hf_h245_flowControlIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_FlowControlIndication },
14430   { IndicationMessage_mobileMultilinkReconfigurationIndication, &hf_h245_mobileMultilinkReconfigurationIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_MobileMultilinkReconfigurationIndication },
14431   { IndicationMessage_genericIndication, &hf_h245_genericIndication, ASN1_NOT_EXTENSION_ROOT, dissect_h245_GenericMessage },
14432   { 0, NULL, 0, NULL }
14433 };
14434
14435 static int
14436 dissect_h245_IndicationMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14437 #line 435 "../../asn1/h245/h245.cnf"
14438   gint32 value;
14439
14440   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14441                                  ett_h245_IndicationMessage, IndicationMessage_choice,
14442                                  &value);
14443
14444         if ( h245_shorttypes == TRUE )
14445                 {
14446                         col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
14447                                 val_to_str(value, h245_IndicationMessage_short_vals, "<unknown>"));
14448                 }
14449                 else
14450                 {
14451                         col_prepend_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
14452                                 val_to_str(value, h245_IndicationMessage_vals, "<unknown>"));
14453                 }
14454
14455         col_set_fence(actx->pinfo->cinfo,COL_INFO);
14456     /* Add to packet info */
14457     if (h245_pi  !=NULL){
14458       if ( strlen(h245_pi->frame_label) == 0 ){
14459             g_snprintf(h245_pi->frame_label, 50, "%s", val_to_str(value, h245_IndicationMessage_short_vals, "UKN"));
14460           }
14461       g_strlcat(h245_pi->comment, val_to_str(value, h245_IndicationMessage_vals, "<unknown>"), 50);
14462
14463     }
14464
14465
14466
14467   return offset;
14468 }
14469
14470
14471 static const value_string h245_MultimediaSystemControlMessage_vals[] = {
14472   {   0, "request" },
14473   {   1, "response" },
14474   {   2, "command" },
14475   {   3, "indication" },
14476   { 0, NULL }
14477 };
14478
14479 static const per_choice_t MultimediaSystemControlMessage_choice[] = {
14480   {   0, &hf_h245_request        , ASN1_EXTENSION_ROOT    , dissect_h245_RequestMessage },
14481   {   1, &hf_h245_response       , ASN1_EXTENSION_ROOT    , dissect_h245_ResponseMessage },
14482   {   2, &hf_h245_command        , ASN1_EXTENSION_ROOT    , dissect_h245_CommandMessage },
14483   {   3, &hf_h245_indication     , ASN1_EXTENSION_ROOT    , dissect_h245_IndicationMessage },
14484   { 0, NULL, 0, NULL }
14485 };
14486
14487 static int
14488 dissect_h245_MultimediaSystemControlMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14489   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
14490                                  ett_h245_MultimediaSystemControlMessage, MultimediaSystemControlMessage_choice,
14491                                  NULL);
14492
14493   return offset;
14494 }
14495
14496 /*--- PDUs ---*/
14497
14498 static void dissect_OpenLogicalChannel_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
14499   asn1_ctx_t asn1_ctx;
14500   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
14501   dissect_h245_OpenLogicalChannel(tvb, 0, &asn1_ctx, tree, hf_h245_OpenLogicalChannel_PDU);
14502 }
14503
14504
14505 /*--- End of included file: packet-h245-fn.c ---*/
14506 #line 412 "../../asn1/h245/packet-h245-template.c"
14507
14508 static void
14509 dissect_h245(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
14510 {
14511         /*
14512          * MultimediaSystemControlMessage_handle is the handle for
14513          * dissect_h245_h245, so we don't want to do any h245_pi or tap stuff here.
14514          */
14515         dissect_tpkt_encap(tvb, pinfo, parent_tree, h245_reassembly, MultimediaSystemControlMessage_handle);
14516 }
14517
14518
14519 static void
14520 dissect_h245_h245(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
14521 {
14522         proto_item *it;
14523         proto_tree *tr;
14524         guint32 offset=0;
14525         asn1_ctx_t asn1_ctx;
14526
14527         fast_start = FALSE;
14528         /* Clean up from any previous packet dissection */
14529         upcoming_olc = NULL;
14530         upcoming_channel = NULL;
14531         codec_type = NULL;
14532
14533         col_set_str(pinfo->cinfo, COL_PROTOCOL, PSNAME);
14534
14535         it=proto_tree_add_protocol_format(parent_tree, proto_h245, tvb, 0, tvb_length(tvb), PSNAME);
14536         tr=proto_item_add_subtree(it, ett_h245);
14537
14538         /* assume that whilst there is more tvb data, there are more h245 commands */
14539         while ( tvb_length_remaining( tvb, offset>>3 )>0 ){
14540                 CLEANUP_PUSH(reset_h245_pi, NULL);
14541                 h245_pi=ep_alloc(sizeof(h245_packet_info));
14542                 init_h245_packet_info(h245_pi);
14543                 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
14544                 offset = dissect_h245_MultimediaSystemControlMessage(tvb, offset, &asn1_ctx, tr, hf_h245_pdu_type);
14545                 tap_queue_packet(h245dg_tap, pinfo, h245_pi);
14546                 offset = (offset+0x07) & 0xfffffff8;
14547                 CLEANUP_CALL_AND_POP;
14548         }
14549 }
14550
14551 void
14552 dissect_h245_FastStart_OLC(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, char *codec_str) {
14553
14554   fast_start = TRUE;
14555   /* Clean up from any previous packet dissection */
14556   upcoming_olc = NULL;
14557   upcoming_channel = NULL;
14558   codec_type = NULL;
14559
14560   dissect_OpenLogicalChannel_PDU(tvb, pinfo, tree);
14561
14562   if (h245_pi != NULL)
14563           h245_pi->msg_type = H245_OpenLogChn;
14564
14565   if (codec_str && codec_type){
14566         g_strlcpy(codec_str, codec_type, 50);
14567   }
14568
14569 }
14570
14571 /*--- proto_register_h245 -------------------------------------------*/
14572 void proto_register_h245(void) {
14573
14574   /* List of fields */
14575   static hf_register_info hf[] = {
14576     { &hf_h245_pdu_type,
14577  { "PDU Type", "h245.pdu_type", FT_UINT32, BASE_DEC,
14578                 VALS(h245_MultimediaSystemControlMessage_vals), 0, "Type of H.245 PDU", HFILL }},
14579         { &hf_h245Manufacturer,
14580                 { "H.245 Manufacturer", "h245.Manufacturer", FT_UINT32, BASE_HEX,
14581                 VALS(H221ManufacturerCode_vals), 0, "h245.H.221 Manufacturer", HFILL }},
14582     { &hf_h245_subMessageIdentifier_standard,
14583       { "subMessageIdentifier", "h245.subMessageIdentifier.standard",
14584         FT_UINT32, BASE_DEC, VALS(h245_h239subMessageIdentifier_vals), 0,
14585         NULL, HFILL }},
14586
14587
14588 /*--- Included file: packet-h245-hfarr.c ---*/
14589 #line 1 "../../asn1/h245/packet-h245-hfarr.c"
14590     { &hf_h245_OpenLogicalChannel_PDU,
14591       { "OpenLogicalChannel", "h245.OpenLogicalChannel",
14592         FT_NONE, BASE_NONE, NULL, 0,
14593         NULL, HFILL }},
14594     { &hf_h245_request,
14595       { "request", "h245.request",
14596         FT_UINT32, BASE_DEC, VALS(h245_RequestMessage_vals), 0,
14597         "RequestMessage", HFILL }},
14598     { &hf_h245_response,
14599       { "response", "h245.response",
14600         FT_UINT32, BASE_DEC, VALS(h245_ResponseMessage_vals), 0,
14601         "ResponseMessage", HFILL }},
14602     { &hf_h245_command,
14603       { "command", "h245.command",
14604         FT_UINT32, BASE_DEC, VALS(h245_CommandMessage_vals), 0,
14605         "CommandMessage", HFILL }},
14606     { &hf_h245_indication,
14607       { "indication", "h245.indication",
14608         FT_UINT32, BASE_DEC, VALS(h245_IndicationMessage_vals), 0,
14609         "IndicationMessage", HFILL }},
14610     { &hf_h245_nonStandardMsg,
14611       { "nonStandard", "h245.nonStandard",
14612         FT_NONE, BASE_NONE, NULL, 0,
14613         "NonStandardMessage", HFILL }},
14614     { &hf_h245_masterSlaveDetermination,
14615       { "masterSlaveDetermination", "h245.masterSlaveDetermination",
14616         FT_NONE, BASE_NONE, NULL, 0,
14617         NULL, HFILL }},
14618     { &hf_h245_terminalCapabilitySet,
14619       { "terminalCapabilitySet", "h245.terminalCapabilitySet",
14620         FT_NONE, BASE_NONE, NULL, 0,
14621         NULL, HFILL }},
14622     { &hf_h245_openLogicalChannel,
14623       { "openLogicalChannel", "h245.openLogicalChannel",
14624         FT_NONE, BASE_NONE, NULL, 0,
14625         NULL, HFILL }},
14626     { &hf_h245_closeLogicalChannel,
14627       { "closeLogicalChannel", "h245.closeLogicalChannel",
14628         FT_NONE, BASE_NONE, NULL, 0,
14629         NULL, HFILL }},
14630     { &hf_h245_requestChannelClose,
14631       { "requestChannelClose", "h245.requestChannelClose",
14632         FT_NONE, BASE_NONE, NULL, 0,
14633         NULL, HFILL }},
14634     { &hf_h245_multiplexEntrySend,
14635       { "multiplexEntrySend", "h245.multiplexEntrySend",
14636         FT_NONE, BASE_NONE, NULL, 0,
14637         NULL, HFILL }},
14638     { &hf_h245_requestMultiplexEntry,
14639       { "requestMultiplexEntry", "h245.requestMultiplexEntry",
14640         FT_NONE, BASE_NONE, NULL, 0,
14641         NULL, HFILL }},
14642     { &hf_h245_requestMode,
14643       { "requestMode", "h245.requestMode",
14644         FT_NONE, BASE_NONE, NULL, 0,
14645         NULL, HFILL }},
14646     { &hf_h245_roundTripDelayRequest,
14647       { "roundTripDelayRequest", "h245.roundTripDelayRequest",
14648         FT_NONE, BASE_NONE, NULL, 0,
14649         NULL, HFILL }},
14650     { &hf_h245_maintenanceLoopRequest,
14651       { "maintenanceLoopRequest", "h245.maintenanceLoopRequest",
14652         FT_NONE, BASE_NONE, NULL, 0,
14653         NULL, HFILL }},
14654     { &hf_h245_communicationModeRequest,
14655       { "communicationModeRequest", "h245.communicationModeRequest",
14656         FT_NONE, BASE_NONE, NULL, 0,
14657         NULL, HFILL }},
14658     { &hf_h245_conferenceRequest,
14659       { "conferenceRequest", "h245.conferenceRequest",
14660         FT_UINT32, BASE_DEC, VALS(h245_ConferenceRequest_vals), 0,
14661         NULL, HFILL }},
14662     { &hf_h245_multilinkRequest,
14663       { "multilinkRequest", "h245.multilinkRequest",
14664         FT_UINT32, BASE_DEC, VALS(h245_MultilinkRequest_vals), 0,
14665         NULL, HFILL }},
14666     { &hf_h245_logicalChannelRateRequest,
14667       { "logicalChannelRateRequest", "h245.logicalChannelRateRequest",
14668         FT_NONE, BASE_NONE, NULL, 0,
14669         NULL, HFILL }},
14670     { &hf_h245_genericRequest,
14671       { "genericRequest", "h245.genericRequest",
14672         FT_NONE, BASE_NONE, NULL, 0,
14673         "GenericMessage", HFILL }},
14674     { &hf_h245_masterSlaveDeterminationAck,
14675       { "masterSlaveDeterminationAck", "h245.masterSlaveDeterminationAck",
14676         FT_NONE, BASE_NONE, NULL, 0,
14677         NULL, HFILL }},
14678     { &hf_h245_masterSlaveDeterminationReject,
14679       { "masterSlaveDeterminationReject", "h245.masterSlaveDeterminationReject",
14680         FT_NONE, BASE_NONE, NULL, 0,
14681         NULL, HFILL }},
14682     { &hf_h245_terminalCapabilitySetAck,
14683       { "terminalCapabilitySetAck", "h245.terminalCapabilitySetAck",
14684         FT_NONE, BASE_NONE, NULL, 0,
14685         NULL, HFILL }},
14686     { &hf_h245_terminalCapabilitySetReject,
14687       { "terminalCapabilitySetReject", "h245.terminalCapabilitySetReject",
14688         FT_NONE, BASE_NONE, NULL, 0,
14689         NULL, HFILL }},
14690     { &hf_h245_openLogicalChannelAck,
14691       { "openLogicalChannelAck", "h245.openLogicalChannelAck",
14692         FT_NONE, BASE_NONE, NULL, 0,
14693         NULL, HFILL }},
14694     { &hf_h245_openLogicalChannelReject,
14695       { "openLogicalChannelReject", "h245.openLogicalChannelReject",
14696         FT_NONE, BASE_NONE, NULL, 0,
14697         NULL, HFILL }},
14698     { &hf_h245_closeLogicalChannelAck,
14699       { "closeLogicalChannelAck", "h245.closeLogicalChannelAck",
14700         FT_NONE, BASE_NONE, NULL, 0,
14701         NULL, HFILL }},
14702     { &hf_h245_requestChannelCloseAck,
14703       { "requestChannelCloseAck", "h245.requestChannelCloseAck",
14704         FT_NONE, BASE_NONE, NULL, 0,
14705         NULL, HFILL }},
14706     { &hf_h245_requestChannelCloseReject,
14707       { "requestChannelCloseReject", "h245.requestChannelCloseReject",
14708         FT_NONE, BASE_NONE, NULL, 0,
14709         NULL, HFILL }},
14710     { &hf_h245_multiplexEntrySendAck,
14711       { "multiplexEntrySendAck", "h245.multiplexEntrySendAck",
14712         FT_NONE, BASE_NONE, NULL, 0,
14713         NULL, HFILL }},
14714     { &hf_h245_multiplexEntrySendReject,
14715       { "multiplexEntrySendReject", "h245.multiplexEntrySendReject",
14716         FT_NONE, BASE_NONE, NULL, 0,
14717         NULL, HFILL }},
14718     { &hf_h245_requestMultiplexEntryAck,
14719       { "requestMultiplexEntryAck", "h245.requestMultiplexEntryAck",
14720         FT_NONE, BASE_NONE, NULL, 0,
14721         NULL, HFILL }},
14722     { &hf_h245_requestMultiplexEntryReject,
14723       { "requestMultiplexEntryReject", "h245.requestMultiplexEntryReject",
14724         FT_NONE, BASE_NONE, NULL, 0,
14725         NULL, HFILL }},
14726     { &hf_h245_requestModeAck,
14727       { "requestModeAck", "h245.requestModeAck",
14728         FT_NONE, BASE_NONE, NULL, 0,
14729         NULL, HFILL }},
14730     { &hf_h245_requestModeReject,
14731       { "requestModeReject", "h245.requestModeReject",
14732         FT_NONE, BASE_NONE, NULL, 0,
14733         NULL, HFILL }},
14734     { &hf_h245_roundTripDelayResponse,
14735       { "roundTripDelayResponse", "h245.roundTripDelayResponse",
14736         FT_NONE, BASE_NONE, NULL, 0,
14737         NULL, HFILL }},
14738     { &hf_h245_maintenanceLoopAck,
14739       { "maintenanceLoopAck", "h245.maintenanceLoopAck",
14740         FT_NONE, BASE_NONE, NULL, 0,
14741         NULL, HFILL }},
14742     { &hf_h245_maintenanceLoopReject,
14743       { "maintenanceLoopReject", "h245.maintenanceLoopReject",
14744         FT_NONE, BASE_NONE, NULL, 0,
14745         NULL, HFILL }},
14746     { &hf_h245_communicationModeResponse,
14747       { "communicationModeResponse", "h245.communicationModeResponse",
14748         FT_UINT32, BASE_DEC, VALS(h245_CommunicationModeResponse_vals), 0,
14749         NULL, HFILL }},
14750     { &hf_h245_conferenceResponse,
14751       { "conferenceResponse", "h245.conferenceResponse",
14752         FT_UINT32, BASE_DEC, VALS(h245_ConferenceResponse_vals), 0,
14753         NULL, HFILL }},
14754     { &hf_h245_multilinkResponse,
14755       { "multilinkResponse", "h245.multilinkResponse",
14756         FT_UINT32, BASE_DEC, VALS(h245_MultilinkResponse_vals), 0,
14757         NULL, HFILL }},
14758     { &hf_h245_logicalChannelRateAcknowledge,
14759       { "logicalChannelRateAcknowledge", "h245.logicalChannelRateAcknowledge",
14760         FT_NONE, BASE_NONE, NULL, 0,
14761         NULL, HFILL }},
14762     { &hf_h245_logicalChannelRateReject,
14763       { "logicalChannelRateReject", "h245.logicalChannelRateReject",
14764         FT_NONE, BASE_NONE, NULL, 0,
14765         NULL, HFILL }},
14766     { &hf_h245_genericResponse,
14767       { "genericResponse", "h245.genericResponse",
14768         FT_NONE, BASE_NONE, NULL, 0,
14769         "GenericMessage", HFILL }},
14770     { &hf_h245_maintenanceLoopOffCommand,
14771       { "maintenanceLoopOffCommand", "h245.maintenanceLoopOffCommand",
14772         FT_NONE, BASE_NONE, NULL, 0,
14773         NULL, HFILL }},
14774     { &hf_h245_sendTerminalCapabilitySet,
14775       { "sendTerminalCapabilitySet", "h245.sendTerminalCapabilitySet",
14776         FT_UINT32, BASE_DEC, VALS(h245_SendTerminalCapabilitySet_vals), 0,
14777         NULL, HFILL }},
14778     { &hf_h245_encryptionCommand,
14779       { "encryptionCommand", "h245.encryptionCommand",
14780         FT_UINT32, BASE_DEC, VALS(h245_EncryptionCommand_vals), 0,
14781         NULL, HFILL }},
14782     { &hf_h245_flowControlCommand,
14783       { "flowControlCommand", "h245.flowControlCommand",
14784         FT_NONE, BASE_NONE, NULL, 0,
14785         NULL, HFILL }},
14786     { &hf_h245_endSessionCommand,
14787       { "endSessionCommand", "h245.endSessionCommand",
14788         FT_UINT32, BASE_DEC, VALS(h245_EndSessionCommand_vals), 0,
14789         NULL, HFILL }},
14790     { &hf_h245_miscellaneousCommand,
14791       { "miscellaneousCommand", "h245.miscellaneousCommand",
14792         FT_NONE, BASE_NONE, NULL, 0,
14793         NULL, HFILL }},
14794     { &hf_h245_communicationModeCommand,
14795       { "communicationModeCommand", "h245.communicationModeCommand",
14796         FT_NONE, BASE_NONE, NULL, 0,
14797         NULL, HFILL }},
14798     { &hf_h245_conferenceCommand,
14799       { "conferenceCommand", "h245.conferenceCommand",
14800         FT_UINT32, BASE_DEC, VALS(h245_ConferenceCommand_vals), 0,
14801         NULL, HFILL }},
14802     { &hf_h245_h223MultiplexReconfiguration,
14803       { "h223MultiplexReconfiguration", "h245.h223MultiplexReconfiguration",
14804         FT_UINT32, BASE_DEC, VALS(h245_H223MultiplexReconfiguration_vals), 0,
14805         NULL, HFILL }},
14806     { &hf_h245_newATMVCCommand,
14807       { "newATMVCCommand", "h245.newATMVCCommand",
14808         FT_NONE, BASE_NONE, NULL, 0,
14809         NULL, HFILL }},
14810     { &hf_h245_mobileMultilinkReconfigurationCommand,
14811       { "mobileMultilinkReconfigurationCommand", "h245.mobileMultilinkReconfigurationCommand",
14812         FT_NONE, BASE_NONE, NULL, 0,
14813         NULL, HFILL }},
14814     { &hf_h245_genericCommand,
14815       { "genericCommand", "h245.genericCommand",
14816         FT_NONE, BASE_NONE, NULL, 0,
14817         "GenericMessage", HFILL }},
14818     { &hf_h245_functionNotUnderstood,
14819       { "functionNotUnderstood", "h245.functionNotUnderstood",
14820         FT_UINT32, BASE_DEC, VALS(h245_FunctionNotUnderstood_vals), 0,
14821         NULL, HFILL }},
14822     { &hf_h245_masterSlaveDeterminationRelease,
14823       { "masterSlaveDeterminationRelease", "h245.masterSlaveDeterminationRelease",
14824         FT_NONE, BASE_NONE, NULL, 0,
14825         NULL, HFILL }},
14826     { &hf_h245_terminalCapabilitySetRelease,
14827       { "terminalCapabilitySetRelease", "h245.terminalCapabilitySetRelease",
14828         FT_NONE, BASE_NONE, NULL, 0,
14829         NULL, HFILL }},
14830     { &hf_h245_openLogicalChannelConfirm,
14831       { "openLogicalChannelConfirm", "h245.openLogicalChannelConfirm",
14832         FT_NONE, BASE_NONE, NULL, 0,
14833         NULL, HFILL }},
14834     { &hf_h245_requestChannelCloseRelease,
14835       { "requestChannelCloseRelease", "h245.requestChannelCloseRelease",
14836         FT_NONE, BASE_NONE, NULL, 0,
14837         NULL, HFILL }},
14838     { &hf_h245_multiplexEntrySendRelease,
14839       { "multiplexEntrySendRelease", "h245.multiplexEntrySendRelease",
14840         FT_NONE, BASE_NONE, NULL, 0,
14841         NULL, HFILL }},
14842     { &hf_h245_requestMultiplexEntryRelease,
14843       { "requestMultiplexEntryRelease", "h245.requestMultiplexEntryRelease",
14844         FT_NONE, BASE_NONE, NULL, 0,
14845         NULL, HFILL }},
14846     { &hf_h245_requestModeRelease,
14847       { "requestModeRelease", "h245.requestModeRelease",
14848         FT_NONE, BASE_NONE, NULL, 0,
14849         NULL, HFILL }},
14850     { &hf_h245_miscellaneousIndication,
14851       { "miscellaneousIndication", "h245.miscellaneousIndication",
14852         FT_NONE, BASE_NONE, NULL, 0,
14853         NULL, HFILL }},
14854     { &hf_h245_jitterIndication,
14855       { "jitterIndication", "h245.jitterIndication",
14856         FT_NONE, BASE_NONE, NULL, 0,
14857         NULL, HFILL }},
14858     { &hf_h245_h223SkewIndication,
14859       { "h223SkewIndication", "h245.h223SkewIndication",
14860         FT_NONE, BASE_NONE, NULL, 0,
14861         NULL, HFILL }},
14862     { &hf_h245_newATMVCIndication,
14863       { "newATMVCIndication", "h245.newATMVCIndication",
14864         FT_NONE, BASE_NONE, NULL, 0,
14865         NULL, HFILL }},
14866     { &hf_h245_userInput,
14867       { "userInput", "h245.userInput",
14868         FT_UINT32, BASE_DEC, VALS(h245_UserInputIndication_vals), 0,
14869         "UserInputIndication", HFILL }},
14870     { &hf_h245_h2250MaximumSkewIndication,
14871       { "h2250MaximumSkewIndication", "h245.h2250MaximumSkewIndication",
14872         FT_NONE, BASE_NONE, NULL, 0,
14873         NULL, HFILL }},
14874     { &hf_h245_mcLocationIndication,
14875       { "mcLocationIndication", "h245.mcLocationIndication",
14876         FT_NONE, BASE_NONE, NULL, 0,
14877         NULL, HFILL }},
14878     { &hf_h245_conferenceIndication,
14879       { "conferenceIndication", "h245.conferenceIndication",
14880         FT_UINT32, BASE_DEC, VALS(h245_ConferenceIndication_vals), 0,
14881         NULL, HFILL }},
14882     { &hf_h245_vendorIdentification,
14883       { "vendorIdentification", "h245.vendorIdentification",
14884         FT_NONE, BASE_NONE, NULL, 0,
14885         NULL, HFILL }},
14886     { &hf_h245_functionNotSupported,
14887       { "functionNotSupported", "h245.functionNotSupported",
14888         FT_NONE, BASE_NONE, NULL, 0,
14889         NULL, HFILL }},
14890     { &hf_h245_multilinkIndication,
14891       { "multilinkIndication", "h245.multilinkIndication",
14892         FT_UINT32, BASE_DEC, VALS(h245_MultilinkIndication_vals), 0,
14893         NULL, HFILL }},
14894     { &hf_h245_logicalChannelRateRelease,
14895       { "logicalChannelRateRelease", "h245.logicalChannelRateRelease",
14896         FT_NONE, BASE_NONE, NULL, 0,
14897         NULL, HFILL }},
14898     { &hf_h245_flowControlIndication,
14899       { "flowControlIndication", "h245.flowControlIndication",
14900         FT_NONE, BASE_NONE, NULL, 0,
14901         NULL, HFILL }},
14902     { &hf_h245_mobileMultilinkReconfigurationIndication,
14903       { "mobileMultilinkReconfigurationIndication", "h245.mobileMultilinkReconfigurationIndication",
14904         FT_NONE, BASE_NONE, NULL, 0,
14905         NULL, HFILL }},
14906     { &hf_h245_genericIndication,
14907       { "genericIndication", "h245.genericIndication",
14908         FT_NONE, BASE_NONE, NULL, 0,
14909         "GenericMessage", HFILL }},
14910     { &hf_h245_messageIdentifier,
14911       { "messageIdentifier", "h245.messageIdentifier",
14912         FT_UINT32, BASE_DEC, VALS(h245_CapabilityIdentifier_vals), 0,
14913         "CapabilityIdentifier", HFILL }},
14914     { &hf_h245_subMessageIdentifier,
14915       { "subMessageIdentifier", "h245.subMessageIdentifier",
14916         FT_UINT32, BASE_DEC, NULL, 0,
14917         NULL, HFILL }},
14918     { &hf_h245_messageContent,
14919       { "messageContent", "h245.messageContent",
14920         FT_UINT32, BASE_DEC, NULL, 0,
14921         NULL, HFILL }},
14922     { &hf_h245_messageContent_item,
14923       { "messageContent item", "h245.messageContent_item",
14924         FT_NONE, BASE_NONE, NULL, 0,
14925         "T_messageContent_item", HFILL }},
14926     { &hf_h245_nonStandardData,
14927       { "nonStandardData", "h245.nonStandardData",
14928         FT_NONE, BASE_NONE, NULL, 0,
14929         "NonStandardParameter", HFILL }},
14930     { &hf_h245_nonStandardIdentifier,
14931       { "nonStandardIdentifier", "h245.nonStandardIdentifier",
14932         FT_UINT32, BASE_DEC, VALS(h245_NonStandardIdentifier_vals), 0,
14933         NULL, HFILL }},
14934     { &hf_h245_nsd_data,
14935       { "data", "h245.data",
14936         FT_BYTES, BASE_NONE, NULL, 0,
14937         "T_nsd_data", HFILL }},
14938     { &hf_h245_object,
14939       { "object", "h245.object",
14940         FT_OID, BASE_NONE, NULL, 0,
14941         NULL, HFILL }},
14942     { &hf_h245_h221NonStandardID,
14943       { "h221NonStandard", "h245.h221NonStandard",
14944         FT_NONE, BASE_NONE, NULL, 0,
14945         "H221NonStandardID", HFILL }},
14946     { &hf_h245_t35CountryCode,
14947       { "t35CountryCode", "h245.t35CountryCode",
14948         FT_UINT32, BASE_DEC, VALS(T35CountryCode_vals), 0,
14949         NULL, HFILL }},
14950     { &hf_h245_t35Extension,
14951       { "t35Extension", "h245.t35Extension",
14952         FT_UINT32, BASE_DEC, NULL, 0,
14953         NULL, HFILL }},
14954     { &hf_h245_manufacturerCode,
14955       { "manufacturerCode", "h245.manufacturerCode",
14956         FT_UINT32, BASE_DEC, NULL, 0,
14957         NULL, HFILL }},
14958     { &hf_h245_terminalType,
14959       { "terminalType", "h245.terminalType",
14960         FT_UINT32, BASE_DEC, NULL, 0,
14961         "INTEGER_0_255", HFILL }},
14962     { &hf_h245_statusDeterminationNumber,
14963       { "statusDeterminationNumber", "h245.statusDeterminationNumber",
14964         FT_UINT32, BASE_DEC, NULL, 0,
14965         "INTEGER_0_16777215", HFILL }},
14966     { &hf_h245_decision,
14967       { "decision", "h245.decision",
14968         FT_UINT32, BASE_DEC, VALS(h245_T_decision_vals), 0,
14969         NULL, HFILL }},
14970     { &hf_h245_master,
14971       { "master", "h245.master",
14972         FT_NONE, BASE_NONE, NULL, 0,
14973         NULL, HFILL }},
14974     { &hf_h245_slave,
14975       { "slave", "h245.slave",
14976         FT_NONE, BASE_NONE, NULL, 0,
14977         NULL, HFILL }},
14978     { &hf_h245_msd_rej_cause,
14979       { "cause", "h245.cause",
14980         FT_UINT32, BASE_DEC, VALS(h245_MasterSlaveDeterminationRejectCause_vals), 0,
14981         "MasterSlaveDeterminationRejectCause", HFILL }},
14982     { &hf_h245_identicalNumbers,
14983       { "identicalNumbers", "h245.identicalNumbers",
14984         FT_NONE, BASE_NONE, NULL, 0,
14985         NULL, HFILL }},
14986     { &hf_h245_sequenceNumber,
14987       { "sequenceNumber", "h245.sequenceNumber",
14988         FT_UINT32, BASE_DEC, NULL, 0,
14989         NULL, HFILL }},
14990     { &hf_h245_protocolIdentifier,
14991       { "protocolIdentifier", "h245.protocolIdentifier",
14992         FT_OID, BASE_NONE, NULL, 0,
14993         "OBJECT_IDENTIFIER", HFILL }},
14994     { &hf_h245_multiplexCapability,
14995       { "multiplexCapability", "h245.multiplexCapability",
14996         FT_UINT32, BASE_DEC, VALS(h245_MultiplexCapability_vals), 0,
14997         NULL, HFILL }},
14998     { &hf_h245_capabilityTable,
14999       { "capabilityTable", "h245.capabilityTable",
15000         FT_UINT32, BASE_DEC, NULL, 0,
15001         "SET_SIZE_1_256_OF_CapabilityTableEntry", HFILL }},
15002     { &hf_h245_capabilityTable_item,
15003       { "CapabilityTableEntry", "h245.CapabilityTableEntry",
15004         FT_NONE, BASE_NONE, NULL, 0,
15005         NULL, HFILL }},
15006     { &hf_h245_capabilityDescriptors,
15007       { "capabilityDescriptors", "h245.capabilityDescriptors",
15008         FT_UINT32, BASE_DEC, NULL, 0,
15009         "SET_SIZE_1_256_OF_CapabilityDescriptor", HFILL }},
15010     { &hf_h245_capabilityDescriptors_item,
15011       { "CapabilityDescriptor", "h245.CapabilityDescriptor",
15012         FT_NONE, BASE_NONE, NULL, 0,
15013         NULL, HFILL }},
15014     { &hf_h245_genericInformation,
15015       { "genericInformation", "h245.genericInformation",
15016         FT_UINT32, BASE_DEC, NULL, 0,
15017         "SEQUENCE_OF_GenericInformation", HFILL }},
15018     { &hf_h245_genericInformation_item,
15019       { "GenericInformation", "h245.GenericInformation",
15020         FT_NONE, BASE_NONE, NULL, 0,
15021         NULL, HFILL }},
15022     { &hf_h245_capabilityTableEntryNumber,
15023       { "capabilityTableEntryNumber", "h245.capabilityTableEntryNumber",
15024         FT_UINT32, BASE_DEC, NULL, 0,
15025         NULL, HFILL }},
15026     { &hf_h245_capability,
15027       { "capability", "h245.capability",
15028         FT_UINT32, BASE_DEC, VALS(h245_Capability_vals), 0,
15029         NULL, HFILL }},
15030     { &hf_h245_capabilityDescriptorNumber,
15031       { "capabilityDescriptorNumber", "h245.capabilityDescriptorNumber",
15032         FT_UINT32, BASE_DEC, NULL, 0,
15033         NULL, HFILL }},
15034     { &hf_h245_simultaneousCapabilities,
15035       { "simultaneousCapabilities", "h245.simultaneousCapabilities",
15036         FT_UINT32, BASE_DEC, NULL, 0,
15037         "SET_SIZE_1_256_OF_AlternativeCapabilitySet", HFILL }},
15038     { &hf_h245_simultaneousCapabilities_item,
15039       { "AlternativeCapabilitySet", "h245.AlternativeCapabilitySet",
15040         FT_UINT32, BASE_DEC, NULL, 0,
15041         NULL, HFILL }},
15042     { &hf_h245_AlternativeCapabilitySet_item,
15043       { "alternativeCapability", "h245.CapabilityTableEntryNumber",
15044         FT_UINT32, BASE_DEC, NULL, 0,
15045         "CapabilityTableEntryNumber", HFILL }},
15046     { &hf_h245_tcs_rej_cause,
15047       { "cause", "h245.cause",
15048         FT_UINT32, BASE_DEC, VALS(h245_TerminalCapabilitySetRejectCause_vals), 0,
15049         "TerminalCapabilitySetRejectCause", HFILL }},
15050     { &hf_h245_unspecified,
15051       { "unspecified", "h245.unspecified",
15052         FT_NONE, BASE_NONE, NULL, 0,
15053         NULL, HFILL }},
15054     { &hf_h245_undefinedTableEntryUsed,
15055       { "undefinedTableEntryUsed", "h245.undefinedTableEntryUsed",
15056         FT_NONE, BASE_NONE, NULL, 0,
15057         NULL, HFILL }},
15058     { &hf_h245_descriptorCapacityExceeded,
15059       { "descriptorCapacityExceeded", "h245.descriptorCapacityExceeded",
15060         FT_NONE, BASE_NONE, NULL, 0,
15061         NULL, HFILL }},
15062     { &hf_h245_tableEntryCapacityExceeded,
15063       { "tableEntryCapacityExceeded", "h245.tableEntryCapacityExceeded",
15064         FT_UINT32, BASE_DEC, VALS(h245_T_tableEntryCapacityExceeded_vals), 0,
15065         NULL, HFILL }},
15066     { &hf_h245_highestEntryNumberProcessed,
15067       { "highestEntryNumberProcessed", "h245.highestEntryNumberProcessed",
15068         FT_UINT32, BASE_DEC, NULL, 0,
15069         "CapabilityTableEntryNumber", HFILL }},
15070     { &hf_h245_noneProcessed,
15071       { "noneProcessed", "h245.noneProcessed",
15072         FT_NONE, BASE_NONE, NULL, 0,
15073         NULL, HFILL }},
15074     { &hf_h245_nonStandard,
15075       { "nonStandard", "h245.nonStandard",
15076         FT_NONE, BASE_NONE, NULL, 0,
15077         "NonStandardParameter", HFILL }},
15078     { &hf_h245_receiveVideoCapability,
15079       { "receiveVideoCapability", "h245.receiveVideoCapability",
15080         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
15081         "VideoCapability", HFILL }},
15082     { &hf_h245_transmitVideoCapability,
15083       { "transmitVideoCapability", "h245.transmitVideoCapability",
15084         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
15085         "VideoCapability", HFILL }},
15086     { &hf_h245_receiveAndTransmitVideoCapability,
15087       { "receiveAndTransmitVideoCapability", "h245.receiveAndTransmitVideoCapability",
15088         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
15089         "VideoCapability", HFILL }},
15090     { &hf_h245_receiveAudioCapability,
15091       { "receiveAudioCapability", "h245.receiveAudioCapability",
15092         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
15093         "AudioCapability", HFILL }},
15094     { &hf_h245_transmitAudioCapability,
15095       { "transmitAudioCapability", "h245.transmitAudioCapability",
15096         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
15097         "AudioCapability", HFILL }},
15098     { &hf_h245_receiveAndTransmitAudioCapability,
15099       { "receiveAndTransmitAudioCapability", "h245.receiveAndTransmitAudioCapability",
15100         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
15101         "AudioCapability", HFILL }},
15102     { &hf_h245_receiveDataApplicationCapability,
15103       { "receiveDataApplicationCapability", "h245.receiveDataApplicationCapability",
15104         FT_NONE, BASE_NONE, NULL, 0,
15105         "DataApplicationCapability", HFILL }},
15106     { &hf_h245_transmitDataApplicationCapability,
15107       { "transmitDataApplicationCapability", "h245.transmitDataApplicationCapability",
15108         FT_NONE, BASE_NONE, NULL, 0,
15109         "DataApplicationCapability", HFILL }},
15110     { &hf_h245_receiveAndTransmitDataApplicationCapability,
15111       { "receiveAndTransmitDataApplicationCapability", "h245.receiveAndTransmitDataApplicationCapability",
15112         FT_NONE, BASE_NONE, NULL, 0,
15113         "DataApplicationCapability", HFILL }},
15114     { &hf_h245_h233EncryptionTransmitCapability,
15115       { "h233EncryptionTransmitCapability", "h245.h233EncryptionTransmitCapability",
15116         FT_BOOLEAN, BASE_NONE, NULL, 0,
15117         "BOOLEAN", HFILL }},
15118     { &hf_h245_h233EncryptionReceiveCapability,
15119       { "h233EncryptionReceiveCapability", "h245.h233EncryptionReceiveCapability",
15120         FT_NONE, BASE_NONE, NULL, 0,
15121         NULL, HFILL }},
15122     { &hf_h245_h233IVResponseTime,
15123       { "h233IVResponseTime", "h245.h233IVResponseTime",
15124         FT_UINT32, BASE_DEC, NULL, 0,
15125         "INTEGER_0_255", HFILL }},
15126     { &hf_h245_conferenceCapability,
15127       { "conferenceCapability", "h245.conferenceCapability",
15128         FT_NONE, BASE_NONE, NULL, 0,
15129         NULL, HFILL }},
15130     { &hf_h245_h235SecurityCapability,
15131       { "h235SecurityCapability", "h245.h235SecurityCapability",
15132         FT_NONE, BASE_NONE, NULL, 0,
15133         NULL, HFILL }},
15134     { &hf_h245_maxPendingReplacementFor,
15135       { "maxPendingReplacementFor", "h245.maxPendingReplacementFor",
15136         FT_UINT32, BASE_DEC, NULL, 0,
15137         "INTEGER_0_255", HFILL }},
15138     { &hf_h245_receiveUserInputCapability,
15139       { "receiveUserInputCapability", "h245.receiveUserInputCapability",
15140         FT_UINT32, BASE_DEC, VALS(h245_UserInputCapability_vals), 0,
15141         "UserInputCapability", HFILL }},
15142     { &hf_h245_transmitUserInputCapability,
15143       { "transmitUserInputCapability", "h245.transmitUserInputCapability",
15144         FT_UINT32, BASE_DEC, VALS(h245_UserInputCapability_vals), 0,
15145         "UserInputCapability", HFILL }},
15146     { &hf_h245_receiveAndTransmitUserInputCapability,
15147       { "receiveAndTransmitUserInputCapability", "h245.receiveAndTransmitUserInputCapability",
15148         FT_UINT32, BASE_DEC, VALS(h245_UserInputCapability_vals), 0,
15149         "UserInputCapability", HFILL }},
15150     { &hf_h245_genericControlCapability,
15151       { "genericControlCapability", "h245.genericControlCapability",
15152         FT_NONE, BASE_NONE, NULL, 0,
15153         "GenericCapability", HFILL }},
15154     { &hf_h245_receiveMultiplexedStreamCapability,
15155       { "receiveMultiplexedStreamCapability", "h245.receiveMultiplexedStreamCapability",
15156         FT_NONE, BASE_NONE, NULL, 0,
15157         "MultiplexedStreamCapability", HFILL }},
15158     { &hf_h245_transmitMultiplexedStreamCapability,
15159       { "transmitMultiplexedStreamCapability", "h245.transmitMultiplexedStreamCapability",
15160         FT_NONE, BASE_NONE, NULL, 0,
15161         "MultiplexedStreamCapability", HFILL }},
15162     { &hf_h245_receiveAndTransmitMultiplexedStreamCapability,
15163       { "receiveAndTransmitMultiplexedStreamCapability", "h245.receiveAndTransmitMultiplexedStreamCapability",
15164         FT_NONE, BASE_NONE, NULL, 0,
15165         "MultiplexedStreamCapability", HFILL }},
15166     { &hf_h245_receiveRTPAudioTelephonyEventCapability,
15167       { "receiveRTPAudioTelephonyEventCapability", "h245.receiveRTPAudioTelephonyEventCapability",
15168         FT_NONE, BASE_NONE, NULL, 0,
15169         "AudioTelephonyEventCapability", HFILL }},
15170     { &hf_h245_receiveRTPAudioToneCapability,
15171       { "receiveRTPAudioToneCapability", "h245.receiveRTPAudioToneCapability",
15172         FT_NONE, BASE_NONE, NULL, 0,
15173         "AudioToneCapability", HFILL }},
15174     { &hf_h245_depFecCapability,
15175       { "depFecCapability", "h245.depFecCapability",
15176         FT_UINT32, BASE_DEC, VALS(h245_DepFECCapability_vals), 0,
15177         NULL, HFILL }},
15178     { &hf_h245_multiplePayloadStreamCapability,
15179       { "multiplePayloadStreamCapability", "h245.multiplePayloadStreamCapability",
15180         FT_NONE, BASE_NONE, NULL, 0,
15181         NULL, HFILL }},
15182     { &hf_h245_fecCapability,
15183       { "fecCapability", "h245.fecCapability",
15184         FT_NONE, BASE_NONE, NULL, 0,
15185         NULL, HFILL }},
15186     { &hf_h245_redundancyEncodingCap,
15187       { "redundancyEncodingCap", "h245.redundancyEncodingCap",
15188         FT_NONE, BASE_NONE, NULL, 0,
15189         "RedundancyEncodingCapability", HFILL }},
15190     { &hf_h245_oneOfCapabilities,
15191       { "oneOfCapabilities", "h245.oneOfCapabilities",
15192         FT_UINT32, BASE_DEC, NULL, 0,
15193         "AlternativeCapabilitySet", HFILL }},
15194     { &hf_h245_encryptionAuthenticationAndIntegrity,
15195       { "encryptionAuthenticationAndIntegrity", "h245.encryptionAuthenticationAndIntegrity",
15196         FT_NONE, BASE_NONE, NULL, 0,
15197         NULL, HFILL }},
15198     { &hf_h245_mediaCapability,
15199       { "mediaCapability", "h245.mediaCapability",
15200         FT_UINT32, BASE_DEC, NULL, 0,
15201         "CapabilityTableEntryNumber", HFILL }},
15202     { &hf_h245_h222Capability,
15203       { "h222Capability", "h245.h222Capability",
15204         FT_NONE, BASE_NONE, NULL, 0,
15205         NULL, HFILL }},
15206     { &hf_h245_h223Capability,
15207       { "h223Capability", "h245.h223Capability",
15208         FT_NONE, BASE_NONE, NULL, 0,
15209         NULL, HFILL }},
15210     { &hf_h245_v76Capability,
15211       { "v76Capability", "h245.v76Capability",
15212         FT_NONE, BASE_NONE, NULL, 0,
15213         NULL, HFILL }},
15214     { &hf_h245_h2250Capability,
15215       { "h2250Capability", "h245.h2250Capability",
15216         FT_NONE, BASE_NONE, NULL, 0,
15217         NULL, HFILL }},
15218     { &hf_h245_genericMultiplexCapability,
15219       { "genericMultiplexCapability", "h245.genericMultiplexCapability",
15220         FT_NONE, BASE_NONE, NULL, 0,
15221         "GenericCapability", HFILL }},
15222     { &hf_h245_numberOfVCs,
15223       { "numberOfVCs", "h245.numberOfVCs",
15224         FT_UINT32, BASE_DEC, NULL, 0,
15225         "INTEGER_1_256", HFILL }},
15226     { &hf_h245_vcCapability,
15227       { "vcCapability", "h245.vcCapability",
15228         FT_UINT32, BASE_DEC, NULL, 0,
15229         "SET_OF_VCCapability", HFILL }},
15230     { &hf_h245_vcCapability_item,
15231       { "VCCapability", "h245.VCCapability",
15232         FT_NONE, BASE_NONE, NULL, 0,
15233         NULL, HFILL }},
15234     { &hf_h245_aal1,
15235       { "aal1", "h245.aal1",
15236         FT_NONE, BASE_NONE, NULL, 0,
15237         NULL, HFILL }},
15238     { &hf_h245_nullClockRecovery,
15239       { "nullClockRecovery", "h245.nullClockRecovery",
15240         FT_BOOLEAN, BASE_NONE, NULL, 0,
15241         "BOOLEAN", HFILL }},
15242     { &hf_h245_srtsClockRecovery_bool,
15243       { "srtsClockRecovery", "h245.srtsClockRecovery",
15244         FT_BOOLEAN, BASE_NONE, NULL, 0,
15245         "BOOLEAN", HFILL }},
15246     { &hf_h245_adaptiveClockRecovery,
15247       { "adaptiveClockRecovery", "h245.adaptiveClockRecovery",
15248         FT_BOOLEAN, BASE_NONE, NULL, 0,
15249         "BOOLEAN", HFILL }},
15250     { &hf_h245_nullErrorCorrection,
15251       { "nullErrorCorrection", "h245.nullErrorCorrection",
15252         FT_BOOLEAN, BASE_NONE, NULL, 0,
15253         "BOOLEAN", HFILL }},
15254     { &hf_h245_longInterleaver,
15255       { "longInterleaver", "h245.longInterleaver",
15256         FT_BOOLEAN, BASE_NONE, NULL, 0,
15257         "BOOLEAN", HFILL }},
15258     { &hf_h245_shortInterleaver,
15259       { "shortInterleaver", "h245.shortInterleaver",
15260         FT_BOOLEAN, BASE_NONE, NULL, 0,
15261         "BOOLEAN", HFILL }},
15262     { &hf_h245_errorCorrectionOnly,
15263       { "errorCorrectionOnly", "h245.errorCorrectionOnly",
15264         FT_BOOLEAN, BASE_NONE, NULL, 0,
15265         "BOOLEAN", HFILL }},
15266     { &hf_h245_structuredDataTransfer,
15267       { "structuredDataTransfer", "h245.structuredDataTransfer",
15268         FT_BOOLEAN, BASE_NONE, NULL, 0,
15269         "BOOLEAN", HFILL }},
15270     { &hf_h245_partiallyFilledCells,
15271       { "partiallyFilledCells", "h245.partiallyFilledCells",
15272         FT_BOOLEAN, BASE_NONE, NULL, 0,
15273         "BOOLEAN", HFILL }},
15274     { &hf_h245_aal5,
15275       { "aal5", "h245.aal5",
15276         FT_NONE, BASE_NONE, NULL, 0,
15277         NULL, HFILL }},
15278     { &hf_h245_forwardMaximumSDUSize,
15279       { "forwardMaximumSDUSize", "h245.forwardMaximumSDUSize",
15280         FT_UINT32, BASE_DEC, NULL, 0,
15281         "INTEGER_0_65535", HFILL }},
15282     { &hf_h245_backwardMaximumSDUSize,
15283       { "backwardMaximumSDUSize", "h245.backwardMaximumSDUSize",
15284         FT_UINT32, BASE_DEC, NULL, 0,
15285         "INTEGER_0_65535", HFILL }},
15286     { &hf_h245_transportStream_bool,
15287       { "transportStream", "h245.transportStream",
15288         FT_BOOLEAN, BASE_NONE, NULL, 0,
15289         "BOOLEAN", HFILL }},
15290     { &hf_h245_programStream,
15291       { "programStream", "h245.programStream",
15292         FT_BOOLEAN, BASE_NONE, NULL, 0,
15293         "BOOLEAN", HFILL }},
15294     { &hf_h245_availableBitRates,
15295       { "availableBitRates", "h245.availableBitRates",
15296         FT_NONE, BASE_NONE, NULL, 0,
15297         NULL, HFILL }},
15298     { &hf_h245_avb_type,
15299       { "type", "h245.type",
15300         FT_UINT32, BASE_DEC, VALS(h245_Avb_type_vals), 0,
15301         "Avb_type", HFILL }},
15302     { &hf_h245_singleBitRate,
15303       { "singleBitRate", "h245.singleBitRate",
15304         FT_UINT32, BASE_DEC, NULL, 0,
15305         "INTEGER_1_65535", HFILL }},
15306     { &hf_h245_rangeOfBitRates,
15307       { "rangeOfBitRates", "h245.rangeOfBitRates",
15308         FT_NONE, BASE_NONE, NULL, 0,
15309         NULL, HFILL }},
15310     { &hf_h245_lowerBitRate,
15311       { "lowerBitRate", "h245.lowerBitRate",
15312         FT_UINT32, BASE_DEC, NULL, 0,
15313         "INTEGER_1_65535", HFILL }},
15314     { &hf_h245_higherBitRate,
15315       { "higherBitRate", "h245.higherBitRate",
15316         FT_UINT32, BASE_DEC, NULL, 0,
15317         "INTEGER_1_65535", HFILL }},
15318     { &hf_h245_aal1ViaGateway,
15319       { "aal1ViaGateway", "h245.aal1ViaGateway",
15320         FT_NONE, BASE_NONE, NULL, 0,
15321         NULL, HFILL }},
15322     { &hf_h245_gatewayAddress,
15323       { "gatewayAddress", "h245.gatewayAddress",
15324         FT_UINT32, BASE_DEC, NULL, 0,
15325         "SET_SIZE_1_256_OF_Q2931Address", HFILL }},
15326     { &hf_h245_gatewayAddress_item,
15327       { "Q2931Address", "h245.Q2931Address",
15328         FT_NONE, BASE_NONE, NULL, 0,
15329         NULL, HFILL }},
15330     { &hf_h245_srtsClockRecoveryflag,
15331       { "srtsClockRecovery", "h245.srtsClockRecovery",
15332         FT_BOOLEAN, BASE_NONE, NULL, 0,
15333         "BOOLEAN", HFILL }},
15334     { &hf_h245_transportWithI_frames,
15335       { "transportWithI-frames", "h245.transportWithI_frames",
15336         FT_BOOLEAN, BASE_NONE, NULL, 0,
15337         "BOOLEAN", HFILL }},
15338     { &hf_h245_videoWithAL1,
15339       { "videoWithAL1", "h245.videoWithAL1",
15340         FT_BOOLEAN, BASE_NONE, NULL, 0,
15341         "BOOLEAN", HFILL }},
15342     { &hf_h245_videoWithAL2,
15343       { "videoWithAL2", "h245.videoWithAL2",
15344         FT_BOOLEAN, BASE_NONE, NULL, 0,
15345         "BOOLEAN", HFILL }},
15346     { &hf_h245_videoWithAL3,
15347       { "videoWithAL3", "h245.videoWithAL3",
15348         FT_BOOLEAN, BASE_NONE, NULL, 0,
15349         "BOOLEAN", HFILL }},
15350     { &hf_h245_audioWithAL1,
15351       { "audioWithAL1", "h245.audioWithAL1",
15352         FT_BOOLEAN, BASE_NONE, NULL, 0,
15353         "BOOLEAN", HFILL }},
15354     { &hf_h245_audioWithAL2,
15355       { "audioWithAL2", "h245.audioWithAL2",
15356         FT_BOOLEAN, BASE_NONE, NULL, 0,
15357         "BOOLEAN", HFILL }},
15358     { &hf_h245_audioWithAL3,
15359       { "audioWithAL3", "h245.audioWithAL3",
15360         FT_BOOLEAN, BASE_NONE, NULL, 0,
15361         "BOOLEAN", HFILL }},
15362     { &hf_h245_dataWithAL1,
15363       { "dataWithAL1", "h245.dataWithAL1",
15364         FT_BOOLEAN, BASE_NONE, NULL, 0,
15365         "BOOLEAN", HFILL }},
15366     { &hf_h245_dataWithAL2,
15367       { "dataWithAL2", "h245.dataWithAL2",
15368         FT_BOOLEAN, BASE_NONE, NULL, 0,
15369         "BOOLEAN", HFILL }},
15370     { &hf_h245_dataWithAL3,
15371       { "dataWithAL3", "h245.dataWithAL3",
15372         FT_BOOLEAN, BASE_NONE, NULL, 0,
15373         "BOOLEAN", HFILL }},
15374     { &hf_h245_maximumAl2SDUSize,
15375       { "maximumAl2SDUSize", "h245.maximumAl2SDUSize",
15376         FT_UINT32, BASE_DEC, NULL, 0,
15377         "INTEGER_0_65535", HFILL }},
15378     { &hf_h245_maximumAl3SDUSize,
15379       { "maximumAl3SDUSize", "h245.maximumAl3SDUSize",
15380         FT_UINT32, BASE_DEC, NULL, 0,
15381         "INTEGER_0_65535", HFILL }},
15382     { &hf_h245_maximumDelayJitter,
15383       { "maximumDelayJitter", "h245.maximumDelayJitter",
15384         FT_UINT32, BASE_DEC, NULL, 0,
15385         "INTEGER_0_1023", HFILL }},
15386     { &hf_h245_h223MultiplexTableCapability,
15387       { "h223MultiplexTableCapability", "h245.h223MultiplexTableCapability",
15388         FT_UINT32, BASE_DEC, VALS(h245_T_h223MultiplexTableCapability_vals), 0,
15389         NULL, HFILL }},
15390     { &hf_h245_basic,
15391       { "basic", "h245.basic",
15392         FT_NONE, BASE_NONE, NULL, 0,
15393         NULL, HFILL }},
15394     { &hf_h245_enhanced,
15395       { "enhanced", "h245.enhanced",
15396         FT_NONE, BASE_NONE, NULL, 0,
15397         NULL, HFILL }},
15398     { &hf_h245_maximumNestingDepth,
15399       { "maximumNestingDepth", "h245.maximumNestingDepth",
15400         FT_UINT32, BASE_DEC, NULL, 0,
15401         "INTEGER_1_15", HFILL }},
15402     { &hf_h245_maximumElementListSize,
15403       { "maximumElementListSize", "h245.maximumElementListSize",
15404         FT_UINT32, BASE_DEC, NULL, 0,
15405         "INTEGER_2_255", HFILL }},
15406     { &hf_h245_maximumSubElementListSize,
15407       { "maximumSubElementListSize", "h245.maximumSubElementListSize",
15408         FT_UINT32, BASE_DEC, NULL, 0,
15409         "INTEGER_2_255", HFILL }},
15410     { &hf_h245_maxMUXPDUSizeCapability,
15411       { "maxMUXPDUSizeCapability", "h245.maxMUXPDUSizeCapability",
15412         FT_BOOLEAN, BASE_NONE, NULL, 0,
15413         "BOOLEAN", HFILL }},
15414     { &hf_h245_nsrpSupport,
15415       { "nsrpSupport", "h245.nsrpSupport",
15416         FT_BOOLEAN, BASE_NONE, NULL, 0,
15417         "BOOLEAN", HFILL }},
15418     { &hf_h245_mobileOperationTransmitCapability,
15419       { "mobileOperationTransmitCapability", "h245.mobileOperationTransmitCapability",
15420         FT_NONE, BASE_NONE, NULL, 0,
15421         NULL, HFILL }},
15422     { &hf_h245_modeChangeCapability,
15423       { "modeChangeCapability", "h245.modeChangeCapability",
15424         FT_BOOLEAN, BASE_NONE, NULL, 0,
15425         "BOOLEAN", HFILL }},
15426     { &hf_h245_h223AnnexA,
15427       { "h223AnnexA", "h245.h223AnnexA",
15428         FT_BOOLEAN, BASE_NONE, NULL, 0,
15429         "BOOLEAN", HFILL }},
15430     { &hf_h245_h223AnnexADoubleFlagFlag,
15431       { "h223AnnexADoubleFlag", "h245.h223AnnexADoubleFlag",
15432         FT_BOOLEAN, BASE_NONE, NULL, 0,
15433         "BOOLEAN", HFILL }},
15434     { &hf_h245_h223AnnexB,
15435       { "h223AnnexB", "h245.h223AnnexB",
15436         FT_BOOLEAN, BASE_NONE, NULL, 0,
15437         "BOOLEAN", HFILL }},
15438     { &hf_h245_h223AnnexBwithHeader,
15439       { "h223AnnexBwithHeader", "h245.h223AnnexBwithHeader",
15440         FT_BOOLEAN, BASE_NONE, NULL, 0,
15441         "BOOLEAN", HFILL }},
15442     { &hf_h245_h223AnnexCCapability,
15443       { "h223AnnexCCapability", "h245.h223AnnexCCapability",
15444         FT_NONE, BASE_NONE, NULL, 0,
15445         NULL, HFILL }},
15446     { &hf_h245_bitRate_1_19200,
15447       { "bitRate", "h245.bitRate",
15448         FT_UINT32, BASE_DEC, NULL, 0,
15449         "INTEGER_1_19200", HFILL }},
15450     { &hf_h245_mobileMultilinkFrameCapability,
15451       { "mobileMultilinkFrameCapability", "h245.mobileMultilinkFrameCapability",
15452         FT_NONE, BASE_NONE, NULL, 0,
15453         NULL, HFILL }},
15454     { &hf_h245_maximumSampleSize,
15455       { "maximumSampleSize", "h245.maximumSampleSize",
15456         FT_UINT32, BASE_DEC, NULL, 0,
15457         "INTEGER_1_255", HFILL }},
15458     { &hf_h245_maximumPayloadLength,
15459       { "maximumPayloadLength", "h245.maximumPayloadLength",
15460         FT_UINT32, BASE_DEC, NULL, 0,
15461         "INTEGER_1_65025", HFILL }},
15462     { &hf_h245_videoWithAL1M,
15463       { "videoWithAL1M", "h245.videoWithAL1M",
15464         FT_BOOLEAN, BASE_NONE, NULL, 0,
15465         "BOOLEAN", HFILL }},
15466     { &hf_h245_videoWithAL2M,
15467       { "videoWithAL2M", "h245.videoWithAL2M",
15468         FT_BOOLEAN, BASE_NONE, NULL, 0,
15469         "BOOLEAN", HFILL }},
15470     { &hf_h245_videoWithAL3M,
15471       { "videoWithAL3M", "h245.videoWithAL3M",
15472         FT_BOOLEAN, BASE_NONE, NULL, 0,
15473         "BOOLEAN", HFILL }},
15474     { &hf_h245_audioWithAL1M,
15475       { "audioWithAL1M", "h245.audioWithAL1M",
15476         FT_BOOLEAN, BASE_NONE, NULL, 0,
15477         "BOOLEAN", HFILL }},
15478     { &hf_h245_audioWithAL2M,
15479       { "audioWithAL2M", "h245.audioWithAL2M",
15480         FT_BOOLEAN, BASE_NONE, NULL, 0,
15481         "BOOLEAN", HFILL }},
15482     { &hf_h245_audioWithAL3M,
15483       { "audioWithAL3M", "h245.audioWithAL3M",
15484         FT_BOOLEAN, BASE_NONE, NULL, 0,
15485         "BOOLEAN", HFILL }},
15486     { &hf_h245_dataWithAL1M,
15487       { "dataWithAL1M", "h245.dataWithAL1M",
15488         FT_BOOLEAN, BASE_NONE, NULL, 0,
15489         "BOOLEAN", HFILL }},
15490     { &hf_h245_dataWithAL2M,
15491       { "dataWithAL2M", "h245.dataWithAL2M",
15492         FT_BOOLEAN, BASE_NONE, NULL, 0,
15493         "BOOLEAN", HFILL }},
15494     { &hf_h245_dataWithAL3M,
15495       { "dataWithAL3M", "h245.dataWithAL3M",
15496         FT_BOOLEAN, BASE_NONE, NULL, 0,
15497         "BOOLEAN", HFILL }},
15498     { &hf_h245_alpduInterleaving,
15499       { "alpduInterleaving", "h245.alpduInterleaving",
15500         FT_BOOLEAN, BASE_NONE, NULL, 0,
15501         "BOOLEAN", HFILL }},
15502     { &hf_h245_maximumAL1MPDUSize,
15503       { "maximumAL1MPDUSize", "h245.maximumAL1MPDUSize",
15504         FT_UINT32, BASE_DEC, NULL, 0,
15505         "INTEGER_0_65535", HFILL }},
15506     { &hf_h245_maximumAL2MSDUSize,
15507       { "maximumAL2MSDUSize", "h245.maximumAL2MSDUSize",
15508         FT_UINT32, BASE_DEC, NULL, 0,
15509         "INTEGER_0_65535", HFILL }},
15510     { &hf_h245_maximumAL3MSDUSize,
15511       { "maximumAL3MSDUSize", "h245.maximumAL3MSDUSize",
15512         FT_UINT32, BASE_DEC, NULL, 0,
15513         "INTEGER_0_65535", HFILL }},
15514     { &hf_h245_rsCodeCapability,
15515       { "rsCodeCapability", "h245.rsCodeCapability",
15516         FT_BOOLEAN, BASE_NONE, NULL, 0,
15517         "BOOLEAN", HFILL }},
15518     { &hf_h245_suspendResumeCapabilitywAddress,
15519       { "suspendResumeCapabilitywAddress", "h245.suspendResumeCapabilitywAddress",
15520         FT_BOOLEAN, BASE_NONE, NULL, 0,
15521         "BOOLEAN", HFILL }},
15522     { &hf_h245_suspendResumeCapabilitywoAddress,
15523       { "suspendResumeCapabilitywoAddress", "h245.suspendResumeCapabilitywoAddress",
15524         FT_BOOLEAN, BASE_NONE, NULL, 0,
15525         "BOOLEAN", HFILL }},
15526     { &hf_h245_rejCapability,
15527       { "rejCapability", "h245.rejCapability",
15528         FT_BOOLEAN, BASE_NONE, NULL, 0,
15529         "BOOLEAN", HFILL }},
15530     { &hf_h245_sREJCapability,
15531       { "sREJCapability", "h245.sREJCapability",
15532         FT_BOOLEAN, BASE_NONE, NULL, 0,
15533         "BOOLEAN", HFILL }},
15534     { &hf_h245_mREJCapability,
15535       { "mREJCapability", "h245.mREJCapability",
15536         FT_BOOLEAN, BASE_NONE, NULL, 0,
15537         "BOOLEAN", HFILL }},
15538     { &hf_h245_crc8bitCapability,
15539       { "crc8bitCapability", "h245.crc8bitCapability",
15540         FT_BOOLEAN, BASE_NONE, NULL, 0,
15541         "BOOLEAN", HFILL }},
15542     { &hf_h245_crc16bitCapability,
15543       { "crc16bitCapability", "h245.crc16bitCapability",
15544         FT_BOOLEAN, BASE_NONE, NULL, 0,
15545         "BOOLEAN", HFILL }},
15546     { &hf_h245_crc32bitCapability,
15547       { "crc32bitCapability", "h245.crc32bitCapability",
15548         FT_BOOLEAN, BASE_NONE, NULL, 0,
15549         "BOOLEAN", HFILL }},
15550     { &hf_h245_uihCapability,
15551       { "uihCapability", "h245.uihCapability",
15552         FT_BOOLEAN, BASE_NONE, NULL, 0,
15553         "BOOLEAN", HFILL }},
15554     { &hf_h245_numOfDLCS,
15555       { "numOfDLCS", "h245.numOfDLCS",
15556         FT_UINT32, BASE_DEC, NULL, 0,
15557         "INTEGER_2_8191", HFILL }},
15558     { &hf_h245_twoOctetAddressFieldCapability,
15559       { "twoOctetAddressFieldCapability", "h245.twoOctetAddressFieldCapability",
15560         FT_BOOLEAN, BASE_NONE, NULL, 0,
15561         "BOOLEAN", HFILL }},
15562     { &hf_h245_loopBackTestCapability,
15563       { "loopBackTestCapability", "h245.loopBackTestCapability",
15564         FT_BOOLEAN, BASE_NONE, NULL, 0,
15565         "BOOLEAN", HFILL }},
15566     { &hf_h245_n401Capability,
15567       { "n401Capability", "h245.n401Capability",
15568         FT_UINT32, BASE_DEC, NULL, 0,
15569         "INTEGER_1_4095", HFILL }},
15570     { &hf_h245_maxWindowSizeCapability,
15571       { "maxWindowSizeCapability", "h245.maxWindowSizeCapability",
15572         FT_UINT32, BASE_DEC, NULL, 0,
15573         "INTEGER_1_127", HFILL }},
15574     { &hf_h245_v75Capability,
15575       { "v75Capability", "h245.v75Capability",
15576         FT_NONE, BASE_NONE, NULL, 0,
15577         NULL, HFILL }},
15578     { &hf_h245_audioHeader,
15579       { "audioHeader", "h245.audioHeader",
15580         FT_BOOLEAN, BASE_NONE, NULL, 0,
15581         "BOOLEAN", HFILL }},
15582     { &hf_h245_maximumAudioDelayJitter,
15583       { "maximumAudioDelayJitter", "h245.maximumAudioDelayJitter",
15584         FT_UINT32, BASE_DEC, NULL, 0,
15585         "INTEGER_0_1023", HFILL }},
15586     { &hf_h245_receiveMultipointCapability,
15587       { "receiveMultipointCapability", "h245.receiveMultipointCapability",
15588         FT_NONE, BASE_NONE, NULL, 0,
15589         "MultipointCapability", HFILL }},
15590     { &hf_h245_transmitMultipointCapability,
15591       { "transmitMultipointCapability", "h245.transmitMultipointCapability",
15592         FT_NONE, BASE_NONE, NULL, 0,
15593         "MultipointCapability", HFILL }},
15594     { &hf_h245_receiveAndTransmitMultipointCapability,
15595       { "receiveAndTransmitMultipointCapability", "h245.receiveAndTransmitMultipointCapability",
15596         FT_NONE, BASE_NONE, NULL, 0,
15597         "MultipointCapability", HFILL }},
15598     { &hf_h245_mcCapability,
15599       { "mcCapability", "h245.mcCapability",
15600         FT_NONE, BASE_NONE, NULL, 0,
15601         NULL, HFILL }},
15602     { &hf_h245_centralizedConferenceMC,
15603       { "centralizedConferenceMC", "h245.centralizedConferenceMC",
15604         FT_BOOLEAN, BASE_NONE, NULL, 0,
15605         "BOOLEAN", HFILL }},
15606     { &hf_h245_decentralizedConferenceMC,
15607       { "decentralizedConferenceMC", "h245.decentralizedConferenceMC",
15608         FT_BOOLEAN, BASE_NONE, NULL, 0,
15609         "BOOLEAN", HFILL }},
15610     { &hf_h245_rtcpVideoControlCapability,
15611       { "rtcpVideoControlCapability", "h245.rtcpVideoControlCapability",
15612         FT_BOOLEAN, BASE_NONE, NULL, 0,
15613         "BOOLEAN", HFILL }},
15614     { &hf_h245_mediaPacketizationCapability,
15615       { "mediaPacketizationCapability", "h245.mediaPacketizationCapability",
15616         FT_NONE, BASE_NONE, NULL, 0,
15617         NULL, HFILL }},
15618     { &hf_h245_transportCapability,
15619       { "transportCapability", "h245.transportCapability",
15620         FT_NONE, BASE_NONE, NULL, 0,
15621         NULL, HFILL }},
15622     { &hf_h245_redundancyEncodingCapability,
15623       { "redundancyEncodingCapability", "h245.redundancyEncodingCapability",
15624         FT_UINT32, BASE_DEC, NULL, 0,
15625         "SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability", HFILL }},
15626     { &hf_h245_redundancyEncodingCapability_item,
15627       { "RedundancyEncodingCapability", "h245.RedundancyEncodingCapability",
15628         FT_NONE, BASE_NONE, NULL, 0,
15629         NULL, HFILL }},
15630     { &hf_h245_logicalChannelSwitchingCapability,
15631       { "logicalChannelSwitchingCapability", "h245.logicalChannelSwitchingCapability",
15632         FT_BOOLEAN, BASE_NONE, NULL, 0,
15633         "BOOLEAN", HFILL }},
15634     { &hf_h245_t120DynamicPortCapability,
15635       { "t120DynamicPortCapability", "h245.t120DynamicPortCapability",
15636         FT_BOOLEAN, BASE_NONE, NULL, 0,
15637         "BOOLEAN", HFILL }},
15638     { &hf_h245_h261aVideoPacketization,
15639       { "h261aVideoPacketization", "h245.h261aVideoPacketization",
15640         FT_BOOLEAN, BASE_NONE, NULL, 0,
15641         "BOOLEAN", HFILL }},
15642     { &hf_h245_rtpPayloadTypes,
15643       { "rtpPayloadType", "h245.rtpPayloadType",
15644         FT_UINT32, BASE_DEC, NULL, 0,
15645         "SEQUENCE_SIZE_1_256_OF_RTPPayloadType", HFILL }},
15646     { &hf_h245_rtpPayloadTypes_item,
15647       { "RTPPayloadType", "h245.RTPPayloadType",
15648         FT_NONE, BASE_NONE, NULL, 0,
15649         NULL, HFILL }},
15650     { &hf_h245_qosMode,
15651       { "qosMode", "h245.qosMode",
15652         FT_UINT32, BASE_DEC, VALS(h245_QOSMode_vals), 0,
15653         NULL, HFILL }},
15654     { &hf_h245_tokenRate,
15655       { "tokenRate", "h245.tokenRate",
15656         FT_UINT32, BASE_DEC, NULL, 0,
15657         "INTEGER_1_4294967295", HFILL }},
15658     { &hf_h245_bucketSize,
15659       { "bucketSize", "h245.bucketSize",
15660         FT_UINT32, BASE_DEC, NULL, 0,
15661         "INTEGER_1_4294967295", HFILL }},
15662     { &hf_h245_peakRate,
15663       { "peakRate", "h245.peakRate",
15664         FT_UINT32, BASE_DEC, NULL, 0,
15665         "INTEGER_1_4294967295", HFILL }},
15666     { &hf_h245_minPoliced,
15667       { "minPoliced", "h245.minPoliced",
15668         FT_UINT32, BASE_DEC, NULL, 0,
15669         "INTEGER_1_4294967295", HFILL }},
15670     { &hf_h245_maxPktSize,
15671       { "maxPktSize", "h245.maxPktSize",
15672         FT_UINT32, BASE_DEC, NULL, 0,
15673         "INTEGER_1_4294967295", HFILL }},
15674     { &hf_h245_guaranteedQOS,
15675       { "guaranteedQOS", "h245.guaranteedQOS",
15676         FT_NONE, BASE_NONE, NULL, 0,
15677         NULL, HFILL }},
15678     { &hf_h245_controlledLoad,
15679       { "controlledLoad", "h245.controlledLoad",
15680         FT_NONE, BASE_NONE, NULL, 0,
15681         NULL, HFILL }},
15682     { &hf_h245_maxNTUSize,
15683       { "maxNTUSize", "h245.maxNTUSize",
15684         FT_UINT32, BASE_DEC, NULL, 0,
15685         "INTEGER_0_65535", HFILL }},
15686     { &hf_h245_atmUBR,
15687       { "atmUBR", "h245.atmUBR",
15688         FT_BOOLEAN, BASE_NONE, NULL, 0,
15689         "BOOLEAN", HFILL }},
15690     { &hf_h245_atmrtVBR,
15691       { "atmrtVBR", "h245.atmrtVBR",
15692         FT_BOOLEAN, BASE_NONE, NULL, 0,
15693         "BOOLEAN", HFILL }},
15694     { &hf_h245_atmnrtVBR,
15695       { "atmnrtVBR", "h245.atmnrtVBR",
15696         FT_BOOLEAN, BASE_NONE, NULL, 0,
15697         "BOOLEAN", HFILL }},
15698     { &hf_h245_atmABR,
15699       { "atmABR", "h245.atmABR",
15700         FT_BOOLEAN, BASE_NONE, NULL, 0,
15701         "BOOLEAN", HFILL }},
15702     { &hf_h245_atmCBR,
15703       { "atmCBR", "h245.atmCBR",
15704         FT_BOOLEAN, BASE_NONE, NULL, 0,
15705         "BOOLEAN", HFILL }},
15706     { &hf_h245_nonStandardParameter,
15707       { "nonStandardParameter", "h245.nonStandardParameter",
15708         FT_NONE, BASE_NONE, NULL, 0,
15709         NULL, HFILL }},
15710     { &hf_h245_value,
15711       { "value", "h245.value",
15712         FT_UINT32, BASE_DEC, NULL, 0,
15713         "INTEGER_0_255", HFILL }},
15714     { &hf_h245_servicePrioritySignalled,
15715       { "servicePrioritySignalled", "h245.servicePrioritySignalled",
15716         FT_BOOLEAN, BASE_NONE, NULL, 0,
15717         "BOOLEAN", HFILL }},
15718     { &hf_h245_servicePriorityValue,
15719       { "servicePriorityValue", "h245.servicePriorityValue",
15720         FT_NONE, BASE_NONE, NULL, 0,
15721         NULL, HFILL }},
15722     { &hf_h245_serviceClass,
15723       { "serviceClass", "h245.serviceClass",
15724         FT_UINT32, BASE_DEC, NULL, 0,
15725         "INTEGER_0_4095", HFILL }},
15726     { &hf_h245_serviceSubclass,
15727       { "serviceSubclass", "h245.serviceSubclass",
15728         FT_UINT32, BASE_DEC, NULL, 0,
15729         "INTEGER_0_255", HFILL }},
15730     { &hf_h245_desired,
15731       { "desired", "h245.desired",
15732         FT_NONE, BASE_NONE, NULL, 0,
15733         NULL, HFILL }},
15734     { &hf_h245_required,
15735       { "required", "h245.required",
15736         FT_NONE, BASE_NONE, NULL, 0,
15737         NULL, HFILL }},
15738     { &hf_h245_class0,
15739       { "class0", "h245.class0",
15740         FT_NONE, BASE_NONE, NULL, 0,
15741         NULL, HFILL }},
15742     { &hf_h245_class1,
15743       { "class1", "h245.class1",
15744         FT_NONE, BASE_NONE, NULL, 0,
15745         NULL, HFILL }},
15746     { &hf_h245_class2,
15747       { "class2", "h245.class2",
15748         FT_NONE, BASE_NONE, NULL, 0,
15749         NULL, HFILL }},
15750     { &hf_h245_class3,
15751       { "class3", "h245.class3",
15752         FT_NONE, BASE_NONE, NULL, 0,
15753         NULL, HFILL }},
15754     { &hf_h245_class4,
15755       { "class4", "h245.class4",
15756         FT_NONE, BASE_NONE, NULL, 0,
15757         NULL, HFILL }},
15758     { &hf_h245_class5,
15759       { "class5", "h245.class5",
15760         FT_NONE, BASE_NONE, NULL, 0,
15761         NULL, HFILL }},
15762     { &hf_h245_qosType,
15763       { "qosType", "h245.qosType",
15764         FT_UINT32, BASE_DEC, VALS(h245_QOSType_vals), 0,
15765         NULL, HFILL }},
15766     { &hf_h245_qosClass,
15767       { "qosClass", "h245.qosClass",
15768         FT_UINT32, BASE_DEC, VALS(h245_QOSClass_vals), 0,
15769         NULL, HFILL }},
15770     { &hf_h245_averageRate,
15771       { "averageRate", "h245.averageRate",
15772         FT_UINT32, BASE_DEC, NULL, 0,
15773         "INTEGER_1_4294967295", HFILL }},
15774     { &hf_h245_burst,
15775       { "burst", "h245.burst",
15776         FT_UINT32, BASE_DEC, NULL, 0,
15777         "INTEGER_1_4294967295", HFILL }},
15778     { &hf_h245_rsvpParameters,
15779       { "rsvpParameters", "h245.rsvpParameters",
15780         FT_NONE, BASE_NONE, NULL, 0,
15781         NULL, HFILL }},
15782     { &hf_h245_atmParameters,
15783       { "atmParameters", "h245.atmParameters",
15784         FT_NONE, BASE_NONE, NULL, 0,
15785         NULL, HFILL }},
15786     { &hf_h245_localQoS,
15787       { "localQoS", "h245.localQoS",
15788         FT_BOOLEAN, BASE_NONE, NULL, 0,
15789         "BOOLEAN", HFILL }},
15790     { &hf_h245_genericTransportParameters,
15791       { "genericTransportParameters", "h245.genericTransportParameters",
15792         FT_NONE, BASE_NONE, NULL, 0,
15793         NULL, HFILL }},
15794     { &hf_h245_servicePriority,
15795       { "servicePriority", "h245.servicePriority",
15796         FT_NONE, BASE_NONE, NULL, 0,
15797         NULL, HFILL }},
15798     { &hf_h245_authorizationParameter,
15799       { "authorizationParameter", "h245.authorizationParameter",
15800         FT_NONE, BASE_NONE, NULL, 0,
15801         "AuthorizationParameters", HFILL }},
15802     { &hf_h245_qosDescriptor,
15803       { "qosDescriptor", "h245.qosDescriptor",
15804         FT_NONE, BASE_NONE, NULL, 0,
15805         NULL, HFILL }},
15806     { &hf_h245_dscpValue,
15807       { "dscpValue", "h245.dscpValue",
15808         FT_UINT32, BASE_DEC, NULL, 0,
15809         "INTEGER_0_63", HFILL }},
15810     { &hf_h245_ip_UDP,
15811       { "ip-UDP", "h245.ip_UDP",
15812         FT_NONE, BASE_NONE, NULL, 0,
15813         NULL, HFILL }},
15814     { &hf_h245_ip_TCP,
15815       { "ip-TCP", "h245.ip_TCP",
15816         FT_NONE, BASE_NONE, NULL, 0,
15817         NULL, HFILL }},
15818     { &hf_h245_atm_AAL5_UNIDIR,
15819       { "atm-AAL5-UNIDIR", "h245.atm_AAL5_UNIDIR",
15820         FT_NONE, BASE_NONE, NULL, 0,
15821         NULL, HFILL }},
15822     { &hf_h245_atm_AAL5_BIDIR,
15823       { "atm-AAL5-BIDIR", "h245.atm_AAL5_BIDIR",
15824         FT_NONE, BASE_NONE, NULL, 0,
15825         NULL, HFILL }},
15826     { &hf_h245_atm_AAL5_compressed,
15827       { "atm-AAL5-compressed", "h245.atm_AAL5_compressed",
15828         FT_NONE, BASE_NONE, NULL, 0,
15829         NULL, HFILL }},
15830     { &hf_h245_variable_delta,
15831       { "variable-delta", "h245.variable_delta",
15832         FT_BOOLEAN, BASE_NONE, NULL, 0,
15833         "BOOLEAN", HFILL }},
15834     { &hf_h245_mediaTransport,
15835       { "mediaTransport", "h245.mediaTransport",
15836         FT_UINT32, BASE_DEC, VALS(h245_MediaTransportType_vals), 0,
15837         "MediaTransportType", HFILL }},
15838     { &hf_h245_qOSCapabilities,
15839       { "qOSCapabilities", "h245.qOSCapabilities",
15840         FT_UINT32, BASE_DEC, NULL, 0,
15841         "SEQUENCE_SIZE_1_256_OF_QOSCapability", HFILL }},
15842     { &hf_h245_qOSCapabilities_item,
15843       { "QOSCapability", "h245.QOSCapability",
15844         FT_NONE, BASE_NONE, NULL, 0,
15845         NULL, HFILL }},
15846     { &hf_h245_mediaChannelCapabilities,
15847       { "mediaChannelCapabilities", "h245.mediaChannelCapabilities",
15848         FT_UINT32, BASE_DEC, NULL, 0,
15849         "SEQUENCE_SIZE_1_256_OF_MediaChannelCapability", HFILL }},
15850     { &hf_h245_mediaChannelCapabilities_item,
15851       { "MediaChannelCapability", "h245.MediaChannelCapability",
15852         FT_NONE, BASE_NONE, NULL, 0,
15853         NULL, HFILL }},
15854     { &hf_h245_redundancyEncodingMethod,
15855       { "redundancyEncodingMethod", "h245.redundancyEncodingMethod",
15856         FT_UINT32, BASE_DEC, VALS(h245_RedundancyEncodingMethod_vals), 0,
15857         NULL, HFILL }},
15858     { &hf_h245_primaryEncoding,
15859       { "primaryEncoding", "h245.primaryEncoding",
15860         FT_UINT32, BASE_DEC, NULL, 0,
15861         "CapabilityTableEntryNumber", HFILL }},
15862     { &hf_h245_secondaryEncodingCapability,
15863       { "secondaryEncoding", "h245.secondaryEncoding",
15864         FT_UINT32, BASE_DEC, NULL, 0,
15865         "SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber", HFILL }},
15866     { &hf_h245_secondaryEncodingCapability_item,
15867       { "CapabilityTableEntryNumber", "h245.CapabilityTableEntryNumber",
15868         FT_UINT32, BASE_DEC, NULL, 0,
15869         NULL, HFILL }},
15870     { &hf_h245_rtpAudioRedundancyEncoding,
15871       { "rtpAudioRedundancyEncoding", "h245.rtpAudioRedundancyEncoding",
15872         FT_NONE, BASE_NONE, NULL, 0,
15873         NULL, HFILL }},
15874     { &hf_h245_rtpH263VideoRedundancyEncoding,
15875       { "rtpH263VideoRedundancyEncoding", "h245.rtpH263VideoRedundancyEncoding",
15876         FT_NONE, BASE_NONE, NULL, 0,
15877         NULL, HFILL }},
15878     { &hf_h245_numberOfThreads,
15879       { "numberOfThreads", "h245.numberOfThreads",
15880         FT_UINT32, BASE_DEC, NULL, 0,
15881         "INTEGER_1_16", HFILL }},
15882     { &hf_h245_framesBetweenSyncPoints,
15883       { "framesBetweenSyncPoints", "h245.framesBetweenSyncPoints",
15884         FT_UINT32, BASE_DEC, NULL, 0,
15885         "INTEGER_1_256", HFILL }},
15886     { &hf_h245_frameToThreadMapping,
15887       { "frameToThreadMapping", "h245.frameToThreadMapping",
15888         FT_UINT32, BASE_DEC, VALS(h245_T_frameToThreadMapping_vals), 0,
15889         NULL, HFILL }},
15890     { &hf_h245_roundrobin,
15891       { "roundrobin", "h245.roundrobin",
15892         FT_NONE, BASE_NONE, NULL, 0,
15893         NULL, HFILL }},
15894     { &hf_h245_custom,
15895       { "custom", "h245.custom",
15896         FT_UINT32, BASE_DEC, NULL, 0,
15897         "SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping", HFILL }},
15898     { &hf_h245_custom_item,
15899       { "RTPH263VideoRedundancyFrameMapping", "h245.RTPH263VideoRedundancyFrameMapping",
15900         FT_NONE, BASE_NONE, NULL, 0,
15901         NULL, HFILL }},
15902     { &hf_h245_containedThreads,
15903       { "containedThreads", "h245.containedThreads",
15904         FT_UINT32, BASE_DEC, NULL, 0,
15905         NULL, HFILL }},
15906     { &hf_h245_containedThreads_item,
15907       { "containedThreads item", "h245.containedThreads_item",
15908         FT_UINT32, BASE_DEC, NULL, 0,
15909         "INTEGER_0_15", HFILL }},
15910     { &hf_h245_threadNumber,
15911       { "threadNumber", "h245.threadNumber",
15912         FT_UINT32, BASE_DEC, NULL, 0,
15913         "INTEGER_0_15", HFILL }},
15914     { &hf_h245_frameSequence,
15915       { "frameSequence", "h245.frameSequence",
15916         FT_UINT32, BASE_DEC, NULL, 0,
15917         NULL, HFILL }},
15918     { &hf_h245_frameSequence_item,
15919       { "frameSequence item", "h245.frameSequence_item",
15920         FT_UINT32, BASE_DEC, NULL, 0,
15921         "INTEGER_0_255", HFILL }},
15922     { &hf_h245_multicastCapability,
15923       { "multicastCapability", "h245.multicastCapability",
15924         FT_BOOLEAN, BASE_NONE, NULL, 0,
15925         "BOOLEAN", HFILL }},
15926     { &hf_h245_multiUniCastConference,
15927       { "multiUniCastConference", "h245.multiUniCastConference",
15928         FT_BOOLEAN, BASE_NONE, NULL, 0,
15929         "BOOLEAN", HFILL }},
15930     { &hf_h245_mediaDistributionCapability,
15931       { "mediaDistributionCapability", "h245.mediaDistributionCapability",
15932         FT_UINT32, BASE_DEC, NULL, 0,
15933         "SEQUENCE_OF_MediaDistributionCapability", HFILL }},
15934     { &hf_h245_mediaDistributionCapability_item,
15935       { "MediaDistributionCapability", "h245.MediaDistributionCapability",
15936         FT_NONE, BASE_NONE, NULL, 0,
15937         NULL, HFILL }},
15938     { &hf_h245_centralizedControl,
15939       { "centralizedControl", "h245.centralizedControl",
15940         FT_BOOLEAN, BASE_NONE, NULL, 0,
15941         "BOOLEAN", HFILL }},
15942     { &hf_h245_distributedControl,
15943       { "distributedControl", "h245.distributedControl",
15944         FT_BOOLEAN, BASE_NONE, NULL, 0,
15945         "BOOLEAN", HFILL }},
15946     { &hf_h245_centralizedAudio,
15947       { "centralizedAudio", "h245.centralizedAudio",
15948         FT_BOOLEAN, BASE_NONE, NULL, 0,
15949         "BOOLEAN", HFILL }},
15950     { &hf_h245_distributedAudio,
15951       { "distributedAudio", "h245.distributedAudio",
15952         FT_BOOLEAN, BASE_NONE, NULL, 0,
15953         "BOOLEAN", HFILL }},
15954     { &hf_h245_centralizedVideo,
15955       { "centralizedVideo", "h245.centralizedVideo",
15956         FT_BOOLEAN, BASE_NONE, NULL, 0,
15957         "BOOLEAN", HFILL }},
15958     { &hf_h245_distributedVideo,
15959       { "distributedVideo", "h245.distributedVideo",
15960         FT_BOOLEAN, BASE_NONE, NULL, 0,
15961         "BOOLEAN", HFILL }},
15962     { &hf_h245_centralizedData,
15963       { "centralizedData", "h245.centralizedData",
15964         FT_UINT32, BASE_DEC, NULL, 0,
15965         "SEQUENCE_OF_DataApplicationCapability", HFILL }},
15966     { &hf_h245_centralizedData_item,
15967       { "DataApplicationCapability", "h245.DataApplicationCapability",
15968         FT_NONE, BASE_NONE, NULL, 0,
15969         NULL, HFILL }},
15970     { &hf_h245_distributedData,
15971       { "distributedData", "h245.distributedData",
15972         FT_UINT32, BASE_DEC, NULL, 0,
15973         "SEQUENCE_OF_DataApplicationCapability", HFILL }},
15974     { &hf_h245_distributedData_item,
15975       { "DataApplicationCapability", "h245.DataApplicationCapability",
15976         FT_NONE, BASE_NONE, NULL, 0,
15977         NULL, HFILL }},
15978     { &hf_h245_h261VideoCapability,
15979       { "h261VideoCapability", "h245.h261VideoCapability",
15980         FT_NONE, BASE_NONE, NULL, 0,
15981         NULL, HFILL }},
15982     { &hf_h245_h262VideoCapability,
15983       { "h262VideoCapability", "h245.h262VideoCapability",
15984         FT_NONE, BASE_NONE, NULL, 0,
15985         NULL, HFILL }},
15986     { &hf_h245_h263VideoCapability,
15987       { "h263VideoCapability", "h245.h263VideoCapability",
15988         FT_NONE, BASE_NONE, NULL, 0,
15989         NULL, HFILL }},
15990     { &hf_h245_is11172VideoCapability,
15991       { "is11172VideoCapability", "h245.is11172VideoCapability",
15992         FT_NONE, BASE_NONE, NULL, 0,
15993         NULL, HFILL }},
15994     { &hf_h245_genericVideoCapability,
15995       { "genericVideoCapability", "h245.genericVideoCapability",
15996         FT_NONE, BASE_NONE, NULL, 0,
15997         "GenericCapability", HFILL }},
15998     { &hf_h245_extendedVideoCapability,
15999       { "extendedVideoCapability", "h245.extendedVideoCapability",
16000         FT_NONE, BASE_NONE, NULL, 0,
16001         NULL, HFILL }},
16002     { &hf_h245_videoCapability,
16003       { "videoCapability", "h245.videoCapability",
16004         FT_UINT32, BASE_DEC, NULL, 0,
16005         "SEQUENCE_OF_VideoCapability", HFILL }},
16006     { &hf_h245_videoCapability_item,
16007       { "VideoCapability", "h245.VideoCapability",
16008         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
16009         NULL, HFILL }},
16010     { &hf_h245_videoCapabilityExtension,
16011       { "videoCapabilityExtension", "h245.videoCapabilityExtension",
16012         FT_UINT32, BASE_DEC, NULL, 0,
16013         "SEQUENCE_OF_GenericCapability", HFILL }},
16014     { &hf_h245_videoCapabilityExtension_item,
16015       { "GenericCapability", "h245.GenericCapability",
16016         FT_NONE, BASE_NONE, NULL, 0,
16017         NULL, HFILL }},
16018     { &hf_h245_qcifMPI_1_4,
16019       { "qcifMPI", "h245.qcifMPI",
16020         FT_UINT32, BASE_DEC, NULL, 0,
16021         "INTEGER_1_4", HFILL }},
16022     { &hf_h245_cifMPI_1_4,
16023       { "cifMPI", "h245.cifMPI",
16024         FT_UINT32, BASE_DEC, NULL, 0,
16025         "INTEGER_1_4", HFILL }},
16026     { &hf_h245_temporalSpatialTradeOffCapability,
16027       { "temporalSpatialTradeOffCapability", "h245.temporalSpatialTradeOffCapability",
16028         FT_BOOLEAN, BASE_NONE, NULL, 0,
16029         "BOOLEAN", HFILL }},
16030     { &hf_h245_maxBitRate_1_19200,
16031       { "maxBitRate", "h245.maxBitRate",
16032         FT_UINT32, BASE_DEC, NULL, 0,
16033         "INTEGER_1_19200", HFILL }},
16034     { &hf_h245_stillImageTransmission,
16035       { "stillImageTransmission", "h245.stillImageTransmission",
16036         FT_BOOLEAN, BASE_NONE, NULL, 0,
16037         "BOOLEAN", HFILL }},
16038     { &hf_h245_videoBadMBsCap,
16039       { "videoBadMBsCap", "h245.videoBadMBsCap",
16040         FT_BOOLEAN, BASE_NONE, NULL, 0,
16041         "BOOLEAN", HFILL }},
16042     { &hf_h245_profileAndLevel_SPatML,
16043       { "profileAndLevel-SPatML", "h245.profileAndLevel_SPatML",
16044         FT_BOOLEAN, BASE_NONE, NULL, 0,
16045         "BOOLEAN", HFILL }},
16046     { &hf_h245_profileAndLevel_MPatLL,
16047       { "profileAndLevel-MPatLL", "h245.profileAndLevel_MPatLL",
16048         FT_BOOLEAN, BASE_NONE, NULL, 0,
16049         "BOOLEAN", HFILL }},
16050     { &hf_h245_profileAndLevel_MPatML,
16051       { "profileAndLevel-MPatML", "h245.profileAndLevel_MPatML",
16052         FT_BOOLEAN, BASE_NONE, NULL, 0,
16053         "BOOLEAN", HFILL }},
16054     { &hf_h245_profileAndLevel_MPatH_14,
16055       { "profileAndLevel-MPatH-14", "h245.profileAndLevel_MPatH_14",
16056         FT_BOOLEAN, BASE_NONE, NULL, 0,
16057         "BOOLEAN", HFILL }},
16058     { &hf_h245_profileAndLevel_MPatHL,
16059       { "profileAndLevel-MPatHL", "h245.profileAndLevel_MPatHL",
16060         FT_BOOLEAN, BASE_NONE, NULL, 0,
16061         "BOOLEAN", HFILL }},
16062     { &hf_h245_profileAndLevel_SNRatLL,
16063       { "profileAndLevel-SNRatLL", "h245.profileAndLevel_SNRatLL",
16064         FT_BOOLEAN, BASE_NONE, NULL, 0,
16065         "BOOLEAN", HFILL }},
16066     { &hf_h245_profileAndLevel_SNRatML,
16067       { "profileAndLevel-SNRatML", "h245.profileAndLevel_SNRatML",
16068         FT_BOOLEAN, BASE_NONE, NULL, 0,
16069         "BOOLEAN", HFILL }},
16070     { &hf_h245_profileAndLevel_SpatialatH_14,
16071       { "profileAndLevel-SpatialatH-14", "h245.profileAndLevel_SpatialatH_14",
16072         FT_BOOLEAN, BASE_NONE, NULL, 0,
16073         "BOOLEAN", HFILL }},
16074     { &hf_h245_profileAndLevel_HPatML,
16075       { "profileAndLevel-HPatML", "h245.profileAndLevel_HPatML",
16076         FT_BOOLEAN, BASE_NONE, NULL, 0,
16077         "BOOLEAN", HFILL }},
16078     { &hf_h245_profileAndLevel_HPatH_14,
16079       { "profileAndLevel-HPatH-14", "h245.profileAndLevel_HPatH_14",
16080         FT_BOOLEAN, BASE_NONE, NULL, 0,
16081         "BOOLEAN", HFILL }},
16082     { &hf_h245_profileAndLevel_HPatHL,
16083       { "profileAndLevel-HPatHL", "h245.profileAndLevel_HPatHL",
16084         FT_BOOLEAN, BASE_NONE, NULL, 0,
16085         "BOOLEAN", HFILL }},
16086     { &hf_h245_videoBitRate,
16087       { "videoBitRate", "h245.videoBitRate",
16088         FT_UINT32, BASE_DEC, NULL, 0,
16089         "INTEGER_0_1073741823", HFILL }},
16090     { &hf_h245_vbvBufferSize,
16091       { "vbvBufferSize", "h245.vbvBufferSize",
16092         FT_UINT32, BASE_DEC, NULL, 0,
16093         "INTEGER_0_262143", HFILL }},
16094     { &hf_h245_samplesPerLine,
16095       { "samplesPerLine", "h245.samplesPerLine",
16096         FT_UINT32, BASE_DEC, NULL, 0,
16097         "INTEGER_0_16383", HFILL }},
16098     { &hf_h245_linesPerFrame,
16099       { "linesPerFrame", "h245.linesPerFrame",
16100         FT_UINT32, BASE_DEC, NULL, 0,
16101         "INTEGER_0_16383", HFILL }},
16102     { &hf_h245_framesPerSecond,
16103       { "framesPerSecond", "h245.framesPerSecond",
16104         FT_UINT32, BASE_DEC, NULL, 0,
16105         "INTEGER_0_15", HFILL }},
16106     { &hf_h245_luminanceSampleRate,
16107       { "luminanceSampleRate", "h245.luminanceSampleRate",
16108         FT_UINT32, BASE_DEC, NULL, 0,
16109         "INTEGER_0_4294967295", HFILL }},
16110     { &hf_h245_sqcifMPI_1_32,
16111       { "sqcifMPI", "h245.sqcifMPI",
16112         FT_UINT32, BASE_DEC, NULL, 0,
16113         "INTEGER_1_32", HFILL }},
16114     { &hf_h245_qcifMPI,
16115       { "qcifMPI", "h245.qcifMPI",
16116         FT_UINT32, BASE_DEC, NULL, 0,
16117         "INTEGER_1_32", HFILL }},
16118     { &hf_h245_cifMPI,
16119       { "cifMPI", "h245.cifMPI",
16120         FT_UINT32, BASE_DEC, NULL, 0,
16121         "INTEGER_1_32", HFILL }},
16122     { &hf_h245_cif4MPI_1_32,
16123       { "cif4MPI", "h245.cif4MPI",
16124         FT_UINT32, BASE_DEC, NULL, 0,
16125         "INTEGER_1_32", HFILL }},
16126     { &hf_h245_cif16MPI_1_32,
16127       { "cif16MPI", "h245.cif16MPI",
16128         FT_UINT32, BASE_DEC, NULL, 0,
16129         "INTEGER_1_32", HFILL }},
16130     { &hf_h245_maxBitRate,
16131       { "maxBitRate", "h245.maxBitRate",
16132         FT_UINT32, BASE_DEC, NULL, 0,
16133         "INTEGER_1_192400", HFILL }},
16134     { &hf_h245_unrestrictedVector,
16135       { "unrestrictedVector", "h245.unrestrictedVector",
16136         FT_BOOLEAN, BASE_NONE, NULL, 0,
16137         "BOOLEAN", HFILL }},
16138     { &hf_h245_arithmeticCoding,
16139       { "arithmeticCoding", "h245.arithmeticCoding",
16140         FT_BOOLEAN, BASE_NONE, NULL, 0,
16141         "BOOLEAN", HFILL }},
16142     { &hf_h245_advancedPrediction,
16143       { "advancedPrediction", "h245.advancedPrediction",
16144         FT_BOOLEAN, BASE_NONE, NULL, 0,
16145         "BOOLEAN", HFILL }},
16146     { &hf_h245_pbFrames,
16147       { "pbFrames", "h245.pbFrames",
16148         FT_BOOLEAN, BASE_NONE, NULL, 0,
16149         "BOOLEAN", HFILL }},
16150     { &hf_h245_hrd_B,
16151       { "hrd-B", "h245.hrd_B",
16152         FT_UINT32, BASE_DEC, NULL, 0,
16153         "INTEGER_0_524287", HFILL }},
16154     { &hf_h245_bppMaxKb,
16155       { "bppMaxKb", "h245.bppMaxKb",
16156         FT_UINT32, BASE_DEC, NULL, 0,
16157         "INTEGER_0_65535", HFILL }},
16158     { &hf_h245_slowSqcifMPI,
16159       { "slowSqcifMPI", "h245.slowSqcifMPI",
16160         FT_UINT32, BASE_DEC, NULL, 0,
16161         "INTEGER_1_3600", HFILL }},
16162     { &hf_h245_slowQcifMPI,
16163       { "slowQcifMPI", "h245.slowQcifMPI",
16164         FT_UINT32, BASE_DEC, NULL, 0,
16165         "INTEGER_1_3600", HFILL }},
16166     { &hf_h245_slowCifMPI,
16167       { "slowCifMPI", "h245.slowCifMPI",
16168         FT_UINT32, BASE_DEC, NULL, 0,
16169         "INTEGER_1_3600", HFILL }},
16170     { &hf_h245_slowCif4MPI,
16171       { "slowCif4MPI", "h245.slowCif4MPI",
16172         FT_UINT32, BASE_DEC, NULL, 0,
16173         "INTEGER_1_3600", HFILL }},
16174     { &hf_h245_slowCif16MPI,
16175       { "slowCif16MPI", "h245.slowCif16MPI",
16176         FT_UINT32, BASE_DEC, NULL, 0,
16177         "INTEGER_1_3600", HFILL }},
16178     { &hf_h245_errorCompensation,
16179       { "errorCompensation", "h245.errorCompensation",
16180         FT_BOOLEAN, BASE_NONE, NULL, 0,
16181         "BOOLEAN", HFILL }},
16182     { &hf_h245_enhancementLayerInfo,
16183       { "enhancementLayerInfo", "h245.enhancementLayerInfo",
16184         FT_NONE, BASE_NONE, NULL, 0,
16185         NULL, HFILL }},
16186     { &hf_h245_h263Options,
16187       { "h263Options", "h245.h263Options",
16188         FT_NONE, BASE_NONE, NULL, 0,
16189         NULL, HFILL }},
16190     { &hf_h245_baseBitRateConstrained,
16191       { "baseBitRateConstrained", "h245.baseBitRateConstrained",
16192         FT_BOOLEAN, BASE_NONE, NULL, 0,
16193         "BOOLEAN", HFILL }},
16194     { &hf_h245_snrEnhancement,
16195       { "snrEnhancement", "h245.snrEnhancement",
16196         FT_UINT32, BASE_DEC, NULL, 0,
16197         "SET_SIZE_1_14_OF_EnhancementOptions", HFILL }},
16198     { &hf_h245_snrEnhancement_item,
16199       { "EnhancementOptions", "h245.EnhancementOptions",
16200         FT_NONE, BASE_NONE, NULL, 0,
16201         NULL, HFILL }},
16202     { &hf_h245_spatialEnhancement,
16203       { "spatialEnhancement", "h245.spatialEnhancement",
16204         FT_UINT32, BASE_DEC, NULL, 0,
16205         "SET_SIZE_1_14_OF_EnhancementOptions", HFILL }},
16206     { &hf_h245_spatialEnhancement_item,
16207       { "EnhancementOptions", "h245.EnhancementOptions",
16208         FT_NONE, BASE_NONE, NULL, 0,
16209         NULL, HFILL }},
16210     { &hf_h245_bPictureEnhancement,
16211       { "bPictureEnhancement", "h245.bPictureEnhancement",
16212         FT_UINT32, BASE_DEC, NULL, 0,
16213         "SET_SIZE_1_14_OF_BEnhancementParameters", HFILL }},
16214     { &hf_h245_bPictureEnhancement_item,
16215       { "BEnhancementParameters", "h245.BEnhancementParameters",
16216         FT_NONE, BASE_NONE, NULL, 0,
16217         NULL, HFILL }},
16218     { &hf_h245_enhancementOptions,
16219       { "enhancementOptions", "h245.enhancementOptions",
16220         FT_NONE, BASE_NONE, NULL, 0,
16221         NULL, HFILL }},
16222     { &hf_h245_numberOfBPictures,
16223       { "numberOfBPictures", "h245.numberOfBPictures",
16224         FT_UINT32, BASE_DEC, NULL, 0,
16225         "INTEGER_1_64", HFILL }},
16226     { &hf_h245_advancedIntraCodingMode,
16227       { "advancedIntraCodingMode", "h245.advancedIntraCodingMode",
16228         FT_BOOLEAN, BASE_NONE, NULL, 0,
16229         "BOOLEAN", HFILL }},
16230     { &hf_h245_deblockingFilterMode,
16231       { "deblockingFilterMode", "h245.deblockingFilterMode",
16232         FT_BOOLEAN, BASE_NONE, NULL, 0,
16233         "BOOLEAN", HFILL }},
16234     { &hf_h245_improvedPBFramesMode,
16235       { "improvedPBFramesMode", "h245.improvedPBFramesMode",
16236         FT_BOOLEAN, BASE_NONE, NULL, 0,
16237         "BOOLEAN", HFILL }},
16238     { &hf_h245_unlimitedMotionVectors,
16239       { "unlimitedMotionVectors", "h245.unlimitedMotionVectors",
16240         FT_BOOLEAN, BASE_NONE, NULL, 0,
16241         "BOOLEAN", HFILL }},
16242     { &hf_h245_fullPictureFreeze,
16243       { "fullPictureFreeze", "h245.fullPictureFreeze",
16244         FT_BOOLEAN, BASE_NONE, NULL, 0,
16245         "BOOLEAN", HFILL }},
16246     { &hf_h245_partialPictureFreezeAndRelease,
16247       { "partialPictureFreezeAndRelease", "h245.partialPictureFreezeAndRelease",
16248         FT_BOOLEAN, BASE_NONE, NULL, 0,
16249         "BOOLEAN", HFILL }},
16250     { &hf_h245_resizingPartPicFreezeAndRelease,
16251       { "resizingPartPicFreezeAndRelease", "h245.resizingPartPicFreezeAndRelease",
16252         FT_BOOLEAN, BASE_NONE, NULL, 0,
16253         "BOOLEAN", HFILL }},
16254     { &hf_h245_fullPictureSnapshot,
16255       { "fullPictureSnapshot", "h245.fullPictureSnapshot",
16256         FT_BOOLEAN, BASE_NONE, NULL, 0,
16257         "BOOLEAN", HFILL }},
16258     { &hf_h245_partialPictureSnapshot,
16259       { "partialPictureSnapshot", "h245.partialPictureSnapshot",
16260         FT_BOOLEAN, BASE_NONE, NULL, 0,
16261         "BOOLEAN", HFILL }},
16262     { &hf_h245_videoSegmentTagging,
16263       { "videoSegmentTagging", "h245.videoSegmentTagging",
16264         FT_BOOLEAN, BASE_NONE, NULL, 0,
16265         "BOOLEAN", HFILL }},
16266     { &hf_h245_progressiveRefinement,
16267       { "progressiveRefinement", "h245.progressiveRefinement",
16268         FT_BOOLEAN, BASE_NONE, NULL, 0,
16269         "BOOLEAN", HFILL }},
16270     { &hf_h245_dynamicPictureResizingByFour,
16271       { "dynamicPictureResizingByFour", "h245.dynamicPictureResizingByFour",
16272         FT_BOOLEAN, BASE_NONE, NULL, 0,
16273         "BOOLEAN", HFILL }},
16274     { &hf_h245_dynamicPictureResizingSixteenthPel,
16275       { "dynamicPictureResizingSixteenthPel", "h245.dynamicPictureResizingSixteenthPel",
16276         FT_BOOLEAN, BASE_NONE, NULL, 0,
16277         "BOOLEAN", HFILL }},
16278     { &hf_h245_dynamicWarpingHalfPel,
16279       { "dynamicWarpingHalfPel", "h245.dynamicWarpingHalfPel",
16280         FT_BOOLEAN, BASE_NONE, NULL, 0,
16281         "BOOLEAN", HFILL }},
16282     { &hf_h245_dynamicWarpingSixteenthPel,
16283       { "dynamicWarpingSixteenthPel", "h245.dynamicWarpingSixteenthPel",
16284         FT_BOOLEAN, BASE_NONE, NULL, 0,
16285         "BOOLEAN", HFILL }},
16286     { &hf_h245_independentSegmentDecoding,
16287       { "independentSegmentDecoding", "h245.independentSegmentDecoding",
16288         FT_BOOLEAN, BASE_NONE, NULL, 0,
16289         "BOOLEAN", HFILL }},
16290     { &hf_h245_slicesInOrder_NonRect,
16291       { "slicesInOrder-NonRect", "h245.slicesInOrder_NonRect",
16292         FT_BOOLEAN, BASE_NONE, NULL, 0,
16293         "BOOLEAN", HFILL }},
16294     { &hf_h245_slicesInOrder_Rect,
16295       { "slicesInOrder-Rect", "h245.slicesInOrder_Rect",
16296         FT_BOOLEAN, BASE_NONE, NULL, 0,
16297         "BOOLEAN", HFILL }},
16298     { &hf_h245_slicesNoOrder_NonRect,
16299       { "slicesNoOrder-NonRect", "h245.slicesNoOrder_NonRect",
16300         FT_BOOLEAN, BASE_NONE, NULL, 0,
16301         "BOOLEAN", HFILL }},
16302     { &hf_h245_slicesNoOrder_Rect,
16303       { "slicesNoOrder-Rect", "h245.slicesNoOrder_Rect",
16304         FT_BOOLEAN, BASE_NONE, NULL, 0,
16305         "BOOLEAN", HFILL }},
16306     { &hf_h245_alternateInterVLCMode,
16307       { "alternateInterVLCMode", "h245.alternateInterVLCMode",
16308         FT_BOOLEAN, BASE_NONE, NULL, 0,
16309         "BOOLEAN", HFILL }},
16310     { &hf_h245_modifiedQuantizationMode,
16311       { "modifiedQuantizationMode", "h245.modifiedQuantizationMode",
16312         FT_BOOLEAN, BASE_NONE, NULL, 0,
16313         "BOOLEAN", HFILL }},
16314     { &hf_h245_reducedResolutionUpdate,
16315       { "reducedResolutionUpdate", "h245.reducedResolutionUpdate",
16316         FT_BOOLEAN, BASE_NONE, NULL, 0,
16317         "BOOLEAN", HFILL }},
16318     { &hf_h245_transparencyParameters,
16319       { "transparencyParameters", "h245.transparencyParameters",
16320         FT_NONE, BASE_NONE, NULL, 0,
16321         NULL, HFILL }},
16322     { &hf_h245_separateVideoBackChannel,
16323       { "separateVideoBackChannel", "h245.separateVideoBackChannel",
16324         FT_BOOLEAN, BASE_NONE, NULL, 0,
16325         "BOOLEAN", HFILL }},
16326     { &hf_h245_refPictureSelection,
16327       { "refPictureSelection", "h245.refPictureSelection",
16328         FT_NONE, BASE_NONE, NULL, 0,
16329         NULL, HFILL }},
16330     { &hf_h245_customPictureClockFrequency,
16331       { "customPictureClockFrequency", "h245.customPictureClockFrequency",
16332         FT_UINT32, BASE_DEC, NULL, 0,
16333         "SET_SIZE_1_16_OF_CustomPictureClockFrequency", HFILL }},
16334     { &hf_h245_customPictureClockFrequency_item,
16335       { "CustomPictureClockFrequency", "h245.CustomPictureClockFrequency",
16336         FT_NONE, BASE_NONE, NULL, 0,
16337         NULL, HFILL }},
16338     { &hf_h245_customPictureFormat,
16339       { "customPictureFormat", "h245.customPictureFormat",
16340         FT_UINT32, BASE_DEC, NULL, 0,
16341         "SET_SIZE_1_16_OF_CustomPictureFormat", HFILL }},
16342     { &hf_h245_customPictureFormat_item,
16343       { "CustomPictureFormat", "h245.CustomPictureFormat",
16344         FT_NONE, BASE_NONE, NULL, 0,
16345         NULL, HFILL }},
16346     { &hf_h245_modeCombos,
16347       { "modeCombos", "h245.modeCombos",
16348         FT_UINT32, BASE_DEC, NULL, 0,
16349         "SET_SIZE_1_16_OF_H263VideoModeCombos", HFILL }},
16350     { &hf_h245_modeCombos_item,
16351       { "H263VideoModeCombos", "h245.H263VideoModeCombos",
16352         FT_NONE, BASE_NONE, NULL, 0,
16353         NULL, HFILL }},
16354     { &hf_h245_h263Version3Options,
16355       { "h263Version3Options", "h245.h263Version3Options",
16356         FT_NONE, BASE_NONE, NULL, 0,
16357         NULL, HFILL }},
16358     { &hf_h245_presentationOrder,
16359       { "presentationOrder", "h245.presentationOrder",
16360         FT_UINT32, BASE_DEC, NULL, 0,
16361         "INTEGER_1_256", HFILL }},
16362     { &hf_h245_offset_x,
16363       { "offset-x", "h245.offset_x",
16364         FT_INT32, BASE_DEC, NULL, 0,
16365         "INTEGER_M262144_262143", HFILL }},
16366     { &hf_h245_offset_y,
16367       { "offset-y", "h245.offset_y",
16368         FT_INT32, BASE_DEC, NULL, 0,
16369         "INTEGER_M262144_262143", HFILL }},
16370     { &hf_h245_scale_x,
16371       { "scale-x", "h245.scale_x",
16372         FT_UINT32, BASE_DEC, NULL, 0,
16373         "INTEGER_1_255", HFILL }},
16374     { &hf_h245_scale_y,
16375       { "scale-y", "h245.scale_y",
16376         FT_UINT32, BASE_DEC, NULL, 0,
16377         "INTEGER_1_255", HFILL }},
16378     { &hf_h245_additionalPictureMemory,
16379       { "additionalPictureMemory", "h245.additionalPictureMemory",
16380         FT_NONE, BASE_NONE, NULL, 0,
16381         NULL, HFILL }},
16382     { &hf_h245_sqcifAdditionalPictureMemory,
16383       { "sqcifAdditionalPictureMemory", "h245.sqcifAdditionalPictureMemory",
16384         FT_UINT32, BASE_DEC, NULL, 0,
16385         "INTEGER_1_256", HFILL }},
16386     { &hf_h245_qcifAdditionalPictureMemory,
16387       { "qcifAdditionalPictureMemory", "h245.qcifAdditionalPictureMemory",
16388         FT_UINT32, BASE_DEC, NULL, 0,
16389         "INTEGER_1_256", HFILL }},
16390     { &hf_h245_cifAdditionalPictureMemory,
16391       { "cifAdditionalPictureMemory", "h245.cifAdditionalPictureMemory",
16392         FT_UINT32, BASE_DEC, NULL, 0,
16393         "INTEGER_1_256", HFILL }},
16394     { &hf_h245_cif4AdditionalPictureMemory,
16395       { "cif4AdditionalPictureMemory", "h245.cif4AdditionalPictureMemory",
16396         FT_UINT32, BASE_DEC, NULL, 0,
16397         "INTEGER_1_256", HFILL }},
16398     { &hf_h245_cif16AdditionalPictureMemory,
16399       { "cif16AdditionalPictureMemory", "h245.cif16AdditionalPictureMemory",
16400         FT_UINT32, BASE_DEC, NULL, 0,
16401         "INTEGER_1_256", HFILL }},
16402     { &hf_h245_bigCpfAdditionalPictureMemory,
16403       { "bigCpfAdditionalPictureMemory", "h245.bigCpfAdditionalPictureMemory",
16404         FT_UINT32, BASE_DEC, NULL, 0,
16405         "INTEGER_1_256", HFILL }},
16406     { &hf_h245_videoMux,
16407       { "videoMux", "h245.videoMux",
16408         FT_BOOLEAN, BASE_NONE, NULL, 0,
16409         "BOOLEAN", HFILL }},
16410     { &hf_h245_videoBackChannelSend,
16411       { "videoBackChannelSend", "h245.videoBackChannelSend",
16412         FT_UINT32, BASE_DEC, VALS(h245_T_videoBackChannelSend_vals), 0,
16413         NULL, HFILL }},
16414     { &hf_h245_none,
16415       { "none", "h245.none",
16416         FT_NONE, BASE_NONE, NULL, 0,
16417         NULL, HFILL }},
16418     { &hf_h245_ackMessageOnly,
16419       { "ackMessageOnly", "h245.ackMessageOnly",
16420         FT_NONE, BASE_NONE, NULL, 0,
16421         NULL, HFILL }},
16422     { &hf_h245_nackMessageOnly,
16423       { "nackMessageOnly", "h245.nackMessageOnly",
16424         FT_NONE, BASE_NONE, NULL, 0,
16425         NULL, HFILL }},
16426     { &hf_h245_ackOrNackMessageOnly,
16427       { "ackOrNackMessageOnly", "h245.ackOrNackMessageOnly",
16428         FT_NONE, BASE_NONE, NULL, 0,
16429         NULL, HFILL }},
16430     { &hf_h245_ackAndNackMessage,
16431       { "ackAndNackMessage", "h245.ackAndNackMessage",
16432         FT_NONE, BASE_NONE, NULL, 0,
16433         NULL, HFILL }},
16434     { &hf_h245_enhancedReferencePicSelect,
16435       { "enhancedReferencePicSelect", "h245.enhancedReferencePicSelect",
16436         FT_NONE, BASE_NONE, NULL, 0,
16437         NULL, HFILL }},
16438     { &hf_h245_subPictureRemovalParameters,
16439       { "subPictureRemovalParameters", "h245.subPictureRemovalParameters",
16440         FT_NONE, BASE_NONE, NULL, 0,
16441         NULL, HFILL }},
16442     { &hf_h245_mpuHorizMBs,
16443       { "mpuHorizMBs", "h245.mpuHorizMBs",
16444         FT_UINT32, BASE_DEC, NULL, 0,
16445         "INTEGER_1_128", HFILL }},
16446     { &hf_h245_mpuVertMBs,
16447       { "mpuVertMBs", "h245.mpuVertMBs",
16448         FT_UINT32, BASE_DEC, NULL, 0,
16449         "INTEGER_1_72", HFILL }},
16450     { &hf_h245_mpuTotalNumber,
16451       { "mpuTotalNumber", "h245.mpuTotalNumber",
16452         FT_UINT32, BASE_DEC, NULL, 0,
16453         "INTEGER_1_65536", HFILL }},
16454     { &hf_h245_clockConversionCode,
16455       { "clockConversionCode", "h245.clockConversionCode",
16456         FT_UINT32, BASE_DEC, NULL, 0,
16457         "INTEGER_1000_1001", HFILL }},
16458     { &hf_h245_clockDivisor,
16459       { "clockDivisor", "h245.clockDivisor",
16460         FT_UINT32, BASE_DEC, NULL, 0,
16461         "INTEGER_1_127", HFILL }},
16462     { &hf_h245_sqcifMPI,
16463       { "sqcifMPI", "h245.sqcifMPI",
16464         FT_UINT32, BASE_DEC, NULL, 0,
16465         "INTEGER_1_2048", HFILL }},
16466     { &hf_h245_qcifMPI_1_2048,
16467       { "qcifMPI", "h245.qcifMPI",
16468         FT_UINT32, BASE_DEC, NULL, 0,
16469         "INTEGER_1_2048", HFILL }},
16470     { &hf_h245_cifMPI2_1_2048,
16471       { "cifMPI", "h245.cifMPI",
16472         FT_UINT32, BASE_DEC, NULL, 0,
16473         "INTEGER_1_2048", HFILL }},
16474     { &hf_h245_cif4MPI,
16475       { "cif4MPI", "h245.cif4MPI",
16476         FT_UINT32, BASE_DEC, NULL, 0,
16477         "INTEGER_1_2048", HFILL }},
16478     { &hf_h245_cif16MPI,
16479       { "cif16MPI", "h245.cif16MPI",
16480         FT_UINT32, BASE_DEC, NULL, 0,
16481         "INTEGER_1_2048", HFILL }},
16482     { &hf_h245_maxCustomPictureWidth,
16483       { "maxCustomPictureWidth", "h245.maxCustomPictureWidth",
16484         FT_UINT32, BASE_DEC, NULL, 0,
16485         "INTEGER_1_2048", HFILL }},
16486     { &hf_h245_maxCustomPictureHeight,
16487       { "maxCustomPictureHeight", "h245.maxCustomPictureHeight",
16488         FT_UINT32, BASE_DEC, NULL, 0,
16489         "INTEGER_1_2048", HFILL }},
16490     { &hf_h245_minCustomPictureWidth,
16491       { "minCustomPictureWidth", "h245.minCustomPictureWidth",
16492         FT_UINT32, BASE_DEC, NULL, 0,
16493         "INTEGER_1_2048", HFILL }},
16494     { &hf_h245_minCustomPictureHeight,
16495       { "minCustomPictureHeight", "h245.minCustomPictureHeight",
16496         FT_UINT32, BASE_DEC, NULL, 0,
16497         "INTEGER_1_2048", HFILL }},
16498     { &hf_h245_mPI,
16499       { "mPI", "h245.mPI",
16500         FT_NONE, BASE_NONE, NULL, 0,
16501         NULL, HFILL }},
16502     { &hf_h245_standardMPI,
16503       { "standardMPI", "h245.standardMPI",
16504         FT_UINT32, BASE_DEC, NULL, 0,
16505         "INTEGER_1_31", HFILL }},
16506     { &hf_h245_customPCF,
16507       { "customPCF", "h245.customPCF",
16508         FT_UINT32, BASE_DEC, NULL, 0,
16509         NULL, HFILL }},
16510     { &hf_h245_customPCF_item,
16511       { "customPCF item", "h245.customPCF_item",
16512         FT_NONE, BASE_NONE, NULL, 0,
16513         NULL, HFILL }},
16514     { &hf_h245_customMPI,
16515       { "customMPI", "h245.customMPI",
16516         FT_UINT32, BASE_DEC, NULL, 0,
16517         "INTEGER_1_2048", HFILL }},
16518     { &hf_h245_pixelAspectInformation,
16519       { "pixelAspectInformation", "h245.pixelAspectInformation",
16520         FT_UINT32, BASE_DEC, VALS(h245_T_pixelAspectInformation_vals), 0,
16521         NULL, HFILL }},
16522     { &hf_h245_anyPixelAspectRatio,
16523       { "anyPixelAspectRatio", "h245.anyPixelAspectRatio",
16524         FT_BOOLEAN, BASE_NONE, NULL, 0,
16525         "BOOLEAN", HFILL }},
16526     { &hf_h245_pixelAspectCode,
16527       { "pixelAspectCode", "h245.pixelAspectCode",
16528         FT_UINT32, BASE_DEC, NULL, 0,
16529         NULL, HFILL }},
16530     { &hf_h245_pixelAspectCode_item,
16531       { "pixelAspectCode item", "h245.pixelAspectCode_item",
16532         FT_UINT32, BASE_DEC, NULL, 0,
16533         "INTEGER_1_14", HFILL }},
16534     { &hf_h245_extendedPAR,
16535       { "extendedPAR", "h245.extendedPAR",
16536         FT_UINT32, BASE_DEC, NULL, 0,
16537         NULL, HFILL }},
16538     { &hf_h245_extendedPAR_item,
16539       { "extendedPAR item", "h245.extendedPAR_item",
16540         FT_NONE, BASE_NONE, NULL, 0,
16541         NULL, HFILL }},
16542     { &hf_h245_width,
16543       { "width", "h245.width",
16544         FT_UINT32, BASE_DEC, NULL, 0,
16545         "INTEGER_1_255", HFILL }},
16546     { &hf_h245_height,
16547       { "height", "h245.height",
16548         FT_UINT32, BASE_DEC, NULL, 0,
16549         "INTEGER_1_255", HFILL }},
16550     { &hf_h245_h263VideoUncoupledModes,
16551       { "h263VideoUncoupledModes", "h245.h263VideoUncoupledModes",
16552         FT_NONE, BASE_NONE, NULL, 0,
16553         "H263ModeComboFlags", HFILL }},
16554     { &hf_h245_h263VideoCoupledModes,
16555       { "h263VideoCoupledModes", "h245.h263VideoCoupledModes",
16556         FT_UINT32, BASE_DEC, NULL, 0,
16557         "SET_SIZE_1_16_OF_H263ModeComboFlags", HFILL }},
16558     { &hf_h245_h263VideoCoupledModes_item,
16559       { "H263ModeComboFlags", "h245.H263ModeComboFlags",
16560         FT_NONE, BASE_NONE, NULL, 0,
16561         NULL, HFILL }},
16562     { &hf_h245_referencePicSelect,
16563       { "referencePicSelect", "h245.referencePicSelect",
16564         FT_BOOLEAN, BASE_NONE, NULL, 0,
16565         "BOOLEAN", HFILL }},
16566     { &hf_h245_enhancedReferencePicSelectBool,
16567       { "enhancedReferencePicSelect", "h245.enhancedReferencePicSelect",
16568         FT_BOOLEAN, BASE_NONE, NULL, 0,
16569         "BOOLEAN", HFILL }},
16570     { &hf_h245_dataPartitionedSlices,
16571       { "dataPartitionedSlices", "h245.dataPartitionedSlices",
16572         FT_BOOLEAN, BASE_NONE, NULL, 0,
16573         "BOOLEAN", HFILL }},
16574     { &hf_h245_fixedPointIDCT0,
16575       { "fixedPointIDCT0", "h245.fixedPointIDCT0",
16576         FT_BOOLEAN, BASE_NONE, NULL, 0,
16577         "BOOLEAN", HFILL }},
16578     { &hf_h245_interlacedFields,
16579       { "interlacedFields", "h245.interlacedFields",
16580         FT_BOOLEAN, BASE_NONE, NULL, 0,
16581         "BOOLEAN", HFILL }},
16582     { &hf_h245_currentPictureHeaderRepetition,
16583       { "currentPictureHeaderRepetition", "h245.currentPictureHeaderRepetition",
16584         FT_BOOLEAN, BASE_NONE, NULL, 0,
16585         "BOOLEAN", HFILL }},
16586     { &hf_h245_previousPictureHeaderRepetition,
16587       { "previousPictureHeaderRepetition", "h245.previousPictureHeaderRepetition",
16588         FT_BOOLEAN, BASE_NONE, NULL, 0,
16589         "BOOLEAN", HFILL }},
16590     { &hf_h245_nextPictureHeaderRepetition,
16591       { "nextPictureHeaderRepetition", "h245.nextPictureHeaderRepetition",
16592         FT_BOOLEAN, BASE_NONE, NULL, 0,
16593         "BOOLEAN", HFILL }},
16594     { &hf_h245_pictureNumberBoolean,
16595       { "pictureNumber", "h245.pictureNumber",
16596         FT_BOOLEAN, BASE_NONE, NULL, 0,
16597         "BOOLEAN", HFILL }},
16598     { &hf_h245_spareReferencePictures,
16599       { "spareReferencePictures", "h245.spareReferencePictures",
16600         FT_BOOLEAN, BASE_NONE, NULL, 0,
16601         "BOOLEAN", HFILL }},
16602     { &hf_h245_constrainedBitstream,
16603       { "constrainedBitstream", "h245.constrainedBitstream",
16604         FT_BOOLEAN, BASE_NONE, NULL, 0,
16605         "BOOLEAN", HFILL }},
16606     { &hf_h245_pictureRate,
16607       { "pictureRate", "h245.pictureRate",
16608         FT_UINT32, BASE_DEC, NULL, 0,
16609         "INTEGER_0_15", HFILL }},
16610     { &hf_h245_g711Alaw64k,
16611       { "g711Alaw64k", "h245.g711Alaw64k",
16612         FT_UINT32, BASE_DEC, NULL, 0,
16613         "INTEGER_1_256", HFILL }},
16614     { &hf_h245_g711Alaw56k,
16615       { "g711Alaw56k", "h245.g711Alaw56k",
16616         FT_UINT32, BASE_DEC, NULL, 0,
16617         "INTEGER_1_256", HFILL }},
16618     { &hf_h245_g711Ulaw64k,
16619       { "g711Ulaw64k", "h245.g711Ulaw64k",
16620         FT_UINT32, BASE_DEC, NULL, 0,
16621         "INTEGER_1_256", HFILL }},
16622     { &hf_h245_g711Ulaw56k,
16623       { "g711Ulaw56k", "h245.g711Ulaw56k",
16624         FT_UINT32, BASE_DEC, NULL, 0,
16625         "INTEGER_1_256", HFILL }},
16626     { &hf_h245_g722_64k,
16627       { "g722-64k", "h245.g722_64k",
16628         FT_UINT32, BASE_DEC, NULL, 0,
16629         "INTEGER_1_256", HFILL }},
16630     { &hf_h245_g722_56k,
16631       { "g722-56k", "h245.g722_56k",
16632         FT_UINT32, BASE_DEC, NULL, 0,
16633         "INTEGER_1_256", HFILL }},
16634     { &hf_h245_g722_48k,
16635       { "g722-48k", "h245.g722_48k",
16636         FT_UINT32, BASE_DEC, NULL, 0,
16637         "INTEGER_1_256", HFILL }},
16638     { &hf_h245_g7231,
16639       { "g7231", "h245.g7231",
16640         FT_NONE, BASE_NONE, NULL, 0,
16641         NULL, HFILL }},
16642     { &hf_h245_maxAl_sduAudioFrames,
16643       { "maxAl-sduAudioFrames", "h245.maxAl_sduAudioFrames",
16644         FT_UINT32, BASE_DEC, NULL, 0,
16645         "INTEGER_1_256", HFILL }},
16646     { &hf_h245_silenceSuppression,
16647       { "silenceSuppression", "h245.silenceSuppression",
16648         FT_BOOLEAN, BASE_NONE, NULL, 0,
16649         "BOOLEAN", HFILL }},
16650     { &hf_h245_g728,
16651       { "g728", "h245.g728",
16652         FT_UINT32, BASE_DEC, NULL, 0,
16653         "INTEGER_1_256", HFILL }},
16654     { &hf_h245_g729,
16655       { "g729", "h245.g729",
16656         FT_UINT32, BASE_DEC, NULL, 0,
16657         "INTEGER_1_256", HFILL }},
16658     { &hf_h245_g729AnnexA,
16659       { "g729AnnexA", "h245.g729AnnexA",
16660         FT_UINT32, BASE_DEC, NULL, 0,
16661         "INTEGER_1_256", HFILL }},
16662     { &hf_h245_is11172AudioCapability,
16663       { "is11172AudioCapability", "h245.is11172AudioCapability",
16664         FT_NONE, BASE_NONE, NULL, 0,
16665         NULL, HFILL }},
16666     { &hf_h245_is13818AudioCapability,
16667       { "is13818AudioCapability", "h245.is13818AudioCapability",
16668         FT_NONE, BASE_NONE, NULL, 0,
16669         NULL, HFILL }},
16670     { &hf_h245_g729wAnnexB,
16671       { "g729wAnnexB", "h245.g729wAnnexB",
16672         FT_UINT32, BASE_DEC, NULL, 0,
16673         "INTEGER_1_256", HFILL }},
16674     { &hf_h245_g729AnnexAwAnnexB,
16675       { "g729AnnexAwAnnexB", "h245.g729AnnexAwAnnexB",
16676         FT_UINT32, BASE_DEC, NULL, 0,
16677         "INTEGER_1_256", HFILL }},
16678     { &hf_h245_g7231AnnexCCapability,
16679       { "g7231AnnexCCapability", "h245.g7231AnnexCCapability",
16680         FT_NONE, BASE_NONE, NULL, 0,
16681         NULL, HFILL }},
16682     { &hf_h245_gsmFullRate,
16683       { "gsmFullRate", "h245.gsmFullRate",
16684         FT_NONE, BASE_NONE, NULL, 0,
16685         "GSMAudioCapability", HFILL }},
16686     { &hf_h245_gsmHalfRate,
16687       { "gsmHalfRate", "h245.gsmHalfRate",
16688         FT_NONE, BASE_NONE, NULL, 0,
16689         "GSMAudioCapability", HFILL }},
16690     { &hf_h245_gsmEnhancedFullRate,
16691       { "gsmEnhancedFullRate", "h245.gsmEnhancedFullRate",
16692         FT_NONE, BASE_NONE, NULL, 0,
16693         "GSMAudioCapability", HFILL }},
16694     { &hf_h245_genericAudioCapability,
16695       { "genericAudioCapability", "h245.genericAudioCapability",
16696         FT_NONE, BASE_NONE, NULL, 0,
16697         "GenericCapability", HFILL }},
16698     { &hf_h245_g729Extensions,
16699       { "g729Extensions", "h245.g729Extensions",
16700         FT_NONE, BASE_NONE, NULL, 0,
16701         NULL, HFILL }},
16702     { &hf_h245_vbd,
16703       { "vbd", "h245.vbd",
16704         FT_NONE, BASE_NONE, NULL, 0,
16705         "VBDCapability", HFILL }},
16706     { &hf_h245_audioTelephonyEvent,
16707       { "audioTelephonyEvent", "h245.audioTelephonyEvent",
16708         FT_NONE, BASE_NONE, NULL, 0,
16709         "NoPTAudioTelephonyEventCapability", HFILL }},
16710     { &hf_h245_audioTone,
16711       { "audioTone", "h245.audioTone",
16712         FT_NONE, BASE_NONE, NULL, 0,
16713         "NoPTAudioToneCapability", HFILL }},
16714     { &hf_h245_audioUnit,
16715       { "audioUnit", "h245.audioUnit",
16716         FT_UINT32, BASE_DEC, NULL, 0,
16717         "INTEGER_1_256", HFILL }},
16718     { &hf_h245_annexA,
16719       { "annexA", "h245.annexA",
16720         FT_BOOLEAN, BASE_NONE, NULL, 0,
16721         "BOOLEAN", HFILL }},
16722     { &hf_h245_annexB,
16723       { "annexB", "h245.annexB",
16724         FT_BOOLEAN, BASE_NONE, NULL, 0,
16725         "BOOLEAN", HFILL }},
16726     { &hf_h245_annexD,
16727       { "annexD", "h245.annexD",
16728         FT_BOOLEAN, BASE_NONE, NULL, 0,
16729         "BOOLEAN", HFILL }},
16730     { &hf_h245_annexE,
16731       { "annexE", "h245.annexE",
16732         FT_BOOLEAN, BASE_NONE, NULL, 0,
16733         "BOOLEAN", HFILL }},
16734     { &hf_h245_annexF,
16735       { "annexF", "h245.annexF",
16736         FT_BOOLEAN, BASE_NONE, NULL, 0,
16737         "BOOLEAN", HFILL }},
16738     { &hf_h245_annexG,
16739       { "annexG", "h245.annexG",
16740         FT_BOOLEAN, BASE_NONE, NULL, 0,
16741         "BOOLEAN", HFILL }},
16742     { &hf_h245_annexH,
16743       { "annexH", "h245.annexH",
16744         FT_BOOLEAN, BASE_NONE, NULL, 0,
16745         "BOOLEAN", HFILL }},
16746     { &hf_h245_highRateMode0,
16747       { "highRateMode0", "h245.highRateMode0",
16748         FT_UINT32, BASE_DEC, NULL, 0,
16749         "INTEGER_27_78", HFILL }},
16750     { &hf_h245_highRateMode1,
16751       { "highRateMode1", "h245.highRateMode1",
16752         FT_UINT32, BASE_DEC, NULL, 0,
16753         "INTEGER_27_78", HFILL }},
16754     { &hf_h245_lowRateMode0,
16755       { "lowRateMode0", "h245.lowRateMode0",
16756         FT_UINT32, BASE_DEC, NULL, 0,
16757         "INTEGER_23_66", HFILL }},
16758     { &hf_h245_lowRateMode1,
16759       { "lowRateMode1", "h245.lowRateMode1",
16760         FT_UINT32, BASE_DEC, NULL, 0,
16761         "INTEGER_23_66", HFILL }},
16762     { &hf_h245_sidMode0,
16763       { "sidMode0", "h245.sidMode0",
16764         FT_UINT32, BASE_DEC, NULL, 0,
16765         "INTEGER_6_17", HFILL }},
16766     { &hf_h245_sidMode1,
16767       { "sidMode1", "h245.sidMode1",
16768         FT_UINT32, BASE_DEC, NULL, 0,
16769         "INTEGER_6_17", HFILL }},
16770     { &hf_h245_g723AnnexCAudioMode,
16771       { "g723AnnexCAudioMode", "h245.g723AnnexCAudioMode",
16772         FT_NONE, BASE_NONE, NULL, 0,
16773         NULL, HFILL }},
16774     { &hf_h245_audioLayer1,
16775       { "audioLayer1", "h245.audioLayer1",
16776         FT_BOOLEAN, BASE_NONE, NULL, 0,
16777         "BOOLEAN", HFILL }},
16778     { &hf_h245_audioLayer2,
16779       { "audioLayer2", "h245.audioLayer2",
16780         FT_BOOLEAN, BASE_NONE, NULL, 0,
16781         "BOOLEAN", HFILL }},
16782     { &hf_h245_audioLayer3,
16783       { "audioLayer3", "h245.audioLayer3",
16784         FT_BOOLEAN, BASE_NONE, NULL, 0,
16785         "BOOLEAN", HFILL }},
16786     { &hf_h245_audioSampling32k,
16787       { "audioSampling32k", "h245.audioSampling32k",
16788         FT_BOOLEAN, BASE_NONE, NULL, 0,
16789         "BOOLEAN", HFILL }},
16790     { &hf_h245_audioSampling44k1,
16791       { "audioSampling44k1", "h245.audioSampling44k1",
16792         FT_BOOLEAN, BASE_NONE, NULL, 0,
16793         "BOOLEAN", HFILL }},
16794     { &hf_h245_audioSampling48k,
16795       { "audioSampling48k", "h245.audioSampling48k",
16796         FT_BOOLEAN, BASE_NONE, NULL, 0,
16797         "BOOLEAN", HFILL }},
16798     { &hf_h245_singleChannel,
16799       { "singleChannel", "h245.singleChannel",
16800         FT_BOOLEAN, BASE_NONE, NULL, 0,
16801         "BOOLEAN", HFILL }},
16802     { &hf_h245_twoChannels,
16803       { "twoChannels", "h245.twoChannels",
16804         FT_BOOLEAN, BASE_NONE, NULL, 0,
16805         "BOOLEAN", HFILL }},
16806     { &hf_h245_bitRate_1_448,
16807       { "bitRate", "h245.bitRate",
16808         FT_UINT32, BASE_DEC, NULL, 0,
16809         "INTEGER_1_448", HFILL }},
16810     { &hf_h245_audioSampling16k,
16811       { "audioSampling16k", "h245.audioSampling16k",
16812         FT_BOOLEAN, BASE_NONE, NULL, 0,
16813         "BOOLEAN", HFILL }},
16814     { &hf_h245_audioSampling22k05,
16815       { "audioSampling22k05", "h245.audioSampling22k05",
16816         FT_BOOLEAN, BASE_NONE, NULL, 0,
16817         "BOOLEAN", HFILL }},
16818     { &hf_h245_audioSampling24k,
16819       { "audioSampling24k", "h245.audioSampling24k",
16820         FT_BOOLEAN, BASE_NONE, NULL, 0,
16821         "BOOLEAN", HFILL }},
16822     { &hf_h245_threeChannels2_1,
16823       { "threeChannels2-1", "h245.threeChannels2_1",
16824         FT_BOOLEAN, BASE_NONE, NULL, 0,
16825         "BOOLEAN", HFILL }},
16826     { &hf_h245_threeChannels3_0,
16827       { "threeChannels3-0", "h245.threeChannels3_0",
16828         FT_BOOLEAN, BASE_NONE, NULL, 0,
16829         "BOOLEAN", HFILL }},
16830     { &hf_h245_fourChannels2_0_2_0,
16831       { "fourChannels2-0-2-0", "h245.fourChannels2_0_2_0",
16832         FT_BOOLEAN, BASE_NONE, NULL, 0,
16833         "BOOLEAN", HFILL }},
16834     { &hf_h245_fourChannels2_2,
16835       { "fourChannels2-2", "h245.fourChannels2_2",
16836         FT_BOOLEAN, BASE_NONE, NULL, 0,
16837         "BOOLEAN", HFILL }},
16838     { &hf_h245_fourChannels3_1,
16839       { "fourChannels3-1", "h245.fourChannels3_1",
16840         FT_BOOLEAN, BASE_NONE, NULL, 0,
16841         "BOOLEAN", HFILL }},
16842     { &hf_h245_fiveChannels3_0_2_0,
16843       { "fiveChannels3-0-2-0", "h245.fiveChannels3_0_2_0",
16844         FT_BOOLEAN, BASE_NONE, NULL, 0,
16845         "BOOLEAN", HFILL }},
16846     { &hf_h245_fiveChannels3_2,
16847       { "fiveChannels3-2", "h245.fiveChannels3_2",
16848         FT_BOOLEAN, BASE_NONE, NULL, 0,
16849         "BOOLEAN", HFILL }},
16850     { &hf_h245_lowFrequencyEnhancement,
16851       { "lowFrequencyEnhancement", "h245.lowFrequencyEnhancement",
16852         FT_BOOLEAN, BASE_NONE, NULL, 0,
16853         "BOOLEAN", HFILL }},
16854     { &hf_h245_multilingual,
16855       { "multilingual", "h245.multilingual",
16856         FT_BOOLEAN, BASE_NONE, NULL, 0,
16857         "BOOLEAN", HFILL }},
16858     { &hf_h245_bitRate2_1_1130,
16859       { "bitRate", "h245.bitRate",
16860         FT_UINT32, BASE_DEC, NULL, 0,
16861         "INTEGER_1_1130", HFILL }},
16862     { &hf_h245_audioUnitSize,
16863       { "audioUnitSize", "h245.audioUnitSize",
16864         FT_UINT32, BASE_DEC, NULL, 0,
16865         "INTEGER_1_256", HFILL }},
16866     { &hf_h245_comfortNoise,
16867       { "comfortNoise", "h245.comfortNoise",
16868         FT_BOOLEAN, BASE_NONE, NULL, 0,
16869         "BOOLEAN", HFILL }},
16870     { &hf_h245_scrambled,
16871       { "scrambled", "h245.scrambled",
16872         FT_BOOLEAN, BASE_NONE, NULL, 0,
16873         "BOOLEAN", HFILL }},
16874     { &hf_h245_vbd_cap_type,
16875       { "type", "h245.type",
16876         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
16877         "AudioCapability", HFILL }},
16878     { &hf_h245_t120,
16879       { "t120", "h245.t120",
16880         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16881         "DataProtocolCapability", HFILL }},
16882     { &hf_h245_dsm_cc,
16883       { "dsm-cc", "h245.dsm_cc",
16884         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16885         "DataProtocolCapability", HFILL }},
16886     { &hf_h245_userData,
16887       { "userData", "h245.userData",
16888         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16889         "DataProtocolCapability", HFILL }},
16890     { &hf_h245_t84,
16891       { "t84", "h245.t84",
16892         FT_NONE, BASE_NONE, NULL, 0,
16893         NULL, HFILL }},
16894     { &hf_h245_t84Protocol,
16895       { "t84Protocol", "h245.t84Protocol",
16896         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16897         "DataProtocolCapability", HFILL }},
16898     { &hf_h245_t84Profile,
16899       { "t84Profile", "h245.t84Profile",
16900         FT_UINT32, BASE_DEC, VALS(h245_T84Profile_vals), 0,
16901         NULL, HFILL }},
16902     { &hf_h245_t434,
16903       { "t434", "h245.t434",
16904         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16905         "DataProtocolCapability", HFILL }},
16906     { &hf_h245_h224,
16907       { "h224", "h245.h224",
16908         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16909         "DataProtocolCapability", HFILL }},
16910     { &hf_h245_nlpidProtocol,
16911       { "nlpidProtocol", "h245.nlpidProtocol",
16912         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16913         "DataProtocolCapability", HFILL }},
16914     { &hf_h245_nlpidData,
16915       { "nlpidData", "h245.nlpidData",
16916         FT_BYTES, BASE_NONE, NULL, 0,
16917         "OCTET_STRING", HFILL }},
16918     { &hf_h245_nlpid,
16919       { "nlpid", "h245.nlpid",
16920         FT_NONE, BASE_NONE, NULL, 0,
16921         NULL, HFILL }},
16922     { &hf_h245_dsvdControl,
16923       { "dsvdControl", "h245.dsvdControl",
16924         FT_NONE, BASE_NONE, NULL, 0,
16925         NULL, HFILL }},
16926     { &hf_h245_h222DataPartitioning,
16927       { "h222DataPartitioning", "h245.h222DataPartitioning",
16928         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16929         "DataProtocolCapability", HFILL }},
16930     { &hf_h245_t30fax,
16931       { "t30fax", "h245.t30fax",
16932         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16933         "DataProtocolCapability", HFILL }},
16934     { &hf_h245_t140,
16935       { "t140", "h245.t140",
16936         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16937         "DataProtocolCapability", HFILL }},
16938     { &hf_h245_t38fax,
16939       { "t38fax", "h245.t38fax",
16940         FT_NONE, BASE_NONE, NULL, 0,
16941         NULL, HFILL }},
16942     { &hf_h245_t38FaxProtocol,
16943       { "t38FaxProtocol", "h245.t38FaxProtocol",
16944         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
16945         "DataProtocolCapability", HFILL }},
16946     { &hf_h245_t38FaxProfile,
16947       { "t38FaxProfile", "h245.t38FaxProfile",
16948         FT_NONE, BASE_NONE, NULL, 0,
16949         NULL, HFILL }},
16950     { &hf_h245_genericDataCapability,
16951       { "genericDataCapability", "h245.genericDataCapability",
16952         FT_NONE, BASE_NONE, NULL, 0,
16953         "GenericCapability", HFILL }},
16954     { &hf_h245_application,
16955       { "application", "h245.application",
16956         FT_UINT32, BASE_DEC, VALS(h245_Application_vals), 0,
16957         NULL, HFILL }},
16958     { &hf_h245_maxBitRate2_0_4294967295,
16959       { "maxBitRate", "h245.maxBitRate",
16960         FT_UINT32, BASE_DEC, NULL, 0,
16961         "INTEGER_0_4294967295", HFILL }},
16962     { &hf_h245_v14buffered,
16963       { "v14buffered", "h245.v14buffered",
16964         FT_NONE, BASE_NONE, NULL, 0,
16965         NULL, HFILL }},
16966     { &hf_h245_v42lapm,
16967       { "v42lapm", "h245.v42lapm",
16968         FT_NONE, BASE_NONE, NULL, 0,
16969         NULL, HFILL }},
16970     { &hf_h245_hdlcFrameTunnelling,
16971       { "hdlcFrameTunnelling", "h245.hdlcFrameTunnelling",
16972         FT_NONE, BASE_NONE, NULL, 0,
16973         NULL, HFILL }},
16974     { &hf_h245_h310SeparateVCStack,
16975       { "h310SeparateVCStack", "h245.h310SeparateVCStack",
16976         FT_NONE, BASE_NONE, NULL, 0,
16977         NULL, HFILL }},
16978     { &hf_h245_h310SingleVCStack,
16979       { "h310SingleVCStack", "h245.h310SingleVCStack",
16980         FT_NONE, BASE_NONE, NULL, 0,
16981         NULL, HFILL }},
16982     { &hf_h245_transparent,
16983       { "transparent", "h245.transparent",
16984         FT_NONE, BASE_NONE, NULL, 0,
16985         NULL, HFILL }},
16986     { &hf_h245_segmentationAndReassembly,
16987       { "segmentationAndReassembly", "h245.segmentationAndReassembly",
16988         FT_NONE, BASE_NONE, NULL, 0,
16989         NULL, HFILL }},
16990     { &hf_h245_hdlcFrameTunnelingwSAR,
16991       { "hdlcFrameTunnelingwSAR", "h245.hdlcFrameTunnelingwSAR",
16992         FT_NONE, BASE_NONE, NULL, 0,
16993         NULL, HFILL }},
16994     { &hf_h245_v120,
16995       { "v120", "h245.v120",
16996         FT_NONE, BASE_NONE, NULL, 0,
16997         NULL, HFILL }},
16998     { &hf_h245_separateLANStack,
16999       { "separateLANStack", "h245.separateLANStack",
17000         FT_NONE, BASE_NONE, NULL, 0,
17001         NULL, HFILL }},
17002     { &hf_h245_v76wCompression,
17003       { "v76wCompression", "h245.v76wCompression",
17004         FT_UINT32, BASE_DEC, VALS(h245_T_v76wCompression_vals), 0,
17005         NULL, HFILL }},
17006     { &hf_h245_transmitCompression,
17007       { "transmitCompression", "h245.transmitCompression",
17008         FT_UINT32, BASE_DEC, VALS(h245_CompressionType_vals), 0,
17009         "CompressionType", HFILL }},
17010     { &hf_h245_receiveCompression,
17011       { "receiveCompression", "h245.receiveCompression",
17012         FT_UINT32, BASE_DEC, VALS(h245_CompressionType_vals), 0,
17013         "CompressionType", HFILL }},
17014     { &hf_h245_transmitAndReceiveCompression,
17015       { "transmitAndReceiveCompression", "h245.transmitAndReceiveCompression",
17016         FT_UINT32, BASE_DEC, VALS(h245_CompressionType_vals), 0,
17017         "CompressionType", HFILL }},
17018     { &hf_h245_tcp,
17019       { "tcp", "h245.tcp",
17020         FT_NONE, BASE_NONE, NULL, 0,
17021         NULL, HFILL }},
17022     { &hf_h245_udp,
17023       { "udp", "h245.udp",
17024         FT_NONE, BASE_NONE, NULL, 0,
17025         NULL, HFILL }},
17026     { &hf_h245_v42bis,
17027       { "v42bis", "h245.v42bis",
17028         FT_NONE, BASE_NONE, NULL, 0,
17029         NULL, HFILL }},
17030     { &hf_h245_numberOfCodewords,
17031       { "numberOfCodewords", "h245.numberOfCodewords",
17032         FT_UINT32, BASE_DEC, NULL, 0,
17033         "INTEGER_1_65536", HFILL }},
17034     { &hf_h245_maximumStringLength,
17035       { "maximumStringLength", "h245.maximumStringLength",
17036         FT_UINT32, BASE_DEC, NULL, 0,
17037         "INTEGER_1_256", HFILL }},
17038     { &hf_h245_t84Unrestricted,
17039       { "t84Unrestricted", "h245.t84Unrestricted",
17040         FT_NONE, BASE_NONE, NULL, 0,
17041         NULL, HFILL }},
17042     { &hf_h245_t84Restricted,
17043       { "t84Restricted", "h245.t84Restricted",
17044         FT_NONE, BASE_NONE, NULL, 0,
17045         NULL, HFILL }},
17046     { &hf_h245_qcif_bool,
17047       { "qcif", "h245.qcif",
17048         FT_BOOLEAN, BASE_NONE, NULL, 0,
17049         "BOOLEAN", HFILL }},
17050     { &hf_h245_cif_bool,
17051       { "cif", "h245.cif",
17052         FT_BOOLEAN, BASE_NONE, NULL, 0,
17053         "BOOLEAN", HFILL }},
17054     { &hf_h245_ccir601Seq,
17055       { "ccir601Seq", "h245.ccir601Seq",
17056         FT_BOOLEAN, BASE_NONE, NULL, 0,
17057         "BOOLEAN", HFILL }},
17058     { &hf_h245_ccir601Prog,
17059       { "ccir601Prog", "h245.ccir601Prog",
17060         FT_BOOLEAN, BASE_NONE, NULL, 0,
17061         "BOOLEAN", HFILL }},
17062     { &hf_h245_hdtvSeq,
17063       { "hdtvSeq", "h245.hdtvSeq",
17064         FT_BOOLEAN, BASE_NONE, NULL, 0,
17065         "BOOLEAN", HFILL }},
17066     { &hf_h245_hdtvProg,
17067       { "hdtvProg", "h245.hdtvProg",
17068         FT_BOOLEAN, BASE_NONE, NULL, 0,
17069         "BOOLEAN", HFILL }},
17070     { &hf_h245_g3FacsMH200x100,
17071       { "g3FacsMH200x100", "h245.g3FacsMH200x100",
17072         FT_BOOLEAN, BASE_NONE, NULL, 0,
17073         "BOOLEAN", HFILL }},
17074     { &hf_h245_g3FacsMH200x200,
17075       { "g3FacsMH200x200", "h245.g3FacsMH200x200",
17076         FT_BOOLEAN, BASE_NONE, NULL, 0,
17077         "BOOLEAN", HFILL }},
17078     { &hf_h245_g4FacsMMR200x100,
17079       { "g4FacsMMR200x100", "h245.g4FacsMMR200x100",
17080         FT_BOOLEAN, BASE_NONE, NULL, 0,
17081         "BOOLEAN", HFILL }},
17082     { &hf_h245_g4FacsMMR200x200,
17083       { "g4FacsMMR200x200", "h245.g4FacsMMR200x200",
17084         FT_BOOLEAN, BASE_NONE, NULL, 0,
17085         "BOOLEAN", HFILL }},
17086     { &hf_h245_jbig200x200Seq,
17087       { "jbig200x200Seq", "h245.jbig200x200Seq",
17088         FT_BOOLEAN, BASE_NONE, NULL, 0,
17089         "BOOLEAN", HFILL }},
17090     { &hf_h245_jbig200x200Prog,
17091       { "jbig200x200Prog", "h245.jbig200x200Prog",
17092         FT_BOOLEAN, BASE_NONE, NULL, 0,
17093         "BOOLEAN", HFILL }},
17094     { &hf_h245_jbig300x300Seq,
17095       { "jbig300x300Seq", "h245.jbig300x300Seq",
17096         FT_BOOLEAN, BASE_NONE, NULL, 0,
17097         "BOOLEAN", HFILL }},
17098     { &hf_h245_jbig300x300Prog,
17099       { "jbig300x300Prog", "h245.jbig300x300Prog",
17100         FT_BOOLEAN, BASE_NONE, NULL, 0,
17101         "BOOLEAN", HFILL }},
17102     { &hf_h245_digPhotoLow,
17103       { "digPhotoLow", "h245.digPhotoLow",
17104         FT_BOOLEAN, BASE_NONE, NULL, 0,
17105         "BOOLEAN", HFILL }},
17106     { &hf_h245_digPhotoMedSeq,
17107       { "digPhotoMedSeq", "h245.digPhotoMedSeq",
17108         FT_BOOLEAN, BASE_NONE, NULL, 0,
17109         "BOOLEAN", HFILL }},
17110     { &hf_h245_digPhotoMedProg,
17111       { "digPhotoMedProg", "h245.digPhotoMedProg",
17112         FT_BOOLEAN, BASE_NONE, NULL, 0,
17113         "BOOLEAN", HFILL }},
17114     { &hf_h245_digPhotoHighSeq,
17115       { "digPhotoHighSeq", "h245.digPhotoHighSeq",
17116         FT_BOOLEAN, BASE_NONE, NULL, 0,
17117         "BOOLEAN", HFILL }},
17118     { &hf_h245_digPhotoHighProg,
17119       { "digPhotoHighProg", "h245.digPhotoHighProg",
17120         FT_BOOLEAN, BASE_NONE, NULL, 0,
17121         "BOOLEAN", HFILL }},
17122     { &hf_h245_fillBitRemoval,
17123       { "fillBitRemoval", "h245.fillBitRemoval",
17124         FT_BOOLEAN, BASE_NONE, NULL, 0,
17125         "BOOLEAN", HFILL }},
17126     { &hf_h245_transcodingJBIG,
17127       { "transcodingJBIG", "h245.transcodingJBIG",
17128         FT_BOOLEAN, BASE_NONE, NULL, 0,
17129         "BOOLEAN", HFILL }},
17130     { &hf_h245_transcodingMMR,
17131       { "transcodingMMR", "h245.transcodingMMR",
17132         FT_BOOLEAN, BASE_NONE, NULL, 0,
17133         "BOOLEAN", HFILL }},
17134     { &hf_h245_version,
17135       { "version", "h245.version",
17136         FT_UINT32, BASE_DEC, NULL, 0,
17137         "INTEGER_0_255", HFILL }},
17138     { &hf_h245_t38FaxRateManagement,
17139       { "t38FaxRateManagement", "h245.t38FaxRateManagement",
17140         FT_UINT32, BASE_DEC, VALS(h245_T38FaxRateManagement_vals), 0,
17141         NULL, HFILL }},
17142     { &hf_h245_t38FaxUdpOptions,
17143       { "t38FaxUdpOptions", "h245.t38FaxUdpOptions",
17144         FT_NONE, BASE_NONE, NULL, 0,
17145         NULL, HFILL }},
17146     { &hf_h245_t38FaxTcpOptions,
17147       { "t38FaxTcpOptions", "h245.t38FaxTcpOptions",
17148         FT_NONE, BASE_NONE, NULL, 0,
17149         NULL, HFILL }},
17150     { &hf_h245_localTCF,
17151       { "localTCF", "h245.localTCF",
17152         FT_NONE, BASE_NONE, NULL, 0,
17153         NULL, HFILL }},
17154     { &hf_h245_transferredTCF,
17155       { "transferredTCF", "h245.transferredTCF",
17156         FT_NONE, BASE_NONE, NULL, 0,
17157         NULL, HFILL }},
17158     { &hf_h245_t38FaxMaxBuffer,
17159       { "t38FaxMaxBuffer", "h245.t38FaxMaxBuffer",
17160         FT_INT32, BASE_DEC, NULL, 0,
17161         "INTEGER", HFILL }},
17162     { &hf_h245_t38FaxMaxDatagram,
17163       { "t38FaxMaxDatagram", "h245.t38FaxMaxDatagram",
17164         FT_INT32, BASE_DEC, NULL, 0,
17165         "INTEGER", HFILL }},
17166     { &hf_h245_t38FaxUdpEC,
17167       { "t38FaxUdpEC", "h245.t38FaxUdpEC",
17168         FT_UINT32, BASE_DEC, VALS(h245_T_t38FaxUdpEC_vals), 0,
17169         NULL, HFILL }},
17170     { &hf_h245_t38UDPFEC,
17171       { "t38UDPFEC", "h245.t38UDPFEC",
17172         FT_NONE, BASE_NONE, NULL, 0,
17173         NULL, HFILL }},
17174     { &hf_h245_t38UDPRedundancy,
17175       { "t38UDPRedundancy", "h245.t38UDPRedundancy",
17176         FT_NONE, BASE_NONE, NULL, 0,
17177         NULL, HFILL }},
17178     { &hf_h245_t38TCPBidirectionalMode,
17179       { "t38TCPBidirectionalMode", "h245.t38TCPBidirectionalMode",
17180         FT_BOOLEAN, BASE_NONE, NULL, 0,
17181         "BOOLEAN", HFILL }},
17182     { &hf_h245_encryptionCapability,
17183       { "encryptionCapability", "h245.encryptionCapability",
17184         FT_UINT32, BASE_DEC, NULL, 0,
17185         NULL, HFILL }},
17186     { &hf_h245_authenticationCapability,
17187       { "authenticationCapability", "h245.authenticationCapability",
17188         FT_NONE, BASE_NONE, NULL, 0,
17189         NULL, HFILL }},
17190     { &hf_h245_integrityCapability,
17191       { "integrityCapability", "h245.integrityCapability",
17192         FT_NONE, BASE_NONE, NULL, 0,
17193         NULL, HFILL }},
17194     { &hf_h245_genericH235SecurityCapability,
17195       { "genericH235SecurityCapability", "h245.genericH235SecurityCapability",
17196         FT_NONE, BASE_NONE, NULL, 0,
17197         "GenericCapability", HFILL }},
17198     { &hf_h245_EncryptionCapability_item,
17199       { "MediaEncryptionAlgorithm", "h245.MediaEncryptionAlgorithm",
17200         FT_UINT32, BASE_DEC, VALS(h245_MediaEncryptionAlgorithm_vals), 0,
17201         NULL, HFILL }},
17202     { &hf_h245_algorithm,
17203       { "algorithm", "h245.algorithm",
17204         FT_OID, BASE_NONE, NULL, 0,
17205         "OBJECT_IDENTIFIER", HFILL }},
17206     { &hf_h245_antiSpamAlgorithm,
17207       { "antiSpamAlgorithm", "h245.antiSpamAlgorithm",
17208         FT_OID, BASE_NONE, NULL, 0,
17209         "OBJECT_IDENTIFIER", HFILL }},
17210     { &hf_h245_ui_nonStandard,
17211       { "nonStandard", "h245.nonStandard",
17212         FT_UINT32, BASE_DEC, NULL, 0,
17213         "SEQUENCE_SIZE_1_16_OF_NonStandardParameter", HFILL }},
17214     { &hf_h245_ui_nonStandard_item,
17215       { "NonStandardParameter", "h245.NonStandardParameter",
17216         FT_NONE, BASE_NONE, NULL, 0,
17217         NULL, HFILL }},
17218     { &hf_h245_basicString,
17219       { "basicString", "h245.basicString",
17220         FT_NONE, BASE_NONE, NULL, 0,
17221         NULL, HFILL }},
17222     { &hf_h245_iA5String,
17223       { "iA5String", "h245.iA5String",
17224         FT_NONE, BASE_NONE, NULL, 0,
17225         NULL, HFILL }},
17226     { &hf_h245_generalString,
17227       { "generalString", "h245.generalString",
17228         FT_NONE, BASE_NONE, NULL, 0,
17229         NULL, HFILL }},
17230     { &hf_h245_dtmf,
17231       { "dtmf", "h245.dtmf",
17232         FT_NONE, BASE_NONE, NULL, 0,
17233         NULL, HFILL }},
17234     { &hf_h245_hookflash,
17235       { "hookflash", "h245.hookflash",
17236         FT_NONE, BASE_NONE, NULL, 0,
17237         NULL, HFILL }},
17238     { &hf_h245_extendedAlphanumericFlag,
17239       { "extendedAlphanumeric", "h245.extendedAlphanumeric",
17240         FT_NONE, BASE_NONE, NULL, 0,
17241         NULL, HFILL }},
17242     { &hf_h245_encryptedBasicString,
17243       { "encryptedBasicString", "h245.encryptedBasicString",
17244         FT_NONE, BASE_NONE, NULL, 0,
17245         NULL, HFILL }},
17246     { &hf_h245_encryptedIA5String,
17247       { "encryptedIA5String", "h245.encryptedIA5String",
17248         FT_NONE, BASE_NONE, NULL, 0,
17249         NULL, HFILL }},
17250     { &hf_h245_encryptedGeneralString,
17251       { "encryptedGeneralString", "h245.encryptedGeneralString",
17252         FT_NONE, BASE_NONE, NULL, 0,
17253         NULL, HFILL }},
17254     { &hf_h245_secureDTMF,
17255       { "secureDTMF", "h245.secureDTMF",
17256         FT_NONE, BASE_NONE, NULL, 0,
17257         NULL, HFILL }},
17258     { &hf_h245_genericUserInputCapability,
17259       { "genericUserInputCapability", "h245.genericUserInputCapability",
17260         FT_NONE, BASE_NONE, NULL, 0,
17261         "GenericCapability", HFILL }},
17262     { &hf_h245_nonStandardParams,
17263       { "nonStandardData", "h245.nonStandardData",
17264         FT_UINT32, BASE_DEC, NULL, 0,
17265         "SEQUENCE_OF_NonStandardParameter", HFILL }},
17266     { &hf_h245_nonStandardParams_item,
17267       { "NonStandardParameter", "h245.NonStandardParameter",
17268         FT_NONE, BASE_NONE, NULL, 0,
17269         NULL, HFILL }},
17270     { &hf_h245_chairControlCapability,
17271       { "chairControlCapability", "h245.chairControlCapability",
17272         FT_BOOLEAN, BASE_NONE, NULL, 0,
17273         "BOOLEAN", HFILL }},
17274     { &hf_h245_videoIndicateMixingCapability,
17275       { "videoIndicateMixingCapability", "h245.videoIndicateMixingCapability",
17276         FT_BOOLEAN, BASE_NONE, NULL, 0,
17277         "BOOLEAN", HFILL }},
17278     { &hf_h245_multipointVisualizationCapability,
17279       { "multipointVisualizationCapability", "h245.multipointVisualizationCapability",
17280         FT_BOOLEAN, BASE_NONE, NULL, 0,
17281         "BOOLEAN", HFILL }},
17282     { &hf_h245_capabilityIdentifier,
17283       { "capabilityIdentifier", "h245.capabilityIdentifier",
17284         FT_UINT32, BASE_DEC, VALS(h245_CapabilityIdentifier_vals), 0,
17285         NULL, HFILL }},
17286     { &hf_h245_collapsing,
17287       { "collapsing", "h245.collapsing",
17288         FT_UINT32, BASE_DEC, NULL, 0,
17289         NULL, HFILL }},
17290     { &hf_h245_collapsing_item,
17291       { "collapsing item", "h245.collapsing_item",
17292         FT_NONE, BASE_NONE, NULL, 0,
17293         NULL, HFILL }},
17294     { &hf_h245_nonCollapsing,
17295       { "nonCollapsing", "h245.nonCollapsing",
17296         FT_UINT32, BASE_DEC, NULL, 0,
17297         NULL, HFILL }},
17298     { &hf_h245_nonCollapsing_item,
17299       { "nonCollapsing item", "h245.nonCollapsing_item",
17300         FT_NONE, BASE_NONE, NULL, 0,
17301         NULL, HFILL }},
17302     { &hf_h245_nonCollapsingRaw,
17303       { "nonCollapsingRaw", "h245.nonCollapsingRaw",
17304         FT_BYTES, BASE_NONE, NULL, 0,
17305         NULL, HFILL }},
17306     { &hf_h245_transport,
17307       { "transport", "h245.transport",
17308         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
17309         "DataProtocolCapability", HFILL }},
17310     { &hf_h245_standardOid,
17311       { "standard", "h245.standard",
17312         FT_OID, BASE_NONE, NULL, 0,
17313         "T_standardOid", HFILL }},
17314     { &hf_h245_h221NonStandard,
17315       { "h221NonStandard", "h245.h221NonStandard",
17316         FT_NONE, BASE_NONE, NULL, 0,
17317         "NonStandardParameter", HFILL }},
17318     { &hf_h245_uuid,
17319       { "uuid", "h245.uuid",
17320         FT_BYTES, BASE_NONE, NULL, 0,
17321         "OCTET_STRING_SIZE_16", HFILL }},
17322     { &hf_h245_domainBased,
17323       { "domainBased", "h245.domainBased",
17324         FT_STRING, BASE_NONE, NULL, 0,
17325         "IA5String_SIZE_1_64", HFILL }},
17326     { &hf_h245_parameterIdentifier,
17327       { "parameterIdentifier", "h245.parameterIdentifier",
17328         FT_UINT32, BASE_DEC, VALS(h245_ParameterIdentifier_vals), 0,
17329         NULL, HFILL }},
17330     { &hf_h245_parameterValue,
17331       { "parameterValue", "h245.parameterValue",
17332         FT_UINT32, BASE_DEC, VALS(h245_ParameterValue_vals), 0,
17333         NULL, HFILL }},
17334     { &hf_h245_supersedes,
17335       { "supersedes", "h245.supersedes",
17336         FT_UINT32, BASE_DEC, NULL, 0,
17337         "SEQUENCE_OF_ParameterIdentifier", HFILL }},
17338     { &hf_h245_supersedes_item,
17339       { "ParameterIdentifier", "h245.ParameterIdentifier",
17340         FT_UINT32, BASE_DEC, VALS(h245_ParameterIdentifier_vals), 0,
17341         NULL, HFILL }},
17342     { &hf_h245_standard,
17343       { "standard", "h245.standard",
17344         FT_UINT32, BASE_DEC, NULL, 0,
17345         NULL, HFILL }},
17346     { &hf_h245_logical,
17347       { "logical", "h245.logical",
17348         FT_NONE, BASE_NONE, NULL, 0,
17349         NULL, HFILL }},
17350     { &hf_h245_booleanArray,
17351       { "booleanArray", "h245.booleanArray",
17352         FT_UINT32, BASE_DEC, NULL, 0,
17353         NULL, HFILL }},
17354     { &hf_h245_unsignedMin,
17355       { "unsignedMin", "h245.unsignedMin",
17356         FT_UINT32, BASE_DEC, NULL, 0,
17357         NULL, HFILL }},
17358     { &hf_h245_unsignedMax,
17359       { "unsignedMax", "h245.unsignedMax",
17360         FT_UINT32, BASE_DEC, NULL, 0,
17361         NULL, HFILL }},
17362     { &hf_h245_unsigned32Min,
17363       { "unsigned32Min", "h245.unsigned32Min",
17364         FT_UINT32, BASE_DEC, NULL, 0,
17365         NULL, HFILL }},
17366     { &hf_h245_unsigned32Max,
17367       { "unsigned32Max", "h245.unsigned32Max",
17368         FT_UINT32, BASE_DEC, NULL, 0,
17369         NULL, HFILL }},
17370     { &hf_h245_octetString,
17371       { "octetString", "h245.octetString",
17372         FT_UINT32, BASE_DEC, NULL, 0,
17373         NULL, HFILL }},
17374     { &hf_h245_genericParameters,
17375       { "genericParameter", "h245.genericParameter",
17376         FT_UINT32, BASE_DEC, NULL, 0,
17377         "SEQUENCE_OF_GenericParameter", HFILL }},
17378     { &hf_h245_genericParameters_item,
17379       { "GenericParameter", "h245.GenericParameter",
17380         FT_NONE, BASE_NONE, NULL, 0,
17381         NULL, HFILL }},
17382     { &hf_h245_multiplexFormat,
17383       { "multiplexFormat", "h245.multiplexFormat",
17384         FT_UINT32, BASE_DEC, VALS(h245_MultiplexFormat_vals), 0,
17385         NULL, HFILL }},
17386     { &hf_h245_controlOnMuxStream,
17387       { "controlOnMuxStream", "h245.controlOnMuxStream",
17388         FT_BOOLEAN, BASE_NONE, NULL, 0,
17389         "BOOLEAN", HFILL }},
17390     { &hf_h245_capabilityOnMuxStream,
17391       { "capabilityOnMuxStream", "h245.capabilityOnMuxStream",
17392         FT_UINT32, BASE_DEC, NULL, 0,
17393         "SET_SIZE_1_256_OF_AlternativeCapabilitySet", HFILL }},
17394     { &hf_h245_capabilityOnMuxStream_item,
17395       { "AlternativeCapabilitySet", "h245.AlternativeCapabilitySet",
17396         FT_UINT32, BASE_DEC, NULL, 0,
17397         NULL, HFILL }},
17398     { &hf_h245_dynamicRTPPayloadType,
17399       { "dynamicRTPPayloadType", "h245.dynamicRTPPayloadType",
17400         FT_UINT32, BASE_DEC, NULL, 0,
17401         "INTEGER_96_127", HFILL }},
17402     { &hf_h245_audioTelephoneEvent,
17403       { "audioTelephoneEvent", "h245.audioTelephoneEvent",
17404         FT_STRING, BASE_NONE, NULL, 0,
17405         "GeneralString", HFILL }},
17406     { &hf_h245_capabilities,
17407       { "capabilities", "h245.capabilities",
17408         FT_UINT32, BASE_DEC, NULL, 0,
17409         "SET_SIZE_1_256_OF_AlternativeCapabilitySet", HFILL }},
17410     { &hf_h245_capabilities_item,
17411       { "AlternativeCapabilitySet", "h245.AlternativeCapabilitySet",
17412         FT_UINT32, BASE_DEC, NULL, 0,
17413         NULL, HFILL }},
17414     { &hf_h245_fecc_rfc2733,
17415       { "rfc2733", "h245.rfc2733",
17416         FT_NONE, BASE_NONE, NULL, 0,
17417         "FECC_rfc2733", HFILL }},
17418     { &hf_h245_redundancyEncodingBool,
17419       { "redundancyEncoding", "h245.redundancyEncoding",
17420         FT_BOOLEAN, BASE_NONE, NULL, 0,
17421         "BOOLEAN", HFILL }},
17422     { &hf_h245_separateStreamBool,
17423       { "separateStream", "h245.separateStream",
17424         FT_NONE, BASE_NONE, NULL, 0,
17425         "T_separateStreamBool", HFILL }},
17426     { &hf_h245_separatePort,
17427       { "separatePort", "h245.separatePort",
17428         FT_BOOLEAN, BASE_NONE, NULL, 0,
17429         "BOOLEAN", HFILL }},
17430     { &hf_h245_samePortBool,
17431       { "samePort", "h245.samePort",
17432         FT_BOOLEAN, BASE_NONE, NULL, 0,
17433         "BOOLEAN", HFILL }},
17434     { &hf_h245_protectedCapability,
17435       { "protectedCapability", "h245.protectedCapability",
17436         FT_UINT32, BASE_DEC, NULL, 0,
17437         "CapabilityTableEntryNumber", HFILL }},
17438     { &hf_h245_fecScheme,
17439       { "fecScheme", "h245.fecScheme",
17440         FT_OID, BASE_NONE, NULL, 0,
17441         "OBJECT_IDENTIFIER", HFILL }},
17442     { &hf_h245_rfc2733rfc2198,
17443       { "rfc2733rfc2198", "h245.rfc2733rfc2198",
17444         FT_UINT32, BASE_DEC, NULL, 0,
17445         "MaxRedundancy", HFILL }},
17446     { &hf_h245_rfc2733sameport,
17447       { "rfc2733sameport", "h245.rfc2733sameport",
17448         FT_UINT32, BASE_DEC, NULL, 0,
17449         "MaxRedundancy", HFILL }},
17450     { &hf_h245_rfc2733diffport,
17451       { "rfc2733diffport", "h245.rfc2733diffport",
17452         FT_UINT32, BASE_DEC, NULL, 0,
17453         "MaxRedundancy", HFILL }},
17454     { &hf_h245_rfc2733Format,
17455       { "rfc2733Format", "h245.rfc2733Format",
17456         FT_UINT32, BASE_DEC, VALS(h245_Rfc2733Format_vals), 0,
17457         NULL, HFILL }},
17458     { &hf_h245_olc_fw_lcn,
17459       { "forwardLogicalChannelNumber", "h245.forwardLogicalChannelNumber",
17460         FT_UINT32, BASE_DEC, NULL, 0,
17461         "OLC_fw_lcn", HFILL }},
17462     { &hf_h245_forwardLogicalChannelParameters,
17463       { "forwardLogicalChannelParameters", "h245.forwardLogicalChannelParameters",
17464         FT_NONE, BASE_NONE, NULL, 0,
17465         NULL, HFILL }},
17466     { &hf_h245_portNumber,
17467       { "portNumber", "h245.portNumber",
17468         FT_UINT32, BASE_DEC, NULL, 0,
17469         "INTEGER_0_65535", HFILL }},
17470     { &hf_h245_dataType,
17471       { "dataType", "h245.dataType",
17472         FT_UINT32, BASE_DEC, VALS(h245_DataType_vals), 0,
17473         NULL, HFILL }},
17474     { &hf_h245_olc_forw_multiplexParameters,
17475       { "multiplexParameters", "h245.multiplexParameters",
17476         FT_UINT32, BASE_DEC, VALS(h245_OLC_forw_multiplexParameters_vals), 0,
17477         "OLC_forw_multiplexParameters", HFILL }},
17478     { &hf_h245_h222LogicalChannelParameters,
17479       { "h222LogicalChannelParameters", "h245.h222LogicalChannelParameters",
17480         FT_NONE, BASE_NONE, NULL, 0,
17481         NULL, HFILL }},
17482     { &hf_h245_olc_fw_h223_params,
17483       { "h223LogicalChannelParameters", "h245.h223LogicalChannelParameters",
17484         FT_NONE, BASE_NONE, NULL, 0,
17485         "OLC_fw_h223_params", HFILL }},
17486     { &hf_h245_v76LogicalChannelParameters,
17487       { "v76LogicalChannelParameters", "h245.v76LogicalChannelParameters",
17488         FT_NONE, BASE_NONE, NULL, 0,
17489         NULL, HFILL }},
17490     { &hf_h245_h2250LogicalChannelParameters,
17491       { "h2250LogicalChannelParameters", "h245.h2250LogicalChannelParameters",
17492         FT_NONE, BASE_NONE, NULL, 0,
17493         NULL, HFILL }},
17494     { &hf_h245_forwardLogicalChannelDependency,
17495       { "forwardLogicalChannelDependency", "h245.forwardLogicalChannelDependency",
17496         FT_UINT32, BASE_DEC, NULL, 0,
17497         "LogicalChannelNumber", HFILL }},
17498     { &hf_h245_replacementFor,
17499       { "replacementFor", "h245.replacementFor",
17500         FT_UINT32, BASE_DEC, NULL, 0,
17501         "LogicalChannelNumber", HFILL }},
17502     { &hf_h245_reverseLogicalChannelParameters,
17503       { "reverseLogicalChannelParameters", "h245.reverseLogicalChannelParameters",
17504         FT_NONE, BASE_NONE, NULL, 0,
17505         "OLC_reverseLogicalChannelParameters", HFILL }},
17506     { &hf_h245_olc_rev_multiplexParameter,
17507       { "multiplexParameters", "h245.multiplexParameters",
17508         FT_UINT32, BASE_DEC, VALS(h245_OLC_rev_multiplexParameters_vals), 0,
17509         "OLC_rev_multiplexParameters", HFILL }},
17510     { &hf_h245_olc_rev_h223_params,
17511       { "h223LogicalChannelParameters", "h245.h223LogicalChannelParameters",
17512         FT_NONE, BASE_NONE, NULL, 0,
17513         "OLC_rev_h223_params", HFILL }},
17514     { &hf_h245_reverseLogicalChannelDependency,
17515       { "reverseLogicalChannelDependency", "h245.reverseLogicalChannelDependency",
17516         FT_UINT32, BASE_DEC, NULL, 0,
17517         "LogicalChannelNumber", HFILL }},
17518     { &hf_h245_separateStack,
17519       { "separateStack", "h245.separateStack",
17520         FT_NONE, BASE_NONE, NULL, 0,
17521         "NetworkAccessParameters", HFILL }},
17522     { &hf_h245_encryptionSync,
17523       { "encryptionSync", "h245.encryptionSync",
17524         FT_NONE, BASE_NONE, NULL, 0,
17525         NULL, HFILL }},
17526     { &hf_h245_distribution,
17527       { "distribution", "h245.distribution",
17528         FT_UINT32, BASE_DEC, VALS(h245_T_distribution_vals), 0,
17529         NULL, HFILL }},
17530     { &hf_h245_unicast,
17531       { "unicast", "h245.unicast",
17532         FT_NONE, BASE_NONE, NULL, 0,
17533         NULL, HFILL }},
17534     { &hf_h245_multicast,
17535       { "multicast", "h245.multicast",
17536         FT_NONE, BASE_NONE, NULL, 0,
17537         NULL, HFILL }},
17538     { &hf_h245_networkAddress,
17539       { "networkAddress", "h245.networkAddress",
17540         FT_UINT32, BASE_DEC, VALS(h245_T_networkAddress_vals), 0,
17541         NULL, HFILL }},
17542     { &hf_h245_q2931Address,
17543       { "q2931Address", "h245.q2931Address",
17544         FT_NONE, BASE_NONE, NULL, 0,
17545         NULL, HFILL }},
17546     { &hf_h245_e164Address,
17547       { "e164Address", "h245.e164Address",
17548         FT_STRING, BASE_NONE, NULL, 0,
17549         NULL, HFILL }},
17550     { &hf_h245_localAreaAddress,
17551       { "localAreaAddress", "h245.localAreaAddress",
17552         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
17553         "TransportAddress", HFILL }},
17554     { &hf_h245_associateConference,
17555       { "associateConference", "h245.associateConference",
17556         FT_BOOLEAN, BASE_NONE, NULL, 0,
17557         "BOOLEAN", HFILL }},
17558     { &hf_h245_externalReference,
17559       { "externalReference", "h245.externalReference",
17560         FT_BYTES, BASE_NONE, NULL, 0,
17561         "OCTET_STRING_SIZE_1_255", HFILL }},
17562     { &hf_h245_t120SetupProcedure,
17563       { "t120SetupProcedure", "h245.t120SetupProcedure",
17564         FT_UINT32, BASE_DEC, VALS(h245_T_t120SetupProcedure_vals), 0,
17565         NULL, HFILL }},
17566     { &hf_h245_originateCall,
17567       { "originateCall", "h245.originateCall",
17568         FT_NONE, BASE_NONE, NULL, 0,
17569         NULL, HFILL }},
17570     { &hf_h245_waitForCall,
17571       { "waitForCall", "h245.waitForCall",
17572         FT_NONE, BASE_NONE, NULL, 0,
17573         NULL, HFILL }},
17574     { &hf_h245_issueQuery,
17575       { "issueQuery", "h245.issueQuery",
17576         FT_NONE, BASE_NONE, NULL, 0,
17577         NULL, HFILL }},
17578     { &hf_h245_address,
17579       { "address", "h245.address",
17580         FT_UINT32, BASE_DEC, VALS(h245_T_address_vals), 0,
17581         NULL, HFILL }},
17582     { &hf_h245_internationalNumber,
17583       { "internationalNumber", "h245.internationalNumber",
17584         FT_STRING, BASE_NONE, NULL, 0,
17585         "NumericString_SIZE_1_16", HFILL }},
17586     { &hf_h245_nsapAddress,
17587       { "nsapAddress", "h245.nsapAddress",
17588         FT_BYTES, BASE_NONE, NULL, 0,
17589         "OCTET_STRING_SIZE_1_20", HFILL }},
17590     { &hf_h245_subaddress,
17591       { "subaddress", "h245.subaddress",
17592         FT_BYTES, BASE_NONE, NULL, 0,
17593         "OCTET_STRING_SIZE_1_20", HFILL }},
17594     { &hf_h245_audioHeaderPresent,
17595       { "audioHeaderPresent", "h245.audioHeaderPresent",
17596         FT_BOOLEAN, BASE_NONE, NULL, 0,
17597         "BOOLEAN", HFILL }},
17598     { &hf_h245_nullData,
17599       { "nullData", "h245.nullData",
17600         FT_NONE, BASE_NONE, NULL, 0,
17601         NULL, HFILL }},
17602     { &hf_h245_videoData,
17603       { "videoData", "h245.videoData",
17604         FT_UINT32, BASE_DEC, VALS(h245_VideoCapability_vals), 0,
17605         "VideoCapability", HFILL }},
17606     { &hf_h245_audioData,
17607       { "audioData", "h245.audioData",
17608         FT_UINT32, BASE_DEC, VALS(h245_AudioCapability_vals), 0,
17609         "AudioCapability", HFILL }},
17610     { &hf_h245_data,
17611       { "data", "h245.data",
17612         FT_NONE, BASE_NONE, NULL, 0,
17613         "DataApplicationCapability", HFILL }},
17614     { &hf_h245_encryptionData,
17615       { "encryptionData", "h245.encryptionData",
17616         FT_UINT32, BASE_DEC, VALS(h245_EncryptionMode_vals), 0,
17617         "EncryptionMode", HFILL }},
17618     { &hf_h245_h235Control,
17619       { "h235Control", "h245.h235Control",
17620         FT_NONE, BASE_NONE, NULL, 0,
17621         "NonStandardParameter", HFILL }},
17622     { &hf_h245_h235Media,
17623       { "h235Media", "h245.h235Media",
17624         FT_NONE, BASE_NONE, NULL, 0,
17625         NULL, HFILL }},
17626     { &hf_h245_multiplexedStream,
17627       { "multiplexedStream", "h245.multiplexedStream",
17628         FT_NONE, BASE_NONE, NULL, 0,
17629         "MultiplexedStreamParameter", HFILL }},
17630     { &hf_h245_redundancyEncoding,
17631       { "redundancyEncoding", "h245.redundancyEncoding",
17632         FT_NONE, BASE_NONE, NULL, 0,
17633         NULL, HFILL }},
17634     { &hf_h245_multiplePayloadStream,
17635       { "multiplePayloadStream", "h245.multiplePayloadStream",
17636         FT_NONE, BASE_NONE, NULL, 0,
17637         NULL, HFILL }},
17638     { &hf_h245_depFec,
17639       { "depFec", "h245.depFec",
17640         FT_UINT32, BASE_DEC, VALS(h245_DepFECData_vals), 0,
17641         "DepFECData", HFILL }},
17642     { &hf_h245_fec,
17643       { "fec", "h245.fec",
17644         FT_UINT32, BASE_DEC, VALS(h245_FECData_vals), 0,
17645         "FECData", HFILL }},
17646     { &hf_h245_mediaType,
17647       { "mediaType", "h245.mediaType",
17648         FT_UINT32, BASE_DEC, VALS(h245_T_mediaType_vals), 0,
17649         NULL, HFILL }},
17650     { &hf_h245_resourceID,
17651       { "resourceID", "h245.resourceID",
17652         FT_UINT32, BASE_DEC, NULL, 0,
17653         "INTEGER_0_65535", HFILL }},
17654     { &hf_h245_subChannelID,
17655       { "subChannelID", "h245.subChannelID",
17656         FT_UINT32, BASE_DEC, NULL, 0,
17657         "INTEGER_0_8191", HFILL }},
17658     { &hf_h245_pcr_pid,
17659       { "pcr-pid", "h245.pcr_pid",
17660         FT_UINT32, BASE_DEC, NULL, 0,
17661         "INTEGER_0_8191", HFILL }},
17662     { &hf_h245_programDescriptors,
17663       { "programDescriptors", "h245.programDescriptors",
17664         FT_BYTES, BASE_NONE, NULL, 0,
17665         "OCTET_STRING", HFILL }},
17666     { &hf_h245_streamDescriptors,
17667       { "streamDescriptors", "h245.streamDescriptors",
17668         FT_BYTES, BASE_NONE, NULL, 0,
17669         "OCTET_STRING", HFILL }},
17670     { &hf_h245_adaptationLayerType,
17671       { "adaptationLayerType", "h245.adaptationLayerType",
17672         FT_UINT32, BASE_DEC, VALS(h245_T_adaptationLayerType_vals), 0,
17673         NULL, HFILL }},
17674     { &hf_h245_h223_al_type_al1Framed,
17675       { "al1Framed", "h245.al1Framed",
17676         FT_NONE, BASE_NONE, NULL, 0,
17677         "T_h223_al_type_al1Framed", HFILL }},
17678     { &hf_h245_h223_al_type_al1NotFramed,
17679       { "al1NotFramed", "h245.al1NotFramed",
17680         FT_NONE, BASE_NONE, NULL, 0,
17681         "T_h223_al_type_al1NotFramed", HFILL }},
17682     { &hf_h245_h223_al_type_al2WithoutSequenceNumbers,
17683       { "al2WithoutSequenceNumbers", "h245.al2WithoutSequenceNumbers",
17684         FT_NONE, BASE_NONE, NULL, 0,
17685         "T_h223_al_type_al2WithoutSequenceNumbers", HFILL }},
17686     { &hf_h245_h223_al_type_al2WithSequenceNumbers,
17687       { "al2WithSequenceNumbers", "h245.al2WithSequenceNumbers",
17688         FT_NONE, BASE_NONE, NULL, 0,
17689         "T_h223_al_type_al2WithSequenceNumbers", HFILL }},
17690     { &hf_h245_controlFieldOctets,
17691       { "controlFieldOctets", "h245.controlFieldOctets",
17692         FT_UINT32, BASE_DEC, NULL, 0,
17693         NULL, HFILL }},
17694     { &hf_h245_al3_sendBufferSize,
17695       { "sendBufferSize", "h245.sendBufferSize",
17696         FT_UINT32, BASE_DEC, NULL, 0,
17697         "T_al3_sendBufferSize", HFILL }},
17698     { &hf_h245_h223_al_type_al3,
17699       { "al3", "h245.al3",
17700         FT_NONE, BASE_NONE, NULL, 0,
17701         "T_h223_al_type_al3", HFILL }},
17702     { &hf_h245_h223_al_type_al1M,
17703       { "al1M", "h245.al1M",
17704         FT_NONE, BASE_NONE, NULL, 0,
17705         "T_h223_al_type_al1M", HFILL }},
17706     { &hf_h245_h223_al_type_al2M,
17707       { "al2M", "h245.al2M",
17708         FT_NONE, BASE_NONE, NULL, 0,
17709         "T_h223_al_type_al2M", HFILL }},
17710     { &hf_h245_h223_al_type_al3M,
17711       { "al3M", "h245.al3M",
17712         FT_NONE, BASE_NONE, NULL, 0,
17713         "T_h223_al_type_al3M", HFILL }},
17714     { &hf_h245_h223_lc_segmentableFlag,
17715       { "segmentableFlag", "h245.segmentableFlag",
17716         FT_BOOLEAN, BASE_NONE, NULL, 0,
17717         "T_h223_lc_segmentableFlag", HFILL }},
17718     { &hf_h245_transferMode,
17719       { "transferMode", "h245.transferMode",
17720         FT_UINT32, BASE_DEC, VALS(h245_T_transferMode_vals), 0,
17721         NULL, HFILL }},
17722     { &hf_h245_framed,
17723       { "framed", "h245.framed",
17724         FT_NONE, BASE_NONE, NULL, 0,
17725         NULL, HFILL }},
17726     { &hf_h245_unframed,
17727       { "unframed", "h245.unframed",
17728         FT_NONE, BASE_NONE, NULL, 0,
17729         NULL, HFILL }},
17730     { &hf_h245_aL1HeaderFEC,
17731       { "headerFEC", "h245.headerFEC",
17732         FT_UINT32, BASE_DEC, VALS(h245_AL1HeaderFEC_vals), 0,
17733         "AL1HeaderFEC", HFILL }},
17734     { &hf_h245_sebch16_7,
17735       { "sebch16-7", "h245.sebch16_7",
17736         FT_NONE, BASE_NONE, NULL, 0,
17737         NULL, HFILL }},
17738     { &hf_h245_golay24_12,
17739       { "golay24-12", "h245.golay24_12",
17740         FT_NONE, BASE_NONE, NULL, 0,
17741         NULL, HFILL }},
17742     { &hf_h245_crcLength2,
17743       { "crcLength", "h245.crcLength",
17744         FT_UINT32, BASE_DEC, VALS(h245_AL1CrcLength_vals), 0,
17745         "AL1CrcLength", HFILL }},
17746     { &hf_h245_crc4bit,
17747       { "crc4bit", "h245.crc4bit",
17748         FT_NONE, BASE_NONE, NULL, 0,
17749         NULL, HFILL }},
17750     { &hf_h245_crc12bit,
17751       { "crc12bit", "h245.crc12bit",
17752         FT_NONE, BASE_NONE, NULL, 0,
17753         NULL, HFILL }},
17754     { &hf_h245_crc20bit,
17755       { "crc20bit", "h245.crc20bit",
17756         FT_NONE, BASE_NONE, NULL, 0,
17757         NULL, HFILL }},
17758     { &hf_h245_crc28bit,
17759       { "crc28bit", "h245.crc28bit",
17760         FT_NONE, BASE_NONE, NULL, 0,
17761         NULL, HFILL }},
17762     { &hf_h245_crc8bit,
17763       { "crc8bit", "h245.crc8bit",
17764         FT_NONE, BASE_NONE, NULL, 0,
17765         NULL, HFILL }},
17766     { &hf_h245_crc16bit,
17767       { "crc16bit", "h245.crc16bit",
17768         FT_NONE, BASE_NONE, NULL, 0,
17769         NULL, HFILL }},
17770     { &hf_h245_crc32bit,
17771       { "crc32bit", "h245.crc32bit",
17772         FT_NONE, BASE_NONE, NULL, 0,
17773         NULL, HFILL }},
17774     { &hf_h245_crcNotUsed,
17775       { "crcNotUsed", "h245.crcNotUsed",
17776         FT_NONE, BASE_NONE, NULL, 0,
17777         NULL, HFILL }},
17778     { &hf_h245_rcpcCodeRate,
17779       { "rcpcCodeRate", "h245.rcpcCodeRate",
17780         FT_UINT32, BASE_DEC, NULL, 0,
17781         "INTEGER_8_32", HFILL }},
17782     { &hf_h245_noArq,
17783       { "noArq", "h245.noArq",
17784         FT_NONE, BASE_NONE, NULL, 0,
17785         NULL, HFILL }},
17786     { &hf_h245_typeIArq,
17787       { "typeIArq", "h245.typeIArq",
17788         FT_NONE, BASE_NONE, NULL, 0,
17789         "H223AnnexCArqParameters", HFILL }},
17790     { &hf_h245_typeIIArq,
17791       { "typeIIArq", "h245.typeIIArq",
17792         FT_NONE, BASE_NONE, NULL, 0,
17793         "H223AnnexCArqParameters", HFILL }},
17794     { &hf_h245_arqType,
17795       { "arqType", "h245.arqType",
17796         FT_UINT32, BASE_DEC, VALS(h245_ArqType_vals), 0,
17797         NULL, HFILL }},
17798     { &hf_h245_alsduSplitting,
17799       { "alsduSplitting", "h245.alsduSplitting",
17800         FT_BOOLEAN, BASE_NONE, NULL, 0,
17801         "BOOLEAN", HFILL }},
17802     { &hf_h245_rsCodeCorrection,
17803       { "rsCodeCorrection", "h245.rsCodeCorrection",
17804         FT_UINT32, BASE_DEC, NULL, 0,
17805         "INTEGER_0_127", HFILL }},
17806     { &hf_h245_aL2HeaderFEC,
17807       { "headerFEC", "h245.headerFEC",
17808         FT_UINT32, BASE_DEC, VALS(h245_AL2HeaderFEC_vals), 0,
17809         "AL2HeaderFEC", HFILL }},
17810     { &hf_h245_sebch16_5,
17811       { "sebch16-5", "h245.sebch16_5",
17812         FT_NONE, BASE_NONE, NULL, 0,
17813         NULL, HFILL }},
17814     { &hf_h245_headerFormat,
17815       { "headerFormat", "h245.headerFormat",
17816         FT_UINT32, BASE_DEC, VALS(h245_T_headerFormat_vals), 0,
17817         NULL, HFILL }},
17818     { &hf_h245_crlength2,
17819       { "crcLength", "h245.crcLength",
17820         FT_UINT32, BASE_DEC, VALS(h245_AL3CrcLength_vals), 0,
17821         "AL3CrcLength", HFILL }},
17822     { &hf_h245_numberOfRetransmissions,
17823       { "numberOfRetransmissions", "h245.numberOfRetransmissions",
17824         FT_UINT32, BASE_DEC, VALS(h245_T_numberOfRetransmissions_vals), 0,
17825         NULL, HFILL }},
17826     { &hf_h245_finite,
17827       { "finite", "h245.finite",
17828         FT_UINT32, BASE_DEC, NULL, 0,
17829         "INTEGER_0_16", HFILL }},
17830     { &hf_h245_infinite,
17831       { "infinite", "h245.infinite",
17832         FT_NONE, BASE_NONE, NULL, 0,
17833         NULL, HFILL }},
17834     { &hf_h245_sendBufferSize,
17835       { "sendBufferSize", "h245.sendBufferSize",
17836         FT_UINT32, BASE_DEC, NULL, 0,
17837         "INTEGER_0_16777215", HFILL }},
17838     { &hf_h245_hdlcParameters,
17839       { "hdlcParameters", "h245.hdlcParameters",
17840         FT_NONE, BASE_NONE, NULL, 0,
17841         "V76HDLCParameters", HFILL }},
17842     { &hf_h245_suspendResume,
17843       { "suspendResume", "h245.suspendResume",
17844         FT_UINT32, BASE_DEC, VALS(h245_T_suspendResume_vals), 0,
17845         NULL, HFILL }},
17846     { &hf_h245_noSuspendResume,
17847       { "noSuspendResume", "h245.noSuspendResume",
17848         FT_NONE, BASE_NONE, NULL, 0,
17849         NULL, HFILL }},
17850     { &hf_h245_suspendResumewAddress,
17851       { "suspendResumewAddress", "h245.suspendResumewAddress",
17852         FT_NONE, BASE_NONE, NULL, 0,
17853         NULL, HFILL }},
17854     { &hf_h245_suspendResumewoAddress,
17855       { "suspendResumewoAddress", "h245.suspendResumewoAddress",
17856         FT_NONE, BASE_NONE, NULL, 0,
17857         NULL, HFILL }},
17858     { &hf_h245_uIH,
17859       { "uIH", "h245.uIH",
17860         FT_BOOLEAN, BASE_NONE, NULL, 0,
17861         "BOOLEAN", HFILL }},
17862     { &hf_h245_v76_mode,
17863       { "mode", "h245.mode",
17864         FT_UINT32, BASE_DEC, VALS(h245_V76LCP_mode_vals), 0,
17865         "V76LCP_mode", HFILL }},
17866     { &hf_h245_eRM,
17867       { "eRM", "h245.eRM",
17868         FT_NONE, BASE_NONE, NULL, 0,
17869         NULL, HFILL }},
17870     { &hf_h245_windowSize,
17871       { "windowSize", "h245.windowSize",
17872         FT_UINT32, BASE_DEC, NULL, 0,
17873         "INTEGER_1_127", HFILL }},
17874     { &hf_h245_recovery,
17875       { "recovery", "h245.recovery",
17876         FT_UINT32, BASE_DEC, VALS(h245_T_recovery_vals), 0,
17877         NULL, HFILL }},
17878     { &hf_h245_rej,
17879       { "rej", "h245.rej",
17880         FT_NONE, BASE_NONE, NULL, 0,
17881         NULL, HFILL }},
17882     { &hf_h245_sREJ,
17883       { "sREJ", "h245.sREJ",
17884         FT_NONE, BASE_NONE, NULL, 0,
17885         NULL, HFILL }},
17886     { &hf_h245_mSREJ,
17887       { "mSREJ", "h245.mSREJ",
17888         FT_NONE, BASE_NONE, NULL, 0,
17889         NULL, HFILL }},
17890     { &hf_h245_uNERM,
17891       { "uNERM", "h245.uNERM",
17892         FT_NONE, BASE_NONE, NULL, 0,
17893         NULL, HFILL }},
17894     { &hf_h245_v75Parameters,
17895       { "v75Parameters", "h245.v75Parameters",
17896         FT_NONE, BASE_NONE, NULL, 0,
17897         NULL, HFILL }},
17898     { &hf_h245_crcLength,
17899       { "crcLength", "h245.crcLength",
17900         FT_UINT32, BASE_DEC, VALS(h245_CRCLength_vals), 0,
17901         NULL, HFILL }},
17902     { &hf_h245_n401,
17903       { "n401", "h245.n401",
17904         FT_UINT32, BASE_DEC, NULL, 0,
17905         "INTEGER_1_4095", HFILL }},
17906     { &hf_h245_loopbackTestProcedure,
17907       { "loopbackTestProcedure", "h245.loopbackTestProcedure",
17908         FT_BOOLEAN, BASE_NONE, NULL, 0,
17909         "BOOLEAN", HFILL }},
17910     { &hf_h245_sessionID_0_255,
17911       { "sessionID", "h245.sessionID",
17912         FT_UINT32, BASE_DEC, NULL, 0,
17913         "INTEGER_0_255", HFILL }},
17914     { &hf_h245_associatedSessionID,
17915       { "associatedSessionID", "h245.associatedSessionID",
17916         FT_UINT32, BASE_DEC, NULL, 0,
17917         "INTEGER_1_255", HFILL }},
17918     { &hf_h245_mediaChannel,
17919       { "mediaChannel", "h245.mediaChannel",
17920         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
17921         NULL, HFILL }},
17922     { &hf_h245_mediaGuaranteedDelivery,
17923       { "mediaGuaranteedDelivery", "h245.mediaGuaranteedDelivery",
17924         FT_BOOLEAN, BASE_NONE, NULL, 0,
17925         "BOOLEAN", HFILL }},
17926     { &hf_h245_mediaControlChannel,
17927       { "mediaControlChannel", "h245.mediaControlChannel",
17928         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
17929         NULL, HFILL }},
17930     { &hf_h245_mediaControlGuaranteedDelivery,
17931       { "mediaControlGuaranteedDelivery", "h245.mediaControlGuaranteedDelivery",
17932         FT_BOOLEAN, BASE_NONE, NULL, 0,
17933         "BOOLEAN", HFILL }},
17934     { &hf_h245_destination,
17935       { "destination", "h245.destination",
17936         FT_NONE, BASE_NONE, NULL, 0,
17937         "TerminalLabel", HFILL }},
17938     { &hf_h245_mediaPacketization,
17939       { "mediaPacketization", "h245.mediaPacketization",
17940         FT_UINT32, BASE_DEC, VALS(h245_T_mediaPacketization_vals), 0,
17941         NULL, HFILL }},
17942     { &hf_h245_h261aVideoPacketizationFlag,
17943       { "h261aVideoPacketization", "h245.h261aVideoPacketization",
17944         FT_NONE, BASE_NONE, NULL, 0,
17945         NULL, HFILL }},
17946     { &hf_h245_rtpPayloadType,
17947       { "rtpPayloadType", "h245.rtpPayloadType",
17948         FT_NONE, BASE_NONE, NULL, 0,
17949         NULL, HFILL }},
17950     { &hf_h245_source,
17951       { "source", "h245.source",
17952         FT_NONE, BASE_NONE, NULL, 0,
17953         "TerminalLabel", HFILL }},
17954     { &hf_h245_payloadDescriptor,
17955       { "payloadDescriptor", "h245.payloadDescriptor",
17956         FT_UINT32, BASE_DEC, VALS(h245_T_payloadDescriptor_vals), 0,
17957         NULL, HFILL }},
17958     { &hf_h245_rfc_number,
17959       { "rfc-number", "h245.rfc_number",
17960         FT_UINT32, BASE_DEC, VALS(h245_RFC_number_vals), 0,
17961         NULL, HFILL }},
17962     { &hf_h245_oid,
17963       { "oid", "h245.oid",
17964         FT_OID, BASE_NONE, NULL, 0,
17965         "OBJECT_IDENTIFIER", HFILL }},
17966     { &hf_h245_rtpPayloadType_01,
17967       { "payloadType", "h245.payloadType",
17968         FT_UINT32, BASE_DEC, NULL, 0,
17969         "T_rtpPayloadType", HFILL }},
17970     { &hf_h245_secondaryEncoding,
17971       { "secondaryEncoding", "h245.secondaryEncoding",
17972         FT_UINT32, BASE_DEC, VALS(h245_DataType_vals), 0,
17973         "DataType", HFILL }},
17974     { &hf_h245_rtpRedundancyEncoding,
17975       { "rtpRedundancyEncoding", "h245.rtpRedundancyEncoding",
17976         FT_NONE, BASE_NONE, NULL, 0,
17977         NULL, HFILL }},
17978     { &hf_h245_primary,
17979       { "primary", "h245.primary",
17980         FT_NONE, BASE_NONE, NULL, 0,
17981         "RedundancyEncodingElement", HFILL }},
17982     { &hf_h245_secondary,
17983       { "secondary", "h245.secondary",
17984         FT_UINT32, BASE_DEC, NULL, 0,
17985         "SEQUENCE_OF_RedundancyEncodingElement", HFILL }},
17986     { &hf_h245_secondary_item,
17987       { "RedundancyEncodingElement", "h245.RedundancyEncodingElement",
17988         FT_NONE, BASE_NONE, NULL, 0,
17989         NULL, HFILL }},
17990     { &hf_h245_payloadType,
17991       { "payloadType", "h245.payloadType",
17992         FT_UINT32, BASE_DEC, NULL, 0,
17993         "INTEGER_0_127", HFILL }},
17994     { &hf_h245_elements,
17995       { "elements", "h245.elements",
17996         FT_UINT32, BASE_DEC, NULL, 0,
17997         "SEQUENCE_OF_MultiplePayloadStreamElement", HFILL }},
17998     { &hf_h245_elements_item,
17999       { "MultiplePayloadStreamElement", "h245.MultiplePayloadStreamElement",
18000         FT_NONE, BASE_NONE, NULL, 0,
18001         NULL, HFILL }},
18002     { &hf_h245_dep_rfc2733,
18003       { "rfc2733", "h245.rfc2733",
18004         FT_NONE, BASE_NONE, NULL, 0,
18005         "RFC2733Data", HFILL }},
18006     { &hf_h245_fec_data_mode,
18007       { "mode", "h245.mode",
18008         FT_UINT32, BASE_DEC, VALS(h245_FECdata_mode_vals), 0,
18009         "FECdata_mode", HFILL }},
18010     { &hf_h245_redundancyEncodingFlag,
18011       { "redundancyEncoding", "h245.redundancyEncoding",
18012         FT_NONE, BASE_NONE, NULL, 0,
18013         NULL, HFILL }},
18014     { &hf_h245_differentPort,
18015       { "differentPort", "h245.differentPort",
18016         FT_NONE, BASE_NONE, NULL, 0,
18017         NULL, HFILL }},
18018     { &hf_h245_protectedSessionID,
18019       { "protectedSessionID", "h245.protectedSessionID",
18020         FT_UINT32, BASE_DEC, NULL, 0,
18021         "INTEGER_1_255", HFILL }},
18022     { &hf_h245_protectedPayloadType,
18023       { "protectedPayloadType", "h245.protectedPayloadType",
18024         FT_UINT32, BASE_DEC, NULL, 0,
18025         "INTEGER_0_127", HFILL }},
18026     { &hf_h245_samePort,
18027       { "samePort", "h245.samePort",
18028         FT_NONE, BASE_NONE, NULL, 0,
18029         NULL, HFILL }},
18030     { &hf_h245_separateStream,
18031       { "separateStream", "h245.separateStream",
18032         FT_UINT32, BASE_DEC, VALS(h245_DepSeparateStream_vals), 0,
18033         "DepSeparateStream", HFILL }},
18034     { &hf_h245_rfc2733,
18035       { "rfc2733", "h245.rfc2733",
18036         FT_NONE, BASE_NONE, NULL, 0,
18037         NULL, HFILL }},
18038     { &hf_h245_pktMode,
18039       { "pktMode", "h245.pktMode",
18040         FT_UINT32, BASE_DEC, VALS(h245_T_pktMode_vals), 0,
18041         NULL, HFILL }},
18042     { &hf_h245_rfc2198coding,
18043       { "rfc2198coding", "h245.rfc2198coding",
18044         FT_NONE, BASE_NONE, NULL, 0,
18045         NULL, HFILL }},
18046     { &hf_h245_mode_rfc2733sameport,
18047       { "rfc2733sameport", "h245.rfc2733sameport",
18048         FT_NONE, BASE_NONE, NULL, 0,
18049         "T_mode_rfc2733sameport", HFILL }},
18050     { &hf_h245_mode_rfc2733diffport,
18051       { "rfc2733diffport", "h245.rfc2733diffport",
18052         FT_NONE, BASE_NONE, NULL, 0,
18053         "T_mode_rfc2733diffport", HFILL }},
18054     { &hf_h245_protectedChannel,
18055       { "protectedChannel", "h245.protectedChannel",
18056         FT_UINT32, BASE_DEC, NULL, 0,
18057         "LogicalChannelNumber", HFILL }},
18058     { &hf_h245_unicastAddress,
18059       { "unicastAddress", "h245.unicastAddress",
18060         FT_UINT32, BASE_DEC, VALS(h245_UnicastAddress_vals), 0,
18061         NULL, HFILL }},
18062     { &hf_h245_multicastAddress,
18063       { "multicastAddress", "h245.multicastAddress",
18064         FT_UINT32, BASE_DEC, VALS(h245_MulticastAddress_vals), 0,
18065         NULL, HFILL }},
18066     { &hf_h245_iPAddress,
18067       { "iPAddress", "h245.iPAddress",
18068         FT_NONE, BASE_NONE, NULL, 0,
18069         NULL, HFILL }},
18070     { &hf_h245_ip4_network,
18071       { "network", "h245.network",
18072         FT_IPv4, BASE_NONE, NULL, 0,
18073         "Ipv4_network", HFILL }},
18074     { &hf_h245_tsapIdentifier,
18075       { "tsapIdentifier", "h245.tsapIdentifier",
18076         FT_UINT32, BASE_DEC, NULL, 0,
18077         NULL, HFILL }},
18078     { &hf_h245_iPXAddress,
18079       { "iPXAddress", "h245.iPXAddress",
18080         FT_NONE, BASE_NONE, NULL, 0,
18081         NULL, HFILL }},
18082     { &hf_h245_node,
18083       { "node", "h245.node",
18084         FT_BYTES, BASE_NONE, NULL, 0,
18085         "OCTET_STRING_SIZE_6", HFILL }},
18086     { &hf_h245_netnum,
18087       { "netnum", "h245.netnum",
18088         FT_BYTES, BASE_NONE, NULL, 0,
18089         "OCTET_STRING_SIZE_4", HFILL }},
18090     { &hf_h245_ipx_tsapIdentifier,
18091       { "tsapIdentifier", "h245.tsapIdentifier",
18092         FT_BYTES, BASE_NONE, NULL, 0,
18093         "OCTET_STRING_SIZE_2", HFILL }},
18094     { &hf_h245_iP6Address,
18095       { "iP6Address", "h245.iP6Address",
18096         FT_NONE, BASE_NONE, NULL, 0,
18097         NULL, HFILL }},
18098     { &hf_h245_ip6_network,
18099       { "network", "h245.network",
18100         FT_IPv6, BASE_NONE, NULL, 0,
18101         "OCTET_STRING_SIZE_16", HFILL }},
18102     { &hf_h245_ipv6_tsapIdentifier,
18103       { "tsapIdentifier", "h245.tsapIdentifier",
18104         FT_UINT32, BASE_DEC, NULL, 0,
18105         "INTEGER_0_65535", HFILL }},
18106     { &hf_h245_netBios,
18107       { "netBios", "h245.netBios",
18108         FT_BYTES, BASE_NONE, NULL, 0,
18109         "OCTET_STRING_SIZE_16", HFILL }},
18110     { &hf_h245_iPSourceRouteAddress,
18111       { "iPSourceRouteAddress", "h245.iPSourceRouteAddress",
18112         FT_NONE, BASE_NONE, NULL, 0,
18113         NULL, HFILL }},
18114     { &hf_h245_routing,
18115       { "routing", "h245.routing",
18116         FT_UINT32, BASE_DEC, VALS(h245_T_routing_vals), 0,
18117         NULL, HFILL }},
18118     { &hf_h245_strict,
18119       { "strict", "h245.strict",
18120         FT_NONE, BASE_NONE, NULL, 0,
18121         NULL, HFILL }},
18122     { &hf_h245_loose,
18123       { "loose", "h245.loose",
18124         FT_NONE, BASE_NONE, NULL, 0,
18125         NULL, HFILL }},
18126     { &hf_h245_network,
18127       { "network", "h245.network",
18128         FT_BYTES, BASE_NONE, NULL, 0,
18129         "OCTET_STRING_SIZE_4", HFILL }},
18130     { &hf_h245_iPSrcRoute_tsapIdentifier,
18131       { "tsapIdentifier", "h245.tsapIdentifier",
18132         FT_UINT32, BASE_DEC, NULL, 0,
18133         "INTEGER_0_65535", HFILL }},
18134     { &hf_h245_route,
18135       { "route", "h245.route",
18136         FT_UINT32, BASE_DEC, NULL, 0,
18137         NULL, HFILL }},
18138     { &hf_h245_route_item,
18139       { "route item", "h245.route_item",
18140         FT_BYTES, BASE_NONE, NULL, 0,
18141         "OCTET_STRING_SIZE_4", HFILL }},
18142     { &hf_h245_nsap,
18143       { "nsap", "h245.nsap",
18144         FT_BYTES, BASE_NONE, NULL, 0,
18145         "OCTET_STRING_SIZE_1_20", HFILL }},
18146     { &hf_h245_nonStandardAddress,
18147       { "nonStandardAddress", "h245.nonStandardAddress",
18148         FT_NONE, BASE_NONE, NULL, 0,
18149         "NonStandardParameter", HFILL }},
18150     { &hf_h245_mIPAddress,
18151       { "iPAddress", "h245.iPAddress",
18152         FT_NONE, BASE_NONE, NULL, 0,
18153         "MIPAddress", HFILL }},
18154     { &hf_h245_mip4_network,
18155       { "network", "h245.network",
18156         FT_IPv4, BASE_NONE, NULL, 0,
18157         "OCTET_STRING_SIZE_4", HFILL }},
18158     { &hf_h245_multicast_tsapIdentifier,
18159       { "tsapIdentifier", "h245.tsapIdentifier",
18160         FT_UINT32, BASE_DEC, NULL, 0,
18161         "INTEGER_0_65535", HFILL }},
18162     { &hf_h245_mIP6Address,
18163       { "iP6Address", "h245.iP6Address",
18164         FT_NONE, BASE_NONE, NULL, 0,
18165         "MIP6Address", HFILL }},
18166     { &hf_h245_mip6_network,
18167       { "network", "h245.network",
18168         FT_IPv6, BASE_NONE, NULL, 0,
18169         "OCTET_STRING_SIZE_16", HFILL }},
18170     { &hf_h245_multicast_IPv6_tsapIdentifier,
18171       { "tsapIdentifier", "h245.tsapIdentifier",
18172         FT_UINT32, BASE_DEC, NULL, 0,
18173         "INTEGER_0_65535", HFILL }},
18174     { &hf_h245_synchFlag,
18175       { "synchFlag", "h245.synchFlag",
18176         FT_UINT32, BASE_DEC, NULL, 0,
18177         "INTEGER_0_255", HFILL }},
18178     { &hf_h245_h235Key,
18179       { "h235Key", "h245.h235Key",
18180         FT_BYTES, BASE_NONE, NULL, 0,
18181         "OCTET_STRING_SIZE_1_65535", HFILL }},
18182     { &hf_h245_escrowentry,
18183       { "escrowentry", "h245.escrowentry",
18184         FT_UINT32, BASE_DEC, NULL, 0,
18185         "SEQUENCE_SIZE_1_256_OF_EscrowData", HFILL }},
18186     { &hf_h245_escrowentry_item,
18187       { "EscrowData", "h245.EscrowData",
18188         FT_NONE, BASE_NONE, NULL, 0,
18189         NULL, HFILL }},
18190     { &hf_h245_genericParameter,
18191       { "genericParameter", "h245.genericParameter",
18192         FT_NONE, BASE_NONE, NULL, 0,
18193         NULL, HFILL }},
18194     { &hf_h245_escrowID,
18195       { "escrowID", "h245.escrowID",
18196         FT_OID, BASE_NONE, NULL, 0,
18197         "OBJECT_IDENTIFIER", HFILL }},
18198     { &hf_h245_escrowValue,
18199       { "escrowValue", "h245.escrowValue",
18200         FT_BYTES, BASE_NONE, NULL, 0,
18201         "BIT_STRING_SIZE_1_65535", HFILL }},
18202     { &hf_h245_olc_ack_fw_lcn,
18203       { "forwardLogicalChannelNumber", "h245.forwardLogicalChannelNumber",
18204         FT_UINT32, BASE_DEC, NULL, 0,
18205         "OLC_ack_fw_lcn", HFILL }},
18206     { &hf_h245_olc_ack_reverseLogicalChannelParameters,
18207       { "reverseLogicalChannelParameters", "h245.reverseLogicalChannelParameters",
18208         FT_NONE, BASE_NONE, NULL, 0,
18209         "OLC_ack_reverseLogicalChannelParameters", HFILL }},
18210     { &hf_h245_reverseLogicalChannelNumber,
18211       { "reverseLogicalChannelNumber", "h245.reverseLogicalChannelNumber",
18212         FT_UINT32, BASE_DEC, NULL, 0,
18213         NULL, HFILL }},
18214     { &hf_h245_olc_ack_multiplexParameters,
18215       { "multiplexParameters", "h245.multiplexParameters",
18216         FT_UINT32, BASE_DEC, VALS(h245_T_olc_ack_multiplexParameters_vals), 0,
18217         "T_olc_ack_multiplexParameters", HFILL }},
18218     { &hf_h245_forwardMultiplexAckParameters,
18219       { "forwardMultiplexAckParameters", "h245.forwardMultiplexAckParameters",
18220         FT_UINT32, BASE_DEC, VALS(h245_T_forwardMultiplexAckParameters_vals), 0,
18221         NULL, HFILL }},
18222     { &hf_h245_h2250LogicalChannelAckParameters,
18223       { "h2250LogicalChannelAckParameters", "h245.h2250LogicalChannelAckParameters",
18224         FT_NONE, BASE_NONE, NULL, 0,
18225         NULL, HFILL }},
18226     { &hf_h245_forwardLogicalChannelNumber,
18227       { "forwardLogicalChannelNumber", "h245.forwardLogicalChannelNumber",
18228         FT_UINT32, BASE_DEC, NULL, 0,
18229         "LogicalChannelNumber", HFILL }},
18230     { &hf_h245_olc_rej_cause,
18231       { "cause", "h245.cause",
18232         FT_UINT32, BASE_DEC, VALS(h245_OpenLogicalChannelRejectCause_vals), 0,
18233         "OpenLogicalChannelRejectCause", HFILL }},
18234     { &hf_h245_unsuitableReverseParameters,
18235       { "unsuitableReverseParameters", "h245.unsuitableReverseParameters",
18236         FT_NONE, BASE_NONE, NULL, 0,
18237         NULL, HFILL }},
18238     { &hf_h245_dataTypeNotSupported,
18239       { "dataTypeNotSupported", "h245.dataTypeNotSupported",
18240         FT_NONE, BASE_NONE, NULL, 0,
18241         NULL, HFILL }},
18242     { &hf_h245_dataTypeNotAvailable,
18243       { "dataTypeNotAvailable", "h245.dataTypeNotAvailable",
18244         FT_NONE, BASE_NONE, NULL, 0,
18245         NULL, HFILL }},
18246     { &hf_h245_unknownDataType,
18247       { "unknownDataType", "h245.unknownDataType",
18248         FT_NONE, BASE_NONE, NULL, 0,
18249         NULL, HFILL }},
18250     { &hf_h245_dataTypeALCombinationNotSupported,
18251       { "dataTypeALCombinationNotSupported", "h245.dataTypeALCombinationNotSupported",
18252         FT_NONE, BASE_NONE, NULL, 0,
18253         NULL, HFILL }},
18254     { &hf_h245_multicastChannelNotAllowed,
18255       { "multicastChannelNotAllowed", "h245.multicastChannelNotAllowed",
18256         FT_NONE, BASE_NONE, NULL, 0,
18257         NULL, HFILL }},
18258     { &hf_h245_insufficientBandwidth,
18259       { "insufficientBandwidth", "h245.insufficientBandwidth",
18260         FT_NONE, BASE_NONE, NULL, 0,
18261         NULL, HFILL }},
18262     { &hf_h245_separateStackEstablishmentFailed,
18263       { "separateStackEstablishmentFailed", "h245.separateStackEstablishmentFailed",
18264         FT_NONE, BASE_NONE, NULL, 0,
18265         NULL, HFILL }},
18266     { &hf_h245_invalidSessionID,
18267       { "invalidSessionID", "h245.invalidSessionID",
18268         FT_NONE, BASE_NONE, NULL, 0,
18269         NULL, HFILL }},
18270     { &hf_h245_masterSlaveConflict,
18271       { "masterSlaveConflict", "h245.masterSlaveConflict",
18272         FT_NONE, BASE_NONE, NULL, 0,
18273         NULL, HFILL }},
18274     { &hf_h245_waitForCommunicationMode,
18275       { "waitForCommunicationMode", "h245.waitForCommunicationMode",
18276         FT_NONE, BASE_NONE, NULL, 0,
18277         NULL, HFILL }},
18278     { &hf_h245_invalidDependentChannel,
18279       { "invalidDependentChannel", "h245.invalidDependentChannel",
18280         FT_NONE, BASE_NONE, NULL, 0,
18281         NULL, HFILL }},
18282     { &hf_h245_replacementForRejected,
18283       { "replacementForRejected", "h245.replacementForRejected",
18284         FT_NONE, BASE_NONE, NULL, 0,
18285         NULL, HFILL }},
18286     { &hf_h245_securityDenied,
18287       { "securityDenied", "h245.securityDenied",
18288         FT_NONE, BASE_NONE, NULL, 0,
18289         NULL, HFILL }},
18290     { &hf_h245_qoSControlNotSupported,
18291       { "qoSControlNotSupported", "h245.qoSControlNotSupported",
18292         FT_NONE, BASE_NONE, NULL, 0,
18293         NULL, HFILL }},
18294     { &hf_h245_sessionID,
18295       { "sessionID", "h245.sessionID",
18296         FT_UINT32, BASE_DEC, NULL, 0,
18297         "INTEGER_1_255", HFILL }},
18298     { &hf_h245_ack_mediaChannel,
18299       { "mediaChannel", "h245.mediaChannel",
18300         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
18301         "Ack_mediaChannel", HFILL }},
18302     { &hf_h245_ack_mediaControlChannel,
18303       { "mediaControlChannel", "h245.mediaControlChannel",
18304         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
18305         "Ack_mediaControlChannel", HFILL }},
18306     { &hf_h245_flowControlToZero,
18307       { "flowControlToZero", "h245.flowControlToZero",
18308         FT_BOOLEAN, BASE_NONE, NULL, 0,
18309         "BOOLEAN", HFILL }},
18310     { &hf_h245_cLC_source,
18311       { "source", "h245.source",
18312         FT_UINT32, BASE_DEC, VALS(h245_T_cLC_source_vals), 0,
18313         "T_cLC_source", HFILL }},
18314     { &hf_h245_user,
18315       { "user", "h245.user",
18316         FT_NONE, BASE_NONE, NULL, 0,
18317         NULL, HFILL }},
18318     { &hf_h245_lcse,
18319       { "lcse", "h245.lcse",
18320         FT_NONE, BASE_NONE, NULL, 0,
18321         NULL, HFILL }},
18322     { &hf_h245_clc_reason,
18323       { "reason", "h245.reason",
18324         FT_UINT32, BASE_DEC, VALS(h245_Clc_reason_vals), 0,
18325         "Clc_reason", HFILL }},
18326     { &hf_h245_unknown,
18327       { "unknown", "h245.unknown",
18328         FT_NONE, BASE_NONE, NULL, 0,
18329         NULL, HFILL }},
18330     { &hf_h245_reopen,
18331       { "reopen", "h245.reopen",
18332         FT_NONE, BASE_NONE, NULL, 0,
18333         NULL, HFILL }},
18334     { &hf_h245_reservationFailure,
18335       { "reservationFailure", "h245.reservationFailure",
18336         FT_NONE, BASE_NONE, NULL, 0,
18337         NULL, HFILL }},
18338     { &hf_h245_networkErrorCode,
18339       { "networkErrorCode", "h245.networkErrorCode",
18340         FT_UINT32, BASE_DEC, NULL, 0,
18341         "INTEGER_0_255", HFILL }},
18342     { &hf_h245_qosCapability,
18343       { "qosCapability", "h245.qosCapability",
18344         FT_NONE, BASE_NONE, NULL, 0,
18345         NULL, HFILL }},
18346     { &hf_h245_reason,
18347       { "reason", "h245.reason",
18348         FT_UINT32, BASE_DEC, VALS(h245_T_reason_vals), 0,
18349         NULL, HFILL }},
18350     { &hf_h245_normal,
18351       { "normal", "h245.normal",
18352         FT_NONE, BASE_NONE, NULL, 0,
18353         NULL, HFILL }},
18354     { &hf_h245_req_chan_clos_rej_cause,
18355       { "cause", "h245.cause",
18356         FT_UINT32, BASE_DEC, VALS(h245_RequestChannelCloseRejectCause_vals), 0,
18357         "RequestChannelCloseRejectCause", HFILL }},
18358     { &hf_h245_multiplexEntryDescriptors,
18359       { "multiplexEntryDescriptors", "h245.multiplexEntryDescriptors",
18360         FT_UINT32, BASE_DEC, NULL, 0,
18361         "SET_SIZE_1_15_OF_MultiplexEntryDescriptor", HFILL }},
18362     { &hf_h245_multiplexEntryDescriptors_item,
18363       { "MultiplexEntryDescriptor", "h245.MultiplexEntryDescriptor",
18364         FT_NONE, BASE_NONE, NULL, 0,
18365         NULL, HFILL }},
18366     { &hf_h245_multiplexTableEntryNumber,
18367       { "multiplexTableEntryNumber", "h245.multiplexTableEntryNumber",
18368         FT_UINT32, BASE_DEC, NULL, 0,
18369         NULL, HFILL }},
18370     { &hf_h245_elementList,
18371       { "elementList", "h245.elementList",
18372         FT_UINT32, BASE_DEC, NULL, 0,
18373         NULL, HFILL }},
18374     { &hf_h245_elementList_item,
18375       { "MultiplexElement", "h245.MultiplexElement",
18376         FT_NONE, BASE_NONE, NULL, 0,
18377         NULL, HFILL }},
18378     { &hf_h245_me_type,
18379       { "type", "h245.type",
18380         FT_UINT32, BASE_DEC, VALS(h245_Me_type_vals), 0,
18381         "Me_type", HFILL }},
18382     { &hf_h245_logicalChannelNum,
18383       { "logicalChannelNumber", "h245.logicalChannelNumber",
18384         FT_UINT32, BASE_DEC, NULL, 0,
18385         "T_logicalChannelNum", HFILL }},
18386     { &hf_h245_subElementList,
18387       { "subElementList", "h245.subElementList",
18388         FT_UINT32, BASE_DEC, NULL, 0,
18389         NULL, HFILL }},
18390     { &hf_h245_subElementList_item,
18391       { "MultiplexElement", "h245.MultiplexElement",
18392         FT_NONE, BASE_NONE, NULL, 0,
18393         NULL, HFILL }},
18394     { &hf_h245_me_repeatCount,
18395       { "repeatCount", "h245.repeatCount",
18396         FT_UINT32, BASE_DEC, VALS(h245_ME_repeatCount_vals), 0,
18397         "ME_repeatCount", HFILL }},
18398     { &hf_h245_me_repeatCount_finite,
18399       { "finite", "h245.finite",
18400         FT_UINT32, BASE_DEC, NULL, 0,
18401         "ME_finiteRepeatCount", HFILL }},
18402     { &hf_h245_untilClosingFlag,
18403       { "untilClosingFlag", "h245.untilClosingFlag",
18404         FT_NONE, BASE_NONE, NULL, 0,
18405         NULL, HFILL }},
18406     { &hf_h245_multiplexTableEntryNumbers,
18407       { "multiplexTableEntryNumber", "h245.multiplexTableEntryNumber",
18408         FT_UINT32, BASE_DEC, NULL, 0,
18409         "SET_SIZE_1_15_OF_MultiplexTableEntryNumber", HFILL }},
18410     { &hf_h245_multiplexTableEntryNumbers_item,
18411       { "MultiplexTableEntryNumber", "h245.MultiplexTableEntryNumber",
18412         FT_UINT32, BASE_DEC, NULL, 0,
18413         NULL, HFILL }},
18414     { &hf_h245_sendRejectionDescriptions,
18415       { "rejectionDescriptions", "h245.rejectionDescriptions",
18416         FT_UINT32, BASE_DEC, NULL, 0,
18417         "SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions", HFILL }},
18418     { &hf_h245_sendRejectionDescriptions_item,
18419       { "MultiplexEntryRejectionDescriptions", "h245.MultiplexEntryRejectionDescriptions",
18420         FT_NONE, BASE_NONE, NULL, 0,
18421         NULL, HFILL }},
18422     { &hf_h245_mux_rej_cause,
18423       { "cause", "h245.cause",
18424         FT_UINT32, BASE_DEC, VALS(h245_MultiplexEntryRejectionDescriptionsCause_vals), 0,
18425         "MultiplexEntryRejectionDescriptionsCause", HFILL }},
18426     { &hf_h245_unspecifiedCause,
18427       { "unspecifiedCause", "h245.unspecifiedCause",
18428         FT_NONE, BASE_NONE, NULL, 0,
18429         NULL, HFILL }},
18430     { &hf_h245_descriptorTooComplex,
18431       { "descriptorTooComplex", "h245.descriptorTooComplex",
18432         FT_NONE, BASE_NONE, NULL, 0,
18433         NULL, HFILL }},
18434     { &hf_h245_entryNumbers,
18435       { "entryNumbers", "h245.entryNumbers",
18436         FT_UINT32, BASE_DEC, NULL, 0,
18437         "SET_SIZE_1_15_OF_MultiplexTableEntryNumber", HFILL }},
18438     { &hf_h245_entryNumbers_item,
18439       { "MultiplexTableEntryNumber", "h245.MultiplexTableEntryNumber",
18440         FT_UINT32, BASE_DEC, NULL, 0,
18441         NULL, HFILL }},
18442     { &hf_h245_rejectionDescriptions,
18443       { "rejectionDescriptions", "h245.rejectionDescriptions",
18444         FT_UINT32, BASE_DEC, NULL, 0,
18445         "SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions", HFILL }},
18446     { &hf_h245_rejectionDescriptions_item,
18447       { "RequestMultiplexEntryRejectionDescriptions", "h245.RequestMultiplexEntryRejectionDescriptions",
18448         FT_NONE, BASE_NONE, NULL, 0,
18449         NULL, HFILL }},
18450     { &hf_h245_req_mux_rej_cause,
18451       { "cause", "h245.cause",
18452         FT_UINT32, BASE_DEC, VALS(h245_RequestMultiplexEntryRejectionDescriptionsCause_vals), 0,
18453         "RequestMultiplexEntryRejectionDescriptionsCause", HFILL }},
18454     { &hf_h245_requestedModes,
18455       { "requestedModes", "h245.requestedModes",
18456         FT_UINT32, BASE_DEC, NULL, 0,
18457         "SEQUENCE_SIZE_1_256_OF_ModeDescription", HFILL }},
18458     { &hf_h245_requestedModes_item,
18459       { "ModeDescription", "h245.ModeDescription",
18460         FT_UINT32, BASE_DEC, NULL, 0,
18461         NULL, HFILL }},
18462     { &hf_h245_req_mode_ack_response,
18463       { "response", "h245.response",
18464         FT_UINT32, BASE_DEC, VALS(h245_Req_mode_ack_response_vals), 0,
18465         "Req_mode_ack_response", HFILL }},
18466     { &hf_h245_willTransmitMostPreferredMode,
18467       { "willTransmitMostPreferredMode", "h245.willTransmitMostPreferredMode",
18468         FT_NONE, BASE_NONE, NULL, 0,
18469         NULL, HFILL }},
18470     { &hf_h245_willTransmitLessPreferredMode,
18471       { "willTransmitLessPreferredMode", "h245.willTransmitLessPreferredMode",
18472         FT_NONE, BASE_NONE, NULL, 0,
18473         NULL, HFILL }},
18474     { &hf_h245_req_rej_cause,
18475       { "cause", "h245.cause",
18476         FT_UINT32, BASE_DEC, VALS(h245_RequestModeRejectCause_vals), 0,
18477         "RequestModeRejectCause", HFILL }},
18478     { &hf_h245_modeUnavailable,
18479       { "modeUnavailable", "h245.modeUnavailable",
18480         FT_NONE, BASE_NONE, NULL, 0,
18481         NULL, HFILL }},
18482     { &hf_h245_multipointConstraint,
18483       { "multipointConstraint", "h245.multipointConstraint",
18484         FT_NONE, BASE_NONE, NULL, 0,
18485         NULL, HFILL }},
18486     { &hf_h245_requestDenied,
18487       { "requestDenied", "h245.requestDenied",
18488         FT_NONE, BASE_NONE, NULL, 0,
18489         NULL, HFILL }},
18490     { &hf_h245_ModeDescription_item,
18491       { "ModeElement", "h245.ModeElement",
18492         FT_NONE, BASE_NONE, NULL, 0,
18493         NULL, HFILL }},
18494     { &hf_h245_videoMode,
18495       { "videoMode", "h245.videoMode",
18496         FT_UINT32, BASE_DEC, VALS(h245_VideoMode_vals), 0,
18497         NULL, HFILL }},
18498     { &hf_h245_audioMode,
18499       { "audioMode", "h245.audioMode",
18500         FT_UINT32, BASE_DEC, VALS(h245_AudioMode_vals), 0,
18501         NULL, HFILL }},
18502     { &hf_h245_dataMode,
18503       { "dataMode", "h245.dataMode",
18504         FT_NONE, BASE_NONE, NULL, 0,
18505         NULL, HFILL }},
18506     { &hf_h245_encryptionMode,
18507       { "encryptionMode", "h245.encryptionMode",
18508         FT_UINT32, BASE_DEC, VALS(h245_EncryptionMode_vals), 0,
18509         NULL, HFILL }},
18510     { &hf_h245_h235Mode,
18511       { "h235Mode", "h245.h235Mode",
18512         FT_NONE, BASE_NONE, NULL, 0,
18513         NULL, HFILL }},
18514     { &hf_h245_multiplexedStreamMode,
18515       { "multiplexedStreamMode", "h245.multiplexedStreamMode",
18516         FT_NONE, BASE_NONE, NULL, 0,
18517         "MultiplexedStreamParameter", HFILL }},
18518     { &hf_h245_redundancyEncodingDTMode,
18519       { "redundancyEncodingDTMode", "h245.redundancyEncodingDTMode",
18520         FT_NONE, BASE_NONE, NULL, 0,
18521         NULL, HFILL }},
18522     { &hf_h245_multiplePayloadStreamMode,
18523       { "multiplePayloadStreamMode", "h245.multiplePayloadStreamMode",
18524         FT_NONE, BASE_NONE, NULL, 0,
18525         NULL, HFILL }},
18526     { &hf_h245_depFecMode,
18527       { "depFecMode", "h245.depFecMode",
18528         FT_UINT32, BASE_DEC, VALS(h245_DepFECMode_vals), 0,
18529         NULL, HFILL }},
18530     { &hf_h245_fecMode,
18531       { "fecMode", "h245.fecMode",
18532         FT_NONE, BASE_NONE, NULL, 0,
18533         NULL, HFILL }},
18534     { &hf_h245_type,
18535       { "type", "h245.type",
18536         FT_UINT32, BASE_DEC, VALS(h245_ModeElementType_vals), 0,
18537         "ModeElementType", HFILL }},
18538     { &hf_h245_h223ModeParameters,
18539       { "h223ModeParameters", "h245.h223ModeParameters",
18540         FT_NONE, BASE_NONE, NULL, 0,
18541         NULL, HFILL }},
18542     { &hf_h245_v76ModeParameters,
18543       { "v76ModeParameters", "h245.v76ModeParameters",
18544         FT_UINT32, BASE_DEC, VALS(h245_V76ModeParameters_vals), 0,
18545         NULL, HFILL }},
18546     { &hf_h245_h2250ModeParameters,
18547       { "h2250ModeParameters", "h245.h2250ModeParameters",
18548         FT_NONE, BASE_NONE, NULL, 0,
18549         NULL, HFILL }},
18550     { &hf_h245_genericModeParameters,
18551       { "genericModeParameters", "h245.genericModeParameters",
18552         FT_NONE, BASE_NONE, NULL, 0,
18553         "GenericCapability", HFILL }},
18554     { &hf_h245_multiplexedStreamModeParameters,
18555       { "multiplexedStreamModeParameters", "h245.multiplexedStreamModeParameters",
18556         FT_NONE, BASE_NONE, NULL, 0,
18557         NULL, HFILL }},
18558     { &hf_h245_logicalChannelNumber,
18559       { "logicalChannelNumber", "h245.logicalChannelNumber",
18560         FT_UINT32, BASE_DEC, NULL, 0,
18561         NULL, HFILL }},
18562     { &hf_h245_mediaMode,
18563       { "mediaMode", "h245.mediaMode",
18564         FT_UINT32, BASE_DEC, VALS(h245_T_mediaMode_vals), 0,
18565         NULL, HFILL }},
18566     { &hf_h245_prmary_dtmode,
18567       { "primary", "h245.primary",
18568         FT_NONE, BASE_NONE, NULL, 0,
18569         "RedundancyEncodingDTModeElement", HFILL }},
18570     { &hf_h245_secondaryDTM,
18571       { "secondary", "h245.secondary",
18572         FT_UINT32, BASE_DEC, NULL, 0,
18573         "SEQUENCE_OF_RedundancyEncodingDTModeElement", HFILL }},
18574     { &hf_h245_secondaryDTM_item,
18575       { "RedundancyEncodingDTModeElement", "h245.RedundancyEncodingDTModeElement",
18576         FT_NONE, BASE_NONE, NULL, 0,
18577         NULL, HFILL }},
18578     { &hf_h245_re_type,
18579       { "type", "h245.type",
18580         FT_UINT32, BASE_DEC, VALS(h245_Re_type_vals), 0,
18581         "Re_type", HFILL }},
18582     { &hf_h245_mpsmElements,
18583       { "elements", "h245.elements",
18584         FT_UINT32, BASE_DEC, NULL, 0,
18585         "SEQUENCE_OF_MultiplePayloadStreamElementMode", HFILL }},
18586     { &hf_h245_mpsmElements_item,
18587       { "MultiplePayloadStreamElementMode", "h245.MultiplePayloadStreamElementMode",
18588         FT_NONE, BASE_NONE, NULL, 0,
18589         NULL, HFILL }},
18590     { &hf_h245_rfc2733Mode,
18591       { "rfc2733Mode", "h245.rfc2733Mode",
18592         FT_NONE, BASE_NONE, NULL, 0,
18593         NULL, HFILL }},
18594     { &hf_h245_fec_mode,
18595       { "mode", "h245.mode",
18596         FT_UINT32, BASE_DEC, VALS(h245_FEC_mode_vals), 0,
18597         "FEC_mode", HFILL }},
18598     { &hf_h245_protectedElement,
18599       { "protectedElement", "h245.protectedElement",
18600         FT_UINT32, BASE_DEC, VALS(h245_ModeElementType_vals), 0,
18601         "ModeElementType", HFILL }},
18602     { &hf_h245_adaptationLayer,
18603       { "adaptationLayerType", "h245.adaptationLayerType",
18604         FT_UINT32, BASE_DEC, VALS(h245_AdaptationLayerType_vals), 0,
18605         NULL, HFILL }},
18606     { &hf_h245_al1Framed,
18607       { "al1Framed", "h245.al1Framed",
18608         FT_NONE, BASE_NONE, NULL, 0,
18609         NULL, HFILL }},
18610     { &hf_h245_al1NotFramed,
18611       { "al1NotFramed", "h245.al1NotFramed",
18612         FT_NONE, BASE_NONE, NULL, 0,
18613         NULL, HFILL }},
18614     { &hf_h245_al2WithoutSequenceNumbers,
18615       { "al2WithoutSequenceNumbers", "h245.al2WithoutSequenceNumbers",
18616         FT_NONE, BASE_NONE, NULL, 0,
18617         NULL, HFILL }},
18618     { &hf_h245_al2WithSequenceNumbers,
18619       { "al2WithSequenceNumbers", "h245.al2WithSequenceNumbers",
18620         FT_NONE, BASE_NONE, NULL, 0,
18621         NULL, HFILL }},
18622     { &hf_h245_al3,
18623       { "al3", "h245.al3",
18624         FT_NONE, BASE_NONE, NULL, 0,
18625         NULL, HFILL }},
18626     { &hf_h245_al1M,
18627       { "al1M", "h245.al1M",
18628         FT_NONE, BASE_NONE, NULL, 0,
18629         "H223AL1MParameters", HFILL }},
18630     { &hf_h245_al2M,
18631       { "al2M", "h245.al2M",
18632         FT_NONE, BASE_NONE, NULL, 0,
18633         "H223AL2MParameters", HFILL }},
18634     { &hf_h245_al3M,
18635       { "al3M", "h245.al3M",
18636         FT_NONE, BASE_NONE, NULL, 0,
18637         "H223AL3MParameters", HFILL }},
18638     { &hf_h245_segmentableFlag,
18639       { "segmentableFlag", "h245.segmentableFlag",
18640         FT_BOOLEAN, BASE_NONE, NULL, 0,
18641         "BOOLEAN", HFILL }},
18642     { &hf_h245_redundancyEncodingMode,
18643       { "redundancyEncodingMode", "h245.redundancyEncodingMode",
18644         FT_NONE, BASE_NONE, NULL, 0,
18645         NULL, HFILL }},
18646     { &hf_h245_secondaryEncodingMode,
18647       { "secondaryEncoding", "h245.secondaryEncoding",
18648         FT_UINT32, BASE_DEC, VALS(h245_T_secondaryEncodingMode_vals), 0,
18649         "T_secondaryEncodingMode", HFILL }},
18650     { &hf_h245_h261VideoMode,
18651       { "h261VideoMode", "h245.h261VideoMode",
18652         FT_NONE, BASE_NONE, NULL, 0,
18653         NULL, HFILL }},
18654     { &hf_h245_h262VideoMode,
18655       { "h262VideoMode", "h245.h262VideoMode",
18656         FT_NONE, BASE_NONE, NULL, 0,
18657         NULL, HFILL }},
18658     { &hf_h245_h263VideoMode,
18659       { "h263VideoMode", "h245.h263VideoMode",
18660         FT_NONE, BASE_NONE, NULL, 0,
18661         NULL, HFILL }},
18662     { &hf_h245_is11172VideoMode,
18663       { "is11172VideoMode", "h245.is11172VideoMode",
18664         FT_NONE, BASE_NONE, NULL, 0,
18665         NULL, HFILL }},
18666     { &hf_h245_genericVideoMode,
18667       { "genericVideoMode", "h245.genericVideoMode",
18668         FT_NONE, BASE_NONE, NULL, 0,
18669         "GenericCapability", HFILL }},
18670     { &hf_h245_h261_resolution,
18671       { "resolution", "h245.resolution",
18672         FT_UINT32, BASE_DEC, VALS(h245_H261Resolution_vals), 0,
18673         "H261Resolution", HFILL }},
18674     { &hf_h245_qcif,
18675       { "qcif", "h245.qcif",
18676         FT_NONE, BASE_NONE, NULL, 0,
18677         NULL, HFILL }},
18678     { &hf_h245_cif,
18679       { "cif", "h245.cif",
18680         FT_NONE, BASE_NONE, NULL, 0,
18681         NULL, HFILL }},
18682     { &hf_h245_profileAndLevel,
18683       { "profileAndLevel", "h245.profileAndLevel",
18684         FT_UINT32, BASE_DEC, VALS(h245_T_profileAndLevel_vals), 0,
18685         NULL, HFILL }},
18686     { &hf_h245_profileAndLevel_SPatMLMode,
18687       { "profileAndLevel-SPatML", "h245.profileAndLevel_SPatML",
18688         FT_NONE, BASE_NONE, NULL, 0,
18689         NULL, HFILL }},
18690     { &hf_h245_profileAndLevel_MPatLLMode,
18691       { "profileAndLevel-MPatLL", "h245.profileAndLevel_MPatLL",
18692         FT_NONE, BASE_NONE, NULL, 0,
18693         NULL, HFILL }},
18694     { &hf_h245_profileAndLevel_MPatMLMode,
18695       { "profileAndLevel-MPatML", "h245.profileAndLevel_MPatML",
18696         FT_NONE, BASE_NONE, NULL, 0,
18697         NULL, HFILL }},
18698     { &hf_h245_profileAndLevel_MPatH_14Mode,
18699       { "profileAndLevel-MPatH-14", "h245.profileAndLevel_MPatH_14",
18700         FT_NONE, BASE_NONE, NULL, 0,
18701         NULL, HFILL }},
18702     { &hf_h245_profileAndLevel_MPatHLMode,
18703       { "profileAndLevel-MPatHL", "h245.profileAndLevel_MPatHL",
18704         FT_NONE, BASE_NONE, NULL, 0,
18705         NULL, HFILL }},
18706     { &hf_h245_profileAndLevel_SNRatLLMode,
18707       { "profileAndLevel-SNRatLL", "h245.profileAndLevel_SNRatLL",
18708         FT_NONE, BASE_NONE, NULL, 0,
18709         NULL, HFILL }},
18710     { &hf_h245_profileAndLevel_SNRatMLMode,
18711       { "profileAndLevel-SNRatML", "h245.profileAndLevel_SNRatML",
18712         FT_NONE, BASE_NONE, NULL, 0,
18713         NULL, HFILL }},
18714     { &hf_h245_profileAndLevel_SpatialatH_14Mode,
18715       { "profileAndLevel-SpatialatH-14", "h245.profileAndLevel_SpatialatH_14",
18716         FT_NONE, BASE_NONE, NULL, 0,
18717         NULL, HFILL }},
18718     { &hf_h245_profileAndLevel_HPatMLMode,
18719       { "profileAndLevel-HPatML", "h245.profileAndLevel_HPatML",
18720         FT_NONE, BASE_NONE, NULL, 0,
18721         NULL, HFILL }},
18722     { &hf_h245_profileAndLevel_HPatH_14Mode,
18723       { "profileAndLevel-HPatH-14", "h245.profileAndLevel_HPatH_14",
18724         FT_NONE, BASE_NONE, NULL, 0,
18725         NULL, HFILL }},
18726     { &hf_h245_profileAndLevel_HPatHLMode,
18727       { "profileAndLevel-HPatHL", "h245.profileAndLevel_HPatHL",
18728         FT_NONE, BASE_NONE, NULL, 0,
18729         NULL, HFILL }},
18730     { &hf_h245_h263_resolution,
18731       { "resolution", "h245.resolution",
18732         FT_UINT32, BASE_DEC, VALS(h245_H263Resolution_vals), 0,
18733         "H263Resolution", HFILL }},
18734     { &hf_h245_sqcif,
18735       { "sqcif", "h245.sqcif",
18736         FT_NONE, BASE_NONE, NULL, 0,
18737         NULL, HFILL }},
18738     { &hf_h245_cif4,
18739       { "cif4", "h245.cif4",
18740         FT_NONE, BASE_NONE, NULL, 0,
18741         NULL, HFILL }},
18742     { &hf_h245_cif16,
18743       { "cif16", "h245.cif16",
18744         FT_NONE, BASE_NONE, NULL, 0,
18745         NULL, HFILL }},
18746     { &hf_h245_custom_res,
18747       { "custom", "h245.custom",
18748         FT_NONE, BASE_NONE, NULL, 0,
18749         NULL, HFILL }},
18750     { &hf_h245_g711Alaw64k_mode,
18751       { "g711Alaw64k", "h245.g711Alaw64k",
18752         FT_NONE, BASE_NONE, NULL, 0,
18753         NULL, HFILL }},
18754     { &hf_h245_g711Alaw56k_mode,
18755       { "g711Alaw56k", "h245.g711Alaw56k",
18756         FT_NONE, BASE_NONE, NULL, 0,
18757         NULL, HFILL }},
18758     { &hf_h245_g711Ulaw64k_mode,
18759       { "g711Ulaw64k", "h245.g711Ulaw64k",
18760         FT_NONE, BASE_NONE, NULL, 0,
18761         NULL, HFILL }},
18762     { &hf_h245_g711Ulaw56k_mode,
18763       { "g711Ulaw56k", "h245.g711Ulaw56k",
18764         FT_NONE, BASE_NONE, NULL, 0,
18765         NULL, HFILL }},
18766     { &hf_h245_g722_64k_mode,
18767       { "g722-64k", "h245.g722_64k",
18768         FT_NONE, BASE_NONE, NULL, 0,
18769         NULL, HFILL }},
18770     { &hf_h245_g722_56k_mode,
18771       { "g722-56k", "h245.g722_56k",
18772         FT_NONE, BASE_NONE, NULL, 0,
18773         NULL, HFILL }},
18774     { &hf_h245_g722_48k_mode,
18775       { "g722-48k", "h245.g722_48k",
18776         FT_NONE, BASE_NONE, NULL, 0,
18777         NULL, HFILL }},
18778     { &hf_h245_g728_mode,
18779       { "g728", "h245.g728",
18780         FT_NONE, BASE_NONE, NULL, 0,
18781         NULL, HFILL }},
18782     { &hf_h245_g729_mode,
18783       { "g729", "h245.g729",
18784         FT_NONE, BASE_NONE, NULL, 0,
18785         NULL, HFILL }},
18786     { &hf_h245_g729AnnexA_mode,
18787       { "g729AnnexA", "h245.g729AnnexA",
18788         FT_NONE, BASE_NONE, NULL, 0,
18789         NULL, HFILL }},
18790     { &hf_h245_g7231_mode,
18791       { "g7231", "h245.g7231",
18792         FT_UINT32, BASE_DEC, VALS(h245_Mode_g7231_vals), 0,
18793         "Mode_g7231", HFILL }},
18794     { &hf_h245_noSilenceSuppressionLowRate,
18795       { "noSilenceSuppressionLowRate", "h245.noSilenceSuppressionLowRate",
18796         FT_NONE, BASE_NONE, NULL, 0,
18797         NULL, HFILL }},
18798     { &hf_h245_noSilenceSuppressionHighRate,
18799       { "noSilenceSuppressionHighRate", "h245.noSilenceSuppressionHighRate",
18800         FT_NONE, BASE_NONE, NULL, 0,
18801         NULL, HFILL }},
18802     { &hf_h245_silenceSuppressionLowRate,
18803       { "silenceSuppressionLowRate", "h245.silenceSuppressionLowRate",
18804         FT_NONE, BASE_NONE, NULL, 0,
18805         NULL, HFILL }},
18806     { &hf_h245_silenceSuppressionHighRate,
18807       { "silenceSuppressionHighRate", "h245.silenceSuppressionHighRate",
18808         FT_NONE, BASE_NONE, NULL, 0,
18809         NULL, HFILL }},
18810     { &hf_h245_is11172AudioMode,
18811       { "is11172AudioMode", "h245.is11172AudioMode",
18812         FT_NONE, BASE_NONE, NULL, 0,
18813         NULL, HFILL }},
18814     { &hf_h245_is13818AudioMode,
18815       { "is13818AudioMode", "h245.is13818AudioMode",
18816         FT_NONE, BASE_NONE, NULL, 0,
18817         NULL, HFILL }},
18818     { &hf_h245_g7231AnnexCMode,
18819       { "g7231AnnexCMode", "h245.g7231AnnexCMode",
18820         FT_NONE, BASE_NONE, NULL, 0,
18821         NULL, HFILL }},
18822     { &hf_h245_genericAudioMode,
18823       { "genericAudioMode", "h245.genericAudioMode",
18824         FT_NONE, BASE_NONE, NULL, 0,
18825         "GenericCapability", HFILL }},
18826     { &hf_h245_vbd_mode,
18827       { "vbd", "h245.vbd",
18828         FT_NONE, BASE_NONE, NULL, 0,
18829         "VBDMode", HFILL }},
18830     { &hf_h245_audioLayer,
18831       { "audioLayer", "h245.audioLayer",
18832         FT_UINT32, BASE_DEC, VALS(h245_T_audioLayer_vals), 0,
18833         NULL, HFILL }},
18834     { &hf_h245_audioLayer1Mode,
18835       { "audioLayer1", "h245.audioLayer1",
18836         FT_NONE, BASE_NONE, NULL, 0,
18837         NULL, HFILL }},
18838     { &hf_h245_audioLayer2Mode,
18839       { "audioLayer2", "h245.audioLayer2",
18840         FT_NONE, BASE_NONE, NULL, 0,
18841         NULL, HFILL }},
18842     { &hf_h245_audioLayer3Mode,
18843       { "audioLayer3", "h245.audioLayer3",
18844         FT_NONE, BASE_NONE, NULL, 0,
18845         NULL, HFILL }},
18846     { &hf_h245_audioSampling,
18847       { "audioSampling", "h245.audioSampling",
18848         FT_UINT32, BASE_DEC, VALS(h245_T_audioSampling_vals), 0,
18849         NULL, HFILL }},
18850     { &hf_h245_audioSampling32kMode,
18851       { "audioSampling32k", "h245.audioSampling32k",
18852         FT_NONE, BASE_NONE, NULL, 0,
18853         NULL, HFILL }},
18854     { &hf_h245_audioSampling44k1Mode,
18855       { "audioSampling44k1", "h245.audioSampling44k1",
18856         FT_NONE, BASE_NONE, NULL, 0,
18857         NULL, HFILL }},
18858     { &hf_h245_audioSampling48kMode,
18859       { "audioSampling48k", "h245.audioSampling48k",
18860         FT_NONE, BASE_NONE, NULL, 0,
18861         NULL, HFILL }},
18862     { &hf_h245_is11172multichannelType,
18863       { "multichannelType", "h245.multichannelType",
18864         FT_UINT32, BASE_DEC, VALS(h245_IS11172_multichannelType_vals), 0,
18865         "IS11172_multichannelType", HFILL }},
18866     { &hf_h245_singleChannelMode,
18867       { "singleChannel", "h245.singleChannel",
18868         FT_NONE, BASE_NONE, NULL, 0,
18869         NULL, HFILL }},
18870     { &hf_h245_twoChannelStereo,
18871       { "twoChannelStereo", "h245.twoChannelStereo",
18872         FT_NONE, BASE_NONE, NULL, 0,
18873         NULL, HFILL }},
18874     { &hf_h245_twoChannelDual,
18875       { "twoChannelDual", "h245.twoChannelDual",
18876         FT_NONE, BASE_NONE, NULL, 0,
18877         NULL, HFILL }},
18878     { &hf_h245_audioLayerMode,
18879       { "audioLayer", "h245.audioLayer",
18880         FT_UINT32, BASE_DEC, VALS(h245_IS13818AudioLayer_vals), 0,
18881         "IS13818AudioLayer", HFILL }},
18882     { &hf_h245_audioSamplingMode,
18883       { "audioSampling", "h245.audioSampling",
18884         FT_UINT32, BASE_DEC, VALS(h245_IS13818AudioSampling_vals), 0,
18885         "IS13818AudioSampling", HFILL }},
18886     { &hf_h245_audioSampling16kMode,
18887       { "audioSampling16k", "h245.audioSampling16k",
18888         FT_NONE, BASE_NONE, NULL, 0,
18889         NULL, HFILL }},
18890     { &hf_h245_audioSampling22k05Mode,
18891       { "audioSampling22k05", "h245.audioSampling22k05",
18892         FT_NONE, BASE_NONE, NULL, 0,
18893         NULL, HFILL }},
18894     { &hf_h245_audioSampling24kMode,
18895       { "audioSampling24k", "h245.audioSampling24k",
18896         FT_NONE, BASE_NONE, NULL, 0,
18897         NULL, HFILL }},
18898     { &hf_h245_is13818MultichannelType,
18899       { "multichannelType", "h245.multichannelType",
18900         FT_UINT32, BASE_DEC, VALS(h245_IS13818MultichannelType_vals), 0,
18901         "IS13818MultichannelType", HFILL }},
18902     { &hf_h245_threeChannels2_1Mode,
18903       { "threeChannels2-1", "h245.threeChannels2_1",
18904         FT_NONE, BASE_NONE, NULL, 0,
18905         NULL, HFILL }},
18906     { &hf_h245_threeChannels3_0Mode,
18907       { "threeChannels3-0", "h245.threeChannels3_0",
18908         FT_NONE, BASE_NONE, NULL, 0,
18909         NULL, HFILL }},
18910     { &hf_h245_fourChannels2_0_2_0Mode,
18911       { "fourChannels2-0-2-0", "h245.fourChannels2_0_2_0",
18912         FT_NONE, BASE_NONE, NULL, 0,
18913         NULL, HFILL }},
18914     { &hf_h245_fourChannels2_2Mode,
18915       { "fourChannels2-2", "h245.fourChannels2_2",
18916         FT_NONE, BASE_NONE, NULL, 0,
18917         NULL, HFILL }},
18918     { &hf_h245_fourChannels3_1Mode,
18919       { "fourChannels3-1", "h245.fourChannels3_1",
18920         FT_NONE, BASE_NONE, NULL, 0,
18921         NULL, HFILL }},
18922     { &hf_h245_fiveChannels3_0_2_0Mode,
18923       { "fiveChannels3-0-2-0", "h245.fiveChannels3_0_2_0",
18924         FT_NONE, BASE_NONE, NULL, 0,
18925         NULL, HFILL }},
18926     { &hf_h245_fiveChannels3_2Mode,
18927       { "fiveChannels3-2", "h245.fiveChannels3_2",
18928         FT_NONE, BASE_NONE, NULL, 0,
18929         NULL, HFILL }},
18930     { &hf_h245_vbd_type,
18931       { "type", "h245.type",
18932         FT_UINT32, BASE_DEC, VALS(h245_AudioMode_vals), 0,
18933         "AudioMode", HFILL }},
18934     { &hf_h245_datamodeapplication,
18935       { "application", "h245.application",
18936         FT_UINT32, BASE_DEC, VALS(h245_DataModeApplication_vals), 0,
18937         "DataModeApplication", HFILL }},
18938     { &hf_h245_t84DataProtocolCapability,
18939       { "t84", "h245.t84",
18940         FT_UINT32, BASE_DEC, VALS(DataProtocolCapability_vals), 0,
18941         "DataProtocolCapability", HFILL }},
18942     { &hf_h245_t38faxDataProtocolCapability,
18943       { "t38fax", "h245.t38fax",
18944         FT_NONE, BASE_NONE, NULL, 0,
18945         "T38faxApp", HFILL }},
18946     { &hf_h245_genericDataMode,
18947       { "genericDataMode", "h245.genericDataMode",
18948         FT_NONE, BASE_NONE, NULL, 0,
18949         "GenericCapability", HFILL }},
18950     { &hf_h245_bitRate_0_4294967295,
18951       { "bitRate", "h245.bitRate",
18952         FT_UINT32, BASE_DEC, NULL, 0,
18953         "INTEGER_0_4294967295", HFILL }},
18954     { &hf_h245_h233Encryption,
18955       { "h233Encryption", "h245.h233Encryption",
18956         FT_NONE, BASE_NONE, NULL, 0,
18957         NULL, HFILL }},
18958     { &hf_h245_mlr_type,
18959       { "type", "h245.type",
18960         FT_UINT32, BASE_DEC, VALS(h245_Mlr_type_vals), 0,
18961         "Mlr_type", HFILL }},
18962     { &hf_h245_systemLoop,
18963       { "systemLoop", "h245.systemLoop",
18964         FT_NONE, BASE_NONE, NULL, 0,
18965         NULL, HFILL }},
18966     { &hf_h245_mediaLoop,
18967       { "mediaLoop", "h245.mediaLoop",
18968         FT_UINT32, BASE_DEC, NULL, 0,
18969         "LogicalChannelNumber", HFILL }},
18970     { &hf_h245_logicalChannelLoop,
18971       { "logicalChannelLoop", "h245.logicalChannelLoop",
18972         FT_UINT32, BASE_DEC, NULL, 0,
18973         "LogicalChannelNumber", HFILL }},
18974     { &hf_h245_mla_type,
18975       { "type", "h245.type",
18976         FT_UINT32, BASE_DEC, VALS(h245_Mla_type_vals), 0,
18977         "Mla_type", HFILL }},
18978     { &hf_h245_mlrej_type,
18979       { "type", "h245.type",
18980         FT_UINT32, BASE_DEC, VALS(h245_Mlrej_type_vals), 0,
18981         "Mlrej_type", HFILL }},
18982     { &hf_h245_maintloop_rej_cause,
18983       { "cause", "h245.cause",
18984         FT_UINT32, BASE_DEC, VALS(h245_MaintenanceLoopRejectCause_vals), 0,
18985         "MaintenanceLoopRejectCause", HFILL }},
18986     { &hf_h245_canNotPerformLoop,
18987       { "canNotPerformLoop", "h245.canNotPerformLoop",
18988         FT_NONE, BASE_NONE, NULL, 0,
18989         NULL, HFILL }},
18990     { &hf_h245_communicationModeTable,
18991       { "communicationModeTable", "h245.communicationModeTable",
18992         FT_UINT32, BASE_DEC, NULL, 0,
18993         "SET_SIZE_1_256_OF_CommunicationModeTableEntry", HFILL }},
18994     { &hf_h245_communicationModeTable_item,
18995       { "CommunicationModeTableEntry", "h245.CommunicationModeTableEntry",
18996         FT_NONE, BASE_NONE, NULL, 0,
18997         NULL, HFILL }},
18998     { &hf_h245_terminalLabel,
18999       { "terminalLabel", "h245.terminalLabel",
19000         FT_NONE, BASE_NONE, NULL, 0,
19001         NULL, HFILL }},
19002     { &hf_h245_sessionDescription,
19003       { "sessionDescription", "h245.sessionDescription",
19004         FT_STRING, BASE_NONE, NULL, 0,
19005         "BMPString_SIZE_1_128", HFILL }},
19006     { &hf_h245_entryDataType,
19007       { "dataType", "h245.dataType",
19008         FT_UINT32, BASE_DEC, VALS(h245_T_entryDataType_vals), 0,
19009         "T_entryDataType", HFILL }},
19010     { &hf_h245_cm_mediaChannel,
19011       { "mediaChannel", "h245.mediaChannel",
19012         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
19013         "Cm_mediaChannel", HFILL }},
19014     { &hf_h245_cm_mediaControlChannel,
19015       { "mediaControlChannel", "h245.mediaControlChannel",
19016         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
19017         "TransportAddress", HFILL }},
19018     { &hf_h245_sessionDependency,
19019       { "sessionDependency", "h245.sessionDependency",
19020         FT_UINT32, BASE_DEC, NULL, 0,
19021         "INTEGER_1_255", HFILL }},
19022     { &hf_h245_terminalListRequest,
19023       { "terminalListRequest", "h245.terminalListRequest",
19024         FT_NONE, BASE_NONE, NULL, 0,
19025         NULL, HFILL }},
19026     { &hf_h245_makeMeChair,
19027       { "makeMeChair", "h245.makeMeChair",
19028         FT_NONE, BASE_NONE, NULL, 0,
19029         NULL, HFILL }},
19030     { &hf_h245_cancelMakeMeChair,
19031       { "cancelMakeMeChair", "h245.cancelMakeMeChair",
19032         FT_NONE, BASE_NONE, NULL, 0,
19033         NULL, HFILL }},
19034     { &hf_h245_dropTerminal,
19035       { "dropTerminal", "h245.dropTerminal",
19036         FT_NONE, BASE_NONE, NULL, 0,
19037         "TerminalLabel", HFILL }},
19038     { &hf_h245_requestTerminalID,
19039       { "requestTerminalID", "h245.requestTerminalID",
19040         FT_NONE, BASE_NONE, NULL, 0,
19041         "TerminalLabel", HFILL }},
19042     { &hf_h245_enterH243Password,
19043       { "enterH243Password", "h245.enterH243Password",
19044         FT_NONE, BASE_NONE, NULL, 0,
19045         NULL, HFILL }},
19046     { &hf_h245_enterH243TerminalID,
19047       { "enterH243TerminalID", "h245.enterH243TerminalID",
19048         FT_NONE, BASE_NONE, NULL, 0,
19049         NULL, HFILL }},
19050     { &hf_h245_enterH243ConferenceID,
19051       { "enterH243ConferenceID", "h245.enterH243ConferenceID",
19052         FT_NONE, BASE_NONE, NULL, 0,
19053         NULL, HFILL }},
19054     { &hf_h245_enterExtensionAddress,
19055       { "enterExtensionAddress", "h245.enterExtensionAddress",
19056         FT_NONE, BASE_NONE, NULL, 0,
19057         NULL, HFILL }},
19058     { &hf_h245_requestChairTokenOwner,
19059       { "requestChairTokenOwner", "h245.requestChairTokenOwner",
19060         FT_NONE, BASE_NONE, NULL, 0,
19061         NULL, HFILL }},
19062     { &hf_h245_requestTerminalCertificate,
19063       { "requestTerminalCertificate", "h245.requestTerminalCertificate",
19064         FT_NONE, BASE_NONE, NULL, 0,
19065         NULL, HFILL }},
19066     { &hf_h245_certSelectionCriteria,
19067       { "certSelectionCriteria", "h245.certSelectionCriteria",
19068         FT_UINT32, BASE_DEC, NULL, 0,
19069         NULL, HFILL }},
19070     { &hf_h245_sRandom,
19071       { "sRandom", "h245.sRandom",
19072         FT_UINT32, BASE_DEC, NULL, 0,
19073         "INTEGER_1_4294967295", HFILL }},
19074     { &hf_h245_broadcastMyLogicalChannel,
19075       { "broadcastMyLogicalChannel", "h245.broadcastMyLogicalChannel",
19076         FT_UINT32, BASE_DEC, NULL, 0,
19077         "LogicalChannelNumber", HFILL }},
19078     { &hf_h245_makeTerminalBroadcaster,
19079       { "makeTerminalBroadcaster", "h245.makeTerminalBroadcaster",
19080         FT_NONE, BASE_NONE, NULL, 0,
19081         "TerminalLabel", HFILL }},
19082     { &hf_h245_sendThisSource,
19083       { "sendThisSource", "h245.sendThisSource",
19084         FT_NONE, BASE_NONE, NULL, 0,
19085         "TerminalLabel", HFILL }},
19086     { &hf_h245_requestAllTerminalIDs,
19087       { "requestAllTerminalIDs", "h245.requestAllTerminalIDs",
19088         FT_NONE, BASE_NONE, NULL, 0,
19089         NULL, HFILL }},
19090     { &hf_h245_remoteMCRequest,
19091       { "remoteMCRequest", "h245.remoteMCRequest",
19092         FT_UINT32, BASE_DEC, VALS(h245_RemoteMCRequest_vals), 0,
19093         NULL, HFILL }},
19094     { &hf_h245_CertSelectionCriteria_item,
19095       { "Criteria", "h245.Criteria",
19096         FT_NONE, BASE_NONE, NULL, 0,
19097         NULL, HFILL }},
19098     { &hf_h245_field,
19099       { "field", "h245.field",
19100         FT_OID, BASE_NONE, NULL, 0,
19101         "OBJECT_IDENTIFIER", HFILL }},
19102     { &hf_h245_criteriaValue,
19103       { "value", "h245.value",
19104         FT_BYTES, BASE_NONE, NULL, 0,
19105         "OCTET_STRING_SIZE_1_65535", HFILL }},
19106     { &hf_h245_mcuNumber,
19107       { "mcuNumber", "h245.mcuNumber",
19108         FT_UINT32, BASE_DEC, NULL, 0,
19109         NULL, HFILL }},
19110     { &hf_h245_terminalNumber,
19111       { "terminalNumber", "h245.terminalNumber",
19112         FT_UINT32, BASE_DEC, NULL, 0,
19113         NULL, HFILL }},
19114     { &hf_h245_mCTerminalIDResponse,
19115       { "mCTerminalIDResponse", "h245.mCTerminalIDResponse",
19116         FT_NONE, BASE_NONE, NULL, 0,
19117         NULL, HFILL }},
19118     { &hf_h245_terminalID,
19119       { "terminalID", "h245.terminalID",
19120         FT_BYTES, BASE_NONE, NULL, 0,
19121         NULL, HFILL }},
19122     { &hf_h245_terminalIDResponse,
19123       { "terminalIDResponse", "h245.terminalIDResponse",
19124         FT_NONE, BASE_NONE, NULL, 0,
19125         NULL, HFILL }},
19126     { &hf_h245_conferenceIDResponse,
19127       { "conferenceIDResponse", "h245.conferenceIDResponse",
19128         FT_NONE, BASE_NONE, NULL, 0,
19129         NULL, HFILL }},
19130     { &hf_h245_conferenceID,
19131       { "conferenceID", "h245.conferenceID",
19132         FT_BYTES, BASE_NONE, NULL, 0,
19133         NULL, HFILL }},
19134     { &hf_h245_passwordResponse,
19135       { "passwordResponse", "h245.passwordResponse",
19136         FT_NONE, BASE_NONE, NULL, 0,
19137         NULL, HFILL }},
19138     { &hf_h245_password,
19139       { "password", "h245.password",
19140         FT_BYTES, BASE_NONE, NULL, 0,
19141         NULL, HFILL }},
19142     { &hf_h245_terminalListResponse,
19143       { "terminalListResponse", "h245.terminalListResponse",
19144         FT_UINT32, BASE_DEC, NULL, 0,
19145         "SET_SIZE_1_256_OF_TerminalLabel", HFILL }},
19146     { &hf_h245_terminalListResponse_item,
19147       { "TerminalLabel", "h245.TerminalLabel",
19148         FT_NONE, BASE_NONE, NULL, 0,
19149         NULL, HFILL }},
19150     { &hf_h245_videoCommandReject,
19151       { "videoCommandReject", "h245.videoCommandReject",
19152         FT_NONE, BASE_NONE, NULL, 0,
19153         NULL, HFILL }},
19154     { &hf_h245_terminalDropReject,
19155       { "terminalDropReject", "h245.terminalDropReject",
19156         FT_NONE, BASE_NONE, NULL, 0,
19157         NULL, HFILL }},
19158     { &hf_h245_makeMeChairResponse,
19159       { "makeMeChairResponse", "h245.makeMeChairResponse",
19160         FT_UINT32, BASE_DEC, VALS(h245_T_makeMeChairResponse_vals), 0,
19161         NULL, HFILL }},
19162     { &hf_h245_grantedChairToken,
19163       { "grantedChairToken", "h245.grantedChairToken",
19164         FT_NONE, BASE_NONE, NULL, 0,
19165         NULL, HFILL }},
19166     { &hf_h245_deniedChairToken,
19167       { "deniedChairToken", "h245.deniedChairToken",
19168         FT_NONE, BASE_NONE, NULL, 0,
19169         NULL, HFILL }},
19170     { &hf_h245_extensionAddressResponse,
19171       { "extensionAddressResponse", "h245.extensionAddressResponse",
19172         FT_NONE, BASE_NONE, NULL, 0,
19173         NULL, HFILL }},
19174     { &hf_h245_extensionAddress,
19175       { "extensionAddress", "h245.extensionAddress",
19176         FT_BYTES, BASE_NONE, NULL, 0,
19177         "TerminalID", HFILL }},
19178     { &hf_h245_chairTokenOwnerResponse,
19179       { "chairTokenOwnerResponse", "h245.chairTokenOwnerResponse",
19180         FT_NONE, BASE_NONE, NULL, 0,
19181         NULL, HFILL }},
19182     { &hf_h245_terminalCertificateResponse,
19183       { "terminalCertificateResponse", "h245.terminalCertificateResponse",
19184         FT_NONE, BASE_NONE, NULL, 0,
19185         NULL, HFILL }},
19186     { &hf_h245_certificateResponse,
19187       { "certificateResponse", "h245.certificateResponse",
19188         FT_BYTES, BASE_NONE, NULL, 0,
19189         "OCTET_STRING_SIZE_1_65535", HFILL }},
19190     { &hf_h245_broadcastMyLogicalChannelResponse,
19191       { "broadcastMyLogicalChannelResponse", "h245.broadcastMyLogicalChannelResponse",
19192         FT_UINT32, BASE_DEC, VALS(h245_T_broadcastMyLogicalChannelResponse_vals), 0,
19193         NULL, HFILL }},
19194     { &hf_h245_grantedBroadcastMyLogicalChannel,
19195       { "grantedBroadcastMyLogicalChannel", "h245.grantedBroadcastMyLogicalChannel",
19196         FT_NONE, BASE_NONE, NULL, 0,
19197         NULL, HFILL }},
19198     { &hf_h245_deniedBroadcastMyLogicalChannel,
19199       { "deniedBroadcastMyLogicalChannel", "h245.deniedBroadcastMyLogicalChannel",
19200         FT_NONE, BASE_NONE, NULL, 0,
19201         NULL, HFILL }},
19202     { &hf_h245_makeTerminalBroadcasterResponse,
19203       { "makeTerminalBroadcasterResponse", "h245.makeTerminalBroadcasterResponse",
19204         FT_UINT32, BASE_DEC, VALS(h245_T_makeTerminalBroadcasterResponse_vals), 0,
19205         NULL, HFILL }},
19206     { &hf_h245_grantedMakeTerminalBroadcaster,
19207       { "grantedMakeTerminalBroadcaster", "h245.grantedMakeTerminalBroadcaster",
19208         FT_NONE, BASE_NONE, NULL, 0,
19209         NULL, HFILL }},
19210     { &hf_h245_deniedMakeTerminalBroadcaster,
19211       { "deniedMakeTerminalBroadcaster", "h245.deniedMakeTerminalBroadcaster",
19212         FT_NONE, BASE_NONE, NULL, 0,
19213         NULL, HFILL }},
19214     { &hf_h245_sendThisSourceResponse,
19215       { "sendThisSourceResponse", "h245.sendThisSourceResponse",
19216         FT_UINT32, BASE_DEC, VALS(h245_T_sendThisSourceResponse_vals), 0,
19217         NULL, HFILL }},
19218     { &hf_h245_grantedSendThisSource,
19219       { "grantedSendThisSource", "h245.grantedSendThisSource",
19220         FT_NONE, BASE_NONE, NULL, 0,
19221         NULL, HFILL }},
19222     { &hf_h245_deniedSendThisSource,
19223       { "deniedSendThisSource", "h245.deniedSendThisSource",
19224         FT_NONE, BASE_NONE, NULL, 0,
19225         NULL, HFILL }},
19226     { &hf_h245_requestAllTerminalIDsResponse,
19227       { "requestAllTerminalIDsResponse", "h245.requestAllTerminalIDsResponse",
19228         FT_NONE, BASE_NONE, NULL, 0,
19229         NULL, HFILL }},
19230     { &hf_h245_remoteMCResponse,
19231       { "remoteMCResponse", "h245.remoteMCResponse",
19232         FT_UINT32, BASE_DEC, VALS(h245_RemoteMCResponse_vals), 0,
19233         NULL, HFILL }},
19234     { &hf_h245_terminalInformation,
19235       { "terminalInformation", "h245.terminalInformation",
19236         FT_UINT32, BASE_DEC, NULL, 0,
19237         "SEQUENCE_OF_TerminalInformation", HFILL }},
19238     { &hf_h245_terminalInformation_item,
19239       { "TerminalInformation", "h245.TerminalInformation",
19240         FT_NONE, BASE_NONE, NULL, 0,
19241         NULL, HFILL }},
19242     { &hf_h245_masterActivate,
19243       { "masterActivate", "h245.masterActivate",
19244         FT_NONE, BASE_NONE, NULL, 0,
19245         NULL, HFILL }},
19246     { &hf_h245_slaveActivate,
19247       { "slaveActivate", "h245.slaveActivate",
19248         FT_NONE, BASE_NONE, NULL, 0,
19249         NULL, HFILL }},
19250     { &hf_h245_deActivate,
19251       { "deActivate", "h245.deActivate",
19252         FT_NONE, BASE_NONE, NULL, 0,
19253         NULL, HFILL }},
19254     { &hf_h245_accept,
19255       { "accept", "h245.accept",
19256         FT_NONE, BASE_NONE, NULL, 0,
19257         NULL, HFILL }},
19258     { &hf_h245_reject,
19259       { "reject", "h245.reject",
19260         FT_UINT32, BASE_DEC, VALS(h245_T_reject_vals), 0,
19261         NULL, HFILL }},
19262     { &hf_h245_functionNotSupportedFlag,
19263       { "functionNotSupported", "h245.functionNotSupported",
19264         FT_NONE, BASE_NONE, NULL, 0,
19265         NULL, HFILL }},
19266     { &hf_h245_callInformationReq,
19267       { "callInformation", "h245.callInformation",
19268         FT_NONE, BASE_NONE, NULL, 0,
19269         "CallInformationReq", HFILL }},
19270     { &hf_h245_maxNumberOfAdditionalConnections,
19271       { "maxNumberOfAdditionalConnections", "h245.maxNumberOfAdditionalConnections",
19272         FT_UINT32, BASE_DEC, NULL, 0,
19273         "INTEGER_1_65535", HFILL }},
19274     { &hf_h245_addConnectionReq,
19275       { "addConnection", "h245.addConnection",
19276         FT_NONE, BASE_NONE, NULL, 0,
19277         "AddConnectionReq", HFILL }},
19278     { &hf_h245_dialingInformation,
19279       { "dialingInformation", "h245.dialingInformation",
19280         FT_UINT32, BASE_DEC, VALS(h245_DialingInformation_vals), 0,
19281         NULL, HFILL }},
19282     { &hf_h245_removeConnectionReq,
19283       { "removeConnection", "h245.removeConnection",
19284         FT_NONE, BASE_NONE, NULL, 0,
19285         "RemoveConnectionReq", HFILL }},
19286     { &hf_h245_connectionIdentifier,
19287       { "connectionIdentifier", "h245.connectionIdentifier",
19288         FT_NONE, BASE_NONE, NULL, 0,
19289         NULL, HFILL }},
19290     { &hf_h245_maximumHeaderIntervalReq,
19291       { "maximumHeaderInterval", "h245.maximumHeaderInterval",
19292         FT_NONE, BASE_NONE, NULL, 0,
19293         "MaximumHeaderIntervalReq", HFILL }},
19294     { &hf_h245_requestType,
19295       { "requestType", "h245.requestType",
19296         FT_UINT32, BASE_DEC, VALS(h245_T_requestType_vals), 0,
19297         NULL, HFILL }},
19298     { &hf_h245_currentIntervalInformation,
19299       { "currentIntervalInformation", "h245.currentIntervalInformation",
19300         FT_NONE, BASE_NONE, NULL, 0,
19301         NULL, HFILL }},
19302     { &hf_h245_requestedInterval,
19303       { "requestedInterval", "h245.requestedInterval",
19304         FT_UINT32, BASE_DEC, NULL, 0,
19305         "INTEGER_0_65535", HFILL }},
19306     { &hf_h245_callInformationResp,
19307       { "callInformation", "h245.callInformation",
19308         FT_NONE, BASE_NONE, NULL, 0,
19309         "CallInformationResp", HFILL }},
19310     { &hf_h245_callAssociationNumber,
19311       { "callAssociationNumber", "h245.callAssociationNumber",
19312         FT_UINT32, BASE_DEC, NULL, 0,
19313         "INTEGER_0_4294967295", HFILL }},
19314     { &hf_h245_addConnectionResp,
19315       { "addConnection", "h245.addConnection",
19316         FT_NONE, BASE_NONE, NULL, 0,
19317         "AddConnectionResp", HFILL }},
19318     { &hf_h245_responseCode,
19319       { "responseCode", "h245.responseCode",
19320         FT_UINT32, BASE_DEC, VALS(h245_T_responseCode_vals), 0,
19321         NULL, HFILL }},
19322     { &hf_h245_accepted,
19323       { "accepted", "h245.accepted",
19324         FT_NONE, BASE_NONE, NULL, 0,
19325         NULL, HFILL }},
19326     { &hf_h245_rejected,
19327       { "rejected", "h245.rejected",
19328         FT_UINT32, BASE_DEC, VALS(h245_T_rejected_vals), 0,
19329         NULL, HFILL }},
19330     { &hf_h245_connectionsNotAvailable,
19331       { "connectionsNotAvailable", "h245.connectionsNotAvailable",
19332         FT_NONE, BASE_NONE, NULL, 0,
19333         NULL, HFILL }},
19334     { &hf_h245_userRejected,
19335       { "userRejected", "h245.userRejected",
19336         FT_NONE, BASE_NONE, NULL, 0,
19337         NULL, HFILL }},
19338     { &hf_h245_removeConnectionResp,
19339       { "removeConnection", "h245.removeConnection",
19340         FT_NONE, BASE_NONE, NULL, 0,
19341         "RemoveConnectionResp", HFILL }},
19342     { &hf_h245_maximumHeaderIntervalResp,
19343       { "maximumHeaderInterval", "h245.maximumHeaderInterval",
19344         FT_NONE, BASE_NONE, NULL, 0,
19345         "MaximumHeaderIntervalResp", HFILL }},
19346     { &hf_h245_currentInterval,
19347       { "currentInterval", "h245.currentInterval",
19348         FT_UINT32, BASE_DEC, NULL, 0,
19349         "INTEGER_0_65535", HFILL }},
19350     { &hf_h245_crcDesired,
19351       { "crcDesired", "h245.crcDesired",
19352         FT_NONE, BASE_NONE, NULL, 0,
19353         NULL, HFILL }},
19354     { &hf_h245_excessiveError,
19355       { "excessiveError", "h245.excessiveError",
19356         FT_NONE, BASE_NONE, NULL, 0,
19357         NULL, HFILL }},
19358     { &hf_h245_differential,
19359       { "differential", "h245.differential",
19360         FT_UINT32, BASE_DEC, NULL, 0,
19361         "SET_SIZE_1_65535_OF_DialingInformationNumber", HFILL }},
19362     { &hf_h245_differential_item,
19363       { "DialingInformationNumber", "h245.DialingInformationNumber",
19364         FT_NONE, BASE_NONE, NULL, 0,
19365         NULL, HFILL }},
19366     { &hf_h245_infoNotAvailable,
19367       { "infoNotAvailable", "h245.infoNotAvailable",
19368         FT_UINT32, BASE_DEC, NULL, 0,
19369         "INTEGER_1_65535", HFILL }},
19370     { &hf_h245_networkAddressNum,
19371       { "networkAddress", "h245.networkAddress",
19372         FT_STRING, BASE_NONE, NULL, 0,
19373         "NumericString_SIZE_0_40", HFILL }},
19374     { &hf_h245_subAddress,
19375       { "subAddress", "h245.subAddress",
19376         FT_STRING, BASE_NONE, NULL, 0,
19377         "IA5String_SIZE_1_40", HFILL }},
19378     { &hf_h245_networkType,
19379       { "networkType", "h245.networkType",
19380         FT_UINT32, BASE_DEC, NULL, 0,
19381         "SET_SIZE_1_255_OF_DialingInformationNetworkType", HFILL }},
19382     { &hf_h245_networkType_item,
19383       { "DialingInformationNetworkType", "h245.DialingInformationNetworkType",
19384         FT_UINT32, BASE_DEC, VALS(h245_DialingInformationNetworkType_vals), 0,
19385         NULL, HFILL }},
19386     { &hf_h245_n_isdn,
19387       { "n-isdn", "h245.n_isdn",
19388         FT_NONE, BASE_NONE, NULL, 0,
19389         NULL, HFILL }},
19390     { &hf_h245_gstn,
19391       { "gstn", "h245.gstn",
19392         FT_NONE, BASE_NONE, NULL, 0,
19393         NULL, HFILL }},
19394     { &hf_h245_mobile,
19395       { "mobile", "h245.mobile",
19396         FT_NONE, BASE_NONE, NULL, 0,
19397         NULL, HFILL }},
19398     { &hf_h245_channelTag,
19399       { "channelTag", "h245.channelTag",
19400         FT_UINT32, BASE_DEC, NULL, 0,
19401         "INTEGER_0_4294967295", HFILL }},
19402     { &hf_h245_sequenceNum,
19403       { "sequenceNumber", "h245.sequenceNumber",
19404         FT_UINT32, BASE_DEC, NULL, 0,
19405         "INTEGER_0_4294967295", HFILL }},
19406     { &hf_h245_maximumBitRate,
19407       { "maximumBitRate", "h245.maximumBitRate",
19408         FT_UINT32, BASE_DEC, NULL, 0,
19409         NULL, HFILL }},
19410     { &hf_h245_rejectReason,
19411       { "rejectReason", "h245.rejectReason",
19412         FT_UINT32, BASE_DEC, VALS(h245_LogicalChannelRateRejectReason_vals), 0,
19413         "LogicalChannelRateRejectReason", HFILL }},
19414     { &hf_h245_currentMaximumBitRate,
19415       { "currentMaximumBitRate", "h245.currentMaximumBitRate",
19416         FT_UINT32, BASE_DEC, NULL, 0,
19417         "MaximumBitRate", HFILL }},
19418     { &hf_h245_undefinedReason,
19419       { "undefinedReason", "h245.undefinedReason",
19420         FT_NONE, BASE_NONE, NULL, 0,
19421         NULL, HFILL }},
19422     { &hf_h245_insufficientResources,
19423       { "insufficientResources", "h245.insufficientResources",
19424         FT_NONE, BASE_NONE, NULL, 0,
19425         NULL, HFILL }},
19426     { &hf_h245_specificRequest,
19427       { "specificRequest", "h245.specificRequest",
19428         FT_NONE, BASE_NONE, NULL, 0,
19429         NULL, HFILL }},
19430     { &hf_h245_multiplexCapabilityBool,
19431       { "multiplexCapability", "h245.multiplexCapability",
19432         FT_BOOLEAN, BASE_NONE, NULL, 0,
19433         "BOOLEAN", HFILL }},
19434     { &hf_h245_capabilityTableEntryNumbers,
19435       { "capabilityTableEntryNumbers", "h245.capabilityTableEntryNumbers",
19436         FT_UINT32, BASE_DEC, NULL, 0,
19437         "SET_SIZE_1_65535_OF_CapabilityTableEntryNumber", HFILL }},
19438     { &hf_h245_capabilityTableEntryNumbers_item,
19439       { "CapabilityTableEntryNumber", "h245.CapabilityTableEntryNumber",
19440         FT_UINT32, BASE_DEC, NULL, 0,
19441         NULL, HFILL }},
19442     { &hf_h245_capabilityDescriptorNumbers,
19443       { "capabilityDescriptorNumbers", "h245.capabilityDescriptorNumbers",
19444         FT_UINT32, BASE_DEC, NULL, 0,
19445         "SET_SIZE_1_256_OF_CapabilityDescriptorNumber", HFILL }},
19446     { &hf_h245_capabilityDescriptorNumbers_item,
19447       { "CapabilityDescriptorNumber", "h245.CapabilityDescriptorNumber",
19448         FT_UINT32, BASE_DEC, NULL, 0,
19449         NULL, HFILL }},
19450     { &hf_h245_genericRequestFlag,
19451       { "genericRequest", "h245.genericRequest",
19452         FT_NONE, BASE_NONE, NULL, 0,
19453         NULL, HFILL }},
19454     { &hf_h245_encryptionSE,
19455       { "encryptionSE", "h245.encryptionSE",
19456         FT_BYTES, BASE_NONE, NULL, 0,
19457         "OCTET_STRING", HFILL }},
19458     { &hf_h245_encryptionIVRequest,
19459       { "encryptionIVRequest", "h245.encryptionIVRequest",
19460         FT_NONE, BASE_NONE, NULL, 0,
19461         NULL, HFILL }},
19462     { &hf_h245_encryptionAlgorithmID,
19463       { "encryptionAlgorithmID", "h245.encryptionAlgorithmID",
19464         FT_NONE, BASE_NONE, NULL, 0,
19465         NULL, HFILL }},
19466     { &hf_h245_h233AlgorithmIdentifier,
19467       { "h233AlgorithmIdentifier", "h245.h233AlgorithmIdentifier",
19468         FT_UINT32, BASE_DEC, NULL, 0,
19469         "SequenceNumber", HFILL }},
19470     { &hf_h245_associatedAlgorithm,
19471       { "associatedAlgorithm", "h245.associatedAlgorithm",
19472         FT_NONE, BASE_NONE, NULL, 0,
19473         "NonStandardParameter", HFILL }},
19474     { &hf_h245_wholeMultiplex,
19475       { "wholeMultiplex", "h245.wholeMultiplex",
19476         FT_NONE, BASE_NONE, NULL, 0,
19477         NULL, HFILL }},
19478     { &hf_h245_scope,
19479       { "scope", "h245.scope",
19480         FT_UINT32, BASE_DEC, VALS(h245_Scope_vals), 0,
19481         NULL, HFILL }},
19482     { &hf_h245_res_maximumBitRate,
19483       { "maximumBitRate", "h245.maximumBitRate",
19484         FT_UINT32, BASE_DEC, NULL, 0,
19485         "INTEGER_0_16777215", HFILL }},
19486     { &hf_h245_noRestriction,
19487       { "noRestriction", "h245.noRestriction",
19488         FT_NONE, BASE_NONE, NULL, 0,
19489         NULL, HFILL }},
19490     { &hf_h245_restriction,
19491       { "restriction", "h245.restriction",
19492         FT_UINT32, BASE_DEC, VALS(h245_Restriction_vals), 0,
19493         NULL, HFILL }},
19494     { &hf_h245_disconnect,
19495       { "disconnect", "h245.disconnect",
19496         FT_NONE, BASE_NONE, NULL, 0,
19497         NULL, HFILL }},
19498     { &hf_h245_gstnOptions,
19499       { "gstnOptions", "h245.gstnOptions",
19500         FT_UINT32, BASE_DEC, VALS(h245_T_gstnOptions_vals), 0,
19501         NULL, HFILL }},
19502     { &hf_h245_telephonyMode,
19503       { "telephonyMode", "h245.telephonyMode",
19504         FT_NONE, BASE_NONE, NULL, 0,
19505         NULL, HFILL }},
19506     { &hf_h245_v8bis,
19507       { "v8bis", "h245.v8bis",
19508         FT_NONE, BASE_NONE, NULL, 0,
19509         NULL, HFILL }},
19510     { &hf_h245_v34DSVD,
19511       { "v34DSVD", "h245.v34DSVD",
19512         FT_NONE, BASE_NONE, NULL, 0,
19513         NULL, HFILL }},
19514     { &hf_h245_v34DuplexFAX,
19515       { "v34DuplexFAX", "h245.v34DuplexFAX",
19516         FT_NONE, BASE_NONE, NULL, 0,
19517         NULL, HFILL }},
19518     { &hf_h245_v34H324,
19519       { "v34H324", "h245.v34H324",
19520         FT_NONE, BASE_NONE, NULL, 0,
19521         NULL, HFILL }},
19522     { &hf_h245_isdnOptions,
19523       { "isdnOptions", "h245.isdnOptions",
19524         FT_UINT32, BASE_DEC, VALS(h245_T_isdnOptions_vals), 0,
19525         NULL, HFILL }},
19526     { &hf_h245_v140,
19527       { "v140", "h245.v140",
19528         FT_NONE, BASE_NONE, NULL, 0,
19529         NULL, HFILL }},
19530     { &hf_h245_terminalOnHold,
19531       { "terminalOnHold", "h245.terminalOnHold",
19532         FT_NONE, BASE_NONE, NULL, 0,
19533         NULL, HFILL }},
19534     { &hf_h245_cancelBroadcastMyLogicalChannel,
19535       { "cancelBroadcastMyLogicalChannel", "h245.cancelBroadcastMyLogicalChannel",
19536         FT_UINT32, BASE_DEC, NULL, 0,
19537         "LogicalChannelNumber", HFILL }},
19538     { &hf_h245_cancelMakeTerminalBroadcaster,
19539       { "cancelMakeTerminalBroadcaster", "h245.cancelMakeTerminalBroadcaster",
19540         FT_NONE, BASE_NONE, NULL, 0,
19541         NULL, HFILL }},
19542     { &hf_h245_cancelSendThisSource,
19543       { "cancelSendThisSource", "h245.cancelSendThisSource",
19544         FT_NONE, BASE_NONE, NULL, 0,
19545         NULL, HFILL }},
19546     { &hf_h245_dropConference,
19547       { "dropConference", "h245.dropConference",
19548         FT_NONE, BASE_NONE, NULL, 0,
19549         NULL, HFILL }},
19550     { &hf_h245_substituteConferenceIDCommand,
19551       { "substituteConferenceIDCommand", "h245.substituteConferenceIDCommand",
19552         FT_NONE, BASE_NONE, NULL, 0,
19553         NULL, HFILL }},
19554     { &hf_h245_conferenceIdentifier,
19555       { "conferenceIdentifier", "h245.conferenceIdentifier",
19556         FT_BYTES, BASE_NONE, NULL, 0,
19557         "OCTET_STRING_SIZE_16", HFILL }},
19558     { &hf_h245_masterToSlave,
19559       { "masterToSlave", "h245.masterToSlave",
19560         FT_NONE, BASE_NONE, NULL, 0,
19561         NULL, HFILL }},
19562     { &hf_h245_slaveToMaster,
19563       { "slaveToMaster", "h245.slaveToMaster",
19564         FT_NONE, BASE_NONE, NULL, 0,
19565         NULL, HFILL }},
19566     { &hf_h245_mc_type,
19567       { "type", "h245.type",
19568         FT_UINT32, BASE_DEC, VALS(h245_Mc_type_vals), 0,
19569         "Mc_type", HFILL }},
19570     { &hf_h245_equaliseDelay,
19571       { "equaliseDelay", "h245.equaliseDelay",
19572         FT_NONE, BASE_NONE, NULL, 0,
19573         NULL, HFILL }},
19574     { &hf_h245_zeroDelay,
19575       { "zeroDelay", "h245.zeroDelay",
19576         FT_NONE, BASE_NONE, NULL, 0,
19577         NULL, HFILL }},
19578     { &hf_h245_multipointModeCommand,
19579       { "multipointModeCommand", "h245.multipointModeCommand",
19580         FT_NONE, BASE_NONE, NULL, 0,
19581         NULL, HFILL }},
19582     { &hf_h245_cancelMultipointModeCommand,
19583       { "cancelMultipointModeCommand", "h245.cancelMultipointModeCommand",
19584         FT_NONE, BASE_NONE, NULL, 0,
19585         NULL, HFILL }},
19586     { &hf_h245_videoFreezePicture,
19587       { "videoFreezePicture", "h245.videoFreezePicture",
19588         FT_NONE, BASE_NONE, NULL, 0,
19589         NULL, HFILL }},
19590     { &hf_h245_videoFastUpdatePicture,
19591       { "videoFastUpdatePicture", "h245.videoFastUpdatePicture",
19592         FT_NONE, BASE_NONE, NULL, 0,
19593         NULL, HFILL }},
19594     { &hf_h245_videoFastUpdateGOB,
19595       { "videoFastUpdateGOB", "h245.videoFastUpdateGOB",
19596         FT_NONE, BASE_NONE, NULL, 0,
19597         NULL, HFILL }},
19598     { &hf_h245_firstGOB,
19599       { "firstGOB", "h245.firstGOB",
19600         FT_UINT32, BASE_DEC, NULL, 0,
19601         "INTEGER_0_17", HFILL }},
19602     { &hf_h245_numberOfGOBs,
19603       { "numberOfGOBs", "h245.numberOfGOBs",
19604         FT_UINT32, BASE_DEC, NULL, 0,
19605         "INTEGER_1_18", HFILL }},
19606     { &hf_h245_videoTemporalSpatialTradeOff,
19607       { "videoTemporalSpatialTradeOff", "h245.videoTemporalSpatialTradeOff",
19608         FT_UINT32, BASE_DEC, NULL, 0,
19609         "INTEGER_0_31", HFILL }},
19610     { &hf_h245_videoSendSyncEveryGOB,
19611       { "videoSendSyncEveryGOB", "h245.videoSendSyncEveryGOB",
19612         FT_NONE, BASE_NONE, NULL, 0,
19613         NULL, HFILL }},
19614     { &hf_h245_videoSendSyncEveryGOBCancel,
19615       { "videoSendSyncEveryGOBCancel", "h245.videoSendSyncEveryGOBCancel",
19616         FT_NONE, BASE_NONE, NULL, 0,
19617         NULL, HFILL }},
19618     { &hf_h245_videoFastUpdateMB,
19619       { "videoFastUpdateMB", "h245.videoFastUpdateMB",
19620         FT_NONE, BASE_NONE, NULL, 0,
19621         NULL, HFILL }},
19622     { &hf_h245_firstGOB_0_255,
19623       { "firstGOB", "h245.firstGOB",
19624         FT_UINT32, BASE_DEC, NULL, 0,
19625         "INTEGER_0_255", HFILL }},
19626     { &hf_h245_firstMB_1_8192,
19627       { "firstMB", "h245.firstMB",
19628         FT_UINT32, BASE_DEC, NULL, 0,
19629         "INTEGER_1_8192", HFILL }},
19630     { &hf_h245_numberOfMBs,
19631       { "numberOfMBs", "h245.numberOfMBs",
19632         FT_UINT32, BASE_DEC, NULL, 0,
19633         "INTEGER_1_8192", HFILL }},
19634     { &hf_h245_maxH223MUXPDUsize,
19635       { "maxH223MUXPDUsize", "h245.maxH223MUXPDUsize",
19636         FT_UINT32, BASE_DEC, NULL, 0,
19637         "INTEGER_1_65535", HFILL }},
19638     { &hf_h245_encryptionUpdate,
19639       { "encryptionUpdate", "h245.encryptionUpdate",
19640         FT_NONE, BASE_NONE, NULL, 0,
19641         "EncryptionSync", HFILL }},
19642     { &hf_h245_encryptionUpdateRequest,
19643       { "encryptionUpdateRequest", "h245.encryptionUpdateRequest",
19644         FT_NONE, BASE_NONE, NULL, 0,
19645         NULL, HFILL }},
19646     { &hf_h245_switchReceiveMediaOff,
19647       { "switchReceiveMediaOff", "h245.switchReceiveMediaOff",
19648         FT_NONE, BASE_NONE, NULL, 0,
19649         NULL, HFILL }},
19650     { &hf_h245_switchReceiveMediaOn,
19651       { "switchReceiveMediaOn", "h245.switchReceiveMediaOn",
19652         FT_NONE, BASE_NONE, NULL, 0,
19653         NULL, HFILL }},
19654     { &hf_h245_progressiveRefinementStart,
19655       { "progressiveRefinementStart", "h245.progressiveRefinementStart",
19656         FT_NONE, BASE_NONE, NULL, 0,
19657         NULL, HFILL }},
19658     { &hf_h245_repeatCount,
19659       { "repeatCount", "h245.repeatCount",
19660         FT_UINT32, BASE_DEC, VALS(h245_T_repeatCount_vals), 0,
19661         NULL, HFILL }},
19662     { &hf_h245_doOneProgression,
19663       { "doOneProgression", "h245.doOneProgression",
19664         FT_NONE, BASE_NONE, NULL, 0,
19665         NULL, HFILL }},
19666     { &hf_h245_doContinuousProgressions,
19667       { "doContinuousProgressions", "h245.doContinuousProgressions",
19668         FT_NONE, BASE_NONE, NULL, 0,
19669         NULL, HFILL }},
19670     { &hf_h245_doOneIndependentProgression,
19671       { "doOneIndependentProgression", "h245.doOneIndependentProgression",
19672         FT_NONE, BASE_NONE, NULL, 0,
19673         NULL, HFILL }},
19674     { &hf_h245_doContinuousIndependentProgressions,
19675       { "doContinuousIndependentProgressions", "h245.doContinuousIndependentProgressions",
19676         FT_NONE, BASE_NONE, NULL, 0,
19677         NULL, HFILL }},
19678     { &hf_h245_progressiveRefinementAbortOne,
19679       { "progressiveRefinementAbortOne", "h245.progressiveRefinementAbortOne",
19680         FT_NONE, BASE_NONE, NULL, 0,
19681         NULL, HFILL }},
19682     { &hf_h245_progressiveRefinementAbortContinuous,
19683       { "progressiveRefinementAbortContinuous", "h245.progressiveRefinementAbortContinuous",
19684         FT_NONE, BASE_NONE, NULL, 0,
19685         NULL, HFILL }},
19686     { &hf_h245_videoBadMBs,
19687       { "videoBadMBs", "h245.videoBadMBs",
19688         FT_NONE, BASE_NONE, NULL, 0,
19689         NULL, HFILL }},
19690     { &hf_h245_firstMB,
19691       { "firstMB", "h245.firstMB",
19692         FT_UINT32, BASE_DEC, NULL, 0,
19693         "INTEGER_1_9216", HFILL }},
19694     { &hf_h245_numberOfMBs1_1_9216,
19695       { "numberOfMBs", "h245.numberOfMBs",
19696         FT_UINT32, BASE_DEC, NULL, 0,
19697         "INTEGER_1_9216", HFILL }},
19698     { &hf_h245_temporalReference,
19699       { "temporalReference", "h245.temporalReference",
19700         FT_UINT32, BASE_DEC, NULL, 0,
19701         "INTEGER_0_1023", HFILL }},
19702     { &hf_h245_lostPicture,
19703       { "lostPicture", "h245.lostPicture",
19704         FT_UINT32, BASE_DEC, NULL, 0,
19705         "SEQUENCE_OF_PictureReference", HFILL }},
19706     { &hf_h245_lostPicture_item,
19707       { "PictureReference", "h245.PictureReference",
19708         FT_UINT32, BASE_DEC, VALS(h245_PictureReference_vals), 0,
19709         NULL, HFILL }},
19710     { &hf_h245_lostPartialPicture,
19711       { "lostPartialPicture", "h245.lostPartialPicture",
19712         FT_NONE, BASE_NONE, NULL, 0,
19713         NULL, HFILL }},
19714     { &hf_h245_pictureReference,
19715       { "pictureReference", "h245.pictureReference",
19716         FT_UINT32, BASE_DEC, VALS(h245_PictureReference_vals), 0,
19717         NULL, HFILL }},
19718     { &hf_h245_recoveryReferencePicture,
19719       { "recoveryReferencePicture", "h245.recoveryReferencePicture",
19720         FT_UINT32, BASE_DEC, NULL, 0,
19721         "SEQUENCE_OF_PictureReference", HFILL }},
19722     { &hf_h245_recoveryReferencePicture_item,
19723       { "PictureReference", "h245.PictureReference",
19724         FT_UINT32, BASE_DEC, VALS(h245_PictureReference_vals), 0,
19725         NULL, HFILL }},
19726     { &hf_h245_encryptionUpdateCommand,
19727       { "encryptionUpdateCommand", "h245.encryptionUpdateCommand",
19728         FT_NONE, BASE_NONE, NULL, 0,
19729         NULL, HFILL }},
19730     { &hf_h245_encryptionUpdateAck,
19731       { "encryptionUpdateAck", "h245.encryptionUpdateAck",
19732         FT_NONE, BASE_NONE, NULL, 0,
19733         NULL, HFILL }},
19734     { &hf_h245_direction,
19735       { "direction", "h245.direction",
19736         FT_UINT32, BASE_DEC, VALS(h245_EncryptionUpdateDirection_vals), 0,
19737         "EncryptionUpdateDirection", HFILL }},
19738     { &hf_h245_secureChannel,
19739       { "secureChannel", "h245.secureChannel",
19740         FT_BOOLEAN, BASE_NONE, NULL, 0,
19741         "BOOLEAN", HFILL }},
19742     { &hf_h245_sharedSecret,
19743       { "sharedSecret", "h245.sharedSecret",
19744         FT_BOOLEAN, BASE_NONE, NULL, 0,
19745         "BOOLEAN", HFILL }},
19746     { &hf_h245_certProtectedKey,
19747       { "certProtectedKey", "h245.certProtectedKey",
19748         FT_BOOLEAN, BASE_NONE, NULL, 0,
19749         "BOOLEAN", HFILL }},
19750     { &hf_h245_keyProtectionMethod,
19751       { "keyProtectionMethod", "h245.keyProtectionMethod",
19752         FT_NONE, BASE_NONE, NULL, 0,
19753         NULL, HFILL }},
19754     { &hf_h245_pictureNumber,
19755       { "pictureNumber", "h245.pictureNumber",
19756         FT_UINT32, BASE_DEC, NULL, 0,
19757         "INTEGER_0_1023", HFILL }},
19758     { &hf_h245_longTermPictureIndex,
19759       { "longTermPictureIndex", "h245.longTermPictureIndex",
19760         FT_UINT32, BASE_DEC, NULL, 0,
19761         "INTEGER_0_255", HFILL }},
19762     { &hf_h245_h223ModeChange,
19763       { "h223ModeChange", "h245.h223ModeChange",
19764         FT_UINT32, BASE_DEC, VALS(h245_T_h223ModeChange_vals), 0,
19765         NULL, HFILL }},
19766     { &hf_h245_toLevel0,
19767       { "toLevel0", "h245.toLevel0",
19768         FT_NONE, BASE_NONE, NULL, 0,
19769         NULL, HFILL }},
19770     { &hf_h245_toLevel1,
19771       { "toLevel1", "h245.toLevel1",
19772         FT_NONE, BASE_NONE, NULL, 0,
19773         NULL, HFILL }},
19774     { &hf_h245_toLevel2,
19775       { "toLevel2", "h245.toLevel2",
19776         FT_NONE, BASE_NONE, NULL, 0,
19777         NULL, HFILL }},
19778     { &hf_h245_toLevel2withOptionalHeader,
19779       { "toLevel2withOptionalHeader", "h245.toLevel2withOptionalHeader",
19780         FT_NONE, BASE_NONE, NULL, 0,
19781         NULL, HFILL }},
19782     { &hf_h245_h223AnnexADoubleFlag,
19783       { "h223AnnexADoubleFlag", "h245.h223AnnexADoubleFlag",
19784         FT_UINT32, BASE_DEC, VALS(h245_T_h223AnnexADoubleFlag_vals), 0,
19785         NULL, HFILL }},
19786     { &hf_h245_start,
19787       { "start", "h245.start",
19788         FT_NONE, BASE_NONE, NULL, 0,
19789         NULL, HFILL }},
19790     { &hf_h245_stop,
19791       { "stop", "h245.stop",
19792         FT_NONE, BASE_NONE, NULL, 0,
19793         NULL, HFILL }},
19794     { &hf_h245_bitRate,
19795       { "bitRate", "h245.bitRate",
19796         FT_UINT32, BASE_DEC, NULL, 0,
19797         "INTEGER_1_65535", HFILL }},
19798     { &hf_h245_bitRateLockedToPCRClock,
19799       { "bitRateLockedToPCRClock", "h245.bitRateLockedToPCRClock",
19800         FT_BOOLEAN, BASE_NONE, NULL, 0,
19801         "BOOLEAN", HFILL }},
19802     { &hf_h245_bitRateLockedToNetworkClock,
19803       { "bitRateLockedToNetworkClock", "h245.bitRateLockedToNetworkClock",
19804         FT_BOOLEAN, BASE_NONE, NULL, 0,
19805         "BOOLEAN", HFILL }},
19806     { &hf_h245_cmd_aal,
19807       { "aal", "h245.aal",
19808         FT_UINT32, BASE_DEC, VALS(h245_Cmd_aal_vals), 0,
19809         "Cmd_aal", HFILL }},
19810     { &hf_h245_cmd_aal1,
19811       { "aal1", "h245.aal1",
19812         FT_NONE, BASE_NONE, NULL, 0,
19813         "Cmd_aal1", HFILL }},
19814     { &hf_h245_cmd_clockRecovery,
19815       { "clockRecovery", "h245.clockRecovery",
19816         FT_UINT32, BASE_DEC, VALS(h245_Cmd_clockRecovery_vals), 0,
19817         "Cmd_clockRecovery", HFILL }},
19818     { &hf_h245_nullClockRecoveryflag,
19819       { "nullClockRecovery", "h245.nullClockRecovery",
19820         FT_NONE, BASE_NONE, NULL, 0,
19821         NULL, HFILL }},
19822     { &hf_h245_srtsClockRecovery,
19823       { "srtsClockRecovery", "h245.srtsClockRecovery",
19824         FT_NONE, BASE_NONE, NULL, 0,
19825         NULL, HFILL }},
19826     { &hf_h245_adaptiveClockRecoveryFlag,
19827       { "adaptiveClockRecovery", "h245.adaptiveClockRecovery",
19828         FT_NONE, BASE_NONE, NULL, 0,
19829         NULL, HFILL }},
19830     { &hf_h245_cmd_errorCorrection,
19831       { "errorCorrection", "h245.errorCorrection",
19832         FT_UINT32, BASE_DEC, VALS(h245_Cmd_errorCorrection_vals), 0,
19833         "Cmd_errorCorrection", HFILL }},
19834     { &hf_h245_nullErrorCorrectionFlag,
19835       { "nullErrorCorrection", "h245.nullErrorCorrection",
19836         FT_NONE, BASE_NONE, NULL, 0,
19837         NULL, HFILL }},
19838     { &hf_h245_longInterleaverFlag,
19839       { "longInterleaver", "h245.longInterleaver",
19840         FT_NONE, BASE_NONE, NULL, 0,
19841         NULL, HFILL }},
19842     { &hf_h245_shortInterleaverFlag,
19843       { "shortInterleaver", "h245.shortInterleaver",
19844         FT_NONE, BASE_NONE, NULL, 0,
19845         NULL, HFILL }},
19846     { &hf_h245_errorCorrectionOnlyFlag,
19847       { "errorCorrectionOnly", "h245.errorCorrectionOnly",
19848         FT_NONE, BASE_NONE, NULL, 0,
19849         NULL, HFILL }},
19850     { &hf_h245_cmd_aal5,
19851       { "aal5", "h245.aal5",
19852         FT_NONE, BASE_NONE, NULL, 0,
19853         "Cmd_aal5", HFILL }},
19854     { &hf_h245_cmd_multiplex,
19855       { "multiplex", "h245.multiplex",
19856         FT_UINT32, BASE_DEC, VALS(h245_Cmd_multiplex_vals), 0,
19857         "Cmd_multiplex", HFILL }},
19858     { &hf_h245_noMultiplex,
19859       { "noMultiplex", "h245.noMultiplex",
19860         FT_NONE, BASE_NONE, NULL, 0,
19861         NULL, HFILL }},
19862     { &hf_h245_transportStream,
19863       { "transportStream", "h245.transportStream",
19864         FT_NONE, BASE_NONE, NULL, 0,
19865         NULL, HFILL }},
19866     { &hf_h245_programStreamFlag,
19867       { "programStream", "h245.programStream",
19868         FT_NONE, BASE_NONE, NULL, 0,
19869         NULL, HFILL }},
19870     { &hf_h245_cmd_reverseParameters,
19871       { "reverseParameters", "h245.reverseParameters",
19872         FT_NONE, BASE_NONE, NULL, 0,
19873         "Cmd_reverseParameters", HFILL }},
19874     { &hf_h245_cmdr_multiplex,
19875       { "multiplex", "h245.multiplex",
19876         FT_UINT32, BASE_DEC, VALS(h245_CmdR_multiplex_vals), 0,
19877         "CmdR_multiplex", HFILL }},
19878     { &hf_h245_sampleSize,
19879       { "sampleSize", "h245.sampleSize",
19880         FT_UINT32, BASE_DEC, NULL, 0,
19881         "INTEGER_1_255", HFILL }},
19882     { &hf_h245_samplesPerFrame,
19883       { "samplesPerFrame", "h245.samplesPerFrame",
19884         FT_UINT32, BASE_DEC, NULL, 0,
19885         "INTEGER_1_255", HFILL }},
19886     { &hf_h245_status,
19887       { "status", "h245.status",
19888         FT_UINT32, BASE_DEC, VALS(h245_T_status_vals), 0,
19889         NULL, HFILL }},
19890     { &hf_h245_synchronized,
19891       { "synchronized", "h245.synchronized",
19892         FT_NONE, BASE_NONE, NULL, 0,
19893         NULL, HFILL }},
19894     { &hf_h245_reconfiguration,
19895       { "reconfiguration", "h245.reconfiguration",
19896         FT_NONE, BASE_NONE, NULL, 0,
19897         NULL, HFILL }},
19898     { &hf_h245_fns_cause,
19899       { "cause", "h245.cause",
19900         FT_UINT32, BASE_DEC, VALS(h245_FunctionNotSupportedCause_vals), 0,
19901         "FunctionNotSupportedCause", HFILL }},
19902     { &hf_h245_syntaxError,
19903       { "syntaxError", "h245.syntaxError",
19904         FT_NONE, BASE_NONE, NULL, 0,
19905         NULL, HFILL }},
19906     { &hf_h245_semanticError,
19907       { "semanticError", "h245.semanticError",
19908         FT_NONE, BASE_NONE, NULL, 0,
19909         NULL, HFILL }},
19910     { &hf_h245_unknownFunction,
19911       { "unknownFunction", "h245.unknownFunction",
19912         FT_NONE, BASE_NONE, NULL, 0,
19913         NULL, HFILL }},
19914     { &hf_h245_returnedFunction,
19915       { "returnedFunction", "h245.returnedFunction",
19916         FT_BYTES, BASE_NONE, NULL, 0,
19917         NULL, HFILL }},
19918     { &hf_h245_sbeNumber,
19919       { "sbeNumber", "h245.sbeNumber",
19920         FT_UINT32, BASE_DEC, NULL, 0,
19921         "INTEGER_0_9", HFILL }},
19922     { &hf_h245_terminalNumberAssign,
19923       { "terminalNumberAssign", "h245.terminalNumberAssign",
19924         FT_NONE, BASE_NONE, NULL, 0,
19925         "TerminalLabel", HFILL }},
19926     { &hf_h245_terminalJoinedConference,
19927       { "terminalJoinedConference", "h245.terminalJoinedConference",
19928         FT_NONE, BASE_NONE, NULL, 0,
19929         "TerminalLabel", HFILL }},
19930     { &hf_h245_terminalLeftConference,
19931       { "terminalLeftConference", "h245.terminalLeftConference",
19932         FT_NONE, BASE_NONE, NULL, 0,
19933         "TerminalLabel", HFILL }},
19934     { &hf_h245_seenByAtLeastOneOther,
19935       { "seenByAtLeastOneOther", "h245.seenByAtLeastOneOther",
19936         FT_NONE, BASE_NONE, NULL, 0,
19937         NULL, HFILL }},
19938     { &hf_h245_cancelSeenByAtLeastOneOther,
19939       { "cancelSeenByAtLeastOneOther", "h245.cancelSeenByAtLeastOneOther",
19940         FT_NONE, BASE_NONE, NULL, 0,
19941         NULL, HFILL }},
19942     { &hf_h245_seenByAll,
19943       { "seenByAll", "h245.seenByAll",
19944         FT_NONE, BASE_NONE, NULL, 0,
19945         NULL, HFILL }},
19946     { &hf_h245_cancelSeenByAll,
19947       { "cancelSeenByAll", "h245.cancelSeenByAll",
19948         FT_NONE, BASE_NONE, NULL, 0,
19949         NULL, HFILL }},
19950     { &hf_h245_terminalYouAreSeeing,
19951       { "terminalYouAreSeeing", "h245.terminalYouAreSeeing",
19952         FT_NONE, BASE_NONE, NULL, 0,
19953         "TerminalLabel", HFILL }},
19954     { &hf_h245_requestForFloor,
19955       { "requestForFloor", "h245.requestForFloor",
19956         FT_NONE, BASE_NONE, NULL, 0,
19957         NULL, HFILL }},
19958     { &hf_h245_withdrawChairToken,
19959       { "withdrawChairToken", "h245.withdrawChairToken",
19960         FT_NONE, BASE_NONE, NULL, 0,
19961         NULL, HFILL }},
19962     { &hf_h245_floorRequested,
19963       { "floorRequested", "h245.floorRequested",
19964         FT_NONE, BASE_NONE, NULL, 0,
19965         "TerminalLabel", HFILL }},
19966     { &hf_h245_terminalYouAreSeeingInSubPictureNumber,
19967       { "terminalYouAreSeeingInSubPictureNumber", "h245.terminalYouAreSeeingInSubPictureNumber",
19968         FT_NONE, BASE_NONE, NULL, 0,
19969         NULL, HFILL }},
19970     { &hf_h245_videoIndicateCompose,
19971       { "videoIndicateCompose", "h245.videoIndicateCompose",
19972         FT_NONE, BASE_NONE, NULL, 0,
19973         NULL, HFILL }},
19974     { &hf_h245_masterMCU,
19975       { "masterMCU", "h245.masterMCU",
19976         FT_NONE, BASE_NONE, NULL, 0,
19977         NULL, HFILL }},
19978     { &hf_h245_cancelMasterMCU,
19979       { "cancelMasterMCU", "h245.cancelMasterMCU",
19980         FT_NONE, BASE_NONE, NULL, 0,
19981         NULL, HFILL }},
19982     { &hf_h245_subPictureNumber,
19983       { "subPictureNumber", "h245.subPictureNumber",
19984         FT_UINT32, BASE_DEC, NULL, 0,
19985         "INTEGER_0_255", HFILL }},
19986     { &hf_h245_compositionNumber,
19987       { "compositionNumber", "h245.compositionNumber",
19988         FT_UINT32, BASE_DEC, NULL, 0,
19989         "INTEGER_0_255", HFILL }},
19990     { &hf_h245_mi_type,
19991       { "type", "h245.type",
19992         FT_UINT32, BASE_DEC, VALS(h245_Mi_type_vals), 0,
19993         "Mi_type", HFILL }},
19994     { &hf_h245_logicalChannelActive,
19995       { "logicalChannelActive", "h245.logicalChannelActive",
19996         FT_NONE, BASE_NONE, NULL, 0,
19997         NULL, HFILL }},
19998     { &hf_h245_logicalChannelInactive,
19999       { "logicalChannelInactive", "h245.logicalChannelInactive",
20000         FT_NONE, BASE_NONE, NULL, 0,
20001         NULL, HFILL }},
20002     { &hf_h245_multipointConference,
20003       { "multipointConference", "h245.multipointConference",
20004         FT_NONE, BASE_NONE, NULL, 0,
20005         NULL, HFILL }},
20006     { &hf_h245_cancelMultipointConference,
20007       { "cancelMultipointConference", "h245.cancelMultipointConference",
20008         FT_NONE, BASE_NONE, NULL, 0,
20009         NULL, HFILL }},
20010     { &hf_h245_multipointZeroComm,
20011       { "multipointZeroComm", "h245.multipointZeroComm",
20012         FT_NONE, BASE_NONE, NULL, 0,
20013         NULL, HFILL }},
20014     { &hf_h245_cancelMultipointZeroComm,
20015       { "cancelMultipointZeroComm", "h245.cancelMultipointZeroComm",
20016         FT_NONE, BASE_NONE, NULL, 0,
20017         NULL, HFILL }},
20018     { &hf_h245_multipointSecondaryStatus,
20019       { "multipointSecondaryStatus", "h245.multipointSecondaryStatus",
20020         FT_NONE, BASE_NONE, NULL, 0,
20021         NULL, HFILL }},
20022     { &hf_h245_cancelMultipointSecondaryStatus,
20023       { "cancelMultipointSecondaryStatus", "h245.cancelMultipointSecondaryStatus",
20024         FT_NONE, BASE_NONE, NULL, 0,
20025         NULL, HFILL }},
20026     { &hf_h245_videoIndicateReadyToActivate,
20027       { "videoIndicateReadyToActivate", "h245.videoIndicateReadyToActivate",
20028         FT_NONE, BASE_NONE, NULL, 0,
20029         NULL, HFILL }},
20030     { &hf_h245_videoNotDecodedMBs,
20031       { "videoNotDecodedMBs", "h245.videoNotDecodedMBs",
20032         FT_NONE, BASE_NONE, NULL, 0,
20033         NULL, HFILL }},
20034     { &hf_h245_temporalReference_0_255,
20035       { "temporalReference", "h245.temporalReference",
20036         FT_UINT32, BASE_DEC, NULL, 0,
20037         "INTEGER_0_255", HFILL }},
20038     { &hf_h245_estimatedReceivedJitterMantissa,
20039       { "estimatedReceivedJitterMantissa", "h245.estimatedReceivedJitterMantissa",
20040         FT_UINT32, BASE_DEC, NULL, 0,
20041         "INTEGER_0_3", HFILL }},
20042     { &hf_h245_estimatedReceivedJitterExponent,
20043       { "estimatedReceivedJitterExponent", "h245.estimatedReceivedJitterExponent",
20044         FT_UINT32, BASE_DEC, NULL, 0,
20045         "INTEGER_0_7", HFILL }},
20046     { &hf_h245_skippedFrameCount,
20047       { "skippedFrameCount", "h245.skippedFrameCount",
20048         FT_UINT32, BASE_DEC, NULL, 0,
20049         "INTEGER_0_15", HFILL }},
20050     { &hf_h245_additionalDecoderBuffer,
20051       { "additionalDecoderBuffer", "h245.additionalDecoderBuffer",
20052         FT_UINT32, BASE_DEC, NULL, 0,
20053         "INTEGER_0_262143", HFILL }},
20054     { &hf_h245_logicalChannelNumber1,
20055       { "logicalChannelNumber1", "h245.logicalChannelNumber1",
20056         FT_UINT32, BASE_DEC, NULL, 0,
20057         "LogicalChannelNumber", HFILL }},
20058     { &hf_h245_logicalChannelNumber2,
20059       { "logicalChannelNumber2", "h245.logicalChannelNumber2",
20060         FT_UINT32, BASE_DEC, NULL, 0,
20061         "LogicalChannelNumber", HFILL }},
20062     { &hf_h245_skew,
20063       { "skew", "h245.skew",
20064         FT_UINT32, BASE_DEC, NULL, 0,
20065         "INTEGER_0_4095", HFILL }},
20066     { &hf_h245_maximumSkew,
20067       { "maximumSkew", "h245.maximumSkew",
20068         FT_UINT32, BASE_DEC, NULL, 0,
20069         "INTEGER_0_4095", HFILL }},
20070     { &hf_h245_signalAddress,
20071       { "signalAddress", "h245.signalAddress",
20072         FT_UINT32, BASE_DEC, VALS(h245_TransportAddress_vals), 0,
20073         "TransportAddress", HFILL }},
20074     { &hf_h245_vendor,
20075       { "vendor", "h245.vendor",
20076         FT_UINT32, BASE_DEC, VALS(h245_NonStandardIdentifier_vals), 0,
20077         "NonStandardIdentifier", HFILL }},
20078     { &hf_h245_productNumber,
20079       { "productNumber", "h245.productNumber",
20080         FT_STRING, BASE_NONE, NULL, 0,
20081         "OCTET_STRING_SIZE_1_256", HFILL }},
20082     { &hf_h245_versionNumber,
20083       { "versionNumber", "h245.versionNumber",
20084         FT_STRING, BASE_NONE, NULL, 0,
20085         "OCTET_STRING_SIZE_1_256", HFILL }},
20086     { &hf_h245_ind_aal,
20087       { "aal", "h245.aal",
20088         FT_UINT32, BASE_DEC, VALS(h245_Ind_aal_vals), 0,
20089         "Ind_aal", HFILL }},
20090     { &hf_h245_ind_aal1,
20091       { "aal1", "h245.aal1",
20092         FT_NONE, BASE_NONE, NULL, 0,
20093         "Ind_aal1", HFILL }},
20094     { &hf_h245_ind_clockRecovery,
20095       { "clockRecovery", "h245.clockRecovery",
20096         FT_UINT32, BASE_DEC, VALS(h245_Ind_clockRecovery_vals), 0,
20097         "Ind_clockRecovery", HFILL }},
20098     { &hf_h245_ind_errorCorrection,
20099       { "errorCorrection", "h245.errorCorrection",
20100         FT_UINT32, BASE_DEC, VALS(h245_Ind_errorCorrection_vals), 0,
20101         "Ind_errorCorrection", HFILL }},
20102     { &hf_h245_ind_aal5,
20103       { "aal5", "h245.aal5",
20104         FT_NONE, BASE_NONE, NULL, 0,
20105         "Ind_aal5", HFILL }},
20106     { &hf_h245_ind_multiplex,
20107       { "multiplex", "h245.multiplex",
20108         FT_UINT32, BASE_DEC, VALS(h245_Ind_multiplex_vals), 0,
20109         "Ind_multiplex", HFILL }},
20110     { &hf_h245_ind_reverseParameters,
20111       { "reverseParameters", "h245.reverseParameters",
20112         FT_NONE, BASE_NONE, NULL, 0,
20113         "Ind_reverseParameters", HFILL }},
20114     { &hf_h245_indr_multiplex,
20115       { "multiplex", "h245.multiplex",
20116         FT_UINT32, BASE_DEC, VALS(h245_IndR_multiplex_vals), 0,
20117         "IndR_multiplex", HFILL }},
20118     { &hf_h245_iv8,
20119       { "iv8", "h245.iv8",
20120         FT_BYTES, BASE_NONE, NULL, 0,
20121         NULL, HFILL }},
20122     { &hf_h245_iv16,
20123       { "iv16", "h245.iv16",
20124         FT_BYTES, BASE_NONE, NULL, 0,
20125         NULL, HFILL }},
20126     { &hf_h245_iv,
20127       { "iv", "h245.iv",
20128         FT_BYTES, BASE_NONE, NULL, 0,
20129         "OCTET_STRING", HFILL }},
20130     { &hf_h245_alphanumeric,
20131       { "alphanumeric", "h245.alphanumeric",
20132         FT_STRING, BASE_NONE, NULL, 0,
20133         "GeneralString", HFILL }},
20134     { &hf_h245_userInputSupportIndication,
20135       { "userInputSupportIndication", "h245.userInputSupportIndication",
20136         FT_UINT32, BASE_DEC, VALS(h245_T_userInputSupportIndication_vals), 0,
20137         NULL, HFILL }},
20138     { &hf_h245_signal,
20139       { "signal", "h245.signal",
20140         FT_NONE, BASE_NONE, NULL, 0,
20141         NULL, HFILL }},
20142     { &hf_h245_signalType,
20143       { "signalType", "h245.signalType",
20144         FT_STRING, BASE_NONE, NULL, 0,
20145         NULL, HFILL }},
20146     { &hf_h245_duration,
20147       { "duration", "h245.duration",
20148         FT_UINT32, BASE_DEC, NULL, 0,
20149         "INTEGER_1_65535", HFILL }},
20150     { &hf_h245_rtp,
20151       { "rtp", "h245.rtp",
20152         FT_NONE, BASE_NONE, NULL, 0,
20153         NULL, HFILL }},
20154     { &hf_h245_timestamp,
20155       { "timestamp", "h245.timestamp",
20156         FT_UINT32, BASE_DEC, NULL, 0,
20157         "INTEGER_0_4294967295", HFILL }},
20158     { &hf_h245_expirationTime,
20159       { "expirationTime", "h245.expirationTime",
20160         FT_UINT32, BASE_DEC, NULL, 0,
20161         "INTEGER_0_4294967295", HFILL }},
20162     { &hf_h245_rtpPayloadIndication,
20163       { "rtpPayloadIndication", "h245.rtpPayloadIndication",
20164         FT_NONE, BASE_NONE, NULL, 0,
20165         NULL, HFILL }},
20166     { &hf_h245_paramS,
20167       { "paramS", "h245.paramS",
20168         FT_NONE, BASE_NONE, NULL, 0,
20169         NULL, HFILL }},
20170     { &hf_h245_encryptedSignalType,
20171       { "encryptedSignalType", "h245.encryptedSignalType",
20172         FT_BYTES, BASE_NONE, NULL, 0,
20173         "OCTET_STRING_SIZE_1", HFILL }},
20174     { &hf_h245_algorithmOID,
20175       { "algorithmOID", "h245.algorithmOID",
20176         FT_OID, BASE_NONE, NULL, 0,
20177         "OBJECT_IDENTIFIER", HFILL }},
20178     { &hf_h245_signalUpdate,
20179       { "signalUpdate", "h245.signalUpdate",
20180         FT_NONE, BASE_NONE, NULL, 0,
20181         NULL, HFILL }},
20182     { &hf_h245_si_rtp,
20183       { "rtp", "h245.rtp",
20184         FT_NONE, BASE_NONE, NULL, 0,
20185         "Si_rtp", HFILL }},
20186     { &hf_h245_extendedAlphanumeric,
20187       { "extendedAlphanumeric", "h245.extendedAlphanumeric",
20188         FT_NONE, BASE_NONE, NULL, 0,
20189         NULL, HFILL }},
20190     { &hf_h245_encrypted,
20191       { "encrypted", "h245.encrypted",
20192         FT_BYTES, BASE_NONE, NULL, 0,
20193         "OCTET_STRING", HFILL }},
20194     { &hf_h245_encryptedAlphanumeric,
20195       { "encryptedAlphanumeric", "h245.encryptedAlphanumeric",
20196         FT_NONE, BASE_NONE, NULL, 0,
20197         NULL, HFILL }},
20198
20199 /*--- End of included file: packet-h245-hfarr.c ---*/
20200 #line 493 "../../asn1/h245/packet-h245-template.c"
20201   };
20202
20203   /* List of subtrees */
20204   static gint *ett[] = {
20205           &ett_h245,
20206           &ett_h245_returnedFunction,
20207
20208 /*--- Included file: packet-h245-ettarr.c ---*/
20209 #line 1 "../../asn1/h245/packet-h245-ettarr.c"
20210     &ett_h245_MultimediaSystemControlMessage,
20211     &ett_h245_RequestMessage,
20212     &ett_h245_ResponseMessage,
20213     &ett_h245_CommandMessage,
20214     &ett_h245_IndicationMessage,
20215     &ett_h245_GenericMessage,
20216     &ett_h245_T_messageContent,
20217     &ett_h245_NonStandardMessage,
20218     &ett_h245_NonStandardParameter,
20219     &ett_h245_NonStandardIdentifier,
20220     &ett_h245_H221NonStandardID,
20221     &ett_h245_MasterSlaveDetermination,
20222     &ett_h245_MasterSlaveDeterminationAck,
20223     &ett_h245_T_decision,
20224     &ett_h245_MasterSlaveDeterminationReject,
20225     &ett_h245_MasterSlaveDeterminationRejectCause,
20226     &ett_h245_MasterSlaveDeterminationRelease,
20227     &ett_h245_TerminalCapabilitySet,
20228     &ett_h245_SET_SIZE_1_256_OF_CapabilityTableEntry,
20229     &ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptor,
20230     &ett_h245_SEQUENCE_OF_GenericInformation,
20231     &ett_h245_CapabilityTableEntry,
20232     &ett_h245_CapabilityDescriptor,
20233     &ett_h245_SET_SIZE_1_256_OF_AlternativeCapabilitySet,
20234     &ett_h245_AlternativeCapabilitySet,
20235     &ett_h245_TerminalCapabilitySetAck,
20236     &ett_h245_TerminalCapabilitySetReject,
20237     &ett_h245_TerminalCapabilitySetRejectCause,
20238     &ett_h245_T_tableEntryCapacityExceeded,
20239     &ett_h245_TerminalCapabilitySetRelease,
20240     &ett_h245_Capability,
20241     &ett_h245_T_h233EncryptionReceiveCapability,
20242     &ett_h245_H235SecurityCapability,
20243     &ett_h245_MultiplexCapability,
20244     &ett_h245_H222Capability,
20245     &ett_h245_SET_OF_VCCapability,
20246     &ett_h245_VCCapability,
20247     &ett_h245_T_aal1,
20248     &ett_h245_T_aal5,
20249     &ett_h245_T_availableBitRates,
20250     &ett_h245_Avb_type,
20251     &ett_h245_T_rangeOfBitRates,
20252     &ett_h245_T_aal1ViaGateway,
20253     &ett_h245_SET_SIZE_1_256_OF_Q2931Address,
20254     &ett_h245_H223Capability,
20255     &ett_h245_T_h223MultiplexTableCapability,
20256     &ett_h245_T_enhanced,
20257     &ett_h245_T_mobileOperationTransmitCapability,
20258     &ett_h245_T_mobileMultilinkFrameCapability,
20259     &ett_h245_H223AnnexCCapability,
20260     &ett_h245_V76Capability,
20261     &ett_h245_V75Capability,
20262     &ett_h245_H2250Capability,
20263     &ett_h245_T_mcCapability,
20264     &ett_h245_SEQUENCE_SIZE_1_256_OF_RedundancyEncodingCapability,
20265     &ett_h245_MediaPacketizationCapability,
20266     &ett_h245_SEQUENCE_SIZE_1_256_OF_RTPPayloadType,
20267     &ett_h245_RSVPParameters,
20268     &ett_h245_QOSMode,
20269     &ett_h245_ATMParameters,
20270     &ett_h245_ServicePriorityValue,
20271     &ett_h245_ServicePriority,
20272     &ett_h245_AuthorizationParameters,
20273     &ett_h245_QOSType,
20274     &ett_h245_QOSClass,
20275     &ett_h245_QOSDescriptor,
20276     &ett_h245_GenericTransportParameters,
20277     &ett_h245_QOSCapability,
20278     &ett_h245_MediaTransportType,
20279     &ett_h245_T_atm_AAL5_compressed,
20280     &ett_h245_MediaChannelCapability,
20281     &ett_h245_TransportCapability,
20282     &ett_h245_SEQUENCE_SIZE_1_256_OF_QOSCapability,
20283     &ett_h245_SEQUENCE_SIZE_1_256_OF_MediaChannelCapability,
20284     &ett_h245_RedundancyEncodingCapability,
20285     &ett_h245_SEQUENCE_SIZE_1_256_OF_CapabilityTableEntryNumber,
20286     &ett_h245_RedundancyEncodingMethod,
20287     &ett_h245_RTPH263VideoRedundancyEncoding,
20288     &ett_h245_T_frameToThreadMapping,
20289     &ett_h245_SEQUENCE_SIZE_1_256_OF_RTPH263VideoRedundancyFrameMapping,
20290     &ett_h245_T_containedThreads,
20291     &ett_h245_RTPH263VideoRedundancyFrameMapping,
20292     &ett_h245_T_frameSequence,
20293     &ett_h245_MultipointCapability,
20294     &ett_h245_SEQUENCE_OF_MediaDistributionCapability,
20295     &ett_h245_MediaDistributionCapability,
20296     &ett_h245_SEQUENCE_OF_DataApplicationCapability,
20297     &ett_h245_VideoCapability,
20298     &ett_h245_ExtendedVideoCapability,
20299     &ett_h245_SEQUENCE_OF_VideoCapability,
20300     &ett_h245_SEQUENCE_OF_GenericCapability,
20301     &ett_h245_H261VideoCapability,
20302     &ett_h245_H262VideoCapability,
20303     &ett_h245_H263VideoCapability,
20304     &ett_h245_EnhancementLayerInfo,
20305     &ett_h245_SET_SIZE_1_14_OF_EnhancementOptions,
20306     &ett_h245_SET_SIZE_1_14_OF_BEnhancementParameters,
20307     &ett_h245_BEnhancementParameters,
20308     &ett_h245_EnhancementOptions,
20309     &ett_h245_H263Options,
20310     &ett_h245_SET_SIZE_1_16_OF_CustomPictureClockFrequency,
20311     &ett_h245_SET_SIZE_1_16_OF_CustomPictureFormat,
20312     &ett_h245_SET_SIZE_1_16_OF_H263VideoModeCombos,
20313     &ett_h245_TransparencyParameters,
20314     &ett_h245_RefPictureSelection,
20315     &ett_h245_T_additionalPictureMemory,
20316     &ett_h245_T_videoBackChannelSend,
20317     &ett_h245_T_enhancedReferencePicSelect,
20318     &ett_h245_T_subPictureRemovalParameters,
20319     &ett_h245_CustomPictureClockFrequency,
20320     &ett_h245_CustomPictureFormat,
20321     &ett_h245_T_mPI,
20322     &ett_h245_T_customPCF,
20323     &ett_h245_T_customPCF_item,
20324     &ett_h245_T_pixelAspectInformation,
20325     &ett_h245_T_pixelAspectCode,
20326     &ett_h245_T_extendedPAR,
20327     &ett_h245_T_extendedPAR_item,
20328     &ett_h245_H263VideoModeCombos,
20329     &ett_h245_SET_SIZE_1_16_OF_H263ModeComboFlags,
20330     &ett_h245_H263ModeComboFlags,
20331     &ett_h245_H263Version3Options,
20332     &ett_h245_IS11172VideoCapability,
20333     &ett_h245_AudioCapability,
20334     &ett_h245_T_g7231,
20335     &ett_h245_G729Extensions,
20336     &ett_h245_G7231AnnexCCapability,
20337     &ett_h245_G723AnnexCAudioMode,
20338     &ett_h245_IS11172AudioCapability,
20339     &ett_h245_IS13818AudioCapability,
20340     &ett_h245_GSMAudioCapability,
20341     &ett_h245_VBDCapability,
20342     &ett_h245_DataApplicationCapability,
20343     &ett_h245_Application,
20344     &ett_h245_T_t84,
20345     &ett_h245_Nlpid,
20346     &ett_h245_T_t38fax,
20347     &ett_h245_DataProtocolCapability,
20348     &ett_h245_T_v76wCompression,
20349     &ett_h245_CompressionType,
20350     &ett_h245_V42bis,
20351     &ett_h245_T84Profile,
20352     &ett_h245_T_t84Restricted,
20353     &ett_h245_T38FaxProfile,
20354     &ett_h245_T38FaxRateManagement,
20355     &ett_h245_T38FaxUdpOptions,
20356     &ett_h245_T_t38FaxUdpEC,
20357     &ett_h245_T38FaxTcpOptions,
20358     &ett_h245_EncryptionAuthenticationAndIntegrity,
20359     &ett_h245_EncryptionCapability,
20360     &ett_h245_MediaEncryptionAlgorithm,
20361     &ett_h245_AuthenticationCapability,
20362     &ett_h245_IntegrityCapability,
20363     &ett_h245_UserInputCapability,
20364     &ett_h245_SEQUENCE_SIZE_1_16_OF_NonStandardParameter,
20365     &ett_h245_ConferenceCapability,
20366     &ett_h245_SEQUENCE_OF_NonStandardParameter,
20367     &ett_h245_GenericCapability,
20368     &ett_h245_T_collapsing,
20369     &ett_h245_T_nonCollapsing,
20370     &ett_h245_CapabilityIdentifier,
20371     &ett_h245_GenericParameter,
20372     &ett_h245_SEQUENCE_OF_ParameterIdentifier,
20373     &ett_h245_ParameterIdentifier,
20374     &ett_h245_ParameterValue,
20375     &ett_h245_SEQUENCE_OF_GenericParameter,
20376     &ett_h245_MultiplexedStreamCapability,
20377     &ett_h245_MultiplexFormat,
20378     &ett_h245_AudioTelephonyEventCapability,
20379     &ett_h245_AudioToneCapability,
20380     &ett_h245_NoPTAudioTelephonyEventCapability,
20381     &ett_h245_NoPTAudioToneCapability,
20382     &ett_h245_MultiplePayloadStreamCapability,
20383     &ett_h245_DepFECCapability,
20384     &ett_h245_FECC_rfc2733,
20385     &ett_h245_T_separateStreamBool,
20386     &ett_h245_FECCapability,
20387     &ett_h245_Rfc2733Format,
20388     &ett_h245_OpenLogicalChannel,
20389     &ett_h245_T_forwardLogicalChannelParameters,
20390     &ett_h245_OLC_forw_multiplexParameters,
20391     &ett_h245_OLC_reverseLogicalChannelParameters,
20392     &ett_h245_OLC_rev_multiplexParameters,
20393     &ett_h245_NetworkAccessParameters,
20394     &ett_h245_T_distribution,
20395     &ett_h245_T_networkAddress,
20396     &ett_h245_T_t120SetupProcedure,
20397     &ett_h245_Q2931Address,
20398     &ett_h245_T_address,
20399     &ett_h245_V75Parameters,
20400     &ett_h245_DataType,
20401     &ett_h245_H235Media,
20402     &ett_h245_T_mediaType,
20403     &ett_h245_MultiplexedStreamParameter,
20404     &ett_h245_H222LogicalChannelParameters,
20405     &ett_h245_H223LogicalChannelParameters,
20406     &ett_h245_T_adaptationLayerType,
20407     &ett_h245_Al3,
20408     &ett_h245_H223AL1MParameters,
20409     &ett_h245_T_transferMode,
20410     &ett_h245_AL1HeaderFEC,
20411     &ett_h245_AL1CrcLength,
20412     &ett_h245_ArqType,
20413     &ett_h245_H223AL2MParameters,
20414     &ett_h245_AL2HeaderFEC,
20415     &ett_h245_H223AL3MParameters,
20416     &ett_h245_T_headerFormat,
20417     &ett_h245_AL3CrcLength,
20418     &ett_h245_H223AnnexCArqParameters,
20419     &ett_h245_T_numberOfRetransmissions,
20420     &ett_h245_V76LogicalChannelParameters,
20421     &ett_h245_T_suspendResume,
20422     &ett_h245_V76LCP_mode,
20423     &ett_h245_T_eRM,
20424     &ett_h245_T_recovery,
20425     &ett_h245_V76HDLCParameters,
20426     &ett_h245_CRCLength,
20427     &ett_h245_H2250LogicalChannelParameters,
20428     &ett_h245_T_mediaPacketization,
20429     &ett_h245_RTPPayloadType,
20430     &ett_h245_T_payloadDescriptor,
20431     &ett_h245_RedundancyEncoding,
20432     &ett_h245_T_rtpRedundancyEncoding,
20433     &ett_h245_SEQUENCE_OF_RedundancyEncodingElement,
20434     &ett_h245_RedundancyEncodingElement,
20435     &ett_h245_MultiplePayloadStream,
20436     &ett_h245_SEQUENCE_OF_MultiplePayloadStreamElement,
20437     &ett_h245_MultiplePayloadStreamElement,
20438     &ett_h245_DepFECData,
20439     &ett_h245_RFC2733Data,
20440     &ett_h245_FECdata_mode,
20441     &ett_h245_DepSeparateStream,
20442     &ett_h245_T_differentPort,
20443     &ett_h245_T_samePort,
20444     &ett_h245_FECData,
20445     &ett_h245_T_rfc2733,
20446     &ett_h245_T_pktMode,
20447     &ett_h245_T_mode_rfc2733sameport,
20448     &ett_h245_T_mode_rfc2733diffport,
20449     &ett_h245_TransportAddress,
20450     &ett_h245_UnicastAddress,
20451     &ett_h245_T_iPAddress,
20452     &ett_h245_T_iPXAddress,
20453     &ett_h245_T_iP6Address,
20454     &ett_h245_T_iPSourceRouteAddress,
20455     &ett_h245_T_routing,
20456     &ett_h245_T_route,
20457     &ett_h245_MulticastAddress,
20458     &ett_h245_MIPAddress,
20459     &ett_h245_MIP6Address,
20460     &ett_h245_EncryptionSync,
20461     &ett_h245_SEQUENCE_SIZE_1_256_OF_EscrowData,
20462     &ett_h245_EscrowData,
20463     &ett_h245_OpenLogicalChannelAck,
20464     &ett_h245_OLC_ack_reverseLogicalChannelParameters,
20465     &ett_h245_T_olc_ack_multiplexParameters,
20466     &ett_h245_T_forwardMultiplexAckParameters,
20467     &ett_h245_OpenLogicalChannelReject,
20468     &ett_h245_OpenLogicalChannelRejectCause,
20469     &ett_h245_OpenLogicalChannelConfirm,
20470     &ett_h245_H2250LogicalChannelAckParameters,
20471     &ett_h245_CloseLogicalChannel,
20472     &ett_h245_T_cLC_source,
20473     &ett_h245_Clc_reason,
20474     &ett_h245_CloseLogicalChannelAck,
20475     &ett_h245_RequestChannelClose,
20476     &ett_h245_T_reason,
20477     &ett_h245_RequestChannelCloseAck,
20478     &ett_h245_RequestChannelCloseReject,
20479     &ett_h245_RequestChannelCloseRejectCause,
20480     &ett_h245_RequestChannelCloseRelease,
20481     &ett_h245_MultiplexEntrySend,
20482     &ett_h245_SET_SIZE_1_15_OF_MultiplexEntryDescriptor,
20483     &ett_h245_MultiplexEntryDescriptor,
20484     &ett_h245_T_elementList,
20485     &ett_h245_MultiplexElement,
20486     &ett_h245_Me_type,
20487     &ett_h245_T_subElementList,
20488     &ett_h245_ME_repeatCount,
20489     &ett_h245_MultiplexEntrySendAck,
20490     &ett_h245_SET_SIZE_1_15_OF_MultiplexTableEntryNumber,
20491     &ett_h245_MultiplexEntrySendReject,
20492     &ett_h245_SET_SIZE_1_15_OF_MultiplexEntryRejectionDescriptions,
20493     &ett_h245_MultiplexEntryRejectionDescriptions,
20494     &ett_h245_MultiplexEntryRejectionDescriptionsCause,
20495     &ett_h245_MultiplexEntrySendRelease,
20496     &ett_h245_RequestMultiplexEntry,
20497     &ett_h245_RequestMultiplexEntryAck,
20498     &ett_h245_RequestMultiplexEntryReject,
20499     &ett_h245_SET_SIZE_1_15_OF_RequestMultiplexEntryRejectionDescriptions,
20500     &ett_h245_RequestMultiplexEntryRejectionDescriptions,
20501     &ett_h245_RequestMultiplexEntryRejectionDescriptionsCause,
20502     &ett_h245_RequestMultiplexEntryRelease,
20503     &ett_h245_RequestMode,
20504     &ett_h245_SEQUENCE_SIZE_1_256_OF_ModeDescription,
20505     &ett_h245_RequestModeAck,
20506     &ett_h245_Req_mode_ack_response,
20507     &ett_h245_RequestModeReject,
20508     &ett_h245_RequestModeRejectCause,
20509     &ett_h245_RequestModeRelease,
20510     &ett_h245_ModeDescription,
20511     &ett_h245_ModeElementType,
20512     &ett_h245_ModeElement,
20513     &ett_h245_H235Mode,
20514     &ett_h245_T_mediaMode,
20515     &ett_h245_MultiplexedStreamModeParameters,
20516     &ett_h245_RedundancyEncodingDTMode,
20517     &ett_h245_SEQUENCE_OF_RedundancyEncodingDTModeElement,
20518     &ett_h245_RedundancyEncodingDTModeElement,
20519     &ett_h245_Re_type,
20520     &ett_h245_MultiplePayloadStreamMode,
20521     &ett_h245_SEQUENCE_OF_MultiplePayloadStreamElementMode,
20522     &ett_h245_MultiplePayloadStreamElementMode,
20523     &ett_h245_DepFECMode,
20524     &ett_h245_T_rfc2733Mode,
20525     &ett_h245_FEC_mode,
20526     &ett_h245_FECMode,
20527     &ett_h245_H223ModeParameters,
20528     &ett_h245_AdaptationLayerType,
20529     &ett_h245_V76ModeParameters,
20530     &ett_h245_H2250ModeParameters,
20531     &ett_h245_RedundancyEncodingMode,
20532     &ett_h245_T_secondaryEncodingMode,
20533     &ett_h245_VideoMode,
20534     &ett_h245_H261VideoMode,
20535     &ett_h245_H261Resolution,
20536     &ett_h245_H262VideoMode,
20537     &ett_h245_T_profileAndLevel,
20538     &ett_h245_H263VideoMode,
20539     &ett_h245_H263Resolution,
20540     &ett_h245_IS11172VideoMode,
20541     &ett_h245_AudioMode,
20542     &ett_h245_Mode_g7231,
20543     &ett_h245_IS11172AudioMode,
20544     &ett_h245_T_audioLayer,
20545     &ett_h245_T_audioSampling,
20546     &ett_h245_IS11172_multichannelType,
20547     &ett_h245_IS13818AudioMode,
20548     &ett_h245_IS13818AudioLayer,
20549     &ett_h245_IS13818AudioSampling,
20550     &ett_h245_IS13818MultichannelType,
20551     &ett_h245_G7231AnnexCMode,
20552     &ett_h245_VBDMode,
20553     &ett_h245_DataMode,
20554     &ett_h245_DataModeApplication,
20555     &ett_h245_T38faxApp,
20556     &ett_h245_EncryptionMode,
20557     &ett_h245_RoundTripDelayRequest,
20558     &ett_h245_RoundTripDelayResponse,
20559     &ett_h245_MaintenanceLoopRequest,
20560     &ett_h245_Mlr_type,
20561     &ett_h245_MaintenanceLoopAck,
20562     &ett_h245_Mla_type,
20563     &ett_h245_MaintenanceLoopReject,
20564     &ett_h245_Mlrej_type,
20565     &ett_h245_MaintenanceLoopRejectCause,
20566     &ett_h245_MaintenanceLoopOffCommand,
20567     &ett_h245_CommunicationModeCommand,
20568     &ett_h245_SET_SIZE_1_256_OF_CommunicationModeTableEntry,
20569     &ett_h245_CommunicationModeRequest,
20570     &ett_h245_CommunicationModeResponse,
20571     &ett_h245_CommunicationModeTableEntry,
20572     &ett_h245_T_entryDataType,
20573     &ett_h245_ConferenceRequest,
20574     &ett_h245_T_requestTerminalCertificate,
20575     &ett_h245_CertSelectionCriteria,
20576     &ett_h245_Criteria,
20577     &ett_h245_TerminalLabel,
20578     &ett_h245_ConferenceResponse,
20579     &ett_h245_T_mCTerminalIDResponse,
20580     &ett_h245_T_terminalIDResponse,
20581     &ett_h245_T_conferenceIDResponse,
20582     &ett_h245_T_passwordResponse,
20583     &ett_h245_SET_SIZE_1_256_OF_TerminalLabel,
20584     &ett_h245_T_makeMeChairResponse,
20585     &ett_h245_T_extensionAddressResponse,
20586     &ett_h245_T_chairTokenOwnerResponse,
20587     &ett_h245_T_terminalCertificateResponse,
20588     &ett_h245_T_broadcastMyLogicalChannelResponse,
20589     &ett_h245_T_makeTerminalBroadcasterResponse,
20590     &ett_h245_T_sendThisSourceResponse,
20591     &ett_h245_RequestAllTerminalIDsResponse,
20592     &ett_h245_SEQUENCE_OF_TerminalInformation,
20593     &ett_h245_TerminalInformation,
20594     &ett_h245_RemoteMCRequest,
20595     &ett_h245_RemoteMCResponse,
20596     &ett_h245_T_reject,
20597     &ett_h245_MultilinkRequest,
20598     &ett_h245_CallInformationReq,
20599     &ett_h245_AddConnectionReq,
20600     &ett_h245_RemoveConnectionReq,
20601     &ett_h245_MaximumHeaderIntervalReq,
20602     &ett_h245_T_requestType,
20603     &ett_h245_MultilinkResponse,
20604     &ett_h245_CallInformationResp,
20605     &ett_h245_AddConnectionResp,
20606     &ett_h245_T_responseCode,
20607     &ett_h245_T_rejected,
20608     &ett_h245_RemoveConnectionResp,
20609     &ett_h245_MaximumHeaderIntervalResp,
20610     &ett_h245_MultilinkIndication,
20611     &ett_h245_T_crcDesired,
20612     &ett_h245_T_excessiveError,
20613     &ett_h245_DialingInformation,
20614     &ett_h245_SET_SIZE_1_65535_OF_DialingInformationNumber,
20615     &ett_h245_DialingInformationNumber,
20616     &ett_h245_SET_SIZE_1_255_OF_DialingInformationNetworkType,
20617     &ett_h245_DialingInformationNetworkType,
20618     &ett_h245_ConnectionIdentifier,
20619     &ett_h245_LogicalChannelRateRequest,
20620     &ett_h245_LogicalChannelRateAcknowledge,
20621     &ett_h245_LogicalChannelRateReject,
20622     &ett_h245_LogicalChannelRateRejectReason,
20623     &ett_h245_LogicalChannelRateRelease,
20624     &ett_h245_SendTerminalCapabilitySet,
20625     &ett_h245_T_specificRequest,
20626     &ett_h245_SET_SIZE_1_65535_OF_CapabilityTableEntryNumber,
20627     &ett_h245_SET_SIZE_1_256_OF_CapabilityDescriptorNumber,
20628     &ett_h245_EncryptionCommand,
20629     &ett_h245_T_encryptionAlgorithmID,
20630     &ett_h245_FlowControlCommand,
20631     &ett_h245_Scope,
20632     &ett_h245_Restriction,
20633     &ett_h245_EndSessionCommand,
20634     &ett_h245_T_gstnOptions,
20635     &ett_h245_T_isdnOptions,
20636     &ett_h245_ConferenceCommand,
20637     &ett_h245_SubstituteConferenceIDCommand,
20638     &ett_h245_EncryptionUpdateDirection,
20639     &ett_h245_MiscellaneousCommand,
20640     &ett_h245_Mc_type,
20641     &ett_h245_T_videoFastUpdateGOB,
20642     &ett_h245_T_videoFastUpdateMB,
20643     &ett_h245_T_progressiveRefinementStart,
20644     &ett_h245_T_repeatCount,
20645     &ett_h245_T_videoBadMBs,
20646     &ett_h245_SEQUENCE_OF_PictureReference,
20647     &ett_h245_T_lostPartialPicture,
20648     &ett_h245_T_encryptionUpdateCommand,
20649     &ett_h245_T_encryptionUpdateAck,
20650     &ett_h245_KeyProtectionMethod,
20651     &ett_h245_EncryptionUpdateRequest,
20652     &ett_h245_PictureReference,
20653     &ett_h245_H223MultiplexReconfiguration,
20654     &ett_h245_T_h223ModeChange,
20655     &ett_h245_T_h223AnnexADoubleFlag,
20656     &ett_h245_NewATMVCCommand,
20657     &ett_h245_Cmd_aal,
20658     &ett_h245_Cmd_aal1,
20659     &ett_h245_Cmd_clockRecovery,
20660     &ett_h245_Cmd_errorCorrection,
20661     &ett_h245_Cmd_aal5,
20662     &ett_h245_Cmd_multiplex,
20663     &ett_h245_Cmd_reverseParameters,
20664     &ett_h245_CmdR_multiplex,
20665     &ett_h245_MobileMultilinkReconfigurationCommand,
20666     &ett_h245_T_status,
20667     &ett_h245_FunctionNotUnderstood,
20668     &ett_h245_FunctionNotSupported,
20669     &ett_h245_FunctionNotSupportedCause,
20670     &ett_h245_ConferenceIndication,
20671     &ett_h245_TerminalYouAreSeeingInSubPictureNumber,
20672     &ett_h245_VideoIndicateCompose,
20673     &ett_h245_MiscellaneousIndication,
20674     &ett_h245_Mi_type,
20675     &ett_h245_T_videoNotDecodedMBs,
20676     &ett_h245_JitterIndication,
20677     &ett_h245_H223SkewIndication,
20678     &ett_h245_H2250MaximumSkewIndication,
20679     &ett_h245_MCLocationIndication,
20680     &ett_h245_VendorIdentification,
20681     &ett_h245_NewATMVCIndication,
20682     &ett_h245_Ind_aal,
20683     &ett_h245_Ind_aal1,
20684     &ett_h245_Ind_clockRecovery,
20685     &ett_h245_Ind_errorCorrection,
20686     &ett_h245_Ind_aal5,
20687     &ett_h245_Ind_multiplex,
20688     &ett_h245_Ind_reverseParameters,
20689     &ett_h245_IndR_multiplex,
20690     &ett_h245_Params,
20691     &ett_h245_UserInputIndication,
20692     &ett_h245_T_userInputSupportIndication,
20693     &ett_h245_T_signal,
20694     &ett_h245_T_rtp,
20695     &ett_h245_T_signalUpdate,
20696     &ett_h245_Si_rtp,
20697     &ett_h245_T_extendedAlphanumeric,
20698     &ett_h245_EncryptedAlphanumeric,
20699     &ett_h245_FlowControlIndication,
20700     &ett_h245_MobileMultilinkReconfigurationIndication,
20701
20702 /*--- End of included file: packet-h245-ettarr.c ---*/
20703 #line 500 "../../asn1/h245/packet-h245-template.c"
20704   };
20705   module_t *h245_module;
20706
20707   /* Register protocol */
20708   proto_h245 = proto_register_protocol(PNAME, PSNAME, PFNAME);
20709   register_init_routine(h245_init);
20710   /* Register fields and subtrees */
20711   proto_register_field_array(proto_h245, hf, array_length(hf));
20712   proto_register_subtree_array(ett, array_length(ett));
20713
20714   /* From Ronnie Sahlbergs original H245 dissector */
20715
20716   h245_module = prefs_register_protocol(proto_h245, NULL);
20717   prefs_register_bool_preference(h245_module, "reassembly",
20718                 "Reassemble H.245 messages spanning multiple TCP segments",
20719                 "Whether the H.245 dissector should reassemble messages spanning multiple TCP segments."
20720                 " To use this option, you must also enable \"Allow subdissectors to reassemble TCP streams\" in the TCP protocol settings.",
20721                 &h245_reassembly);
20722   prefs_register_bool_preference(h245_module, "shorttypes",
20723                 "Show short message types",
20724                 "Whether the dissector should show short names or the long names from the standard",
20725                 &h245_shorttypes);
20726   register_dissector("h245dg", dissect_h245_h245, proto_h245);
20727   register_dissector("h245", dissect_h245, proto_h245);
20728
20729   nsp_object_dissector_table = register_dissector_table("h245.nsp.object", "H.245 NonStandardParameter (object)", FT_STRING, BASE_NONE);
20730   nsp_h221_dissector_table = register_dissector_table("h245.nsp.h221", "H.245 NonStandardParameter (h221)", FT_UINT32, BASE_HEX);
20731   gef_name_dissector_table = register_dissector_table("h245.gef.name", "H.245 Generic Extensible Framework (names)", FT_STRING, BASE_NONE);
20732   gef_content_dissector_table = register_dissector_table("h245.gef.content", "H.245 Generic Extensible Framework", FT_STRING, BASE_NONE);
20733
20734   h245_tap = register_tap("h245");
20735   h245dg_tap = register_tap("h245dg");
20736
20737   oid_add_from_string("h239ControlCapability","0.0.8.239.1.1");
20738   oid_add_from_string("h239ExtendedVideoCapability","0.0.8.239.1.2");
20739   oid_add_from_string("generic-message","0.0.8.239.2");
20740   oid_add_from_string("h245 version 3","0.0.8.245.0.3");
20741   oid_add_from_string("h245 version 4","0.0.8.245.0.4");
20742   oid_add_from_string("h245 version 5","0.0.8.245.0.5");
20743   oid_add_from_string("h245 version 6","0.0.8.245.0.6");
20744   oid_add_from_string("h245 version 7","0.0.8.245.0.7");
20745   oid_add_from_string("h245 version 8","0.0.8.245.0.8");
20746   oid_add_from_string("h245 version 9","0.0.8.245.0.9");
20747   oid_add_from_string("h245 version 10","0.0.8.245.0.10");
20748   oid_add_from_string("h245 version 11","0.0.8.245.0.11");
20749   oid_add_from_string("h245 version 12","0.0.8.245.0.12");
20750   oid_add_from_string("h245 version 13","0.0.8.245.0.13");
20751   /* This capability is defined in Annex E. */
20752   oid_add_from_string("ISO/IEC 14496-2 MPEG-4 video","0.0.8.245.1.0.0");
20753   /* This capability is defined in Annex H. */
20754   oid_add_from_string("ISO/IEC 14496-3 MPEG-4 audio","0.0.8.245.1.1.0");
20755   /* This capability is defined in Annex I. */
20756   oid_add_from_string("AMR","0.0.8.245.1.1.1");
20757   /* This capability is defined in Annex J. */
20758   oid_add_from_string("acelp","0.0.8.245.1.1.2");
20759   /* This capability is defined in Annex K. */
20760   oid_add_from_string("us1","0.0.8.245.1.1.3");
20761   /* This capability is defined in Annex L. */
20762   oid_add_from_string("is127evrc","0.0.8.245.1.1.4");
20763   /* This capability is defined in Annex M. */
20764   oid_add_from_string("ISO/IEC 13818-7","0.0.8.245.1.1.5");
20765   /* This capability is defined in Annex N. */
20766   oid_add_from_string("rfc3389","0.0.8.245.1.1.6");
20767   /* This capability is defined in Annex O. */
20768   oid_add_from_string("L-16","0.0.8.245.1.1.7");
20769   /* This capability is defined in Annex P. */
20770   oid_add_from_string("bounded-audio-stream","0.0.8.245.1.1.8");
20771   /* This capability is defined in Annex R. */
20772   oid_add_from_string("AMR-NB","0.0.8.245.1.1.9");
20773   /* This capability is defined in Annex R. */
20774   oid_add_from_string("AMR-WB","0.0.8.245.1.1.10");
20775   /* This capability is defined in Annex S. */
20776   oid_add_from_string("ilbc","0.0.8.245.1.1.11");
20777
20778   oid_add_from_string("ISO/IEC 14496-1","0.0.8.245.1.2.0");
20779   oid_add_from_string("Nx64","0.0.8.245.1.2.1");
20780   oid_add_from_string("logical-channel-bit-ratemanagement","0.0.8.245.1.3.0");
20781
20782   oid_add_from_string("h264 generic-capabilities","0.0.8.241.0.0.1");
20783   oid_add_from_string("iPpacketization_h241AnnexA(single NAL unit mode)","0.0.8.241.0.0.0.0");
20784   oid_add_from_string("iPpacketization_RFC3984NonInterleaved","0.0.8.241.0.0.0.1");
20785   oid_add_from_string("iPpacketization_RFC3984Interleaved","0.0.8.241.0.0.0.2");
20786 }
20787
20788
20789 /*--- proto_reg_handoff_h245 ---------------------------------------*/
20790 void proto_reg_handoff_h245(void) {
20791         dissector_handle_t h245_handle;
20792
20793         rtp_handle = find_dissector("rtp");
20794         rtcp_handle = find_dissector("rtcp");
20795         t38_handle = find_dissector("t38");
20796         data_handle = find_dissector("data");
20797         h263_handle = find_dissector("h263data");
20798         amr_handle = find_dissector("amr_if2_nb");
20799
20800
20801         h245_handle = find_dissector("h245");
20802         dissector_add_handle("tcp.port", h245_handle);
20803         MultimediaSystemControlMessage_handle = find_dissector("h245dg");
20804         dissector_add_handle("udp.port", MultimediaSystemControlMessage_handle);
20805 }
20806
20807 static void init_h245_packet_info(h245_packet_info *pi)
20808 {
20809         if(pi == NULL) {
20810                 return;
20811         }
20812
20813         pi->msg_type = H245_OTHER;
20814                 pi->frame_label[0] = '\0';
20815                 g_snprintf(pi->comment, sizeof(pi->comment), "H245 ");
20816 }
20817